Skip to content

feat(standard): retrospective workflow improvements (refs #10) - #18

Merged
PBNZ merged 15 commits into
mainfrom
feat/retrospective-standard-improvements
Jul 19, 2026
Merged

feat(standard): retrospective workflow improvements (refs #10)#18
PBNZ merged 15 commits into
mainfrom
feat/retrospective-standard-improvements

Conversation

@PBNZ

@PBNZ PBNZ commented Jul 19, 2026

Copy link
Copy Markdown
Owner

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

Issue Verdict What landed
Refs #11 accepted standard/labels.md — layered opt-in label scheme, fixed namespace colours, gh bootstrap wired into the /new-repo remote step
Refs #12 accepted Resume state required at Core: docs/CHECKPOINT.md template, 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 checkpoint
Refs #13 accepted Release-cut triggers + pre-PR tripwire + declared dated-entries variant + opt-in CI nudge in commit-conventions.md
Refs #14 accepted Refs #NN traceability convention, closing-keywords-only-where-merge-equals-done rule, the auto-close CI guard as a copy-paste snippet, Refs prompt in both PR templates
Refs #15 accepted standard/agent-collaboration.md — real-time board rule, pickup/handoff loop, signatures (+ timeline-event limitation), session preflight; scaffolded AGENTS.md references it
Refs #16 accepted Variance-declaration rule + adoption marker + core-tier scripts/repokit-check.ps1, dogfooded in this repo's CI, with a smoke test proving it fails on each drift case
Refs #17 accepted standard/session-end-checklist.md — six mechanically checkable wrap-up items
Refs #19 accepted standard/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 of collection
Refs #20 accepted standard/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 docs
Refs #15 (addenda) accepted Closing-force rule (agents never set a card to Done; side-effect gestures enumerated and reserved for humans) + the three-audience task-instruction pattern

Adaptations: #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

  • One concern per PR (split unrelated changes) — the concern is the retrospective batch; the issues interlock (shared files, cross-references), so they land together with one commit per issue.
  • Conventional Commit title (e.g. feat: …, fix: …, docs: …).
  • CHANGELOG.md updated under ## [Unreleased] if user-visible.
  • Validation passes locally (python scripts/*.py; see .github/workflows/validate.yml) — plus repokit-check.ps1 self-check and its smoke test.
  • An ADR added under docs/adr/ for any notable decision — ADR-0007.
  • Driving issue referenced as Refs #NN (no auto-close keywords).

— 🤖 Claude, on behalf of @PBNZ

🤖 Generated with Claude Code

https://claude.ai/code/session_01LN8Gec6kVv25mmN38xGZAQ

PBNZ and others added 9 commits July 19, 2026 23:30
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
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
PBNZ and others added 5 commits July 19, 2026 23:40
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
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
@PBNZ
PBNZ merged commit f7ab31c into main Jul 19, 2026
6 checks passed
@PBNZ
PBNZ deleted the feat/retrospective-standard-improvements branch July 19, 2026 14:18
Sign up for free to 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.

1 participant