@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.
- package/README.ko.md +100 -14
- package/README.md +112 -14
- package/harness/agents/lead.md +31 -8
- package/harness/agents/pm.md +42 -35
- package/harness/agents/reviewer.md +25 -3
- package/harness/core-rules.md +30 -14
- package/harness/project-brief.md +56 -28
- package/harness/project-state.md +31 -5
- package/harness/skills/breakdown.md +1 -0
- package/harness/skills/docs-bridge.md +161 -0
- package/harness/skills/pivot.md +2 -0
- package/harness/skills/setup.md +29 -1
- package/harness/skills/state-check.md +34 -2
- package/harness/skills/wrap-up.md +21 -0
- package/package.json +4 -2
- package/src/init.js +755 -9
package/harness/agents/pm.md
CHANGED
|
@@ -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:
|
|
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.
|
|
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-
|
|
83
|
-
|
|
84
|
-
### Phase 3 — Nice-to-have
|
|
85
|
-
- [ ] F-004: ...
|
|
79
|
+
- [ ] F-002: ...
|
|
86
80
|
```
|
|
87
|
-
3. 사용자에게
|
|
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
|
|
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
|
-
-
|
|
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
|
-
|
|
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
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
|
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
|
|
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: **"이
|
|
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
|
|
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
|
-
|
|
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),
|
|
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**:
|
|
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
|
|
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.
|
|
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
|
package/harness/core-rules.md
CHANGED
|
@@ -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
|
|
10
|
-
If `.harness/my-context.md` exists, read it for
|
|
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
|
|
56
|
-
> **Reference, don't summarize**: setup
|
|
57
|
-
>
|
|
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
|
-
|
|
91
|
+
Keep the block concise. When code changed, include the next evidence:
|
|
83
92
|
|
|
84
93
|
```
|
|
85
94
|
---
|
|
86
95
|
🧭 Next Step
|
|
87
|
-
→
|
|
88
|
-
→
|
|
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: {
|
|
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
|
|
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
|
-
-
|
|
131
|
-
- Present
|
|
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
|
|
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
|
|
package/harness/project-brief.md
CHANGED
|
@@ -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
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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 -->
|
package/harness/project-state.md
CHANGED
|
@@ -35,14 +35,40 @@
|
|
|
35
35
|
|
|
36
36
|
## Story Status
|
|
37
37
|
|
|
38
|
-
| ID | Title | Status | Assignee |
|
|
39
|
-
|
|
40
|
-
| S1-
|
|
41
|
-
| S1-
|
|
42
|
-
| S1-
|
|
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
|
|