| name | progress-guidance |
| description | Guide long-running multi-session projects with a paired status-log + methodology-pipeline doc pair. Every cycle re-projects the system end-state, re-injects it into the next phase's plan, and advances a user-anchored milestone checkpoint chain (M_1 โ M_2 โ ... โ ยง์ข
์ฐฉ์ง). Every claim carries *evidence*, *system-impact*, *end-state delta*, and *milestone position*. Each new phase becomes its own file; core docs only carry indices. Milestone definition is mandatorily user-interactive at bootstrap. |
progress-guidance โ Paired Methodology + Critical-Progress Skill
A discipline for projects that span many sessions. Two paired docs, evidence-required, system-impact-judged, milestone-anchored, pessimistically re-scored every cycle.
When this skill activates
- User says "์ด์ด์ ์์
", "๋ค์ ์ฌ์ดํด", "phase ์ถ๊ฐ", "๋ถ๊ทน์ฑ", "๊ฐญ ๋ถ์", "๋น๊ด ํ๊ฐ", "์งํ์ํฉ ๊ฐฑ์ ", "๊ทผ๊ฑฐ ์ ๋ฆฌ", "์์คํ
์ํฅ", "์ข
์ฐฉ์ง", "๋น์ ์ฌํฌ์", "end-state", "ํ๋ก์ ํธ ๋ชจ์"
- User invokes
/progress-guidance explicitly
- Project has
docs/<domain>-status.md + docs/<domain>-pipeline.md (or is about to start one)
- User asks to apply a "status + pipeline" doc-pair format to a new domain
Core doctrine (ten rules)
1. Two paired documents (mandatory)
Every project under this skill maintains two docs evolving in lockstep:
- status (
docs/<domain>-status.md) โ moves with time. Origin โ decision chain โ phase logs โ north-star vs current gap โ next priorities.
- pipeline (
docs/<domain>-pipeline.md) โ near-static methodology. The N-stage standard pipeline for the domain + a final ยง"์ด ํ๋ก์ ํธ๊ฐ ์ ํ์ ์ผ๋ง๋ ๋ถํฉํ๋๊ฐ" mapping table that scores the project against the framework.
These cite each other and never drift.
2. Critical evaluation is always-on
Cheering is forbidden. Progress is evaluated pessimistically every cycle:
- Every "X improved" requires before/after numbers and how they were measured.
- Code shipped โ outcome moved. A phase that ships code without moving a ยง๋ถ๊ทน์ฑ row is suspect โ escalate.
- Every cycle must produce a pessimistic re-score. A cycle with zero downgrades is suspect โ really nothing got worse under stricter review?
3. Sectioned-file structure (file size discipline)
Both docs are core index files. Long content goes into per-section files referenced by the core.
docs/
โโโ <domain>-status.md # Core โ ยง0, ยง1, ยงNorth-Star, ยงLOC, ยงsync-check inline
โโโ <domain>-status/
โ โโโ 03-M1-implementation.md # Each substantive ยง = its own file
โ โโโ 04-2026-05-03-rescan.md
โ โโโ 14-pessimistic-rescore.md
โโโ <domain>-pipeline.md # Core โ ยง0 overview, ยง1-ยงN stages, ยงmapping
โโโ <domain>-pipeline/
โโโ 03-data-feature-prep.md # Optional: only when a stage exceeds ~200 lines
Rules:
- Any top-level ยง whose body exceeds ~200 lines becomes its own file.
- Core file keeps a 5-15 line summary +
โ Detail: [...](...) link.
- Core always renders inline (never hidden in sub-files): ยง0 next-session entry, ยงNorth-Star table, ยงpessimistic re-score, ยงLOC summary, ยงpipeline-mapping. These are read first by every fresh session.
- Per-section files start with their own ยง.0 micro-TL;DR so a reader landing there directly has context.
- Naming:
<NN>-<slug>.md matching the ยง number. Date-tagged: 04-2026-05-03-<slug>.md.
4. Sync rule (status โ pipeline)
Updating one doc requires checking the other in the same session:
- status ยงNorth-Star changed โ pipeline ยงmapping re-evaluated.
- pipeline ยงmapping changed โ status ยงpessimistic re-score reflects it.
- New external reference cited in either โ mirror in the other.
- New ยง in status โ consider whether pipeline gains a new stage / sub-stage.
Single-doc updates are a defect. Flag and fix the drift before closing.
5. Evidence is mandatory for every claim โ
Every row of every table that asserts state, progress, or score carries a ๊ทผ๊ฑฐ column.
Accepted evidence types (strongest โ weakest):
- Reproducible measurement โ file path + command + numeric output. e.g.
wc -l file.py โ 421.
- Test result โ test name + pass/fail + commit. e.g.
test_dsr_floor PASS @ commit abc123.
- Code reference โ file path + line range. e.g.
svc/payments/writer.py:42-180.
- External / OOS validation โ paper / live data / out-of-sample number with date.
- Decision quote โ verbatim user statement + date.
Refused as evidence (cycle stays open):
- "I think", "looks like", "should be", "probably"
- LOC alone โ LOC ships code; it does not move outcomes. Always pair LOC with a measurement.
- Vague pronouns โ "we improved X". Without a number, "improved" is unverifiable.
- Future tense โ "will work in OOS". If unmeasured, mark the row ๊ฐ์ค, not progress.
A row missing the ๊ทผ๊ฑฐ column is a defect. Refuse to close until evidence is added or the claim is downgraded with evidence pending: <reason>.
6. System-impact analysis (mandatory) โ
Beyond evidence, every progress claim must answer what changes at the system level โ observably.
For each phase report (status ยง.6) and each ยง๋ถ๊ทน์ฑ row (์์คํ
์ํฅ column):
- ์ด phase ์ด์ vs ์ดํ์ ๊ด์ฐฐ ๊ฐ๋ฅํ ์์คํ
์ํ ์ฐจ์ด
- ์๋ก ๊ฐ๋ฅํด์ง ํ๋ (๊ตฌ์ฒด)
- ๋ ์ด์ ๋ถ๊ฐ๋ฅํด์ง ํ๋
- downstream ์ํฅ (๋ค๋ฅธ component / ๋ค๋ฅธ ์ฌ์ฉ์ / ๋ค๋ฅธ process)
- ์ฌ์ฉ์/์ธ๋ถ ๊ด์ฐฐ์์๊ฒ ๋ณด์ผ๊น? โ ๋ณด์ด๋ฉด ์ด๋ป๊ฒ, ์ ๋ณด์ด๋ฉด ์ ๊ทธ๋๋ ์๋ฏธ๊ฐ ์๋
A phase that produces no observable system change is suspect:
- Plumbing/infrastructure-only โ acceptable, but mark explicitly: "infrastructure-only โ does not move ยง๋ถ๊ทน์ฑ. Enables future phases X/Y."
- Refactor with no behavior delta โ acceptable, but the claim "improved" must cite a non-behavior measurement (e.g. test coverage delta, build time).
- Cosmetic โ flag and reconsider whether to include in the cycle.
๊ทผ๊ฑฐ answers did this happen? โ ์์คํ
์ํฅ answers does it matter? Both required, not one.
7. Projected end-state โ re-envision and re-inject every cycle โ
ยง๋ถ๊ทน์ฑ์ด ์งํ๋ผ๋ฉด, ์ข
์ฐฉ์ง(end-state)๋ ์์คํ
๋ชจ์. "์ด ํ๋ก์ ํธ๊ฐ ๋๋ฌ์ ๋ ์์คํ
์ ๋ฌด์์ด๊ณ , ๋ฌด์์ ๊ฐ๋ฅํ๊ฒ ํ๋๊ฐ"์ ํ์ฌ ์ต์ ์ ๊ทธ๋ฆผ. ๋งค cycle ๋ค์ ๊ทธ๋ฆฌ๊ณ , ๋ค์ cycle ์์ ์ ๋ค์ ์ฃผ์
ํ๋ค.
์์น: pipeline.md ยง์ข
์ฐฉ์ง ์์คํ
๋ชจ์ (๋ํด + ๊ฐ๋ฅํด์ง ํ๋ + ์๋์ ์ ์ธ + ๋น์ vs ํ์ฌ ํ + ๋ณ๊ฒฝ ์ด๋ ฅ).
์ ํ์ํ๊ฐ: ๊ฐ phase๋ ์๊ธฐ ยง๋ถ๊ทน์ฑ ํ๋ง ๋ณด๊ณ ์ข๊ฒ ๊ตด๋ฌ๊ฐ๋ค. ๋๊ตฐ๊ฐ ๋งค cycle "์ ์ฒด๊ฐ ์ด๋ค ๋ชจ์์ผ๋ก ์๋ ดํ๋๊ฐ"๋ฅผ ๋ค์ ๊ทธ๋ฆฌ์ง ์์ผ๋ฉด, phase ๊ฒฐ๊ณผ๊ฐ ๋์ ๋์ด๋ ์ข
์ฐฉ์ง๊ฐ ํ๋ ค์ง ์ฑ path-dependent ํ๊ฒ ํ๋ฌ๊ฐ๋ค. ยง๋งคํ ํ๋ ๋จ๊ณ ์ ์์ผ ๋ฟ ์์คํ
๋ชจ์์ด ์๋๋ค.
Re-projection (์ฌ์ดํด ๋ซ์ ๋): ์ด๋ฒ phase ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ํด ยง์ข
์ฐฉ์ง ยงN.4 ๋น์ vs ํ์ฌ ํ๋ฅผ ๊ฐฑ์ ํ๊ณ , ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ด๋ฒ cycle ํ์ ์ถ๊ฐํ๋ค. ์ถ๊ฐ/๊ตฌ์ฒดํ/์ถ์/no-change ์ค ํ๋๋ก ๋ถ๋ฅ ๋ช
์.
Re-injection (๋ค์ ์ฌ์ดํด ์ด ๋): ์ phase์ step 1 (Open) ์์ ยง์ข
์ฐฉ์ง๋ฅผ ๋ฌด์กฐ๊ฑด ์ฝ๊ณ , step 3 (critic generate) ํ๋กฌํํธ์ ยง์ข
์ฐฉ์ง ํ์ฌ ์ํ๋ฅผ ์ปจํ
์คํธ๋ก ์ฃผ์
ํ๋ค. critic์ ๋งค cycle "์ด phase ๊ฒฐ๊ณผ๊ฐ ์ข
์ฐฉ์ง ๋น์ ์ ์ด๋ป๊ฒ ๊ตฌ์ฒดํ/์ถ์/๋ณ๊ฒฝํ๋๊ฐ"๋ฅผ ๋ฌป๋ end-state-positioning ์ง๋ฌธ์ โฅ1๊ฐ ๊ฐ์ ํฌํจ.
Vision-loosening ์ฐจ๋จ: ์ข
์ฐฉ์ง์์ ํญ๋ชฉ์ด ์ถ์ ๋ฐฉํฅ์ผ๋ก ๋ณ๊ฒฝ๋๋ฉด status ยงDecision chain์ trigger ํญ๋ชฉ์ด ์์ด์ผ ํ๋ค. ์์ผ๋ฉด post-hoc relaxation โ auditor Pass 3์์ Severity-1.
Vision-stagnation ์์ฌ: ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ์ด โฅ3 cycle ์ฐ์ no-change ๋ฉด ์์ฌ ์ ํธ. ์ ๋ง phase ๊ฒฐ๊ณผ๊ฐ ๋น์ ์ ํ ๋ฒ๋ ํ๋ค์ง ์์๋, ์๋๋ฉด phase๊ฐ ๋น์ ๊ณผ ๋ฌด๊ดํ๊ฒ ๊ตด๋ฌ๊ฐ ๊ฒ์ธ๊ฐ? auditor Pass 3์์ Severity-2 (โฅ3 cycle ์ฐ์), Severity-1 (โฅ5 cycle ์ฐ์).
๋น์ ์์ฒด๊ฐ ์ cheerleading ์ถ๊ตฌ๊ฐ ๋์ง ์๋๋ก: ยง์ข
์ฐฉ์ง๋ ยง๋ถ๊ทน์ฑ์ฒ๋ผ ๊ทผ๊ฑฐ ๊ธฐ๋ฐยท๋ค์ด๊ทธ๋ ์ด๋ ๊ฐ๋ฅ. ๋น๊ด ์ฌ์ฑ์ ๋์์ ํฌํจ๋๋ค.
8. Milestones โ user-anchored checkpoint chain โ
ยง๋ถ๊ทน์ฑ = ์งํ (metric). ยง์ข
์ฐฉ์ง = ์์คํ
๋ชจ์ (end-state shape). ๋ง์ผ์คํค = ์ข
์ฐฉ์ง ๋๋ฌ ๊ฒฝ๋ก ์ ์๊ฐ์ ์ฒดํฌํฌ์ธํธ (M_1 โ M_2 โ ... โ M_N โ ยง์ข
์ฐฉ์ง). ๋งค phase ์ ๋ณธ ์๋ฌด๋ active M_i.j ์ exit criterion conjunct ๋ฅผ ๋ซ๋ ๊ฒ.
์ ๋ถ๋ฆฌํ๋: phase ๊ฐ ยง์ข
์ฐฉ์ง ์ ์ง์ ๋น๊ต๋๋ฉด "๊ฒฐ๊ณผ๊ฐ ์ข
์ฐฉ์ง์ ๋ณ๋ก ์ ๋ฟ์๋ค" ๊ฐ ๋งค cycle ๋ฐ๋ณต๋๊ณ ๋ซํ ๊ฐ๊ฐ ์ด ์๋ค. ๋ง์ผ์คํค์ ์ข
์ฐฉ์ง ๋๋ฌ ๊ฒฝ๋ก ์ mile post โ phase ์ง์ฒ์ด ์๋ฏธ ์๋ ๋จ์๋ก ๋์ ๋๋ค.
๋ชจ๋ธ = checkpoint, NOT partition: M_i ๋ M_{i+1} ์ prerequisite (logical/technical dependency, ๋จ์ ์๊ฐ ์์ ์๋). M-set ํฉ์งํฉ์ด ยง์ข
์ฐฉ์ง ยงN.2 ๊ฐ๋ฅํด์ง ํ๋ list ๋ฅผ exhaust ํด์ผ ํ๋ค โ ๋จ, partition ์ฒ๋ผ disjoint ์ผ ํ์๋ ์๋ค (sub-checkpoint ๊ฐ ๊ฐ์ ยงN.2 ํ๋์ ๋ถ๋ถ cover ๊ฐ๋ฅ).
2-level ํ์ฉ: M_i ๊ฐ ํฌ๋ฉด sub-checkpoint M_i.j (alphabetical: M1-A, M1-B, ...) ๋ก ๋ถํด. M_i ์์ sub ๋ค์ partition ์คํ์ผ (disjoint, parallel ๊ฐ๋ฅ). M-level ์ sequential, sub-level ์ parallel.
Exit criterion = AND-conjunction: ๊ฐ M_i (๋๋ M_i.j) ์ exit criterion ์ ์ธก์ ๊ฐ๋ฅ conjunct ๋ค์ AND. ์: M1 close = (๋ถ๊ทน์ฑ ํ1 โฅ 1.5/2) โง (๋ถ๊ทน์ฑ ํ2 โฅ 2.5/4) โง (CSV cache 30 ์ข
๋ชฉ reproducible). ๋จ์ผ trigger ๋ก close ์ฒญ๊ตฌํ๋ฉด ์์ถ ์ถ๊ตฌ. ๋ชจ๋ conjunct ๊ฐ ยง๋ถ๊ทน์ฑ evidence ๋๋ reproducible measurement ๋ก โ
/โ ํ์ ๊ฐ๋ฅํด์ผ ํ๋ค.
User-anchored: M ์ ์๋ ์ฌ์ฉ์๊ฐ ๊ฒฐ์ . ์คํฌ์ M ํ๋ณด๋ฅผ ์์ฒด ํ๋จ์ผ๋ก ๋ฐ์ง ์๋๋ค โ ์ฌ์ฉ์ dialogue ์์ elicit. ์ ๋งคํ boundary / ordering / conjunction membership ์ ๋ชจ๋ explicit ์ต์
+ recommendation ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์ ํ๋ฐ๋๋ค (์๋ ๊ฒฐ์ ๊ธ์ง).
Phase โ M.j ๋งคํ ๊ฐ์ : iteration step 2 Plan ์์ phase ๋ ์ด๋ M_i.j ์ ์ด๋ conjunct ๋ฅผ advance / close ํ๋์ง ๋ช
์. ๋งคํ ๋ชป ํ๋ฉด scope creep.
Prerequisite gate: M_i ๊ฐ close ๋๊ธฐ ์ M_{i+1} ์์
์ ์์ํ๋ฉด status ยงDecision chain ์ ๋ช
์์ gate-bypass trigger ๊ฐ ์์ด์ผ ํ๋ค. ์์ผ๋ฉด auditor Pass 7 Severity-1.
Exit weakening ์ฐจ๋จ: M_i exit criterion ์ conjunct ์ ์๋ฅผ cycle ๋์ค ์ฝํ (์๊ณ โ / conjunct ์ ๊ฑฐ / ์ธก์ ๋ฐฉ์ ๋ณ๊ฒฝ) ํ๋ฉด ยงDecision chain trigger ๅฟ
+ 1๊ธ ๊ฐ์ฒด retrospection (Rule 9) ์ฌ์คํ. ์์ผ๋ฉด auditor Pass 7 Severity-1 (vision-loosening ์ ๋ง์ผ์คํค ํ).
3-cycle ์ ์ฒด ๋ฃฐ: M_i.j ๊ฐ โฅ3 cycle ๊ฐ์ conjunct ์์ โ
๋ชป ๋ฐ์ผ๋ฉด critic ์๋ FAIL. ์ฐํ ๊ฒฝ๋ก ๋ชจ์ / M_i.j ์ ์ amendment / ยง๋ถ๊ทน์ฑ ํ ์์ฒด re-anchor ์
์ค ํ๋.
์์น: pipeline ยงN+1 ๋ง์ผ์คํค ์ฒดํฌํฌ์ธํธ ์ฒด์ธ (์ ์ ์ ์) + status ยง2.3 ๋ง์ผ์คํค ์ง์ฒ (๋์ ์ํ) + phase ํ์ผ ยง<NN>.6.4 ๋ง์ผ์คํค ์ง์ฒ ์ฒญ๊ตฌ.
9. 1๊ธ ๊ฐ์ฒด ํ๊ณ โ retrospective satisfaction check โ
ยง๋ถ๊ทน์ฑ ํ / ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ / M chain โ ์ด ์
์ด ๋ณธ ์คํฌ์ 1๊ธ ๊ฐ์ฒด. ์ด๋ค์ ์ ์ ๋๋ amend ํ ๋๋ง๋ค ๋ณ๋ retrospective ๋จ๊ณ ํ์. ์์ฑํ ์ ์๊ฐ ์ฌ์ฉ์ ยง1.4 ์ง์ง ๋ชฉํ๋ฅผ ์ง์ง๋ก ๋ง์กฑ์ํค๋์ง commit ์ ์ ๋ฌป๋๋ค.
์ ๋ฉํ๋ฃฐ์ธ๊ฐ: 1๊ธ ๊ฐ์ฒด๋ ํ ๋ฒ ๋ฐํ๋ฉด ์ดํ ๋ชจ๋ cycle ์ ์ธก์ ๊ธฐ์ค์ด ๋๋ค. ์ ์ ๋จ๊ณ์์ "์ด ์ ์๋ก ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ด ์ง์ง ๋ง์กฑ๋๋?" ๋ฅผ ๋ฌป์ง ์์ผ๋ฉด, 5 cycle ๋ค์ ๊นจ๋ฌ์ mismatch ๋ correction phase ๋น์ฉ์ ์น๋ฌ์ผ ํ๋ฆฐ๋ค. critic ์ per-row vetting (measurable / falsifiable ๋ฑ) ๊ณผ๋ ์ง์ ์ผ๋ก ๋ค๋ฅธ system-level ์ ๊ฒ โ ํญ๋ชฉ ์งํฉ ์ด ์ฌ์ฉ์ ์๊ตฌ๋ฅผ cover/exhaust/faithful ํ๊ฒ ์ก๋.
Retrospection 3 ์ง๋ฌธ (1๊ธ ๊ฐ์ฒด ํญ๋ชฉ๋ณ):
- Coverage: ์ด ํญ๋ชฉ์ด ยง1.4 ์ง์ง ๋ชฉํ์ ์ด๋ substring ๋๋ ยง์ข
์ฐฉ์ง ยงN.2 ๊ฐ๋ฅํด์ง ํ๋์ ์ด๋ ์ค ์ ์ถฉ์กฑ์ํค๋? ๋งคํ ์ ๋ก๋ฉด ํญ๋ชฉ์ด ์๋ชป ๋ค์ด์๊ฑฐ๋ ยง1.4 / ยง์ข
์ฐฉ์ง๊ฐ ๋ถ์กฑ.
- Sufficiency: ๋ชจ๋ 1๊ธ ๊ฐ์ฒด ํญ๋ชฉ ํฉ์งํฉ ์ด ยง1.4 / ยง์ข
์ฐฉ์ง ยงN.2 list ๋ฅผ exhaust ํ๋? ๋น ์ง ๋ถ๋ถ = ์ ํญ๋ชฉ (M ๋๋ ยง๋ถ๊ทน์ฑ ํ) ์ถ๊ฐ ํ์.
- Faithfulness: ํญ๋ชฉ ์ ์์ ์ธก์ ๋ฐฉ์ ์ด ยง1.4 ์ ์ง์ง ์๋๋ฅผ ์ก๋, ์๋๋ฉด ์ธก์ ํธ์๋ก ์ ํ proxy ์ธ๊ฐ?
์ฌ์ฉ์ ์ํธ์์ฉ ๊ฐ์ : ์ ์
์ค ์ด๋ ๊ฒ์ด๋ผ๋ ๋ต์ด ambiguous ํ๋ฉด โ ์คํฌ์ด ์ฌ์ฉ์์๊ฒ explicit ์ต์
+ recommendation ์ ์ ์ํ๊ณ ์ ํ๋ฐ๋๋ค. ์๋ ๊ฒฐ์ ๊ธ์ง. ์:
- "M2 ์ exit criterion ์ paper-trading artifact 6์ข
๋ชจ๋ ํฌํจํ ๊น, 4์ข
๋ง ํฌํจํ๊ณ 2์ข
์ M3 ์ผ๋ก ๋ฏธ๋ฃฐ๊น?"
- "ยง๋ถ๊ทน์ฑ ํ 5 ์ ์ธก์ ๋จ์๊ฐ ยง1.4 ์ 'multi-agent factory' ๋ฅผ ์ก๋๊ฐ, ์๋๋ฉด ์ฝ๋ ๋ผ์ธ์ proxy ์ธ๊ฐ?"
- "ยง์ข
์ฐฉ์ง ยงN.2 ํ๋ 'alpha ์๋ promote' ๊ฐ ์ด๋ M ์ exit conjunct ์ธ๊ฐ?"
์ง์
ํธ๋ฆฌ๊ฑฐ:
- Bootstrap step 7.5 (1๊ธ ๊ฐ์ฒด ์ฒซ ์ ์ ์งํ, ๋ชจ๋ ํจ๊ป retrospect)
- Correction phase ์์ฑ (ยง1.4 / ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง ยงN.4 / M chain ๋ณ๊ฒฝ)
- ์ ยง๋ถ๊ทน์ฑ ํ ์ถ๊ฐ (ยงDecision chain entry ๋ง์ผ๋ก ๋ถ์กฑ โ retro ๋ ๅฟ
)
- M chain amendment (M ์ถ๊ฐ/์ ๊ฑฐ/์์ ๋ณ๊ฒฝ/exit conjunct ๋ณ๊ฒฝ)
๊ธฐ๋ก: docs/<domain>-status/00-bootstrap-retro.md (bootstrap) ๋๋ correction phase file ์ ยง<NN>.5.7 retrospection ์ . ์ฌ์ฉ์ verbatim ์๋ต ์ธ์ฉ ๅฟ
.
Skip ๊ธ์ง: retrospection ๊ธฐ๋ก ์์ด 1๊ธ ๊ฐ์ฒด ๋ณ๊ฒฝ commit ํ๋ฉด auditor Pass 7 ๊ฐ ๋ค์ cycle ์์ Severity-1.
10. Claim mode + Requirement-Result Divergence โ
๋ชจ๋ ์ธก์ ์ฒญ๊ตฌ๋ ๋ช ๋ฑ๊ธ์ ์ฆ๊ฑฐ๋ฅผ ์ฒญ๊ตฌํ๋์ง ๋ช
์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ตฌ์ฌํญ(๊ฐ์ค/๊ธฐ์ค/์๋๋ ๊ฒฐ๊ณผ)๊ณผ ์ค์ ์ธก์ ๊ฐ์ด ๋ค๋ฅด๊ฒ ๋์ค๋ฉด โ ์นจ๋ฌต ํก์ ๊ธ์ง. ๋ช
์ ๋ถ๋ฅ๊ฐ ์์ผ๋ฉด ยง๋ถ๊ทน์ฑ/ยง์ข
์ฐฉ์ง๊ฐ ์๊ธฐ์ถฉ์กฑ์ ์ผ๋ก ํ์ ํ๋ค.
๋ ๋ชจ๋ (๋ชจ๋ phase ์ ยง.6.7 ์ ๋ช
์ โ MIXED ์ ์ฒญ๊ตฌ ํ ๋จ์๋ก ๋ถ๋ฆฌ):
- CONFIRMATORY โ "์ด ์ธก์ ์ด ๊ฐ์ค/๊ธฐ์ค์ ๊ฒ์ฆํ๋ค." ๊ฐ์ค/๊ธฐ์ค์ด ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ธฐ ์ ์ commit ๋ ์ํ์์, ์ฌ์ ์ ๋ชป ๋ณธ ๋ฐ์ดํฐ๋ก ์ธก์ ํ ๊ฒฐ๊ณผ๋ง ์ด ๋ฑ๊ธ ๊ฐ๋ฅ. ์ฆ๊ฑฐ: pre-spec ์ commit hash + timestamp ๊ฐ ์ฒซ ๋ฐ์ดํฐ ๋
ธ์ถ commit ๋ณด๋ค ์ด๋ฅธ์ง git ์ผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅ. ๊ฒ์ฆ ๋ชป ํ๋ฉด EXPLORATORY ๋ก ์๋ ๊ฐ๋ฑ.
- EXPLORATORY โ "์ด ์ธก์ ์ด ๊ฐ์ค/๊ธฐ์ค์ ์ ์ํ๋ค." ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ๊ฐ์ค/๊ธฐ์ค์ ์ ํ๊ฑฐ๋ ์ฌํ ์กฐ์ ํ ๋ชจ๋ ์ฒญ๊ตฌ. ๊ฒฐ๋ก ์ "X ๊ฐ ์์ฌ๋จ, ์ถํ confirmatory ๊ฒ์ฆ ํ์" ๊น์ง๋ง. ๊ธ์ง ๋จ์ด: "์ฆ๋ช
", "ํ์ธ๋จ", "๊ฒ์ฆ๋จ", "์ ๋ ์ฆ๋ช
", "proven", "confirmed". ๋ค์ cycle ์ holdout / ์ ๋ฐ์ดํฐ / ์ฌ์ commit ๋ ๊ธฐ์ค ์์์ ์ฌ์ธก์ plan ์ ยง.10 ์ ๋ช
์.
๋ง์์ผ ํ ํต์ฌ ํจํด: ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ๊ฐ์ค/๊ธฐ์ค์ (์์์ ์ผ๋ก๋ ๋ฌด์์์ ์ผ๋ก๋ ) ์กฐ์ ํ ๊ฒฐ๊ณผ๋ฅผ confirmatory ๋ฑ๊ธ์ผ๋ก ์ฒญ๊ตฌํ๋ ๊ฒ (HARKing / p-hacking / cherry-pick). ์ด๊ฒ progress-guidance ์์ ๊ฐ์ฅ ์์ฃผ ์๋ ๋์ค ๊ฒฝ๋ก โ ์งํ๋ ์์ง์๋ค๊ณ ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ ์๊ธฐ ๋ฐ์ดํฐ์ ์๊ธฐ ๊ธฐ์ค์ ๋ง์ถ ๊ฒ.
Requirement-Result Divergence (์กฐ๊ฑด๋ถ ยง.6.8): ยง.1 ์ ์๋/์๊ตฌ์ฌํญ/์์์น์ ยง.3 ์ธก์ ๊ฐ์ด ์๋ฏธ ์๊ฒ ๋ค๋ฅด๋ฉด (์์น์ ํฐ ์ฐจ์ด / ๊ฐ์ค ๊ธฐ๊ฐ / ๊ธฐ์ค ๋๋ ๋ฏธ๋ฌ / ๋ฑ) ์ธ ๊ฐ๋ ์ค ํ๋๋ก ๋ช
์ ๋ถ๋ฅ:
- REQUIREMENT-WRONG โ ์๊ตฌ์ฌํญ/๊ธฐ์ค/์๋๊ฐ ์ค์ ์๋๋ฅผ ๋ชป ์ก์์ (์ธก์ ํธ์๋ก ์ ํ ์๊ณ, ยง1.4 ์ ์ด๊ธ๋ ๊ฐ์ค, ์ฌํ์ ๋ณด๋ ยง๋ถ๊ทน์ฑ ํ ์ ์ ์์ฒด๊ฐ ๋ถ์ ํฉ ๋ฑ). ๋ค์ cycle ์์ ์ correction phase ํ์ โ ยง.10 ์ ํธ๋ฆฌ๊ฑฐ ๋ช
์.
- RESULT-INVALID โ ์ธก์ /๋ฐ์ดํฐ ํ์ง ๋ฌธ์ (look-ahead bias, sample ๋๋ฝ, pipeline ๋ฒ๊ทธ, ๋น๊ต๊ตฐ ์ค์ ๋ฑ). ์ฒญ๊ตฌ ์ฒ ํ. ยง.7 ยง๋ถ๊ทน์ฑ ๊ฐฑ์ ์ ์ด phase ์ ์ธก์ ๊ฐ์ ๋ฐ์ํ์ง ๋ง ๊ฒ. ๋ค์ ์ธก์ .
- GENUINE-FINDING โ ์ธก์ ์ ์ ์, ๊ฒฐ๊ณผ๊ฐ ์์๊ณผ ๋ค๋ฅธ ์ง์ง ๋ฐ๊ฒฌ. ์ฒญ๊ตฌ๋ EXPLORATORY ๋ฑ๊ธ์ผ๋ก๋ง ๊ฐ๋ฅ (์ ๋ชจ๋ ๊ท์น ์ ์ฉ). ๋ค์ cycle ์ ์ ๋ฐ์ดํฐ/holdout ์ผ๋ก confirmatory ๊ฒ์ฆ plan ์ ยง.10 ์ ๋ช
์.
์ธ ๊ฐ๋ ์ค ์ด๋ ๊ฒ์๋ ๋ถ๋ฅํ์ง ์์ ์ฑ ยง๋ถ๊ทน์ฑ/ยง์ข
์ฐฉ์ง๋ฅผ ๊ฐฑ์ ํ๋ฉด = ์
๋ค์ธ ์ฒ / ํ๋๋ ์๋ ์ฒ ์ผ๋ก ํ๋ฌ๊ฐ๋ ๊ฒ. auditor Pass 6 ๊ฐ Severity-1.
์๊ธฐ์ง๋จ ํ ์ค: "์ด๋ฒ phase ์ ์ฒญ๊ตฌ๊ฐ confirmatory ๋ฑ๊ธ์ผ๋ก ํต๊ณผ๋๋ ค๋ฉด, ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ธฐ ์ ์ด๋ commit ์ด ๊ฐ์ค/๊ธฐ์ค์ ๋ฐ์๋์๋?" โ ๋ต์ ๋ชป ๋๋ฉด EXPLORATORY ๊ฐ ์ ์ง.
Bootstrap rule (run before any progress work)
If either doc is missing or has fewer than 4 substantive sections, stop and bootstrap before doing anything else.
-
Confirm domain name with user. Convention: <domain>-status.md + <domain>-pipeline.md.
-
Copy templates/status-core.md โ docs/<domain>-status.md. Fill ยง0โยง2 (next-session entry / user goal / decision chain). The ยง1.4 ์ง์ง ๋ชฉํ line is required and must be a single sentence.
-
Copy templates/pipeline-core.md โ docs/<domain>-pipeline.md. Identify the N standard stages โ consult external references before guessing.
-
Fill the final pipeline ยง"์ด ํ๋ก์ ํธ๊ฐ ์ ํ์ ์ผ๋ง๋ ๋ถํฉํ๋๊ฐ" mapping table with โ/โ/โณ/โ + one-line evidence per stage. Initial scores are mostly โ โ that's expected.
-
Draft pipeline ยง์ข
์ฐฉ์ง ์์คํ
๋ชจ์ (Cycle 0) โ initial vision: ๋ํด + ๊ฐ๋ฅํด์ง ํ๋ + ์๋์ ์ ์ธ. Cycle 0 entry in ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ. Vague is acceptable initially โ it will be sharpened phase-by-phase. Empty is not.
-
Cross-reference: status ยง1.3 ์ธ๋ถ ์ปจํ
์คํธ โ pipeline ยง0 references must point to the same sources.
6.5. Milestone elicitation (user-interactive, mandatory) โ ยง1.4 ์ง์ง ๋ชฉํ โ ์ข
์ฐฉ์ง๊น์ง ์ง์ ์ด ์๋๋ค. Ask the user explicitly (Korean): "ยง1.4 ์ง์ง ๋ชฉํ๋ฅผ ์ข
์ฐฉ์ง์ ๋๋ฌํ๊ธฐ ์ํ N๊ฐ ๋ง์ผ์คํค ์ํ์ค ๋ก ๋๋ ์ฃผ์ธ์. ๊ฐ M_i ๋ ๋ค์ ์
์ ๊ฐ์ถฐ์ผ ํฉ๋๋ค: (1) ์ด๋ฆ / ํ ์ค ์ ์, (2) close ์ exit criterion โ ยง๋ถ๊ทน์ฑ ํ evidence ๋๋ ์ฌํ ๊ฐ๋ฅ ์ธก์ ๊ณผ ๊ฒฐํฉ ๊ฐ๋ฅํ AND-conjunction, (3) ์ M_{i-1} close ๊ฐ prerequisite ์ธ๊ฐ (logical/technical dependency, ๋จ์ ์๊ฐ ์์ ์๋)." ์ฌ์ฉ์ ์๋ต์ verbatim ์ผ๋ก pipeline ยงN+1 ๋ง์ผ์คํค ์ฒดํฌํฌ์ธํธ ์ฒด์ธ + status ยง2.3 ๋ง์ผ์คํค ์ง์ฒ ์ ์ฎ๊ธด๋ค. Ambiguity ๋ ๋ชจ๋ ์ฌ์ฉ์ dialogue โ boundary / ordering / conjunction membership ์ด ๋ชจํธํ๋ฉด explicit ์ต์
+ recommendation ์ ์ ์ํ๊ณ ์ ํ๋ฐ๋๋ค (์๋ ๊ฒฐ์ ๊ธ์ง). M_i ๊ฐ ํฐ ๊ฒฝ์ฐ sub-checkpoint M_i.j (alphabetical) ๋ก ๋ถํด โ ์ด ๋ถํด๋ ์ฌ์ฉ์ ๋์ ํ์. Cross-validate: ๋ชจ๋ ยง์ข
์ฐฉ์ง ยงN.2 ๊ฐ๋ฅํด์ง ํ๋ ์ค์ด ์ต์ ํ M_i exit conjunct ์ ์ํด covered ๋์ด์ผ ํ๋ค (Rule 8 M-set exhaust ยง์ข
์ฐฉ์ง ยงN.2). ๋น ์ง ์ค ๋ฐ๊ฒฌ ์ ์ฌ์ฉ์์๊ฒ ๊ฐ์ ธ๊ฐ amend.
-
Critic bootstrap pass (mandatory) โ invoke progress-critic in bootstrap mode against the freshly-drafted ยง๋ถ๊ทน์ฑ ํ + ยง1.4 ์ง์ง ๋ชฉํ + ยง์ข
์ฐฉ์ง cycle-0 + ยงN+1 ๋ง์ผ์คํค ์ฒดํฌํฌ์ธํธ ์ฒด์ธ. The agent returns โค8 sharp questions challenging the definitions across the three 1๊ธ ๊ฐ์ฒด sets (existing categories: measurable / falsifiable / proxy-vs-real / vision-aligned / reachable-but-non-trivial / independently-verifiable; new milestone categories: milestone-coverage / milestone-necessity-ordering / milestone-prerequisite-realism / milestone-exit-measurability). Save them to docs/<domain>-status/00-bootstrap.critic.md. Fill each **Response:** block (DIRECT / REVISED / LIMITATION), revising ยง๋ถ๊ทน์ฑ / ยง1.4 / ยง์ข
์ฐฉ์ง / ยงN+1 M chain as needed. Re-invoke progress-critic in bootstrap-verify mode. Bootstrap does not advance to step 7.5 until the verifier returns VERDICT: PASS. See ยงBootstrap critic pass below.
7.5. 1๊ธ ๊ฐ์ฒด retrospective satisfaction check (user-interactive, mandatory) โ Rule 9 ๋ฉํ๋ฃฐ ๋ฐ๋. Critic ์ per-row vetting ์ด ๋๋ฌ์ด๋ system-level ์ ๊ฒ์ ๋ณ๊ฐ. ยง๋ถ๊ทน์ฑ ํ + ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ + ยงN+1 M chain ์
์ ํจ๊ป ๋ค๊ณ ์ฌ์ฉ์์๊ฒ ๊ฐ์ ๋ค์ ์
์ ๋ฌป๋๋ค:
- Coverage: ๊ฐ 1๊ธ ๊ฐ์ฒด ํญ๋ชฉ์ด ยง1.4 substring ๋๋ ยง์ข
์ฐฉ์ง ยงN.2 ํ๋์ ์ด๋ ์ค ์ ์ถฉ์กฑ์ํค๋? ๋งคํ ํ๋ฅผ ์ฌ์ฉ์์ ํจ๊ป ์์ฑ.
- Sufficiency: 1๊ธ ๊ฐ์ฒด ํฉ์งํฉ ์ด ยง1.4 / ยง์ข
์ฐฉ์ง ยงN.2 list ๋ฅผ exhaust ํ๋? ๋น ์ง ๋ถ๋ถ์ด ์๋ค๋ฉด ์ด๋ป๊ฒ ์ฑ์ธ๊น (M ์ถ๊ฐ / ยง๋ถ๊ทน์ฑ ํ ์ถ๊ฐ / ยง์ข
์ฐฉ์ง ยงN.2 ํ๋ ์ ์ )?
- Faithfulness: ํญ๋ชฉ ์ ์์ ์ธก์ ๋ฐฉ์ ์ด ยง1.4 ์ ์ง์ง ์๋๋ฅผ ์ก๋, proxy ์ธ๊ฐ? ์ฌ์ฉ์๊ฐ ์ธก์ ๋ฐฉ์์ ์ด๋ป๊ฒ ๋ฐ์๋ค์ด๋?
์ ์
์์ ambiguity ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด โ ์๋ ๊ฒฐ์ ํ์ง ๋ง๊ณ โ ์ฌ์ฉ์์๊ฒ explicit ์ต์
+ recommendation ์ ์ ์ํ๊ณ ์ ํ๋ฐ๋๋ค. ์ฌ์ฉ์ ์๋ต์ verbatim ์ผ๋ก docs/<domain>-status/00-bootstrap-retro.md ์ ์ธ์ฉ. retro ํ์ผ ๊ตฌ์กฐ:
# Bootstrap Retrospective โ <domain> (<date>)
## Coverage ๋งคํ (1๊ธ ๊ฐ์ฒด โ ยง1.4 / ยง์ข
์ฐฉ์ง ยงN.2)
| 1๊ธ ๊ฐ์ฒด ํญ๋ชฉ | ยง1.4 substring | ยง์ข
์ฐฉ์ง ยงN.2 ์ค | ์ฌ์ฉ์ verdict |
|---|---|---|---|
## Sufficiency ์ ๊ฒ
- ๋น ์ง ยง1.4 ์ธก๋ฉด: <์๋ค๋ฉด โ ์ฌ์ฉ์๊ฐ ์ฑ์ฐ๊ธฐ๋ก ํ ๋ฐฉ์ ์ธ์ฉ>
- ๋น ์ง ยง์ข
์ฐฉ์ง ยงN.2 ํ๋: <์๋ค๋ฉด โ ์ฌ์ฉ์๊ฐ ์ฑ์ฐ๊ธฐ๋ก ํ ๋ฐฉ์ ์ธ์ฉ>
## Faithfulness ์ ๊ฒ (proxy ์์ฌ ํญ๋ชฉ)
- <ํญ๋ชฉ>: ์ธก์ ๋ฐฉ์ = <...>, ์ฌ์ฉ์ verdict = <"์ง์ง ์ก๋๋ค" / "proxy ์ง๋ง ๋ฐ์๋ค์ธ๋ค โ ์ฌ์ " / "amend ํ์">
## ์ฌ์ฉ์ ๊ฒฐ์ (ambiguity ์ฒ๋ฆฌ)
- <์ง๋ฌธ>: ์ต์
A / B / C / ์ฌ์ฉ์ ์ ํ = <verbatim>
## Commit
- ์ ๊ฒฐ์ ์ ๋ฐ๋ผ ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง / ยงN+1 M chain ๊ฐฑ์ ์๋ฃ. ๊ฐ ๋ณ๊ฒฝ์ source ๋ ๋ณธ retro ํ์ผ ์ธ์ฉ.
Skip ๊ธ์ง โ retro ํ์ผ ์์ด step 8 ์ง์
ํ๋ฉด ์ฒซ cycle audit ์์ ์ฆ์ Severity-1.
-
Verify with the user that all four anchors accurately capture the project: ยง1.4 ์ง์ง ๋ชฉํ, ยง๋ถ๊ทน์ฑ ํ, ยง์ข
์ฐฉ์ง ์์คํ
๋ชจ์, ยงN+1 ๋ง์ผ์คํค ์ฒดํฌํฌ์ธํธ ์ฒด์ธ โ ๊ทธ๋ฆฌ๊ณ ์ด ๋ท์ด retro ๊ฒฐ๊ณผ๋๋ก ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ง์กฑ์ํค๋์ง๋ฅผ ํ ๋ฒ ๋ ํ์ธ.
A skipped bootstrap = no anchor for critical evaluation. Do not skip.
Bootstrap critic pass (one-time โ at Bootstrap step 7)
The cycle-time critic vets phase claims. The bootstrap critic vets the initial north-star definition itself. A north-star that is unmeasurable, a proxy, or unmapped to ยง์ข
์ฐฉ์ง means every future cycle measures the wrong thing โ by the time a cycle-time critic catches it, the project has spent N sessions chasing the wrong target. Bootstrap-time vetting is cheap; deferred vetting is not.
Two invocations at Bootstrap step 7, same agent:
Step 7a โ bootstrap (generate)
Agent(
subagent_type: "progress-critic",
description: "Critic โ bootstrap questions",
prompt: "MODE: bootstrap
domain: <domain>
status path: docs/<domain>-status.md
pipeline path: docs/<domain>-pipeline.md"
)
The agent returns markdown text (โค8 closed questions, each tagged by category, each with an empty **Response:** block). Categories include the original six (measurable / falsifiable / proxy-vs-real / vision-aligned / reachable-but-non-trivial / independently-verifiable) plus four milestone categories (milestone-coverage / milestone-necessity-ordering / milestone-prerequisite-realism / milestone-exit-measurability โ Rule 8). Save this to docs/<domain>-status/00-bootstrap.critic.md exactly as returned.
Step 7b โ bootstrap-verify
Fill in each **Response:** block in the bootstrap critic file. Each response must be one of:
- DIRECT โ the question is already addressed by the docs as drafted; cite the specific section/row that answers it.
- REVISED โ ยง๋ถ๊ทน์ฑ / ยง1.4 / ยง์ข
์ฐฉ์ง / ยงN+1 M chain was revised in response to the question; describe the change and cite the current state.
- LIMITATION โ acknowledged gap, with a link to a ยงresidual issues entry (in status) or ยงDecision chain entry naming the gap and a deferral trigger.
Then invoke:
Agent(
subagent_type: "progress-critic",
description: "Critic โ bootstrap verify",
prompt: "MODE: bootstrap-verify
domain: <domain>
status path: docs/<domain>-status.md
pipeline path: docs/<domain>-pipeline.md
critic file: docs/<domain>-status/00-bootstrap.critic.md"
)
Outcomes:
VERDICT: PASS โ proceed to Bootstrap step 7.5 (1๊ธ ๊ฐ์ฒด retrospective).
VERDICT: FAIL โ fix unaddressed questions and re-invoke. The critic will not invent new questions on re-runs (closed set), so fixes converge.
Foundation categories (no LIMITATION at bootstrap)
vision-aligned, proxy-vs-real, milestone-coverage, milestone-prerequisite-realism cannot be answered with LIMITATION at bootstrap. Deferring foundation means the project runs on an unanchored north-star OR a non-reachable milestone chain. The only acceptable responses for these four categories are DIRECT (already addressed) or REVISED (fixed now). Other categories may LIMITATION with a ยงresidual entry.
Iteration protocol (one work session)
- Open โ re-inject end-state โ read status ยง0, then status ยงNorth-Star, then
pipeline.md ยง์ข
์ฐฉ์ง ์์คํ
๋ชจ์ in full (๋ํด + ๊ฐ๋ฅํด์ง ํ๋ + ์๋์ ์ ์ธ + ยงN.4 ๋น์ vs ํ์ฌ + ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ). Then read the pipeline stage(s) the work touches. The ยง์ข
์ฐฉ์ง view is the lens through which Plan and the critic prompt are written โ not optional context.
- Plan โ three anchors mandatory:
- (a) Which ยงNorth-Star row(s) the phase moves
- (b) Which ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ the row belongs under, with reshape kind (๊ตฌ์ฒดํ / ๊ฒ์ฆ / ์ถ์ / ์ ๊ท ์ถ๊ฐ)
- (c) Which active M_i.j the phase advances or closes, and which exit criterion conjunct(s) it satisfies (Rule 8). State explicitly: "์ด phase ๋ M_. ์ conjunct ๋ฅผ <advance / close> ํ๋ค." If the phase advances M_{i+1} while M_i is still open, status ยงDecision chain must contain a gate-bypass trigger entry in this cycle (named here, not deferred). If you cannot map all three (a)+(b)+(c), escalate โ phase without milestone position is scope creep until proven otherwise.
- Critic โ generate (mandatory) โ invoke
progress-critic in generate mode. The prompt must include the current ยง์ข
์ฐฉ์ง snapshot and the phase's claimed ยง์ข
์ฐฉ์ง ์์ญ from step 2. The critic returns โค8 questions, with at least one in the end-state-positioning category asking how this phase will reshape the projected end-state. Save the returned questions to docs/<domain>-status/<NN>-<slug>.critic.md. See ยงCycle critic pass below.
- Work โ execute. Save artifacts where pipeline ยงcode-perspective points. Keep the critic questions visible โ they shape what to measure, not just what to build.
- Append a new phase file โ
docs/<domain>-status/<NN>-<YYYY-MM-DD>-<slug>.md from templates/status-section.md. Required sections: scope, what was built (with evidence), validation, system impact, milestone progress claim (ยง.6.4 โ advance / close ๋ผ๋ฒจ + ์ํฅ ๋ฐ์ M_i.j conjunct + close ๋ผ๋ฉด conjunction ๋ง์กฑ evidence + prerequisite gate ์ํ), end-state delta (ยง.6.5), intent-execution reconciliation (ยง.6.6 โ MATCH / PIVOT / DRIFT ๋ผ๋ฒจ), claim mode (ยง.6.7 โ CONFIRMATORY / EXPLORATORY / MIXED ๋ผ๋ฒจ + ์ฆ๊ฑฐ), requirement-result divergence (ยง.6.8 โ ์กฐ๊ฑด๋ถ: ยง.1 ์์๊ณผ ยง.3 ์ธก์ ๊ฐ์ด ์๋ฏธ ์๊ฒ ๋ค๋ฅด๋ฉด REQUIREMENT-WRONG / RESULT-INVALID / GENUINE-FINDING ์ค ํ๋๋ก ๋ถ๋ฅ), residual issues.
- Critic โ verify (mandatory) โ fill in each
**Response:** block in the <NN>-<slug>.critic.md file (DIRECT / LIMITATION / OUT-OF-SCOPE per the rules). Then re-invoke progress-critic in verify mode. The cycle does not advance to step 7 until critic returns VERDICT: PASS. On VERDICT: FAIL, fix the unaddressed questions and re-invoke.
- Update status core inline โ ยงLOC summary, ยง0 next-session entry, ยงNorth-Star table (refreshed
ํ์ฌ + ๊ทผ๊ฑฐ + ์์คํ
์ํฅ), ยง2.3 ๋ง์ผ์คํค ์ง์ฒ (active M_i.j ๊ฐฑ์ , conjunct progress ๊ฐฑ์ , phase โ M.j ๋งคํ ํ ์ถ๊ฐ), ยงpessimistic re-score, ยงphase index row.
- Sync pipeline core โ re-rate affected stage(s) in ยงmapping. If a new mistake/signal was learned, append to that stage's ยงX.3 / ยงX.2.
- Re-project end-state (mandatory) โ open
pipeline.md ยง์ข
์ฐฉ์ง ์์คํ
๋ชจ์. Update ยงN.1 ๋ํด / ยงN.2 ๊ฐ๋ฅํด์ง ํ๋ / ยงN.3 ์๋์ ์ ์ธ if this phase changed any of them. Refresh ยงN.4 ๋น์ vs ํ์ฌ ํ (ํ์ฌ ์นผ๋ผ). Append a row to ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ โ every cycle gets a row, classified as ์ถ๊ฐ / ๊ตฌ์ฒดํ / ์ถ์ / no-change with the trigger. ์ถ์ ๋ฐฉํฅ ๋ณ๊ฒฝ์ status ยงDecision chain ์ trigger ํญ๋ชฉ๊ณผ ์ง์ด ๋ง์์ผ ํ๋ค. Confirm the phase file's ยง.6.5 end-state delta narrates the same change. ยงN+1 ๋ง์ผ์คํค ์ฒดํฌํฌ์ธํธ ์ฒด์ธ ๋ ๊ฒํ โ M chain ์ ์ ๊ฐ amend ๋๋ค๋ฉด (Rule 8 exit weakening / ์ conjunct ๋ฑ) ยงN+1.5 ๋ณ๊ฒฝ ์ด๋ ฅ์ ํ ์ถ๊ฐ + Rule 9 retrospection ์ฌ์คํ (correction phase ์ ์ฐจ). ์ ์ ๋ณ๊ฒฝ ์์ด ์ง์ฒ๋ง ๋ณํ๋ค๋ฉด status ยง2.3 ๋ง ๊ฐฑ์ (์ ์ doc ์ unchanged).
- Self-check โ both docs touched; ยง์ข
์ฐฉ์ง ยงN.5 has a new row for this cycle; ยง0 next-session entry alone would orient a fresh reader who has never seen this project; active M_i.j ๊ฐ ยง0 ์์ ์ฆ์ ๋ณด์ด๋๊ฐ.
- Audit pass (mandatory) โ invoke
progress-auditor via the Agent tool. The cycle is not closed until the auditor returns VERDICT: PASS. On VERDICT: FAIL, address every Severity-1 finding listed and re-invoke. The auditor now runs seven passes (Schema / Reproducibility / Drift / Linguistic-weakness / Intent-Execution drift / Claim-mode integrity / Milestone-discipline integrity). See ยงAudit pass below.
Cycle critic pass (substantive โ at iteration steps 3 and 6)
The discipline auditor (ยงAudit pass) checks whether what was written is honest and well-formed. The critic checks something different: whether the right questions were asked at all. A phase can be impeccably documented and still measure the wrong thing or mistake a proxy for the ยง๋ถ๊ทน์ฑ. The critic is the outsider who has not yet been convinced.
Two invocations per cycle, same agent:
Step 3 โ generate
Agent(
subagent_type: "progress-critic",
description: "Critic โ generate questions",
prompt: "MODE: generate
domain: <domain>
phase number: <NN>
phase slug: <slug>
target ยง๋ถ๊ทน์ฑ rows: <comma-separated row labels>
planned scope: <one-paragraph description from step 2>
target M_i.j: <which milestone(s) this phase advances/closes>
target conjunct: <which exit criterion conjunct(s) this phase satisfies>
advance-or-close: <advance | close>"
)
The agent returns markdown text (โค8 closed questions, each tagged by category, each with an empty **Response:** block). Categories include the existing set (counterfactual / proxy-vs-real / sample-dependence / overfitting / survivorship / boundary / external-validation / measurement-gap / end-state-positioning / claim-mode-discipline / divergence-diagnosis) plus a new milestone-positioning category (Rule 8) โ at least one question must carry this category, asking whether the phase truly advances/closes the named M_i.j conjunct or is a hidden gate-bypass / orphaned-from-milestone / premature-close. Save this to docs/<domain>-status/<NN>-<slug>.critic.md exactly as returned. These questions stand for the rest of the cycle โ no new questions get added later.
Step 6 โ verify
After the phase file is drafted, fill in each **Response:** block in the critic file. Each response must be one of:
- DIRECT โ concrete evidence (command + output, file path + lines, commit hash, test name, numeric measurement). The critic will Bash-run / Read your evidence to confirm.
- LIMITATION โ acknowledged unresolved gap + a link to a ยงresidual issues entry in the phase file describing what's missing and why.
- OUT-OF-SCOPE โ justification citing which ยง๋ถ๊ทน์ฑ row this question belongs to instead, or explaining why the question doesn't apply to this row's claim.
Then invoke:
Agent(
subagent_type: "progress-critic",
description: "Critic โ verify responses",
prompt: "MODE: verify
domain: <domain>
phase number: <NN>
phase slug: <slug>
critic file: docs/<domain>-status/<NN>-<slug>.critic.md
phase file: docs/<domain>-status/<NN>-<date>-<slug>.md"
)
Outcomes:
VERDICT: PASS โ proceed to step 7.
VERDICT: FAIL โ fix unaddressed questions and re-invoke. The critic will not invent new questions on re-runs (closed set), so fixes converge.
3-cycle limitation rule (auto-FAIL)
The critic checks the previous 2 cycles' *.critic.md files. If a question's category for the same ยง๋ถ๊ทน์ฑ row was answered as LIMITATION in โฅ2 prior cycles AND is again LIMITATION this cycle, the question auto-fails regardless of format. Required fix is one of:
- Upgrade this cycle's response to
DIRECT (do the measurement now).
- Amend status ยงDecision chain to re-anchor or downgrade the ยง๋ถ๊ทน์ฑ row itself. Three cycles of "we'll get to it" means the row as defined isn't reachable โ change the goal or admit it.
The rule prevents the easy escape route where every hard question becomes a permanent residual.
Audit pass (mandatory cycle closer โ at step 11)
The skill is self-reporting by design โ author, evidence collector, and pessimistic re-scorer are the same context. To keep the trust gap narrow, every cycle ends with an independent auditor pass that the author cannot self-approve.
How to invoke (after step 10, before any "done" message to the user):
Agent(
subagent_type: "progress-auditor",
description: "Audit cycle close",
prompt: "Audit the just-closed progress-guidance cycle.
Domain: <domain>
New phase file: docs/<domain>-status/<NN>-<date>-<slug>.md
Run all seven passes (Schema / Reproducibility / Drift / Linguistic-weakness / Intent-Execution drift / Claim-mode integrity / Milestone-discipline integrity).
Return VERDICT: PASS or VERDICT: FAIL with the defect list."
)
Outcomes:
VERDICT: PASS โ cycle closed. Report the verdict to the user.
VERDICT: FAIL โ cycle stays open. Fix every Severity-1 finding (Severity-2 may be deferred to next cycle), then re-invoke. Do not announce the cycle complete to the user until PASS is achieved. Do not argue with the auditor's verdict; if a finding is genuinely wrong, fix the artifact so the finding no longer applies.
Why no override path: the moment "PASS unless overridden" exists, every cycle becomes a PASS-with-override. Two outcomes only โ PASS or FAIL โ keeps the discipline honest. If the auditor is structurally wrong (e.g. checks a rule that no longer applies), the fix is to update the auditor agent or this skill, not to override a single verdict.
Two-gate principle
A cycle closes only when both gates pass:
- Critic gate (substantive) โ did the phase ask and answer the right questions?
- Auditor gate (discipline) โ was what's written honest, reproducible, and complete in form?
Critic without auditor: well-questioned but possibly self-cheering reports. Auditor without critic: rigorously documented but possibly measuring the wrong thing. Both required, in this order.
Correction phase (one-shot โ between cycles, when intent drifted across cycles)
The two gates catch within-cycle dishonesty and near-term drift. They cannot catch the case where every cycle was honestly executed against ยง1.4 / ยง๋ถ๊ทน์ฑ as written, but ยง1.4 / ยง๋ถ๊ทน์ฑ as written turn out not to capture the real intent โ usually realized only after several cycles when the user re-reads results and notices "this measures the wrong thing entirely". ยง.6.6 intent-execution reconciliation guards against single-phase drift; the correction phase guards against foundation drift discovered late.
When this happens, the fix is not to silently edit ยง1.4 / ยง๋ถ๊ทน์ฑ / ยงN+1 M chain (auditor Pass 3 / Pass 7 catches that as drift). Nor is it to start a fresh project. The fix is a correction phase โ a documentation-only cycle that:
- Records what was discovered, when, and from what evidence (ยง.5.1).
- Lays out old vs new intent side-by-side (ยง.5.2) โ including why the old definition missed the real intent.
- Amends ยง1.4 / ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง / ยงN+1 M chain explicitly, with ยงDecision chain trigger (ยง.5.3 / ยง.5.4).
- Re-runs
progress-critic MODE: bootstrap against the amended foundation if ยง1.4 / ยง๋ถ๊ทน์ฑ rows / ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ / M chain definitions changed semantically (ยง.5.5).
- Re-runs Rule 9 retrospective if any 1๊ธ ๊ฐ์ฒด (ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง ยงN.4 / M chain) changed semantically (ยง.5.7) โ user-interactive coverage/sufficiency/faithfulness check, ambiguity surfaced as user choice.
- Re-interprets prior cycles' verdicts under the amended definitions (ยง.5.6) โ recorded in the correction file, not edited into prior phase files (sanitizing history breaks auditor Pass 3).
Naming: docs/<domain>-status/<NN>.5-correction-<slug>.md where <NN> is the most recently closed phase. The .5 slot makes the file sort between ยง and ยง<NN+1> without colliding with phase numbers. The next normal phase continues as ยง<NN+1>.
Template: templates/status-correction.md. Copy and fill.
Bootstrap critic re-run gate: if ยง1.4 / ยง๋ถ๊ทน์ฑ rows / ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ changed semantically (not just rewording), re-running progress-critic MODE: bootstrap is mandatory before ยง<NN+1> opens. Save the result to docs/<domain>-status/<NN>.5-correction.critic.md, fill responses, then MODE: bootstrap-verify until VERDICT: PASS. Pure rewording with no semantic shift skips the re-run but still requires ยงDecision chain entry.
Code-change rule: a correction phase produces zero code changes. Auditor will flag any non-docs/ edits in the correction commit as a discipline violation โ code work belongs in ยง<NN+1>, not in the correction.
When to invoke:
- Re-reading results from ยง~ยง reveals ยง1.4 doesn't match real intent.
- A 3-cycle limitation rule auto-fail recommends re-anchoring ยง๋ถ๊ทน์ฑ, and amending the row(s) accordingly.
- External input (paper / advisor / user discovery) reveals ยง์ข
์ฐฉ์ง ยงN.2 ๊ฐ๋ฅํด์ง ํ๋ list misses the real target capability.
- A just-closed phase's ยง.6.8 =
REQUIREMENT-WRONG โ ยง.10 next-action explicitly trips the correction trigger. The amendment scope follows what the ยง.6.8 narrative identified as the misaligned requirement (a ยง๋ถ๊ทน์ฑ row's threshold, ยง1.4 wording, ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ definition, etc.).
- M chain amendment โ Rule 8 exit weakening / ์ conjunct / M ์ถ๊ฐ / M ์์ ๋ณ๊ฒฝ / sub-checkpoint partition ์ฌ์ ์. M-level ๋ณ๊ฒฝ์ 1๊ธ ๊ฐ์ฒด ๋ณ๊ฒฝ์ด๋ฏ๋ก Rule 9 retrospection ์ฌ์คํ ๅฟ
.
- Auditor Pass 7 ์ โฅ3 cycle M-stagnation ๋๋ prerequisite-realism ์๋ฐ โ M_i.j ๊ฐ โฅ3 cycle ๊ฐ์ conjunct ์์ ์ง์ฒ ์์ โ M_i.j ์์ฒด๋ฅผ ์ฌ์ ์ํ๊ฑฐ๋ ยง๋ถ๊ทน์ฑ ํ์ re-anchor ํ๋ผ๋ ์ ํธ.
When not to use:
- Within-cycle plan change โ that's a
PIVOT label in ยง.6.6, not a correction phase.
- Adding a new ยง๋ถ๊ทน์ฑ row mid-project for a new concern (not amending an existing one) โ ordinary ยงDecision chain entry suffices.
- Pure typo / wording cleanup with no semantic shift โ just edit; no correction phase needed.
Critical-evaluation checklist (mandatory each cycle)
Anti-patterns (refuse / flag)
- Single-doc projects โ status only or pipeline only. The pair is the discipline.
- Drifted pair โ phase 18 in status; pipeline ยงmapping last touched at phase 6. Refuse new phases until reconciled.
- Goal creep without re-anchoring โ adding a ยง๋ถ๊ทน์ฑ row without explaining what triggered the change. Trigger belongs in ยงDecision chain.
- Append-only without splits โ file passes 1500 lines. Split before then.
- Cheerleading log โ phase reports without LOC / test results / metrics.
- Disconnected references โ pipeline cites paper X, status cites talk Y, never reconcile.
- Universal optimism โ every cycle every stage stays โฅ previous score. Real progress includes setbacks.
- Evidence-free progress โ "X improved" without a number. Reject.
- Invisible progress โ code shipped but no observable system change. Either label
infrastructure-only or reconsider.
- Vision drift without ledger โ ยง์ข
์ฐฉ์ง ยงN.5 ๋ณ๊ฒฝ ์ด๋ ฅ์ด ๋น cycle. ๋น์ ์ด ์๋์ผ๋ก ์ ๊ฐฑ์ ๋ ๊ฒ์ด ์๋๋ผ ๊ธฐ๋ก์ ๋น ๋จ๋ฆฐ ๊ฒ โ ๋ฌด์์ด ๋ฐ๋์๊ฑฐ๋ ์ ๋ง no-change ์ธ์ง ํ์ ์ถ๊ฐํ๋ผ.
- Vision-loosening (post-hoc relaxation) โ phase ๊ฒฐ๊ณผ๋ฅผ โ
๋ก ๋ง๋ค๊ธฐ ์ํด ยง์ข
์ฐฉ์ง ยงN.2 ๊ฐ๋ฅํด์ง ํ๋์์ ํญ๋ชฉ์ ์ฌ๊ทธ๋จธ๋ ๋นผ๊ฑฐ๋ ยงN.3 ์๋์ ์ ์ธ๋ก ์ฎ๊ธฐ๋ ํจํด. trigger ๊ฐ ยงDecision chain ์ ์๋ค๋ฉด ๊ฑฐ๋ถ.
- Frozen vision while shipping โ ยง์ข
์ฐฉ์ง ยงN.5 โฅ3 cycle ์ฐ์ no-change ์ธ๋ฐ phase ๋ ๊ณ์ ship ๋จ. phase ๊ฐ ๋น์ ๊ณผ ๋ฌด๊ดํ๊ฒ ๊ตด๋ฌ๊ฐ๊ณ ์๊ฑฐ๋ (scope creep), ๋น์ ๊ฐฑ์ ์ ๋งค๋ฒ ๋น ๋จ๋ฆฌ๊ณ ์๊ฑฐ๋ ๋ ์ค ํ๋. ์ด๋ ์ชฝ์ธ์ง ๋ตํ๋ผ.
- Phase orphaned from vision โ phase scope ๊ฐ ยง์ข
์ฐฉ์ง ยงN.4 ์์ญ ์ด๋ ์ค์๋ ๋งคํ๋์ง ์์. ๋งคํํ๊ฑฐ๋, ๋น์ ์ ํ์ฅํ๊ฑฐ๋, scope creep ์ผ๋ก ํ๊ธฐ.
- DRIFT label cycle close attempt โ ยง.6.6 =
DRIFT ์ธ ์ฑ๋ก cycle ๋ซ์ผ๋ ค ํจ. PASS ์ฐจ๋จ. ์์
์ฌ๊ฐํด MATCH ๋ก ๋์ด์ฌ๋ฆฌ๊ฑฐ๋, ยงDecision chain entry ์ถ๊ฐํด PIVOT ์ผ๋ก ์ฌ๋ผ๋ฒจ.
- Hidden PIVOT โ ยง.6.6 =
MATCH ์ธ๋ฐ ๋ฐ์ดํฐ ์์ค / sample size / ยง๋ถ๊ทน์ฑ ํ์ด ยง.1 ๊ณผ ๋ค๋ฆ. ์๊ธฐํฉ๋ฆฌํ. auditor Pass 5 ๊ฐ Severity-1 ๋ก ์ก๋๋ค.
- Silent correction โ ยง1.4 / ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง ์์ญ์ด ๋ณ๊ฒฝ๋๋๋ฐ correction phase file ์์. ๋ณ๊ฒฝ์ ๋ฐ๊ฒฌ ๊ฒฝ์ ๊ฐ ์ด๋์๋ ์ ๋จ์ผ๋ฉด ๋ค์ ์ธ์
์ด amended ์ ์์ ๊ทผ๊ฑฐ๋ฅผ ์๋๋ค. Auditor Pass 3 ๊ฐ Severity-1 ๋ก ์ก๊ณ , correction phase ์์ฑ์ ๊ฐ์ ํ๋ค.
- Hidden HARKing โ phase ๊ฐ ์ ์ธก์ ๊ธฐ์ค/์๊ณ/ํํฐ๋ฅผ ๋์
ํ๊ณ ยง.6.7 =
CONFIRMATORY ๋ผ๊ณ ์ฒญ๊ตฌํ์ง๋ง pre-spec commit timestamp ๊ฐ ์ฒซ ๋ฐ์ดํฐ ๋
ธ์ถ commit ๋ณด๋ค ๋ฆ๊ฑฐ๋ ์กด์ฌํ์ง ์์. ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ๊ธฐ์ค์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆ์ผ๋ก ์ฒญ๊ตฌํ๋ ํจํด. auditor Pass 6 Severity-1.
- Mode-language mismatch โ ยง.6.7 =
EXPLORATORY ์ธ๋ฐ ยง.2 / ยง.3 / ยง.7 / ยง.0 TL;DR ์ "์ฆ๋ช
" / "ํ์ธ๋จ" / "๊ฒ์ฆ๋จ" / "์ ๋ ์ฆ๋ช
" ๋ฑ confirmatory ๋จ์ด๊ฐ ๋ฑ์ฅ. ๋ผ๋ฒจ์ ์ ์งํ๋ฐ ๋ณธ๋ฌธ์ด ์ฒญ๊ตฌ ๋ฑ๊ธ์ ๋ถํ๋ฆผ. auditor Pass 6 Severity-1.
- Silent divergence absorption โ ยง.1 ์์๊ณผ ยง.3 ์ธก์ ๊ฐ์ด ๋ช
๋ฐฑํ ๋ค๋ฅธ๋ฐ ยง.6.8 ์ ์ด ๋น์ด ์๊ฑฐ๋ "์ฐจ์ด ์์" ๋ฅ ํ ์ค๋ก ํํผ. REQUIREMENT-WRONG / RESULT-INVALID / GENUINE-FINDING ์ค ๋ถ๋ฅ ์ ํจ โ ๋ค์ cycle ์ด ์ด๋ ๊ฐ๋๋ก ํ์ํ ์ง ๊ฒฐ์ ๋ถ๊ฐ. auditor Pass 6 Severity-1.
- Confirmatory-claim-on-genuine-finding โ ยง.6.8 =
GENUINE-FINDING (์์ ๋ชป ํ ๊ฒฐ๊ณผ) ์ธ๋ฐ ยง.6.7 = CONFIRMATORY. ์ฌํ ๋ฐ๊ฒฌ์ ์ฌ์ ๊ฒ์ฆ์ผ๋ก ๋๊ฐ. auditor Pass 6 Severity-1.
- Result-invalid leak โ ยง.6.8 =
RESULT-INVALID (์ธก์ ์์ฒด ๋ฌดํจ) ๋ผ๊ณ ๋ถ๋ฅํด๋๊ณ ยง.7 ยง๋ถ๊ทน์ฑ ๊ฐฑ์ ์ ๊ทธ phase ์ ์ธก์ ๊ฐ์ ๋ฐ์. ๋ฌดํจ ์ฒญ๊ตฌ๋ฅผ ยง๋ถ๊ทน์ฑ evidence ๋ก ์ฌ์ฉํ๋ ์๊ธฐ๋ชจ์. auditor Pass 6 Severity-1.
- M-orphaned phase โ phase scope ๊ฐ ยงN+1 M chain ์ ์ด๋ M_i.j conjunct ์๋ ๋งคํ๋์ง ์์ (ยง.6.4 ๋๋ฝ). ๋งคํํ๊ฑฐ๋ scope creep ์ผ๋ก ํ๊ธฐ. auditor Pass 7 Severity-1.
- Hidden gate-bypass โ phase ๊ฐ M_{i+1} ์์
์ ํ๋๋ฐ M_i ๊ฐ ์์ง open, ๊ทธ๋ฆฌ๊ณ ยงDecision chain ์ gate-bypass trigger ๋ ์์. checkpoint chain ์ prerequisite ์ฝ์์ด ์นจ๋ฌต์ผ๋ก ๊นจ์ง๋ ๊ฒ. auditor Pass 7 Severity-1.
- Premature M close โ phase ๊ฐ M_i.j close ์ฒญ๊ตฌ๋ฅผ ํ์ง๋ง exit criterion conjunction ์ ์ผ๋ถ conjunct evidence ๊ฐ ์๊ฑฐ๋ ๋ชจํธ. ๋จ์ผ trigger ๋ก close ์์ถ. auditor Pass 7 Severity-1.
- Exit criterion silent weakening โ pipeline ยงN+1 ์ M_i.j exit conjunct ์ ์๊ฐ cycle ๋์ค ์ฝํ (์๊ณ โ / conjunct ์ ๊ฑฐ / ์ธก์ ๋ฐฉ์ ๊ต์ฒด) ๋๋๋ฐ ยงDecision chain trigger ์์. ๋ง์ผ์คํค ํ vision-loosening. auditor Pass 7 Severity-1.
- Skipped retrospective โ 1๊ธ ๊ฐ์ฒด (ยง๋ถ๊ทน์ฑ ํ / ยง์ข
์ฐฉ์ง ยงN.4 / M chain) ๊ฐ amend ๋๋๋ฐ retrospection ๊ธฐ๋ก (bootstrap retro ๋๋ correction phase ยง.5.7) ์์. ๋ค์ cycle ์ด amended ์ ์๊ฐ ์ฌ์ฉ์ ์๊ตฌ๋ฅผ ์ง์ง cover ํ๋์ง ๋ชจ๋ฅด๋ ์ํ๋ก ๊ตด๋ฌ๊ฐ๋ค. auditor Pass 7 Severity-1.
- Auto-resolved ambiguity โ Rule 9 retrospective ์์ ambiguity ๊ฐ ๋ฐ๊ฒฌ๋๋๋ฐ ์ฌ์ฉ์์๊ฒ ๊ฐ์ ธ๊ฐ์ง ์๊ณ ์คํฌ์ด ์์ฒด ํ๋จ์ผ๋ก ๊ฒฐ์ . retrospection ํ์ผ์ ์ฌ์ฉ์ verbatim ์๋ต์ด ์์ผ๋ฉด = Auto-resolved. auditor Pass 7 Severity-1.
- Frozen milestone while shipping โ M_i.j ๊ฐ โฅ3 cycle ๊ฐ์ conjunct ์์ ์ง์ฒ ์๋๋ฐ phase ๋ ๊ณ์ ship ๋จ. M_i.j ์ ์๊ฐ unreachable ์ด๊ฑฐ๋, phase ๊ฐ ๋ค๋ฅธ M ์ผ๋ก ์ฌ๊ทธ๋จธ๋ ์ด๋ํ๊ฑฐ๋ ๋ ์ค ํ๋. ์ด๋ ์ชฝ์ธ์ง ๋ตํ๋ผ.
Templates (in templates/)
status-core.md โ start here for the status doc (includes ยง2.3 milestone progress)
status-section.md โ copy per phase (includes ยง.6.4 milestone progress claim)
status-correction.md โ copy when intent drifts across cycles (between-cycle correction phase, ยง.5 slot; includes ยง.5.7 Rule 9 retrospective)
pipeline-core.md โ start here for the pipeline doc (includes ยงN+1 milestone checkpoint chain)
pipeline-stage.md โ copy per pipeline stage when depth exceeds ~200 lines
bootstrap-retro ํ์ผ ๊ตฌ์กฐ (template ๋ณ๋ ํ์ผ ์์ โ 00-bootstrap-retro.md ๋ก ์ง์ ์์ฑ):
# Bootstrap Retrospective โ <domain> (<date>)
## Coverage ๋งคํ (1๊ธ ๊ฐ์ฒด โ ยง1.4 / ยง์ข
์ฐฉ์ง ยงN.2)
| 1๊ธ ๊ฐ์ฒด ํญ๋ชฉ | ยง1.4 substring | ยง์ข
์ฐฉ์ง ยงN.2 ์ค | ์ฌ์ฉ์ verdict |
## Sufficiency ์ ๊ฒ
- ๋น ์ง ยง1.4 ์ธก๋ฉด: <์ฌ์ฉ์ verbatim ์๋ต>
- ๋น ์ง ยง์ข
์ฐฉ์ง ยงN.2 ํ๋: <์ฌ์ฉ์ verbatim ์๋ต>
## Faithfulness ์ ๊ฒ (proxy ์์ฌ ํญ๋ชฉ)
- <ํญ๋ชฉ>: ์ธก์ ๋ฐฉ์ = <...>, ์ฌ์ฉ์ verdict = <verbatim>
## ์ฌ์ฉ์ ๊ฒฐ์ (ambiguity ์ฒ๋ฆฌ)
- <์ง๋ฌธ>: ์ต์
A / B / C / ์ฌ์ฉ์ ์ ํ = <verbatim>
## Commit
- ์ ๊ฒฐ์ ์ ๋ฐ๋ผ ยง๋ถ๊ทน์ฑ / ยง์ข
์ฐฉ์ง / ยงN+1 M chain ๊ฐฑ์ ์๋ฃ. ๋ณ๊ฒฝ์ source = ๋ณธ retro ํ์ผ.
Correction-phase ์ ยง.5.7 retrospective ์ (status-correction.md ์ ๋์ผ ๊ตฌ์กฐ ํฌํจ โ 1๊ธ ๊ฐ์ฒด ๋ณ๊ฒฝ์ด ์ผ์ด๋ ๋ชจ๋ correction phase ์ ๅฟ
).
Reference example
examples/svc-migration/ โ a fictional service-migration project demonstrating the format end-to-end. All metrics, decisions, and file paths are illustrative. Copy templates/ (not examples) when starting a new domain; read examples to absorb the rhythm.