Conversation
…efinition of done (#311) Implements the docs + matrix slice of the onboarding-strengthening roadmap (#310), from the Financial-Modeling retrospective. **Left open for maintainer review** - it adds governance wording to `AGENTS.md` and a new procedure doc, so it should be read before it lands. ## Why The hub already encoded what a conformant repo of each type needs (`spec/files.json`, `spec/project-types.json`, `AUDIT.md`), and running the audit against Financial-Modeling would have flagged every gap we hit reactively. The failure was operational: nothing **required** running the audit, there was no create-to-conformance counterpart, and no proof the docs are sufficient for a cold agent. ## Changes - **`AUDIT.md` section 0 - when to run + definition of done.** Onboarding or touching a repo is complete only when it passes the audit or carries a tracked `reports/<repo>/audit.md` + issue, and the registry entry is reconciled to reality. Calls out that `spec/validate.py` proves catalog self-consistency, not that the catalog matches the live repo. - **`STANDUP.md` (new) - the inverse of `AUDIT.md`.** Ordered create-to-conformance steps (classify/catalog, carry baseline files, stand up workflows, apply settings/rulesets/secrets, verify), a "new repo type" procedure, and the **cold-start self-test**: a context-free agent stands each type up from the docs alone, then the audit must pass; iterate the docs until every type stands up cold. - **`reports/conformance-matrix.md` (new)** - per-type `cold-standup` + `last-audited` tracker, every type seeded `not-tested`. - **`AGENTS.md` "Repository Onboarding and Conformance"** - binds the above as obligations: definition of done is the audit, the registry is ground truth about reality, and a type that cannot be stood up cold is a documentation defect. ## Validation - markdownlint - 0 errors; editorconfig-checker - clean; reference-link integrity (STANDUP.md, conformance-matrix.md) - no missing/unused defs. - New docs are CRLF per the `[*]` default; reference-style links grouped + alphabetized (AGENTS/copilot-instructions keep inline per the doc-style rule). Refs #310. Queued next: the live `python3 + gh` fleet-audit runner (D). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…314) 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 #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](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Promotes develop to main with governance and workflow-robustness updates that strengthen fleet onboarding (STANDUP + cold-start self-test) and make partial downstream repo-config/ carries safer and clearer.
Changes:
- Add
STANDUP.md(create-to-conformance) plus a cold-start self-test loop, and introducereports/conformance-matrix.mdto track per-shape results. - Clarify onboarding/conformance obligations in
AGENTS.mdand add an explicit "when to run / definition of done" section toAUDIT.md. - Harden configuration application (fail fast on missing/nameless ruleset payloads) and simplify the dispatch-only publisher by removing a vestigial "exists" gate.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| WORKFLOW.md | Updates the D4 audit criteria to explicitly allow dispatch-only publishers to omit the exists/gate logic (recorded as N/A). |
| STANDUP.md | New standup procedure doc (inverse of AUDIT.md) including the cold-start conformance self-test loop. |
| reports/conformance-matrix.md | New tracking matrix for cold-standup status and last-audited date per supported repo shape/target. |
| repo-config/README.md | Adds downstream-carry guidance and parameterizes the regen snippet to work in carried copies. |
| repo-config/configure.sh | Fails fast when ruleset payloads are missing or lack a name, preventing silent partial configuration. |
| AUDIT.md | Adds a new section 0 defining when to run the audit and what “done” means; links STANDUP and validate. |
| AGENTS.md | Adds “Repository Onboarding and Conformance” obligations (audit as DoD, registry reflects reality, cold-start proof). |
| .github/workflows/publish-release.yml | Removes the unused release-exists gate and updates comments for dispatch-only create-or-refresh behavior. |
The repo-config file-list bullet implied `operational/develop.json` is always present; a carried `release` repo does not have it. Copilot flagged it on the #315 promotion; fixing forward so the promotion lands clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…318) Two Copilot findings from the #315 promotion re-review, fixed forward: WORKFLOW.md D4 documents the gate as `exists == 'false'` (the step output is a string), and the configure.sh fail-fast comment drops to two lines per the comment-length rule. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Round-2 Copilot findings from the #315 promotion, fixed forward: the ruleset-regen snippet routes the develop payload to `operational/develop.json` on an operational carry (no `develop.json` present), and WORKFLOW.md D4 spells the dispatch leg as `github.event_name == 'workflow_dispatch'`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes two squashed increments:
STANDUP.md(create-to-conformance, inverse ofAUDIT.md), the cold-start self-test +reports/conformance-matrix.md,AUDIT.mdsection 0 (when to run / definition of done), and theAGENTS.md"Repository Onboarding and Conformance" obligations. Maintainer-reviewed and approved.configure.shfails fast on a missing/nameless ruleset payload;repo-config/README.mdis downstream-neutral (Downstream Carry section, no private-hub URL links from downstream, parameterized regen snippet, per-mechanism secrets applicability);publish-release.ymldrops the vestigial exists-gate (dispatch-only = create-or-refresh, no behavior change);WORKFLOW.mdD4 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