feat(standard): retrospective workflow improvements (refs #10) - #18
Merged
Conversation
Layered, opt-in scheme: GitHub defaults as the base, area:/agent:/campaign: namespaces with fixed colours, workflow-verdict labels (rework, needs-respec, blocked) defined in one place, and a gh-based bootstrap wired into the /new-repo remote step. Refs #11 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Core now requires docs/CHECKPOINT.md (or a declared substitute) with a last-updated date and an explicit next step, plus a mandatory START-HERE row. /new-repo stamps the checkpoint template; the pre-commit checklist gains the update-or-say-why tripwire; an opt-in CI staleness nudge is documented; the living-docs reference gains the fix-the-doc-never-widen-the-gate rule. repo-kit dogfoods its own checkpoint. Refs #12 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
…terminal state Three cut triggers (artifact leaves the repo, version stamped into output, tag pipeline never fired), a pre-PR tripwire, a declared dated-entries variant for never-versioned repos, and an opt-in CI nudge snippet. Refs #13 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
…se keywords git log alone must answer which issue drove a commit: Refs #NN in subject or footer when a tracker exists, no half-adoption. Closing keywords only where merge genuinely equals done; repos with a post-merge verify gate get the field-tested CI guard as a copy-paste snippet. Both PR templates now prompt for the ref; the pre-PR checklist enforces it. Refs #14 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Real-time board rule (batched card moves are a named anti-pattern), the pickup/handoff loop with unassigned-in-review semantics, the agent-output signature convention with the timeline-event limitation documented, and a concrete session preflight (auth scopes, agent-file shim, board reality). Scaffolded AGENTS.md now points at it by default. Refs #15 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
…-check Deviations from the tier file set must be declared as START-HERE rows - undeclared deviation is non-compliance, declared deviation is a variant. A new core-tier scripts/repokit-check.ps1 verifies the declared structure mechanically (shim imports canonical file, every map path resolves, changelog/ADR/resume-state present or declared); /new-repo stamps and runs it, this repo's CI dogfoods it, and a smoke test proves it fails on each observed drift case. Retro-adopted repos get a one-line adoption marker defining the compliance horizon. Refs #16 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Six mechanically checkable items closing the retrospective's session-end gaps: no undecided unmerged branches, one-concern straight-to-main commits, resume-state dated with an explicit next step, no prepend churn, clean tree, board matches reality. Routed from the repo-standard skill at wrap-up. Refs #17 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Refs #10 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
check_no_private_contact.py read the backtick-n escape before @AGENTS.md as an address; write the shim fixture as an array of lines instead. Refs #16 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
This was referenced Jul 19, 2026
Closed
The final negative case leaves LASTEXITCODE = 1, and the GitHub Actions pwsh shell wrapper propagates it as the job exit code even after every case passed. Refs #16 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Two addenda from live use folded into agent-collaboration.md: board rules must enumerate which gestures carry closing/destructive force and reserve those for humans (default hard rule: agents never set a card to Done - the bidirectional Done column closes issues), and the three-audience pattern for task instructions (agent prompt / GUI links / CLI fallback + shared verify). Refs #15 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
standard/fleet.md: when a repo earns existence, the hub as fleet router, the verbatim scope test, sibling-clone convention, three-line spoke inheritance, docs-move-with-stub, and fleet-wide label/board consistency. The hub is defined as the fleet-hub profile of the collection type (scaffolding can offer it once that stub is filled in). Refs #19 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Six platform landmines from a live personal-account-to-org migration as symptom -> cause -> fix, phased before/after transfer and board rebuild. Plan-dependent limits (auto-add workflow caps, environment protection on private repos) verified against and cited to current GitHub docs; the Projects-API redirect gap marked as observed behaviour. Refs #20 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
Refs #10 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
This was referenced Jul 19, 2026
repo-kit now runs a post-merge human-verify gate (the retrospective verify-then-close protocol), which is exactly the case the new traceability rule prescribes the guard for. Pattern pre-tested against this PR's own body and commits. Refs #14 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ
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.
What & why
Implements the improvement issues spawned by the workflow retrospective — the seven originals plus the day-2 addenda (#19, #20, and two addenda comments on #15) — one commit per issue, each carrying its
Refs #NN. Every finding lands in the standard's reference docs/checklists (not loose advice), per #10's acceptance criteria.Refs #10
standard/labels.md— layered opt-in label scheme, fixed namespace colours, gh bootstrap wired into the/new-reporemote stepdocs/CHECKPOINT.mdtemplate, mandatory START-HERE row, pre-commit tripwire, opt-in CI nudge, living-docs "fix the doc, never widen the gate" rule; this repo dogfoods its own checkpointcommit-conventions.mdRefs #NNtraceability convention, closing-keywords-only-where-merge-equals-done rule, the auto-close CI guard as a copy-paste snippet,Refsprompt in both PR templatesstandard/agent-collaboration.md— real-time board rule, pickup/handoff loop, signatures (+ timeline-event limitation), session preflight; scaffoldedAGENTS.mdreferences itscripts/repokit-check.ps1, dogfooded in this repo's CI, with a smoke test proving it fails on each drift casestandard/session-end-checklist.md— six mechanically checkable wrap-up itemsstandard/fleet.md— hub-and-spoke conventions for multi-repo projects: hub as router, the verbatim scope test, sibling clones, three-line spoke inheritance, docs-move-with-stub; hub defined as the fleet-hub profile ofcollectionstandard/org-migration-checklist.md— six platform landmines of a personal→org migration as symptom → cause → fix; plan-dependent limits re-verified against and cited to current GitHub docsAdaptations: #12/#13 CI nudges ship as documented opt-in snippets (not scaffold defaults); #11 bootstrap hooks into the existing opt-in remote-creation step. Rationale recorded in ADR-0007.
No issues are auto-closed by this PR (dogfooding #14): verify each after merge, then close.
Checklist
feat: …,fix: …,docs: …).CHANGELOG.mdupdated under## [Unreleased]if user-visible.python scripts/*.py; see.github/workflows/validate.yml) — plusrepokit-check.ps1self-check and its smoke test.docs/adr/for any notable decision — ADR-0007.Refs #NN(no auto-close keywords).— 🤖 Claude, on behalf of @PBNZ
🤖 Generated with Claude Code
https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ