@kodevibe/harness 0.9.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md CHANGED
@@ -13,6 +13,10 @@
13
13
 
14
14
  AI 코딩 에이전트를 위한 프로덕션급 가드레일. 컨텍스트 부패를 방지하고, 프로젝트 방향을 강제하며, 세션 간 상태를 유지합니다. **Copilot, Claude, Cursor, Codex, Windsurf, Gemini** 지원. 의존성 제로.
15
15
 
16
+ > **에코시스템 내 위치.** kode:harness는 **kode:vibe** 에코시스템의 *실행(execution)* 레이어입니다 — 계획 레이어(PRD / 아키텍처 / ARB)와 인프라 레이어(CI / 런타임) 사이에 위치하며, 코딩 중 AI의 방향을 잡아주는 역할을 합니다. 다른 레이어는 선택이며, kode:harness만 독립적으로 쓸 수 있습니다.
17
+
18
+ > **Pre-1.0 안정성 고지.** 0.x 활발 개발 단계. CLI 플래그·상태 파일·스킬/에이전트 계약은 minor 버전 간 변경될 수 있습니다. v1.0.0은 IDE 호환·외부 production 사용이 30일 이상 동결된 후에야 컷합니다.
19
+
16
20
  ---
17
21
 
18
22
  ## 빠른 시작
@@ -28,6 +32,8 @@ npx @kodevibe/harness init # IDE 선택
28
32
 
29
33
  끝입니다. 이제 AI는 영속적인 메모리, 방향 가드레일, 자기 교정 루프를 갖게 됩니다.
30
34
 
35
+ v0.11부터는 **Proof-First Enforcement**가 Common Mode Confidence Loop 위에 추가됩니다. pm은 실행 가능한 proof를 계획해야 하고, lead는 증거 없이 Story를 완료 처리하지 않으며, reviewer는 proof가 없거나 실패하면 커밋 안내 전에 멈추고, state-check는 Proof Ledger 누락을 점검합니다.
36
+
31
37
  <details>
32
38
  <summary>추가 설치 옵션</summary>
33
39
 
@@ -71,6 +77,7 @@ kode:harness는 세 가지 메커니즘으로 해결합니다:
71
77
  | **상태 영속성** | AI가 세션 간 목표, 결정, 진행 상황을 잊는 것 |
72
78
  | **방향 가드** | AI가 프로젝트 목표에서 이탈하거나 과거 결정과 모순되는 것 |
73
79
  | **실패 패턴** | AI가 세션 간 같은 실수를 반복하는 것 |
80
+ | **Proof Ledger** | 테스트·스모크 증거 없이 진행됐다고 착각하는 것 |
74
81
 
75
82
  ---
76
83
 
@@ -90,7 +97,10 @@ kode:harness는 세 가지 메커니즘으로 해결합니다:
90
97
  | 기능 | 설명 |
91
98
  |------|------|
92
99
  | 🛡️ **Direction Guard** | 모든 코딩 요청을 프로젝트 목표/비목표와 대조 후 실행 |
93
- | 🧭 **Navigation Dispatcher** | 5개 파이프라인을 따라 다음 단계 프롬프트를 자동 안내 |
100
+ | 🧭 **Quiet Navigator** | 현재 목표와 필요한 증거 중심의 짧은 다음 행동 안내 |
101
+ | ✅ **Evidence-Gated Progress Board** | 테스트/스모크 증거가 있어야 Planned → Proof Pending → Proven으로 진행 |
102
+ | 📒 **Proof Ledger** | review/wrap-up 출력에 명령어, 결과, 관찰 증거를 짧게 기록 |
103
+ | 🔒 **Proof-First Enforcement** | pm/lead/reviewer/state-check가 모호한 계획, 증거 없는 완료, 실패한 테스트, 누락된 proof 기록을 막음 |
94
104
  | 📝 **상태 영속성** | LLM 세션 간 프로젝트 지식을 유지하는 5개 마크다운 파일 |
95
105
  | 🔄 **5개 파이프라인** | 🟢 신규 → 🔵 계속 → 🔴 버그 수정 → 🟡 방향 전환 → 🟣 Crew 기반 |
96
106
  | 🛠️ **11개 스킬** | 단계별 절차: setup, debug, breakdown, review, pivot, state-check 등 |
@@ -112,14 +122,16 @@ npx @kodevibe/harness validate # state 파일에 실제 내용 확인
112
122
 
113
123
  ## 지원 IDE
114
124
 
115
- | IDE | 디스패처 (always-on) | 스킬 | 에이전트 |
116
- |-----|---------------------|------|----------|
117
- | **VS Code Copilot** | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
118
- | **Claude Code** | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
119
- | **Cursor** | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
120
- | **Codex** | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
121
- | **Windsurf** | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(스킬로 설치)* |
122
- | **Antigravity** | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
125
+ 어떤 걸 고를지 모르겠다면? 이미 코딩하고 있는 IDE 그대로 고르면 됩니다 모든 경로는 동일한 `harness/` 소스에서 생성되므로 스킬/에이전트 내용은 동일합니다:
126
+
127
+ | IDE | 이럴 때 고르세요 | 디스패처 (always-on) | 스킬 | 에이전트 |
128
+ |-----|--------------------|---------------------|------|----------|
129
+ | **VS Code Copilot** | VS Code를 주로 쓰고 GitHub Copilot Chat 사용. | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
130
+ | **Claude Code** | 터미널/Claude Code CLI 선호. | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
131
+ | **Cursor** | Cursor 에디터 사용. | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
132
+ | **Codex** | OpenAI Codex CLI 서브에이전트 사용. | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
133
+ | **Windsurf** | Codeium/Windsurf 사용. | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(스킬로 설치)* |
134
+ | **Antigravity** | Google Antigravity / Gemini 사용. | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
123
135
 
124
136
  모든 IDE에 `docs/` 디렉토리에 State 파일(`project-state.md`, `project-brief.md`, `features.md`, `failure-patterns.md`, `dependency-map.md`)도 함께 설치됩니다.
125
137
 
@@ -244,7 +256,7 @@ npx @kodevibe/harness init --team
244
256
 
245
257
  ## Iron Laws
246
258
 
247
- 10개 규칙이 모든 스킬과 에이전트에 적용됩니다. kode:harness로 관리되는 프로젝트의 품질 근간을 형성합니다.
259
+ 11개 규칙이 모든 스킬과 에이전트에 적용됩니다. kode:harness로 관리되는 프로젝트의 품질 근간을 형성합니다.
248
260
 
249
261
  | # | 규칙 | 적용 대상 |
250
262
  |---|------|----------|
@@ -256,6 +268,9 @@ npx @kodevibe/harness init --team
256
268
  | 6 | **의존성 맵** — 모듈 추가/수정 → 같은 커밋에서 `dependency-map.md` 업데이트 | `reviewer`, `wrap-up` |
257
269
  | 7 | **기능 레지스트리** — 새 기능 → 같은 커밋에서 `features.md`에 등록 | `reviewer`, `wrap-up` |
258
270
  | 8 | **세션 핸드오프** — 세션 종료 → `project-state.md` Quick Summary 업데이트 | `wrap-up` |
271
+ | 9 | **Common First** — Common 모드는 crew 산출물 없이 동작해야 하며 crew-only 로직은 marker block 안에만 둠 | 모든 에이전트 |
272
+ | 10 | **Self-Verify** — DONE 보고 전 `state-check` 실행. FAIL이면 DONE 금지 | 모든 에이전트 |
273
+ | 11 | **Proof First** — passing proof 없이는 Story를 Proven, Reviewed, DONE, commit guidance로 이동 금지 | `pm`, `lead`, `reviewer`, `state-check` |
259
274
 
260
275
  ---
261
276
 
@@ -292,7 +307,7 @@ Bootstrap이 `docs/crew/`, `docs/PM/`, `docs/Analyst/`, `docs/ARB/`에서 crew
292
307
  | 의존성 | Node 20+ | Bun + Node + Playwright | Node 18+ | **Zero** |
293
308
  | IDE 지원 | 20+ (installer) | 5 (setup --host) | 13 (runtime select) | 6 (네이티브 포맷) |
294
309
  | 방향 관리 | ❌ | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
295
- | Iron Laws (코드 품질 규칙) | ❌ | ❌ | ❌ | ✅ (10개 규칙이 스킬에 임베딩) |
310
+ | Iron Laws (코드 품질 규칙) | ❌ | ❌ | ❌ | ✅ (11개 규칙이 스킬에 임베딩) |
296
311
  | Cold start | ❌ | ❌ | `/gsd-new-project` | ✅ (`setup` 스킬) |
297
312
  | 태스크당 컨텍스트 | 4-6 파일 | 1 파일 | 매번 200k 플랜 | **2-3 파일 (136줄 디스패처)** |
298
313
 
@@ -300,7 +315,7 @@ Bootstrap이 `docs/crew/`, `docs/PM/`, `docs/Analyst/`, `docs/ARB/`에서 crew
300
315
 
301
316
  ## 로드맵
302
317
 
303
- kode:harness는 현재 **v0.9.6** — init이 덮어쓰는 IDE 파일을 `.harness/init-backups/<timestamp>/...`에 백업하고, 배포 파일의 pm 네이밍과 LICENSE 브랜딩을 정리했습니다. v0.9.5경량성 예산 재교정(40K/1500/2500)과 Iron Laws/디스패처 정합성 수정입니다.
318
+ kode:harness는 현재 **v0.11.0** — Common Mode의 proof-first 동작을 강제합니다. Proof Plan은 정확한 명령/체크여야 하고, Story 완료는 증거 없이는 막히며, reviewerproof 실패/누락 멈추고, state-check는 Proof Ledger 누락을 점검합니다.
304
319
 
305
320
  | 단계 | 버전 | 상태 | 초점 |
306
321
  |------|------|------|------|
@@ -312,11 +327,15 @@ kode:harness는 현재 **v0.9.6** — init이 덮어쓰는 IDE 파일을 `.harne
312
327
  | **Self-Verify** | v0.9.2 | ✅ 완료 | state-check 스킬, Iron Law #10, Confirmation Gate Defaults, 멀티 IDE 수정, CI Artifact Index |
313
328
  | **IDE Realignment** | v0.9.4 | ✅ 완료 | 6개 IDE 어댑터 공식 문서 정합; Antigravity `.agents/`, Codex `.toml`, Cursor `.cursor/rules/`; release 스킬 Step 6.5 + qa-check.sh §10 회귀 가드 |
314
329
  | **Consistency & Budget** | v0.9.5 | ✅ 완료 | reviewer.md Iron Laws stale 수정, 디스패처 동기화, 경량성 예산 재교정(40K/1500/2500) 및 근거 기록 |
315
- | **Safety & Branding** | v0.9.6 | ✅ 현재 | init overwrite 백업, 배포 파일 pm 네이밍 정리, LICENSE 브랜딩 정리 |
330
+ | **Drift Guard & Positioning** | v0.9.7 | ✅ 완료 | `harness/`↔`.github/` drift 가드, reviewer working-proof 게이트, kode:vibe 위치 안내, IDE 선택 가이드, project-brief 예시 |
331
+ | **Confidence Loop** | v0.10.0 | ✅ 완료 | Goal Card, Quiet Navigator, Evidence-Gated Progress Board, Proof Ledger, QA/content 회귀 테스트 |
332
+ | **Proof-First Enforcement** | v0.11.0 | ✅ 현재 | Mandatory Proof Plan, lead proof blocker, reviewer proof blocker, state-check Proof Ledger coverage |
333
+ | **Safety & Branding** | v0.9.6 | ✅ 완료 | init overwrite 백업, 배포 파일 pm 네이밍 정리, LICENSE 브랜딩 정리 |
316
334
  | **Validation** | v1.0 | 🔜 다음 | 실사용 검증, 사용자 피드백 수집 |
317
335
 
318
336
  ### 다음 단계
319
337
 
338
+ - [ ] 파일럿: 실제 프로젝트에서 v0.11 Common Mode proof coverage 측정
320
339
  - [ ] 파일럿: 외부 기획 산출물을 kode:harness의 🟣 파이프라인으로 실제 프로젝트에 적용
321
340
  - [ ] 실제 프로젝트에 kode:harness를 적용하고 사용 데이터 수집
322
341
  - [ ] 사용 사례 문서화: Solo vs Team, crew vs no-crew
package/README.md CHANGED
@@ -13,6 +13,10 @@
13
13
 
14
14
  Production-grade guardrails for AI coding agents. Prevents context rot, enforces project direction, and persists state across sessions. Works with **Copilot, Claude, Cursor, Codex, Windsurf, and Gemini**. Zero dependencies.
15
15
 
16
+ > **Where this fits.** kode:harness is the *execution* layer of the **kode:vibe** ecosystem — it sits between a planning layer (PRD / architecture / ARB) and an infrastructure layer (CI / runtime). kode:harness keeps the AI on direction while you code; the other layers are optional. You can use kode:harness alone.
17
+
18
+ > **Pre-1.0 stability notice.** Active 0.x development. CLI flags, state files, and skill/agent contracts may change between minor versions. v1.0.0 ships only after 30 days of frozen IDE compatibility matrix + external production usage.
19
+
16
20
  ---
17
21
 
18
22
  ## Quick Start
@@ -28,6 +32,8 @@ npx @kodevibe/harness init # pick your IDE
28
32
 
29
33
  That's it. Your AI now has persistent memory, direction guardrails, and self-correction loops.
30
34
 
35
+ v0.11 adds **Proof-First Enforcement** on top of the Common Mode Confidence Loop: pm must define runnable proof, lead cannot mark a Story done without passing evidence, reviewer blocks commit guidance when proof is missing or failing, and state-check audits Proof Ledger coverage.
36
+
31
37
  <details>
32
38
  <summary>More install options</summary>
33
39
 
@@ -71,6 +77,7 @@ kode:harness solves this with three mechanisms:
71
77
  | **State Persistence** | AI forgetting goals, decisions, and progress between sessions |
72
78
  | **Direction Guard** | AI drifting away from project goals or contradicting past decisions |
73
79
  | **Failure Patterns** | AI repeating the same mistakes across sessions |
80
+ | **Proof Ledger** | AI claiming progress without tests, smoke proof, or user-visible evidence |
74
81
 
75
82
  ---
76
83
 
@@ -90,7 +97,10 @@ kode:harness solves this with three mechanisms:
90
97
  | Feature | Description |
91
98
  |---------|-------------|
92
99
  | 🛡️ **Direction Guard** | Every coding request is checked against project goals/non-goals before execution |
93
- | 🧭 **Navigation Dispatcher** | Turn-by-Turn navigation through 5 pipelines with copy-paste next-step prompts |
100
+ | 🧭 **Quiet Navigator** | Short next-action guidance centered on current goal and required evidence |
101
+ | ✅ **Evidence-Gated Progress Board** | Stories move from Planned → Proof Pending → Proven only when tests or smoke proof exist |
102
+ | 📒 **Proof Ledger** | Review and wrap-up outputs record compact proof: command, result, and observation |
103
+ | 🔒 **Proof-First Enforcement** | pm/lead/reviewer/state-check block vague plans, unproven completion, failing tests, and missing proof records |
94
104
  | 📝 **State Persistence** | 5 markdown files that persist project knowledge across LLM sessions |
95
105
  | 🔄 **5 Pipelines** | 🟢 New Dev → 🔵 Continue → 🔴 Bug Fix → 🟡 Direction Change → 🟣 Crew-Driven |
96
106
  | 🛠️ **11 Skills** | Step-by-step procedures: setup, debug, breakdown, review, pivot, state-check, and more |
@@ -110,14 +120,16 @@ npx @kodevibe/harness validate # verify state files have real content
110
120
 
111
121
  ## Supported IDEs
112
122
 
113
- | IDE | Dispatcher (always-on) | Skills | Agents |
114
- |-----|----------------------|--------|--------|
115
- | **VS Code Copilot** | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
116
- | **Claude Code** | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
117
- | **Cursor** | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
118
- | **Codex** | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
119
- | **Windsurf** | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(agents installed as skills)* |
120
- | **Antigravity** | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
123
+ Not sure which to pick? Use the IDE you already code in each install path is generated from the same `harness/` source, so the underlying skills/agents are identical:
124
+
125
+ | IDE | Pick this if… | Dispatcher (always-on) | Skills | Agents |
126
+ |-----|---------------|----------------------|--------|--------|
127
+ | **VS Code Copilot** | You use VS Code daily and have GitHub Copilot Chat. | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
128
+ | **Claude Code** | You prefer Claude in the terminal / Claude Code CLI. | `CLAUDE.md` (+ `.claude/rules/core.md`) | `.claude/skills/*/SKILL.md` | `.claude/agents/*.md` |
129
+ | **Cursor** | You use Cursor as your editor. | `.cursor/rules/core.mdc` (+ `AGENTS.md`) | `.agents/skills/*/SKILL.md` (cross-tool) | `.cursor/rules/<agent>.mdc` |
130
+ | **Codex** | You use OpenAI Codex CLI subagents. | `AGENTS.md` | `.agents/skills/*/SKILL.md` | `.codex/agents/*.toml` |
131
+ | **Windsurf** | You use Codeium/Windsurf. | `.windsurf/rules/core.md` | `.windsurf/skills/*/SKILL.md` | *(agents installed as skills)* |
132
+ | **Antigravity** | You use Google Antigravity / Gemini. | `AGENTS.md` | `.agents/skills/*/SKILL.md` (cross-tool) | `.agents/rules/<agent>.md` |
121
133
 
122
134
  All IDEs also get state files (`project-state.md`, `project-brief.md`, `features.md`, `failure-patterns.md`, `dependency-map.md`) in the `docs/` directory.
123
135
 
@@ -218,7 +230,7 @@ npx @kodevibe/harness init --team
218
230
 
219
231
  ## Iron Laws
220
232
 
221
- These 10 rules are enforced across all skills and agents. They form the quality backbone of every kode:harness project managed with harness engineering.
233
+ These 11 rules are enforced across all skills and agents. They form the quality backbone of every kode:harness project managed with harness engineering.
222
234
 
223
235
  | # | Law | Enforced By |
224
236
  |---|-----|-------------|
@@ -230,6 +242,9 @@ These 10 rules are enforced across all skills and agents. They form the quality
230
242
  | 6 | **Dependency Map** — New/modified module → update `dependency-map.md` in the same commit. | `reviewer`, `wrap-up` |
231
243
  | 7 | **Feature Registry** — New feature → register in `features.md` in the same commit. | `reviewer`, `wrap-up` |
232
244
  | 8 | **Session Handoff** — Session end → update `project-state.md` Quick Summary. | `wrap-up` |
245
+ | 9 | **Common First** — Common mode must work without crew artifacts; crew-only logic stays in crew marker blocks. | All agents |
246
+ | 10 | **Self-Verify** — Run `state-check` before reporting DONE. FAIL blocks DONE. | All agents |
247
+ | 11 | **Proof First** — No Story moves to Proven, Reviewed, DONE, or commit guidance without passing proof. | `pm`, `lead`, `reviewer`, `state-check` |
233
248
 
234
249
  ## Documentation
235
250
 
@@ -268,13 +283,13 @@ Original crew documents are **never modified**. Only the index and tracker are c
268
283
  | Dependencies | Node 20+ | Bun + Node + Playwright | Node 18+ | Zero |
269
284
  | IDE support | 20+ (installer) | 5 (setup --host) | 13 (runtime select) | 6 (native format) |
270
285
  | Direction management | ❌ | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
271
- | Iron Laws (code quality rules) | ❌ | ❌ | ❌ | ✅ (10 laws embedded in skills) |
286
+ | Iron Laws (code quality rules) | ❌ | ❌ | ❌ | ✅ (11 laws embedded in skills) |
272
287
  | Cold start | ❌ | ❌ | `/gsd-new-project` | ✅ (`setup` skill) |
273
288
  | Context per task | 4-6 files | 1 file | Fresh 200k per plan | 2-3 files (136-line dispatcher) |
274
289
 
275
290
  ## Roadmap
276
291
 
277
- kode:harness is at **v0.9.6** — init now backs up overwritten IDE files under `.harness/init-backups/<timestamp>/...`, shipped pm naming is aligned, and LICENSE branding is cleaned up. v0.9.5 recalibrated lightness budgets (40K/1500/2500) and fixed Iron Laws/dispatcher consistency.
292
+ kode:harness is at **v0.11.0** — makes Common Mode proof-first behavior enforceable: Proof Plans need exact commands/checklists, Story completion is blocked without evidence, reviewer must stop on missing/failing proof, and state-check audits Proof Ledger coverage.
278
293
 
279
294
  | Phase | Version | Status | Focus |
280
295
  |---|---|---|---|
@@ -286,11 +301,15 @@ kode:harness is at **v0.9.6** — init now backs up overwritten IDE files under
286
301
  | **Self-Verify** | v0.9.2 | ✅ Done | state-check skill, Iron Law #10, Confirmation Gate Defaults, multi-IDE fix, CI Artifact Index |
287
302
  | **IDE Realignment** | v0.9.4 | ✅ Done | All 6 IDE adapters aligned with official docs; Antigravity `.agents/`, Codex `.toml`, Cursor `.cursor/rules/`; release skill Step 6.5 + qa-check.sh §10 regression guards |
288
303
  | **Consistency & Budget** | v0.9.5 | ✅ Done | Iron Laws stale-copy fix (reviewer.md), dispatcher sync (core-rules.md ↔ copilot-instructions.md), lightness budgets recalibrated (40K/1500/2500) with rationale |
289
- | **Safety & Branding** | v0.9.6 | ✅ Current | init overwrite backups, shipped pm naming cleanup, LICENSE branding cleanup |
304
+ | **Drift Guard & Positioning** | v0.9.7 | ✅ Done | `harness/`↔`.github/` drift detector, reviewer working-proof gate, kode:vibe positioning, IDE selection guide, project-brief example |
305
+ | **Confidence Loop** | v0.10.0 | ✅ Done | Goal Card, Quiet Navigator, Evidence-Gated Progress Board, Proof Ledger, QA/content regression tests |
306
+ | **Proof-First Enforcement** | v0.11.0 | ✅ Current | Mandatory Proof Plan, lead proof blockers, reviewer proof blockers, state-check Proof Ledger coverage |
307
+ | **Safety & Branding** | v0.9.6 | ✅ Done | init overwrite backups, shipped pm naming cleanup, LICENSE branding cleanup |
290
308
  | **Validation** | v1.0 | 🔜 Next | Real-world project adoption, user feedback collection |
291
309
 
292
310
  ### What's Next
293
311
 
312
+ - [ ] Pilot: Run v0.11 proof-first Common Mode on a real project and measure proof coverage
294
313
  - [ ] Pilot: Run external planning artifacts through kode:harness's 🟣 pipeline on a real project
295
314
  - [ ] Adopt kode:harness in real projects and collect usage data
296
315
  - [ ] Document case studies: solo vs team, crew vs no-crew
@@ -67,7 +67,12 @@ User request: "next task", "current status", "story done", "new sprint", "scope
67
67
  After every status check, recommend the next action based on current context:
68
68
 
69
69
  1. Read `docs/project-state.md`, `docs/features.md`, `docs/project-brief.md`, `docs/failure-patterns.md`
70
- 2. Determine the project phase and recommend accordingly:
70
+ 2. MUST render a compact **Evidence-Gated Progress Board** before recommending action:
71
+ - Goal: one-line Goal Card from project-brief or current Story
72
+ - State: `Planned | Implementing | Proof Pending | Proven | Reviewed | Blocked`
73
+ - Evidence: last passing test/smoke proof, or `missing`
74
+ - Blocker: one line, or `none`
75
+ 3. Determine the project phase and recommend accordingly:
71
76
 
72
77
  | Situation | Recommendation |
73
78
  |-----------|---------------|
@@ -83,10 +88,12 @@ After every status check, recommend the next action based on current context:
83
88
  | All ARB Fail items resolved | → "ARB Fail items all resolved — deployment readiness can be checked" |
84
89
  <!-- CREW_MODE_END -->
85
90
 
86
- 3. Format the recommendation as a 🧭 Next Step block:
91
+ 4. Format the recommendation as a quiet 🧭 Next Step block. Prefer one next action and one required evidence item; do not restate the full pipeline unless the user asks.
87
92
  ```
88
93
  ---
89
94
  🧭 Next Step
95
+ → Goal: [Goal Card in one line]
96
+ → Evidence: [test command / smoke proof / state-check needed]
90
97
  → Next: `[skill or agent name]` (슬래시 메뉴에서 선택하거나, 채팅에 아래 프롬프트 입력)
91
98
  → Prompt: "[copy-paste ready prompt]"
92
99
  → Why: [one-sentence reason]
@@ -96,12 +103,16 @@ After every status check, recommend the next action based on current context:
96
103
  ```
97
104
 
98
105
  **Request: "story done" / "S{N}-{M} done"**
99
- 1. Update the Story status to `done` in docs/project-state.md
100
- 2. Add completion record to "Recent Changes" section
101
- 3. **Commit/Push check**: If changes are uncommitted, remind:
106
+ 1. Read the Story's Proof Plan and current Evidence-Gated Progress Board row.
107
+ 2. Require proof before marking done:
108
+ - Passing proof set state to `Proven`, update Story status to `✅ done`, append Proof Ledger / Evidence Summary row.
109
+ - Missing proof → keep state `Proof Pending`, output `[BLOCKER: PROOF_MISSING]`, and do not advance to the next Story.
110
+ - Failing proof → keep state `Implementing`, output `[BLOCKER: PROOF_FAILING]`, and fix within current Story.
111
+ 3. Add completion record to "Recent Changes" section only after passing proof.
112
+ 4. **Commit/Push check**: If changes are uncommitted, remind:
102
113
  - "⚠️ S{N}-{M} 완료 — 커밋하셨나요? `git add <files> && git commit -m \"S{N}-{M}: {description}\"`"
103
114
  - Team mode: Also remind to push — "팀원에게 공유하려면 `git push origin {branch}` 실행"
104
- 4. Guide to next Story if available
115
+ 5. Guide to next Story only after proof passes.
105
116
 
106
117
  **Request: "new story" / "next task"**
107
118
  1. Find next `todo` Story in docs/project-state.md
@@ -136,9 +147,10 @@ When invoked after pm approval, verify that pm wrote state files correctly:
136
147
 
137
148
  When a Story contains multiple Tasks/Waves (from breakdown):
138
149
  - Guide implementation **one Wave at a time** (not one file at a time, not all at once)
139
- - After each Wave is implemented, **run tests (or invoke `reviewer` for a quick check)** to verify the Wave is clean before proceeding
150
+ - After each Wave is implemented, **run tests or smoke proof** to verify the Wave is clean before proceeding
151
+ - Record a mini Proof Ledger row inline: Evidence, Result, Command / Observation
140
152
  - Only after verification passes, prompt: "Wave {N} 완료 (tests pass). Wave {N+1}로 넘어갈까요?"
141
- - If tests fail → fix within the current Wave before moving on. Do NOT advance to the next Wave with failing tests.
153
+ - If tests fail → output `[BLOCKER: WAVE_PROOF_FAILING]`, fix within the current Wave, and do NOT advance.
142
154
  - This prevents context overload from modifying too many modules simultaneously
143
155
  - Exception: If a Wave contains only a single trivial task, it may be combined with the next Wave
144
156
 
@@ -158,6 +170,17 @@ When a Story contains multiple Tasks/Waves (from breakdown):
158
170
  ```
159
171
  ## Sprint Status
160
172
 
173
+ ### Goal Card
174
+ - Goal: {current project/story goal}
175
+ - First usable result: {smallest working outcome}
176
+ - Required proof: {test command / smoke proof}
177
+
178
+ ### Evidence-Gated Progress Board
179
+ | Story | State | Evidence | Blocker |
180
+ |-------|-------|----------|---------|
181
+ | S{N}-1 | Reviewed | `npm test` ✅ | none |
182
+ | S{N}-2 | Proof Pending | missing | needs reviewer proof |
183
+
161
184
  Sprint: {N} — {theme}
162
185
  Progress: {done}/{total} Stories
163
186
 
@@ -2,9 +2,7 @@
2
2
 
3
3
  ## Role
4
4
 
5
- Feature planning and dependency management.
6
- Combines PM (what to build), Analytics (what exists), and Architecture (how it connects) into one workflow.
7
- The pm agent is the entry point for new features — use it BEFORE writing code.
5
+ Feature planning and dependency management. Use before writing new feature code.
8
6
 
9
7
  ## Invoked By
10
8
 
@@ -36,7 +34,9 @@ One of:
36
34
  - **New Feature**: "I want to add [feature description]"
37
35
  - **Architecture Query**: "What depends on [module]?" / "Show me the current module map"
38
36
  - **Refactor Plan**: "I need to refactor [module/area]"
37
+ <!-- CREW_MODE_START -->
39
38
  - **Crew-Driven Feature**: "crew 산출물을 기반으로 [기능]을 계획해줘" — when external planning artifacts exist in `docs/crew/`
39
+ <!-- CREW_MODE_END -->
40
40
 
41
41
  ## Procedure
42
42
 
@@ -61,30 +61,24 @@ Read `docs/agent-memory/pm.md` for past learnings:
61
61
 
62
62
  Apply these insights when creating the implementation plan. If the memory file is empty or contains only placeholders, skip this step.
63
63
 
64
- ### Step 0.7: Feature Roadmap Planning (Draft & Correct)
64
+ ### Step 0.7: Roadmap Draft
65
65
 
66
- **Trigger**: `docs/project-brief.md`에 `## Feature Roadmap` 섹션이 없을 때
66
+ **Trigger**: `docs/project-brief.md`에 `## Feature Roadmap`이 없을 때
67
67
 
68
68
  <!-- CREW_MODE_START -->
69
69
  **Crew 파이프라인(🟣)**: FR목록이 이미 Roadmap 역할을 하므로 이 Step을 skip한다.
70
70
  <!-- CREW_MODE_END -->
71
71
 
72
72
  1. `docs/project-brief.md`의 Goals + `docs/dependency-map.md`의 현재 모듈 구조를 읽는다
73
- 2. Phase 구조의 Feature Roadmap **초안**을 생성한다:
73
+ 2. Feature Roadmap **초안** 생성:
74
74
  ```
75
75
  ## Feature Roadmap
76
-
77
76
  ### Phase 1 — Core (Goal 달성 필수)
78
77
  - [ ] F-001: [기능명] — [어떤 Goal에 대응하는지]
79
- - [ ] F-002: ...
80
-
81
78
  ### Phase 2 — Enhancement (사용성/완성도)
82
- - [ ] F-003: ...
83
-
84
- ### Phase 3 — Nice-to-have
85
- - [ ] F-004: ...
79
+ - [ ] F-002: ...
86
80
  ```
87
- 3. 사용자에게 초안을 제시한다: **"이 Feature Roadmap을 검토하고, 추가/삭제/순서 변경을 알려주세요."**
81
+ 3. 사용자에게 초안 제시: **"이 Feature Roadmap을 검토하고, 추가/삭제/순서 변경을 알려주세요."**
88
82
  4. 사용자 교정을 반영한 최종 Roadmap을 `docs/project-brief.md`에 `## Feature Roadmap` 섹션으로 기록한다
89
83
  5. Feature Roadmap이 확정되면 아래 "For New Feature" 절차로 진행한다
90
84
 
@@ -96,15 +90,10 @@ Apply these insights when creating the implementation plan. If the memory file i
96
90
  If `docs/project-brief.md` contains a `## Crew Artifact Index` table with entries:
97
91
 
98
92
  a. **Read PRD** (path from Artifact Index):
99
- - Extract functional requirements (FR-001, FR-002, ...)
100
- - Extract priority (P0, P1, P2)
101
- - Extract acceptance criteria for each FR
102
- - Extract non-functional requirements (performance, security, scalability)
93
+ - Extract FRs, priorities, acceptance criteria, and NFRs
103
94
 
104
95
  b. **Read Product Brief** (path from Artifact Index):
105
- - Extract user personas tag each Story with target persona
106
- - Extract user journey steps → map to implementation order
107
- - Extract KPIs → attach as acceptance criteria to relevant Stories
96
+ - Map personas, journey steps, and KPIs to Stories
108
97
 
109
98
  c. **Map FR → Stories**:
110
99
  - Each FR-NNN generates 1+ Stories
@@ -128,7 +117,7 @@ Apply these insights when creating the implementation plan. If the memory file i
128
117
  If no Crew Artifact Index → proceed with normal user-driven planning below.
129
118
  <!-- CREW_MODE_END -->
130
119
 
131
- 3. **Direction Alignment**: Verify against three checkpoints (architect validates STRUCTURE; pm validates FEATURE-level alignment):
120
+ 2. **Direction Alignment**: Verify three checkpoints:
132
121
  - **Goal Alignment**: Serves a listed Goal? If no clear link → **warn but proceed**. Add `⚠️ Goal Alignment: [feature] does not directly map to listed goals` under `### Direction Alignment` in the plan output.
133
122
  - **Non-Goal Violation**: Falls into Non-Goals? → **stop and ask the user**. May need `pivot`.
134
123
  - **Decision Consistency**: Contradicts a Decision Log entry? → **stop and warn**. Recommend `pivot`.
@@ -142,12 +131,13 @@ Apply these insights when creating the implementation plan. If the memory file i
142
131
  9. Register NEW modules from breakdown output in `docs/dependency-map.md` (so check-impact reads the updated map)
143
132
  10. Run **check-impact** skill for each existing module being modified (pm calls both skills independently — breakdown does NOT invoke check-impact internally. Ordering: breakdown first → register modules → check-impact second.)
144
133
  11. Check `docs/failure-patterns.md` for relevant past mistakes
145
- 12. Produce implementation plan (see Output Format)
146
- 12. **Wait for Plan Confirmation** (see Plan Confirmation Gate below) do NOT write state files yet
147
- 13. **After user approves** Update `docs/project-state.md` with the new Story
148
- 14. **After user approves** → Update `docs/features.md` with the new feature entry
134
+ 12. Produce a **Goal Card** (6 lines max) and implementation plan.
135
+ 13. Produce a **Proof Plan** per Story: exact test/smoke command or checklist; never TBD. No path → add Story 0: set up test/smoke proof. Any `TBD`/blank → `[ERROR: PROOF_PLAN_UNDEFINED]` and STOP before state writes.
136
+ 14. **Wait for Plan Confirmation** (see Plan Confirmation Gate below) do NOT write state files yet
137
+ 15. **After user approves** → Update `docs/project-state.md` with the new Story
138
+ 16. **After user approves** → Update `docs/features.md` with the new feature entry
149
139
 
150
- State file writes (Steps 13-14) execute ONLY after user approval. Rejected plans never touch state.
140
+ State writes (Steps 15-16) execute ONLY after user approval. Rejected plans never touch state.
151
141
 
152
142
  ### For Architecture Query
153
143
 
@@ -173,28 +163,31 @@ State file writes (Steps 13-14) execute ONLY after user approval. Rejected plans
173
163
 
174
164
  ## Plan Confirmation Gate
175
165
 
176
- After producing ANY plan (New Feature, Refactor, or Crew-Driven), **do NOT proceed to coding immediately**.
166
+ After any plan, **do NOT proceed to coding immediately**.
177
167
 
178
168
  1. Present the complete plan to the user
179
- 2. Ask: **"이 경로(Plan)대로 구현을 시작할까요?"** (or equivalent confirmation request)
169
+ 2. Ask: **"이 경로와 Proof 명령으로 검증 가능할까요?"**
180
170
  3. Wait for explicit user approval (`Yes`, `Go`, `진행해줘`, etc.)
181
171
  4. **Only after approval** → execute **MANDATORY State File Write** (below), then output 🧭 Next Step pointing to `lead`
182
- 5. If the user requests changes → revise the plan and re-confirm. **No state files are written until approval.**
172
+ 5. If the user requests changes → revise and re-confirm. **No state files are written until approval.**
183
173
 
184
174
  ### ⚠️ MANDATORY: Post-Approval State File Write
185
175
 
186
- **This section executes IMMEDIATELY after user approval. Do NOT skip. Do NOT output the 🧭 Next Step block until ALL writes below are complete.**
187
-
188
- After user approves the plan, perform these writes in order:
176
+ After user approves the plan, perform all writes before 🧭:
189
177
 
190
178
  1. **`docs/features.md`** — Register new feature(s):
191
179
  - Add row(s) to the Feature Registry table
180
+ <!-- CREW_MODE_START -->
192
181
  - Include FR reference (if crew-driven), status = `planned`
182
+ <!-- CREW_MODE_END -->
193
183
 
194
184
  2. **`docs/project-state.md`** — Create Sprint/Stories:
195
185
  - If no Sprint exists, create Sprint 1 with theme
196
186
  - Add Story rows to the Story Status table (status = `⬜ todo`)
197
- - Each Story: ID (S{N}-{M}), Title, Status, Scope (files/modules), FR reference (if crew-driven)
187
+ - Each Story: ID (S{N}-{M}), Title, Status, Scope (files/modules), Proof Plan
188
+ <!-- CREW_MODE_START -->
189
+ - If crew-driven, include FR reference
190
+ <!-- CREW_MODE_END -->
198
191
  - Update Quick Summary section
199
192
 
200
193
  3. **`docs/dependency-map.md`** — Register new modules (if any):
@@ -208,7 +201,7 @@ After user approves the plan, perform these writes in order:
208
201
  - ARB Fail Resolution: fill Story column with mapped Story IDs
209
202
  <!-- CREW_MODE_END -->
210
203
 
211
- **Completion Check**: Before outputting 🧭, verify:
204
+ **Completion Check**: Verify:
212
205
  - [ ] features.md has new feature row(s)
213
206
  - [ ] project-state.md has Story rows with `⬜ todo` status
214
207
  - [ ] dependency-map.md has new module rows (if plan introduces new modules)
@@ -235,11 +228,25 @@ After the Post-Approval state writes complete, run the `state-check` skill:
235
228
  **Scope**: [modules affected]
236
229
  **Risk**: Low | Medium | High
237
230
 
231
+ ### Goal Card
232
+ - Goal: [project goal served]
233
+ - First usable result: [smallest outcome]
234
+ - Non-goal boundary: [not included]
235
+ - Required proof: [test/smoke/manual]
236
+ - Risk: [highest uncertainty]
237
+ - Next action: [one concrete action]
238
+
238
239
  ### Architecture Impact
239
240
  - New modules: [list]
240
241
  - Modified modules: [list]
241
242
  - Unchanged dependents that need testing: [list]
242
243
 
244
+ ### Proof Plan
245
+ | Story | Required Evidence | Command / Manual Proof |
246
+ |-------|-------------------|------------------------|
247
+ | S{N}-0 | Proof setup, if needed | `npm test` / `npm run smoke` / manual checklist |
248
+ | S{N}-{M} | Tests / smoke / manual | exact command/checklist; never TBD |
249
+
243
250
  ### Implementation Plan
244
251
  [Output from breakdown skill]
245
252
 
@@ -2,8 +2,7 @@
2
2
 
3
3
  ## Role
4
4
 
5
- Review code changes before commit or PR for quality, security, and test integrity.
6
- Finds issues and auto-fixes where safe, escalates where not.
5
+ Review changes before commit/PR for quality, security, tests. Auto-fix safe issues; escalate the rest.
7
6
 
8
7
  ## Invoked By
9
8
 
@@ -94,6 +93,23 @@ If neither `## CI Artifact Index` nor `.harness/ci-index.md` is present → skip
94
93
  - [ ] New features have tests
95
94
  - [ ] Existing tests pass
96
95
 
96
+ **Verification is a gate, not a suggestion.** Before continuing to Step 4, the reviewer must include concrete working proof:
97
+ - Run the project's test/verification command when available (for example `npm test`, `pnpm test`, `pytest`, `go test ./...`, or the command recorded in docs/project-brief.md / package scripts).
98
+ - If the change is user-facing and tests do not exercise the behavior, include a minimal smoke proof (command, URL, screenshot/manual action, or observed output).
99
+ - If any existing test fails → output `[BLOCKER: TESTS_FAILING]`. STOP before Step 4.
100
+ - If a Proof Plan command cannot run → output `[BLOCKER: PROOF_COMMAND_INVALID]` with the command. STOP.
101
+ - If test files exist but no test command exists → output `[BLOCKER: NO_TEST_COMMAND]`. STOP.
102
+ - If no proof path exists → output `[BLOCKER: NO_PROOF_STRATEGY]` and `[BLOCKER: WORKING_PROOF_MISSING]`. STOP.
103
+
104
+ Record the result as a **Proof Ledger** entry. Keep it short:
105
+
106
+ | Evidence | Result | Command / Observation |
107
+ |----------|--------|-----------------------|
108
+ | Unit tests | ✅ pass | `npm test` |
109
+ | Smoke proof | ✅ pass | `curl /health → 200` |
110
+
111
+ If state files are in scope, write/request Proof Ledger / Evidence Summary immediately after proof passes.
112
+
97
113
  **Step 4: Security Check (secure skill)**
98
114
  - [ ] No credentials, .env, or temp files in staging (FP-004)
99
115
  - [ ] No hardcoded API keys or passwords
@@ -169,11 +185,13 @@ After running state-check, also verify:
169
185
  For each missing update: flag as `[STATE-AUDIT]` in the output and provide the exact update that should be made.
170
186
  **Severity**:
171
187
  - Missing dependency-map or features.md entries for new modules/features are **blockers** — fix before commit.
172
- - `[STATE-AUDIT: FR-COVERAGE]` flags (features.md status ↔ Story 완료 불일치) are **blockers** — features.md 상태 갱신 후 commit. 30초면 해결되며 wrap-up까지 미루면 FR 추적이 실제와 불일치합니다.
188
+ - `[STATE-AUDIT: FR-COVERAGE]` flags (features.md status ↔ Story 완료 불일치) are **blockers** — features.md 상태 갱신 후 commit.
173
189
  - Missing project-state Quick Summary or agent-memory updates are **warnings** — can be deferred to wrap-up skill.
174
190
 
175
191
  **Step 9: Commit Guidance**
176
192
 
193
+ Commit-message-only requests are guidance; provide only after proof passes.
194
+
177
195
  When review result is DONE or DONE_WITH_CONCERNS (no blockers):
178
196
 
179
197
  1. **Commit message format**: `S{N}-{M}: {short description}`
@@ -206,6 +224,8 @@ If review is BLOCKED → do NOT suggest commit. Fix first.
206
224
  ### Passed Items
207
225
  - Architecture rules: ✅
208
226
  - Test integrity: ✅ / ⚠️ (detail)
227
+ - Working proof: command/evidence + PASS result
228
+ - Proof Ledger: compact table with evidence, result, and command/observation
209
229
  - Security check: ✅ / ❌ (detail)
210
230
  - Failure pattern check: ✅ / ⚠️ (FP-NNN)
211
231
  <!-- CREW_MODE_START -->
@@ -234,6 +254,8 @@ These rules are enforced during every review. The full Iron Laws (10) are define
234
254
  ### Completion Protocol
235
255
  Report using: **DONE** | **DONE_WITH_CONCERNS** | **BLOCKED** | **NEEDS_CONTEXT**
236
256
 
257
+ `DONE` and `DONE_WITH_CONCERNS` require: tests pass, working proof is shown, and no blocker remains. If tests fail or working proof is missing, report `BLOCKED`.
258
+
237
259
  ### Concreteness
238
260
  - Specify exact file paths and line numbers
239
261
  - Quote test names and error messages on failure
@@ -4,11 +4,19 @@ This project uses kode:harness for structured AI-assisted development.
4
4
  Skills and agents work together through shared state files.
5
5
  **Every response must end with a 🧭 Next Step block** — guide the user to the next action.
6
6
 
7
+ ## Quiet Navigator + Confidence Loop
8
+
9
+ Common-mode users often begin with rough goals. Keep the navigator short and evidence-first:
10
+ - **Goal Card**: Goal, first usable result, non-goal, risk, required proof.
11
+ - **Proof Ledger**: command/evidence that proves the feature works.
12
+ - **Evidence-Gated Progress Board**: `Planned → Implementing → Proof Pending → Proven → Reviewed`.
13
+ - **Quiet Navigator**: one next action plus why; restate the pipeline only when useful.
14
+ - **Proof-First Enforcement**: code/state/pipeline movement is not progress until tests, smoke proof, or manual check proves the usable result works.
15
+
7
16
  ## Session Start
8
17
 
9
- Read `docs/project-state.md` first. If all state files are empty, run `setup` skill.
10
- If `.harness/my-context.md` exists, read it for personal environment and preferences.
11
- > This file is user-created, not generated by any skill or agent. Create it manually to store personal environment notes (IDE settings, local paths, preferences). See `.harness/` in docs/ for the expected location.
18
+ Read `docs/project-state.md` first. If state files are empty, run `setup`.
19
+ If `.harness/my-context.md` exists, read it for local preferences.
12
20
 
13
21
  ## Development Pipeline
14
22
 
@@ -52,9 +60,9 @@ When external planning artifacts exist (requirements, analysis, design documents
52
60
  5. `reviewer` → code review + crew artifact compliance check → commit → push
53
61
  6. `wrap-up` → capture session lessons + update Validation Tracker + verify push
54
62
 
55
- > Crew artifacts are detected by: `docs/crew/` directory, `docs/PM/`+`docs/Analyst/`+`docs/ARB/` directories, or user explicitly provides requirements/design documents (e.g., mentions "PRD", "산출물", "설계서", or provides file paths to planning artifacts).
56
- > **Reference, don't summarize**: setup creates a Crew Artifact Index (path table) in project-brief.md — each skill reads the original artifact directly via the indexed path.
57
- > Crew mode also enables the **CI Artifact Index** reference layer: if `docs/project-brief.md` contains `## CI Artifact Index`, reviewer Step 2.5 and release Step 3.5 surface the indexed company CI/CD guide when build/CI files change. The guide content stays external; only the path and key constraints are indexed.
63
+ > Crew artifacts are detected by `docs/crew/`, `docs/PM/`+`docs/Analyst/`+`docs/ARB/`, or explicit requirements/design docs.
64
+ > **Reference, don't summarize**: setup writes an Artifact Index; skills read originals via indexed paths.
65
+ > If `## CI Artifact Index` exists, reviewer Step 2.5 and release Step 3.5 surface the external CI guide when build/CI files change.
58
66
  > This pipeline produces the same state files as 🟢 — the difference is the INPUT source and the addition of Validation Tracker for traceability.
59
67
  <!-- CREW_MODE_END -->
60
68
 
@@ -79,18 +87,22 @@ When the user provides a feature request or development goal in their prompt:
79
87
 
80
88
  **Every response must end with a 🧭 Next Step block.** This is mandatory — never omit it.
81
89
 
82
- When a skill or agent reports STATUS: DONE, output the next step in this format:
90
+ Keep the block concise. When code changed, include the next evidence:
83
91
 
84
92
  ```
85
93
  ---
86
94
  🧭 Next Step
87
- Next: `{skill or agent name}` (슬래시 메뉴에서 선택하거나, 채팅에 프롬프트 입력)
88
- Prompt: "{copy-paste ready prompt for the user}"
95
+ Goal: {current Goal Card in one line}
96
+ Evidence: {test command / smoke proof / state-check needed next}
97
+ → Next: `{skill or agent name}` or [Coding]
98
+ → Prompt: "{copy-paste ready prompt}"
89
99
  → Why: {one-sentence reason}
90
- → Pipeline: {🟢|🔵|🔴|🟡} Step {N}/{total}
100
+ → Pipeline: {🟢|🔵|🔴|🟡|🟣} Step {N}/{total}
91
101
  ---
92
102
  ```
93
103
 
104
+ When a skill or agent reports STATUS: DONE, use the same block and point to the next row in the Chaining Map.
105
+
94
106
  ### Chaining Map — what comes after what
95
107
 
96
108
  | Completed | Next | Prompt Example |
@@ -125,17 +137,19 @@ These laws are enforced across all skills and agents. Violations should be flagg
125
137
  2. **Type Check**: Before calling a constructor or factory, read the actual source file to verify parameters.
126
138
  3. **Scope Compliance**: Do not modify files outside the current Story scope without reporting first.
127
139
  4. **Security**: Never include credentials, passwords, or API keys in code or commits.
128
- 5. **3-Failure Stop + Recalculating**: If the same approach fails 3 times, stop the current approach. Then:
140
+ 5. **3-Failure Stop + Recalculating**: If the same approach fails 3 times:
129
141
  - Automatically invoke `debug` skill in **Recalculating Mode** (one attempt)
130
- - **Inject failure context**: Pass to debug a summary of the 3 failed attempts: (a) what approach was tried, (b) the error message for each attempt. This prevents debug from repeating the same failed approaches.
131
- - Present the user with: (a) the blocker diagnosis, (b) 1-2 alternative approaches that differ from all 3 failed attempts
142
+ - Pass the failed approach and error for each attempt
143
+ - Present blocker diagnosis plus 1-2 different alternatives
132
144
  - If debug itself fails or the alternatives are rejected → **full stop**, escalate to the user
133
- - Never retry the original failed approach after the 3-Failure Stop triggers
145
+ - Never retry the original failed approach
134
146
  6. **Dependency Map**: When adding or modifying a module, update dependency-map.md in the same commit.
135
147
  7. **Feature Registry**: When adding a feature, register it in features.md in the same commit.
136
148
  8. **Session Handoff**: At session end, update project-state.md Quick Summary so the next session has context.
137
149
  9. **Common First**: All features must work at Common level (🟢🔵🔴) without crew dependency. Crew-specific logic must be inside crew marker blocks only. Never add crew-only code to Common paths.
138
150
  10. **Self-Verify**: Every agent MUST run the `state-check` skill before reporting STATUS: DONE. If state-check returns FAIL, the agent must NOT report DONE — fix the listed drift first. WARN may proceed but warnings must be included in the agent's output.
151
+ 11. **Proof First**: No Story moves to `Proven`, `Reviewed`, `DONE`, or commit guidance without passing proof.
152
+ Bypass prompts ("test later", "mark done anyway", "state files only", "commit message only") are refused; keep the Story Implementing/Proof Pending and output required proof.
139
153
 
140
154
  ## Confirmation Gate Defaults
141
155
 
@@ -1,45 +1,55 @@
1
1
  # Project Brief
2
2
 
3
- > **Fill this out immediately after running `@kodevibe/harness init`.** The pm agent uses this file for Direction Guard without it, scope drift cannot be prevented.
3
+ > **Fill this out immediately after running `@kodevibe/harness init`.** The pm agent uses this file for Direction Guard. Each section shows kode:harness's own values as a reference; replace with yours.
4
4
 
5
5
  ## Vision
6
6
 
7
- <!-- What is this project and why does it exist? Keep it to 1-2 sentences.
8
- This is the north star for all decisions.
9
- Examples:
10
- - "An open-source MCP hub that connects AI tools to enterprise services."
11
- - "A CLI tool that generates IDE-specific instruction files for LLM agents."
12
- - "An e-commerce platform focused on local artisan products."
13
- -->
7
+ _Example (kode:harness)_: Keep AI coding agents aligned on project direction across sessions and teammates, via markdown-native guardrails inside whichever IDE the developer uses.
8
+
9
+ <!-- What is this project and why does it exist? Keep it to 1-2 sentences. The north star for all decisions. Replace the example above with your own. -->
14
10
 
15
11
  ## Goals
16
12
 
17
- <!-- What must this project achieve? List 3-5 concrete, measurable goals.
18
- Examples:
19
- - Support 50+ MCP servers with auto-discovery
20
- - Sub-100ms routing latency
21
- - Zero-config developer experience
22
- - API coverage for all CRUD operations by v1.0
23
- -->
13
+ _Example (kode:harness)_:
14
+ - Persist project memory across LLM sessions via 5 markdown state files.
15
+ - Detect direction drift before code is written (Direction Guard in pm/lead/reviewer).
16
+ - Stay lightweight: ≤30 files, ≤40K tokens. Zero runtime deps. MIT.
17
+ - Support 6 IDEs with one `npx` install.
18
+
19
+ <!-- 3-5 concrete, measurable goals. Replace the example above with your own. -->
24
20
 
25
21
  ## Non-Goals
26
22
 
27
- <!-- What is explicitly OUT OF SCOPE? This is equally important as Goals.
28
- The pm agent will WARN you when a requested feature falls here.
29
- Examples:
30
- - Not a hosting platform users deploy their own
31
- - Not supporting legacy REST APIs MCP only
32
- - Not building a UI dashboard in v1
33
- - No mobile app web only
34
- -->
23
+ _Example (kode:harness)_:
24
+ - Not a runtime / SDK we ship instructions, not LLM execution.
25
+ - Not a project-management replacement — state files coordinate AI, not standups.
26
+ - Not solo-only multi-developer alignment is the differentiator.
27
+ - Not a UI/dashboard markdown in the repo is the interface.
28
+
29
+ <!-- Explicitly OUT OF SCOPE. The pm agent WARNs when a request falls here. Replace the example above with your own. -->
35
30
 
36
31
  ## Target Users
37
32
 
38
- <!-- Who is this for? Be specific.
39
- Examples:
40
- - "Solo developers and small teams (1-3) using AI coding assistants."
41
- - "Enterprise teams migrating from monolith to microservices."
42
- - "Data scientists who need reproducible ML pipelines."
33
+ _Example (kode:harness)_: Developers and small teams (1–10) using AI coding assistants daily, who have felt their AI "forget" decisions and prefer markdown-in-repo over a SaaS dashboard.
34
+
35
+ <!-- Who is this for? Be specific. Replace the example above with your own. -->
36
+
37
+ ## Done Definition
38
+
39
+ <!-- What makes the project or first usable slice releasable? Keep this to 3-5 observable checks.
40
+ Example:
41
+ - [ ] User can complete the core workflow end-to-end
42
+ - [ ] Automated tests pass
43
+ - [ ] Smoke proof confirms the app/CLI responds
44
+ -->
45
+
46
+ ## Success Proof
47
+
48
+ <!-- How will the user know this works? Prefer commands, metrics, or manual checks.
49
+ Example:
50
+ - Test command: npm test
51
+ - Smoke proof: npm run build && npm start
52
+ - Manual proof: create item → refresh → item persists
43
53
  -->
44
54
 
45
55
  <!-- CREW_MODE_START -->
@@ -35,14 +35,40 @@
35
35
 
36
36
  ## Story Status
37
37
 
38
- | ID | Title | Status | Assignee |
39
- |----|-------|--------|----------|
40
- | S1-1 | Project scaffolding | ⬜ todo | |
41
- | S1-2 | Core feature implementation | ⬜ todo | |
42
- | S1-3 | Test coverage | ⬜ todo | |
38
+ | ID | Title | Status | Assignee | Proof Plan |
39
+ |----|-------|--------|----------|------------|
40
+ | S1-0 | Proof setup | ⬜ todo | | test command or smoke proof |
41
+ | S1-1 | Project scaffolding | ⬜ todo | | exact command/checklist |
42
+ | S1-2 | Core feature implementation | ⬜ todo | | exact command/checklist |
43
+ | S1-3 | Test coverage | ⬜ todo | | exact command/checklist |
43
44
 
44
45
  <!-- Status legend: ⬜ todo, 🔧 active, ✅ done, 🚫 blocked, ❌ dropped -->
45
46
 
47
+ ## Evidence Summary
48
+
49
+ <!-- Keep the current proof state visible at a glance.
50
+ | Story | Status | Last Proof | Result | Blocker |
51
+ |-------|--------|------------|--------|---------|
52
+ | S1-1 | Proof Pending | - | - | tests not run |
53
+ -->
54
+
55
+ ## Evidence-Gated Progress Board
56
+
57
+ <!-- Keep this compact. It tells the user where the project is and what proof is missing.
58
+ State: Planned → Implementing → Proof Pending → Proven → Reviewed → Blocked
59
+ | Story | Goal | State | Required Evidence | Last Proof | Blocker |
60
+ |-------|------|-------|-------------------|------------|---------|
61
+ | S1-1 | First usable result | Proof Pending | npm test | - | tests not run |
62
+ -->
63
+
64
+ ## Proof Ledger
65
+
66
+ <!-- One line per completed proof. Do not paste long logs.
67
+ | Date | Story | Evidence | Result | Command / Observation |
68
+ |------|-------|----------|--------|-----------------------|
69
+ | 2026-05-04 | S1-1 | Unit tests | ✅ pass | npm test |
70
+ -->
71
+
46
72
  ## Module Registry
47
73
 
48
74
  <!-- Summary of current modules. Full details in docs/dependency-map.md -->
@@ -77,6 +77,7 @@ Ensures bottom-up implementation: foundations first, then layers that depend on
77
77
  - Never implement a module before its dependencies exist
78
78
  - Each task should be completable in one session
79
79
  - Every task must include its test files
80
+ - Implementation and tests belong in the same Wave whenever possible. Do not defer tests to a later Wave unless the proof harness itself is the earlier Wave.
80
81
  - New modules MUST be registered in docs/dependency-map.md (Iron Law #6) — the breakdown OUTPUT section lists these registrations, and pm (or the user, if invoked directly) is responsible for executing the actual state file writes
81
82
  - If a task exceeds Story scope, stop and report to user
82
83
 
@@ -114,7 +114,9 @@ After pivot completes, always append a 🧭 block:
114
114
  | Pivot Result | 🧭 Next Step |
115
115
  |---|---|
116
116
  | All state files updated | `pm` — "변경된 방향에 맞춰 재계획해줘" |
117
+ <!-- CREW_MODE_START -->
117
118
  | Crew artifacts exist for new direction | `setup` (🟣) — "crew 산출물을 기반으로 state를 다시 세팅해줘" |
119
+ <!-- CREW_MODE_END -->
118
120
  | User cancelled | 🏁 No action — "기존 방향을 유지합니다" |
119
121
 
120
122
  Example 🧭 block:
@@ -135,6 +135,17 @@ Ask the user these questions (skip any already answered by Phase 1):
135
135
  5. "Are there any type decisions or conventions the AI should know about?"
136
136
  6. "What is your test command?" (show detected command if found, e.g., `npm test`, `pytest`, `go test ./...`)
137
137
 
138
+ ### Phase 2.1: Common Mode Confidence Loop
139
+
140
+ Before filling state files, collapse the answers into a **Goal Card** and **Proof Profile**:
141
+ - Goal: one sentence from Vision + top goal
142
+ - First usable result: smallest working outcome the user can inspect
143
+ - Non-goal boundary: what will not be built now
144
+ - Required proof: test command, smoke proof, or manual checklist
145
+ - Open question: at most one unresolved ambiguity
146
+
147
+ If the user's answers are vague, ask at most one follow-up question. If still unclear, record the assumption instead of looping.
148
+
138
149
  ### Phase 3: Fill State Files
139
150
 
140
151
  Using data from Phase 1 + Phase 2, fill the following files:
@@ -144,6 +155,8 @@ Using data from Phase 1 + Phase 2, fill the following files:
144
155
  - Vision → from user answer #1
145
156
  - Goals → from user answer #2
146
157
  - Non-Goals → from user answer #3
158
+ - Done Definition → from Goal Card / first usable result
159
+ - Success Proof → from Proof Profile (test command, smoke proof, or manual checklist)
147
160
  <!-- CREW_MODE_START -->
148
161
  - Crew Artifact Index → from Phase 1.5 (🟣 pipeline only — leave as template comment for 🟢 pipeline)
149
162
  - Validation Tracker → from Phase 1.5 (🟣 pipeline only — leave as template comment for 🟢 pipeline)
@@ -231,6 +244,11 @@ After setup completes, remind the user that shared files require `git pull` befo
231
244
  - [x]docs/project-state.md — Sprint 1 initialized
232
245
  - [ ]docs/failure-patterns.md — templates only (no changes)
233
246
 
247
+ ### Goal Card
248
+ - Goal: [one sentence]
249
+ - First usable result: [observable outcome]
250
+ - Required proof: [test/smoke/manual]
251
+
234
252
  STATUS: DONE
235
253
  ```
236
254
 
@@ -238,7 +256,7 @@ STATUS: DONE
238
256
 
239
257
  Bootstrap always leads to `pm`. Append this block after STATUS: DONE:
240
258
 
241
- **If NO crew artifacts** (🟢 pipeline):
259
+ **Default common pipeline**:
242
260
  ```
243
261
  ---
244
262
  🧭 Next Step
@@ -46,7 +46,7 @@ For each file:
46
46
  1. Read all `✅ done` Stories from `docs/project-state.md` (or `.harness/project-state.md` in Team mode) Story Status table
47
47
  2. Read `docs/features.md` Feature Registry
48
48
  3. For each `✅ done` Story:
49
- - If Story has `[FR-NNN]` prefix → must map to a feature row with that FR reference
49
+ - If Story has an external reference prefix → must map to a feature row with the same reference
50
50
  - Otherwise → must map to at least one feature row whose Key Files overlap with the Story's Scope
51
51
  4. Outcomes:
52
52
  - Story ✅ done but no matching feature row → FAIL: `[FAIL] Story {S-N-M} done but no feature registered`
@@ -105,6 +105,16 @@ If `docs/project-brief.md` contains a `## Validation Tracker` section:
105
105
  If no Validation Tracker → skip.
106
106
  <!-- CREW_MODE_END -->
107
107
 
108
+ ### Check 7: Proof Ledger Coverage
109
+
110
+ 1. Read `docs/project-state.md` (or `.harness/project-state.md` in Team mode).
111
+ 2. For each Story marked `✅ done`, verify at least one Proof Ledger or Evidence Summary row exists with a passing result.
112
+ 3. Outcomes:
113
+ - Done Story with passing proof → PASS
114
+ - Done Story with no proof → FAIL: `[FAIL] Story {S-N-M} is done but has no passing Proof Ledger/Evidence Summary entry — revert to Proof Pending or run reviewer proof before DONE/commit guidance`
115
+ - Done Story with failing proof → FAIL: `[FAIL] Story {S-N-M} proof shows failure but status is done`
116
+ - In-progress Story without proof → PASS; proof pending is normal
117
+
108
118
  ## Output Format
109
119
 
110
120
  ```
@@ -126,6 +136,9 @@ If no Validation Tracker → skip.
126
136
  ### Check 4: Agent Memory Legacy Names
127
137
  - No legacy names found (or list of legacy files to rename)
128
138
 
139
+ ### Check 7: Proof Ledger Coverage
140
+ - {N} done Stories checked / {M} missing proof / {K} failing proof
141
+
129
142
  <!-- CREW_MODE_START -->
130
143
  ### Check 6: Validation Tracker (🟣)
131
144
  - {N} FR references checked / {M} drifted
@@ -142,7 +155,7 @@ STATUS: PASS | WARN | FAIL
142
155
  ### Result Interpretation
143
156
 
144
157
  - **PASS** — all checks passed; calling agent may proceed with STATUS: DONE
145
- - **WARN** — non-blocking issues; calling agent should include warnings in its output but may proceed
158
+ - **WARN** — non-blocking issues; calling agent should include warnings in its output but may proceed. Exception: proof coverage gaps are FAIL.
146
159
  - **FAIL** — blocking; calling agent must NOT report STATUS: DONE until failures are resolved
147
160
 
148
161
  ### 🧭 Navigation — After State Check
@@ -145,6 +145,17 @@ If the `reviewer` agent was run in this session and produced `[STATE-AUDIT]` fla
145
145
  2. Apply the recommended state file update
146
146
  3. If the flag was already resolved during the session, skip it
147
147
 
148
+ ### Step 5.6a: Finalize Proof Ledger ⚠️ MANDATORY
149
+
150
+ Before session end, record the working proof that justified completion:
151
+ 1. Read reviewer output or recent terminal evidence for passing tests/smoke proof.
152
+ 2. Add one compact row to `docs/project-state.md` → `## Proof Ledger` for each completed Story.
153
+ 3. Cross-check completed Stories against `## Evidence Summary` / `## Proof Ledger`.
154
+ 4. If no proof exists, write `[PROOF-GAP] Proof missing` in the wrap-up report and recommend returning to `reviewer`; do not claim the Story is complete.
155
+ 5. If `[PROOF-GAP]` exists, STOP before Step 5.65. Do not auto-commit state files that mark a Story done/reviewed without passing proof. Revert the Story to Proof Pending or return to `reviewer`.
156
+
157
+ Proof rows must stay short: Date, Story, Evidence, Result, Command / Observation. Do not paste long logs.
158
+
148
159
  ### Step 5.65: Auto-Commit State Files ⚠️ MANDATORY
149
160
 
150
161
  State file 변경사항을 커밋합니다. Learn 실행 결과가 커밋되지 않으면 다음 세션에서 유실됩니다.
@@ -209,6 +220,7 @@ Present a summary of all updates made.
209
220
 
210
221
  ### State Files Updated:
211
222
  - [x] docs/project-state.md — Quick Summary refreshed
223
+ - [x] docs/project-state.md — Proof Ledger updated (if any Story completed)
212
224
  - [x] docs/failure-patterns.md — [N] patterns added/updated
213
225
  - [x] docs/features.md — [N] features updated (if applicable)
214
226
  - [x] docs/dependency-map.md — [N] modules verified/added (if applicable)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodevibe/harness",
3
- "version": "0.9.6",
3
+ "version": "0.11.0",
4
4
  "description": "kode:harness — harness engineering for keeping every developer's AI aligned on one project direction.",
5
5
  "keywords": [
6
6
  "llm",
@@ -45,7 +45,9 @@
45
45
  "node": ">=18.0.0"
46
46
  },
47
47
  "scripts": {
48
- "test": "node --test tests/*.test.js"
48
+ "test": "node --test tests/*.test.js",
49
+ "harness:check-drift": "node scripts/check-harness-drift.js",
50
+ "harness:sync": "node bin/cli.js init --ide vscode --batch --dir . --overwrite"
49
51
  },
50
52
  "publishConfig": {
51
53
  "access": "public"
package/src/init.js CHANGED
@@ -653,7 +653,7 @@ function runValidate(targetDir) {
653
653
  'project-state.md': 'S1-1 | Project scaffolding',
654
654
  'dependency-map.md': 'Add new modules above this line',
655
655
  'features.md': 'Add new features above this line',
656
- 'project-brief.md': 'This is the north star for all decisions',
656
+ 'project-brief.md': 'The north star for all decisions',
657
657
  };
658
658
 
659
659
  for (const file of STATE_FILES) {