Skip to content

Incorporate #313: robustness on partial downstream repo-config carry - #314

Merged
ptr727 merged 2 commits into
developfrom
incorporate-313-carry-robustness
Jul 16, 2026
Merged

Incorporate #313: robustness on partial downstream repo-config carry#314
ptr727 merged 2 commits into
developfrom
incorporate-313-carry-robustness

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Incorporates the template-side robustness gaps the Financial-Modeling standup carry surfaced (#313, from ptr727/Financial-Modeling#15 review).

Changes (mapped to #313)

  1. configure.sh fails fast on a missing ruleset payload (and on a nameless one - same silent-partial risk): a downstream repo carries only its own model's develop variant, so running the wrong model silently skipped the ruleset and still reported "Configuration applied".
  2. repo-config/README.md is downstream-neutral. New Downstream Carry section: carry only your model's develop variant; never URL-link the private hub from a downstream repo (plain-text mentions only - the owner-directed fleet policy from repo-config + source-only publisher: robustness gaps on partial downstream carry #313); the regen snippet targets the current repo. Hub-only links (AUDIT.md, spec/secrets.json) become plain-text mentions, the ruleset-regen snippet parameterizes the repo via gh repo view, and the Secrets section states per-mechanism applicability (a source-only repo needs none of the publish credentials).
  3. publish-release.yml drops the vestigial exists-check + gate. Every trigger is a dispatch, so exists == 'false' || workflow_dispatch was always true and the "skip create" comment described a path that can never run; the step is now unconditional create-or-refresh with an accurate comment. No behavior change.
  4. WORKFLOW.md D4 (5A) gains one clause: a dispatch-only publisher may omit the gate/exists-check - record it N/A, not missing - so audits do not flag simplified dispatch-only instances (this repo and Financial-Modeling).

Validation

  • bash -n configure.sh OK; actionlint clean; markdownlint 0 errors; editorconfig-checker clean; EOL verified (workflow/sh LF, md CRLF); no orphaned link defs.

Closes#313.

🤖 Generated with Claude Code

Template-side fixes for the gaps the Financial-Modeling carry surfaced
(ptr727/Financial-Modeling#15 review):
- configure.sh: abort on a missing or nameless ruleset payload instead of
silently skipping it and reporting success - a downstream repo carries only
its own model's develop variant, so a partial apply is easy to hit.
- repo-config/README.md: downstream-neutral carry. New "Downstream Carry"
section (carry only your model's develop variant; never URL-link the private
hub from downstream - plain-text mentions only; regen targets the current
repo). Hub-only links (AUDIT.md, spec/secrets.json) become plain text, the
ruleset-regen snippet parameterizes the repo, and the Secrets section states
per-mechanism applicability (source-only needs none).
- publish-release.yml: drop the vestigial exists-check and release-create gate
- every trigger is a dispatch, so the skip leg can never fire; the comment
states create-or-refresh. No behavior change.
- WORKFLOW.md D4 (5A): a dispatch-only publisher may omit the gate; record it
N/A, not missing.
Closes#313.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 16, 2026 14:35

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the template governance docs and scripts to be more robust when downstream repos carry only a subset of repo-config/ and use a dispatch-only (source-only) publisher, aligning guidance and behavior with the #313 findings.

Changes:

  • Make repo-config/configure.sh fail fast when a required ruleset payload is missing or lacks a name, avoiding silent partial application.
  • Make repo-config/README.md more downstream-carry-friendly (add carry rules, avoid hub-only links, and regenerate rulesets against the current repo).
  • Simplify .github/workflows/publish-release.yml by removing the vestigial “exists” check and making release creation unconditional for dispatch-only publishing; document the audit N/A case in WORKFLOW.md.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

FileDescription
WORKFLOW.mdClarifies D4 auditing expectations for dispatch-only publishers (gate/exists-check can be N/A).
repo-config/README.mdAdds downstream carry guidance and updates regen snippet and hub-only references.
repo-config/configure.shAborts on missing/nameless ruleset payloads to prevent silent partial configuration.
.github/workflows/publish-release.ymlRemoves vestigial release “exists” gate for dispatch-only, source-only publishing.

Comment threadrepo-config/README.md Outdated
The top-level bullet implied main.json and develop.json always coexist; a
carried copy has only its own model's develop payload.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings July 16, 2026 14:39
@ptr727
ptr727 merged commit b5342ce into developJul 16, 2026
7 checks passed
@ptr727
ptr727 deleted the incorporate-313-carry-robustness branch July 16, 2026 14:40

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment threadrepo-config/README.md
Comment on lines +5 to 6
- `main.json` plus one `develop` variant - the branch rulesets as the writable API subset (`name`, `target`, `enforcement`, `bypass_actors`, `conditions`, `rules`). The `develop` payload is `develop.json` (`release` repos) or `operational/develop.json` (`operational` repos); the hub keeps both, a carried copy only its own model's (see "Downstream Carry"). These are the canonical expected payload the hub's audit (`AUDIT.md`, hub-only) diffs each repo's live rulesets against.
- `operational/develop.json` - the `develop` ruleset for **operational** repos (registry `workflowModel: operational`): direct signed pushes, no PR gate. `main.json` is shared by both models. See "Rulesets" below.
ptr727 added a commit that referenced this pull request Jul 16, 2026
…carry robustness (#315)
Promotes two squashed increments:
- **#311** - onboarding governance (part of the #310 roadmap):
`STANDUP.md` (create-to-conformance, inverse of `AUDIT.md`), the
cold-start self-test + `reports/conformance-matrix.md`, `AUDIT.md`
section 0 (when to run / definition of done), and the `AGENTS.md`
"Repository Onboarding and Conformance" obligations. Maintainer-reviewed
and approved.
- **#314** - #313 incorporation (Financial-Modeling carry findings):
`configure.sh` fails fast on a missing/nameless ruleset payload;
`repo-config/README.md` is downstream-neutral (Downstream Carry section,
no private-hub URL links from downstream, parameterized regen snippet,
per-mechanism secrets applicability); `publish-release.yml` drops the
vestigial exists-gate (dispatch-only = create-or-refresh, no behavior
change); `WORKFLOW.md` D4 records the gate N/A on dispatch-only
publishers.
Refs #310 (roadmap - slice D, the live fleet-audit runner, remains
queued).
Closes#313.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727