You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add smithy finish step running Atlas at end of cycle
After hone reaches A++, smithy now runs a final finish step before the
merge handoff: update README.md and CHANGELOG.md for the completed
feature, then invoke the atlas skill scoped to that feature when it is
available in the consumer's environment (silent no-op otherwise, like
the kanban sync). Atlas is not vendored by Damascus.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018heVcgSs6P9EMMLJdth1wf
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ All notable changes to this project are documented here, following [Common Chang
34
34
- Change forge's Norms section to require machine-checkable form (the tool + config that enforces each norm, installed as gates by quench) and mark each Safeguard as the source of a property test or runtime assertion
35
35
- Change anvil's task format: optional `[UX]`/`[REFACTOR]`/`[HARD]` tags and a ≤400-changed-line sizing budget per task (oversized tasks come back as anvil feedback via the quench log)
36
36
- Change smithy's state machine to drive hone after quench and halt on hone's 3-round cap
37
+
- Add a smithy finish step at the end of the cycle: after hone reaches A++, update `README.md` and `CHANGELOG.md` for the feature, then run the `atlas` skill scoped to the completed feature if it is available (silent no-op otherwise, like the kanban sync)
37
38
- Move `superpowers:requesting-code-review` from KEEP to DENY — `hone` replaces it; `receiving-code-review` stays KEEP for applying findings
38
39
- Replace the 95% line-coverage gate in `tdd-test-generator`'s pytest config with mutation-testing guidance and a registered `fr` marker for requirement traceability
Copy file name to clipboardExpand all lines: README.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,10 @@ Both loops need **no external API**. Each round, three critic subagents with dis
37
37
-**Temper** reviews the *spec triplet* (lenses: completeness, feasibility, testability; max 5 rounds). Each critic runs an active procedure — re-deriving sections, tracing a data flow, drafting per-FR test skeletons — and attaches the artifact; opinions without evidence are discarded. Trail: `specs/NNN-<slug>/review.md`, append-only.
38
38
-**Hone** reviews the *implementation diff* the same way (lenses: spec-conformance, security, simplicity; max 3 rounds), task by task in **≤400-changed-line units**, after quench's tests and gates are green. Fixes never touch tests. Trail: `specs/NNN-<slug>/code-review.md`, append-only.
39
39
40
+
### Finish step: docs + optional Atlas survey
41
+
42
+
Once `hone` reaches A++, `smithy` runs a final finish step before the merge handoff: it updates `README.md` and `CHANGELOG.md` for the completed feature, then — **if the `atlas` skill is available in the consumer's environment** — invokes Atlas scoped to that feature to produce an intent-vs-reality survey for the handover. Atlas is not vendored by Damascus; where it is not installed the step is a silent no-op, exactly like the optional kanban sync.
@@ -97,6 +98,27 @@ Smithy invokes each stage Skill **directly**; it does not duplicate their bodies
97
98
98
99
Each stage that smithy drives runs **its own** board/state sync at its "Gate to Next Stage" — and only if the host repo ships one. **Smithy therefore adds NO sync call of its own** — doing so would double-sync every transition. Any post-merge sync belongs to the host repo's merge tooling.
99
100
101
+
## Finish Step (post-hone, absolute end of the cycle)
102
+
103
+
After `hone` reaches A++ and its gate is signed off, the feature is complete. Before
104
+
handing off to `superpowers:finishing-a-development-branch`, smithy runs one final step:
105
+
106
+
1.**Update `README.md` and `CHANGELOG.md`** for the completed feature (NNN). CHANGELOG
107
+
gets a single-line entry under `[Unreleased]` in the host repo's changelog convention;
108
+
README gets whatever the feature changed in user-facing behavior (skip README if the
109
+
feature is purely internal). This is the cycle's documentation gate.
110
+
2.**Run Atlas, if available.** Every completed pipeline run is a major feature, so once
111
+
the docs are updated, smithy checks whether the **`atlas` skill is available in this
112
+
environment**. If it is, invoke it **scoped to the just-completed feature (NNN)** —
113
+
Atlas surveys that feature's artifacts (its PRD, spec triplet, review trails) and
114
+
verifies them against the shipped code, producing an intent-vs-reality map for the
115
+
handover. If `atlas` is **not** available, **skip silently** — exactly like the kanban
116
+
sync. Atlas is not vendored by Damascus; this step is a no-op wherever the consumer
117
+
has not installed it.
118
+
119
+
This step runs **after** the hone gate signoff and is the last thing smithy does before
120
+
the merge handoff. It adds no board sync of its own (see the single-call-site rule above).
121
+
100
122
## Handoff Messages
101
123
102
124
After every stage exit, smithy prints:
@@ -120,6 +142,8 @@ After full pipeline completion:
120
142
- Code reviews: specs/NNN-<slug>/code-review.md (A++ in N rounds)
121
143
- Tests: <count>
122
144
- Implementation commits: <count>
145
+
- Docs: README.md + CHANGELOG.md updated for NNN
146
+
- Atlas: <survey path> | skipped (atlas skill not available)
0 commit comments