@kodevibe/harness 0.9.6 → 0.11.1

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.
@@ -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
 
@@ -69,6 +77,7 @@ When the user provides a feature request or development goal in their prompt:
69
77
  - Bug report or error → Start 🔴 Pipeline from `debug`
70
78
  - Structural/design change → Run `architect` first, then `pm`
71
79
  - Direction change → Start 🟡 Pipeline from `pivot`
80
+ - Docs/wiki request → Run `docs-bridge`
72
81
  <!-- CREW_MODE_START -->
73
82
  - Crew artifacts detected (`docs/crew/` exists, `docs/PM/`+`docs/Analyst/`+`docs/ARB/` exist, or user provided design docs) → Start 🟣 Pipeline from `setup`
74
83
  <!-- CREW_MODE_END -->
@@ -79,18 +88,22 @@ When the user provides a feature request or development goal in their prompt:
79
88
 
80
89
  **Every response must end with a 🧭 Next Step block.** This is mandatory — never omit it.
81
90
 
82
- When a skill or agent reports STATUS: DONE, output the next step in this format:
91
+ Keep the block concise. When code changed, include the next evidence:
83
92
 
84
93
  ```
85
94
  ---
86
95
  🧭 Next Step
87
- Next: `{skill or agent name}` (슬래시 메뉴에서 선택하거나, 채팅에 프롬프트 입력)
88
- Prompt: "{copy-paste ready prompt for the user}"
96
+ Goal: {current Goal Card in one line}
97
+ Evidence: {test command / smoke proof / state-check needed next}
98
+ → Next: `{skill or agent name}` or [Coding]
99
+ → Prompt: "{copy-paste ready prompt}"
89
100
  → Why: {one-sentence reason}
90
- → Pipeline: {🟢|🔵|🔴|🟡} Step {N}/{total}
101
+ → Pipeline: {🟢|🔵|🔴|🟡|🟣} Step {N}/{total}
91
102
  ---
92
103
  ```
93
104
 
105
+ When a skill or agent reports STATUS: DONE, use the same block and point to the next row in the Chaining Map.
106
+
94
107
  ### Chaining Map — what comes after what
95
108
 
96
109
  | Completed | Next | Prompt Example |
@@ -116,6 +129,7 @@ When a skill or agent reports STATUS: DONE, output the next step in this format:
116
129
  - docs/dependency-map.md — module dependency graph
117
130
  - docs/features.md — feature registry
118
131
  - docs/project-brief.md — project vision, goals, and non-goals
132
+ - Optional: `## Project Docs Hub Index` maps docs to hubs
119
133
 
120
134
  ## Iron Laws
121
135
 
@@ -125,17 +139,19 @@ These laws are enforced across all skills and agents. Violations should be flagg
125
139
  2. **Type Check**: Before calling a constructor or factory, read the actual source file to verify parameters.
126
140
  3. **Scope Compliance**: Do not modify files outside the current Story scope without reporting first.
127
141
  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:
142
+ 5. **3-Failure Stop + Recalculating**: If the same approach fails 3 times:
129
143
  - 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
144
+ - Pass the failed approach and error for each attempt
145
+ - Present blocker diagnosis plus 1-2 different alternatives
132
146
  - 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
147
+ - Never retry the original failed approach
134
148
  6. **Dependency Map**: When adding or modifying a module, update dependency-map.md in the same commit.
135
149
  7. **Feature Registry**: When adding a feature, register it in features.md in the same commit.
136
150
  8. **Session Handoff**: At session end, update project-state.md Quick Summary so the next session has context.
137
151
  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
152
  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.
153
+ 11. **Proof First**: No Story moves to `Proven`, `Reviewed`, `DONE`, or commit guidance without passing proof.
154
+ 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
155
 
140
156
  ## Confirmation Gate Defaults
141
157
 
@@ -1,45 +1,73 @@
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
53
+ -->
54
+
55
+ ## Project Docs Hub Index
56
+
57
+ <!-- Optional — maintained by the `docs-bridge` skill when the project needs to
58
+ connect local documentation to a wiki/docs hub without copying whole documents.
59
+ Keep originals in place; index repo-relative paths, roles, sync intent,
60
+ sanitized hub aliases, and visibility boundaries here. Machine-specific
61
+ resolver details belong in ignored `.harness/docs-bridge.local.*` files.
62
+
63
+ | Local Source | Role | Hub Target | Sync Direction | Visibility | Status | Last Reviewed |
64
+ |--------------|------|------------|----------------|------------|--------|---------------|
65
+ | README.md | source | local-only | local-source -> hub-summary | public | active | YYYY-MM-DD |
66
+
67
+ Role: source, planning-artifact, decision-record, reference, runbook, state, generated
68
+ Sync Direction: local-source -> hub-summary, hub-reference -> local-index, bidirectional-index-only, local-only
69
+ Visibility: public, team, company-confidential, personal-private, do-not-share
70
+ Status: active, proposed, stale, archived
43
71
  -->
44
72
 
45
73
  <!-- 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