@tgoodington/intuition 11.9.1 → 11.10.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/package.json +1 -1
- package/skills/intuition-debugger/SKILL.md +31 -23
- package/skills/intuition-enuncia-compose/SKILL.md +29 -14
- package/skills/intuition-enuncia-design/SKILL.md +30 -9
- package/skills/intuition-enuncia-discovery/SKILL.md +9 -19
- package/skills/intuition-enuncia-execute/SKILL.md +18 -8
- package/skills/intuition-enuncia-handoff/SKILL.md +2 -2
- package/skills/intuition-enuncia-initialize/SKILL.md +2 -4
- package/skills/intuition-enuncia-initialize/references/project_map_template.md +4 -1
- package/skills/intuition-enuncia-initialize/references/state_template.json +1 -1
- package/skills/intuition-enuncia-start/SKILL.md +6 -4
- package/skills/intuition-enuncia-verify/SKILL.md +6 -14
- package/skills/intuition-enuncia-initialize/references/project_map_history_template.md +0 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tgoodington/intuition",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.10.0",
|
|
4
4
|
"description": "Domain-adaptive workflow system for Claude Code. Includes the Enuncia pipeline (discovery, compose, design, execute, verify) and the classic pipeline (prompt, outline, assemble, detail, build, test, implement).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -19,7 +19,7 @@ These are non-negotiable. Violating any of these means the protocol has failed.
|
|
|
19
19
|
7. You MUST delegate code changes to subagents for anything beyond trivial fixes (1-3 lines in a single file).
|
|
20
20
|
8. You MUST analyze architectural implications of every issue. When a fix requires design-level changes, generate a fast-track brief — do NOT punt with a vague "go run the workflow."
|
|
21
21
|
9. You MUST NOT implement architectural or design-level changes directly. Present the analysis, generate the fast-track brief, and let the user route it.
|
|
22
|
-
10. You MUST NOT modify
|
|
22
|
+
10. You MUST NOT modify workflow planning artifacts directly — `discovery_brief.md` and `tasks.json` (Enuncia), or `outline.md`, `prompt_brief.md`, and design specs (classic).
|
|
23
23
|
11. You MUST verify fixes don't break dependent code.
|
|
24
24
|
12. You MUST log every fix to `docs/project_notes/bugs.md` AND save an Intuition memory when findings have cross-conversation value.
|
|
25
25
|
13. You MUST maintain session context across the feedback loop. Follow-up issues inherit the full diagnostic picture — never restart from scratch.
|
|
@@ -93,7 +93,19 @@ Resolve `context_path` from selected context:
|
|
|
93
93
|
|
|
94
94
|
# STEP 3: LOAD CONTEXT ARTIFACTS
|
|
95
95
|
|
|
96
|
-
Read ALL
|
|
96
|
+
Check `state.pipeline` and load the artifact set for the pipeline that built this context. Read ALL that apply before proceeding — build your understanding of what was built and why.
|
|
97
|
+
|
|
98
|
+
**Enuncia pipeline (`state.pipeline == "enuncia"`):**
|
|
99
|
+
|
|
100
|
+
- `{context_path}/discovery_brief.md` — the foundation: stakeholders, delivery, requirements, North Star, decision posture
|
|
101
|
+
- `{context_path}/tasks.json` — experience slices and tasks with design enrichment (technical approach, interfaces, files, decisions)
|
|
102
|
+
- `{context_path}/build_output.json` — what was actually built, review outcomes, deviations, escalations
|
|
103
|
+
- `docs/project_notes/project_map.md` — the living architecture document: capabilities by slice, component reference, operational foundation, key connections. This is your primary map of how the pieces connect — trace the reported issue through it to understand upstream/downstream impact before reading source code. (Check its truth-window line: a map not yet reconciled with code describes the design, not necessarily reality.)
|
|
104
|
+
- `docs/project_notes/key_facts.md` — project-wide knowledge
|
|
105
|
+
- `docs/project_notes/decisions.md` — architectural decisions (ADRs)
|
|
106
|
+
- `docs/project_notes/bugs.md` — previously logged bugs
|
|
107
|
+
|
|
108
|
+
**Classic pipeline (anything else):**
|
|
97
109
|
|
|
98
110
|
- `{context_path}/outline.md` — what was planned
|
|
99
111
|
- `{context_path}/code_specs.md` — engineering decisions (if exists)
|
|
@@ -104,12 +116,10 @@ Read ALL of these before proceeding — build your understanding of what was bui
|
|
|
104
116
|
- `docs/project_notes/decisions.md` — architectural decisions (ADRs)
|
|
105
117
|
- `docs/project_notes/bugs.md` — previously logged bugs
|
|
106
118
|
- `{context_path}/scratch/*-decisions.json` — specialist decisions (if any exist)
|
|
107
|
-
|
|
108
|
-
Also check for blueprints and process flow:
|
|
109
119
|
- `{context_path}/blueprints/*.md` — detailed specialist blueprints (if detail phase ran)
|
|
110
|
-
- `{context_path}/process_flow.md` (if exists) — end-to-end user flows, component interactions, data paths, error paths, state mutations, integration seams, known invariants. This is your primary map of how the app works.
|
|
120
|
+
- `{context_path}/process_flow.md` (if exists) — end-to-end user flows, component interactions, data paths, error paths, state mutations, integration seams, known invariants. This is your primary map of how the app works.
|
|
111
121
|
|
|
112
|
-
The gap between intended approach and actual implementation is where bugs hide. The decisions files tell you what constraints MUST be preserved. The process flow document tells you how the pieces connect — trace the reported issue through
|
|
122
|
+
The gap between intended approach and actual implementation is where bugs hide. The decisions files tell you what constraints MUST be preserved. The map (Enuncia) or process flow document (classic) tells you how the pieces connect — trace the reported issue through it to understand the full impact chain.
|
|
113
123
|
|
|
114
124
|
Do NOT read source code files yet. Read targeted code only after the user describes the issue.
|
|
115
125
|
|
|
@@ -155,7 +165,7 @@ Start with the immediate issue:
|
|
|
155
165
|
With the root cause identified, evaluate through EVERY lens:
|
|
156
166
|
|
|
157
167
|
**Architectural Alignment:**
|
|
158
|
-
- Re-read the outline goals and
|
|
168
|
+
- Re-read the planning artifacts loaded in Step 3 — the discovery brief's goals/North Star and enriched tasks.json (Enuncia), or the outline goals and design specs (classic). Does the root cause reveal a conflict with the system's design intent?
|
|
159
169
|
- Does the affected code follow the patterns established elsewhere, or is it an outlier?
|
|
160
170
|
- Cross-reference `docs/project_notes/decisions.md` — does the issue violate any architectural decisions?
|
|
161
171
|
|
|
@@ -165,7 +175,7 @@ With the root cause identified, evaluate through EVERY lens:
|
|
|
165
175
|
- Check: input validation, output encoding, auth boundaries, data exposure.
|
|
166
176
|
|
|
167
177
|
**Ripple Effects:**
|
|
168
|
-
-
|
|
178
|
+
- On an Enuncia context, start from `docs/project_notes/project_map.md` (already loaded in Step 3): identify which Capabilities pass through the affected area and use the slices' Key connections and the Component Reference to pre-map the blast radius before launching a researcher. On a classic context, if `{context_path}/process_flow.md` exists, start with it: identify which Core Flows pass through the affected area, what's upstream and downstream, and what state mutations or integration seams are involved.
|
|
169
179
|
- Launch an `intuition-researcher` agent to verify and extend the process flow mapping against actual code:
|
|
170
180
|
```
|
|
171
181
|
"Map all imports, usages, and dependents of [affected module/function/interface]
|
|
@@ -173,7 +183,7 @@ With the root cause identified, evaluate through EVERY lens:
|
|
|
173
183
|
on this module, and whether any usage makes assumptions about behavior that
|
|
174
184
|
the fix would change. Under 500 words."
|
|
175
185
|
```
|
|
176
|
-
- Check `{context_path}/scratch/*-decisions.json`
|
|
186
|
+
- Check the recorded user decisions — the `decisions` and `design_decisions` fields in `{context_path}/tasks.json` (Enuncia), or `{context_path}/scratch/*-decisions.json` (classic). Will the fix contradict any `[USER]` decisions? If so, you MUST escalate to the user before proceeding.
|
|
177
187
|
|
|
178
188
|
**Maintenance:**
|
|
179
189
|
- Does the root cause suggest a pattern that will recur? Is this a one-off or systemic?
|
|
@@ -183,7 +193,7 @@ With the root cause identified, evaluate through EVERY lens:
|
|
|
183
193
|
**Functionality:**
|
|
184
194
|
- Does the obvious fix fully resolve the issue, including edge cases?
|
|
185
195
|
- Are there error states or boundary conditions the fix must handle?
|
|
186
|
-
- Cross-reference the
|
|
196
|
+
- Cross-reference the acceptance criteria — in `tasks.json` (Enuncia) or the outline (classic). Does the fix preserve them?
|
|
187
197
|
|
|
188
198
|
---
|
|
189
199
|
|
|
@@ -235,7 +245,7 @@ Not every issue needs all three types. Use judgment. But NEVER present only one
|
|
|
235
245
|
Before presenting to the user, review your own options:
|
|
236
246
|
|
|
237
247
|
For each option, ask:
|
|
238
|
-
- Does this fix work WITH the system's architectural intent? (Re-read outline goals)
|
|
248
|
+
- Does this fix work WITH the system's architectural intent? (Re-read the North Star and tasks.json on Enuncia; the outline goals on classic)
|
|
239
249
|
- Have I accounted for every ripple effect the researcher identified?
|
|
240
250
|
- Am I confident this doesn't introduce a security surface?
|
|
241
251
|
- Is there a simpler approach I haven't considered?
|
|
@@ -397,13 +407,10 @@ After the subagent returns:
|
|
|
397
407
|
- **Prevention**: [How to avoid in future — what should the build process catch?]
|
|
398
408
|
```
|
|
399
409
|
|
|
400
|
-
**Update
|
|
401
|
-
1. Read the current process_flow.md
|
|
402
|
-
2. Update ONLY the specific flow section affected by the fix
|
|
403
|
-
3. Add an entry to the Flow History table: `| [YYYY-MM-DD] | Debugger | [What changed] | [Fix for: brief issue description] |`
|
|
404
|
-
4. Add or update the Known Fragile Areas section if the investigation revealed a fragile pattern
|
|
410
|
+
**Update the architecture document (conditional)** — only when the fix changes how something actually works (e.g., adds error handling that changes an error path, restructures a component interaction, or modifies state mutations). Skip for fixes that don't change behavior (a typo, a calculation correction that doesn't change the data path). When generating a fast-track brief (upstream fix), do NOT update — the upstream workflow will update it after implementing changes.
|
|
405
411
|
|
|
406
|
-
|
|
412
|
+
- **Enuncia context**: update `docs/project_notes/project_map.md` — refine ONLY the affected `## Capabilities` slice or `## Component Reference` entries, at the map's existing terseness. Never touch `## Project North Star` or `## Branch Goals`, and do not stamp the truth-window line (that belongs to the pipeline phases).
|
|
413
|
+
- **Classic context**: if `{context_path}/process_flow.md` exists, update ONLY the specific flow section affected by the fix, add an entry to the Flow History table (`| [YYYY-MM-DD] | Debugger | [What changed] | [Fix for: brief issue description] |`), and add or update the Known Fragile Areas section if the investigation revealed a fragile pattern. Do NOT rewrite the Overview or restructure the document.
|
|
407
414
|
|
|
408
415
|
**Save Intuition memory** — When the investigation reveals something with cross-conversation value, save a memory file to `C:\Users\tgoodington\.claude\projects\C--Claude-Projects-Intuition\memory\`:
|
|
409
416
|
|
|
@@ -504,7 +511,7 @@ If "done" → close.
|
|
|
504
511
|
|
|
505
512
|
When an issue's root cause is upstream (plan or design was wrong) or the best fix requires architectural adjustment beyond the debugger's implementation authority, generate a brief designed to be fast-track eligible.
|
|
506
513
|
|
|
507
|
-
The debugger's diagnostic work IS the research
|
|
514
|
+
The debugger's diagnostic work IS the research the early workflow phases would normally perform (discovery/compose on Enuncia; prompt/outline on classic). Carry that intelligence forward.
|
|
508
515
|
|
|
509
516
|
**Write to `{context_path}/debugger_brief.md`:**
|
|
510
517
|
|
|
@@ -522,18 +529,18 @@ The debugger's diagnostic work IS the research that prompt/outline phases would
|
|
|
522
529
|
- **Causal chain**: [full chain from investigation]
|
|
523
530
|
|
|
524
531
|
## Scope
|
|
525
|
-
[1-4 specific, bounded tasks needed — written as
|
|
532
|
+
[1-4 specific, bounded tasks needed — written as decomposition-ready items]
|
|
526
533
|
|
|
527
534
|
Each task:
|
|
528
535
|
- **Task N**: [title]
|
|
529
536
|
- Description: [what needs to change]
|
|
530
537
|
- Acceptance criteria: [how to verify]
|
|
531
|
-
-
|
|
532
|
-
- Rationale: [why
|
|
538
|
+
- Sizing: small — express track (Enuncia) / Light depth (classic)
|
|
539
|
+
- Rationale: [why it's small — the debugger already analyzed this thoroughly]
|
|
533
540
|
|
|
534
541
|
## Constraints
|
|
535
542
|
- MUST preserve: [interfaces, behaviors, contracts that cannot change]
|
|
536
|
-
- MUST NOT violate: [list any [USER] decisions from decisions.json]
|
|
543
|
+
- MUST NOT violate: [list any [USER] decisions — from tasks.json (Enuncia) or decisions.json (classic)]
|
|
537
544
|
- Security considerations: [from five-lens analysis]
|
|
538
545
|
- Dependent code: [files/modules that must remain compatible]
|
|
539
546
|
|
|
@@ -546,7 +553,8 @@ Each task:
|
|
|
546
553
|
|
|
547
554
|
**After writing the brief:**
|
|
548
555
|
- Update `.project-memory-state.json`: Do NOT change `status` from `"complete"`. The brief is a recommendation, not a state transition. The user decides when to act on it.
|
|
549
|
-
- Tell the user: "I've written a fast-track brief at `{context_path}/debugger_brief.md
|
|
556
|
+
- Tell the user (Enuncia context): "I've written a fast-track brief at `{context_path}/debugger_brief.md`, scoped to [N] small tasks. Run `/intuition-enuncia-handoff` to branch this work — it should triage as a focused change (express track). The diagnostic evidence is included so the workflow won't repeat this investigation."
|
|
557
|
+
- Tell the user (classic context): "I've written a fast-track brief at `{context_path}/debugger_brief.md`. It's scoped to [N] tasks, all Light depth — should be eligible for fast track when you run it through `/intuition-start`. The diagnostic evidence is included so the workflow won't repeat this investigation."
|
|
550
558
|
|
|
551
559
|
---
|
|
552
560
|
|
|
@@ -25,7 +25,7 @@ You are a decomposition thinker. You see a vision and ask "what needs to be true
|
|
|
25
25
|
7. You MUST write `tasks.json`, `docs/project_notes/project_map.md`, and update state before routing.
|
|
26
26
|
8. You MUST route to `/intuition-enuncia-design` — EXCEPT on the express track when you fold design in (no genuine technical decision), where you route to `/intuition-enuncia-execute` (see EXPRESS MODE). NEVER to `/intuition-enuncia-handoff`.
|
|
27
27
|
9. You MUST load three goals at activation (Project North Star, Branch Goal if on a branch, and your own Skill Goal) and hold them in working memory throughout the skill's run. See GOAL ALIGNMENT.
|
|
28
|
-
10. You MUST NOT overwrite the `## Project North Star`, `## Branch Goals`, or `## Operational Foundation` sections in `project_map.md`. The first two are owned by discovery; the third is owned by design. You own `## Overview`, `## Capabilities`, and `## Component Reference
|
|
28
|
+
10. You MUST NOT overwrite the `## Project North Star`, `## Branch Goals`, or `## Operational Foundation` sections in `project_map.md`. The first two are owned by discovery; the third is owned by design. You own `## Overview`, `## Capabilities`, and `## Component Reference`, plus updating the truth-window line.
|
|
29
29
|
11. You MUST run the alignment check before routing — output must serve Project North Star, Branch Goal (if branch), and Skill Goal. See GOAL ALIGNMENT → Alignment Check.
|
|
30
30
|
|
|
31
31
|
## CONTEXT PATH RESOLUTION
|
|
@@ -74,11 +74,34 @@ Before writing outputs or routing, run the last-stop check:
|
|
|
74
74
|
- **Skill Goal**: Is the output decomposition-level work (experience slices, producer-ready tasks, project map updates) — not technical decisions that belong to design, not specs that belong to producers?
|
|
75
75
|
- **Project map consistency**: Does every slice you wrote to `## Capabilities` trace to a stakeholder in the brief, and does every component you listed in `## Component Reference` correspond to the output of at least one task in tasks.json? No orphan slices, no components without a producing task.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
### How the Check Runs
|
|
78
|
+
|
|
79
|
+
**Express track:** run the four checks yourself (self-check). Scale-to-task — no subagent.
|
|
80
|
+
|
|
81
|
+
**Full track:** the check is independent — fresh eyes, not the author grading its own work. Spawn ONE `intuition-reviewer` agent via the Task tool:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
You are an alignment reviewer. You did not write these artifacts — judge them skeptically against the goals below.
|
|
85
|
+
|
|
86
|
+
Project North Star:
|
|
87
|
+
[paste verbatim]
|
|
88
|
+
|
|
89
|
+
[If branch] Branch Goal for "{active_context}":
|
|
90
|
+
[paste verbatim]
|
|
91
|
+
|
|
92
|
+
Skill under review: compose. Its output must be decomposition-level work — experience slices, producer-ready tasks, map updates.
|
|
93
|
+
|
|
94
|
+
Read {context_path}/tasks.json and docs/project_notes/project_map.md, then verify each item of this rubric:
|
|
95
|
+
[paste the four Alignment Check bullets above, with the brief's stakeholder list included for the map-consistency check]
|
|
96
|
+
|
|
97
|
+
Return: PASS + one-line confirmation, OR specific findings — each naming the slice, task, or map section it points at.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
On findings: correct the output, then re-run the reviewer once. If findings persist after the correction, surface them to the user rather than shipping misaligned output. Either way, if a failure cannot be corrected within this skill (e.g., missing stakeholder coverage that needs to go back to discovery), flag it explicitly to the user.
|
|
78
101
|
|
|
79
102
|
## EXPRESS MODE
|
|
80
103
|
|
|
81
|
-
Read `track` from the active context (missing = `"full"`). When `track == "express"`:
|
|
104
|
+
Read `track` from the active context (missing or null = `"full"`). When `track == "express"`:
|
|
82
105
|
- Skip Phase 2's full experience-mapping dialogue. Draft the experience slices directly from the brief and confirm them in a single pass.
|
|
83
106
|
- Decompose into tasks as usual — expect few. The producer-ready test still applies.
|
|
84
107
|
- Do NOT create test tasks (see Test Coverage).
|
|
@@ -422,17 +445,9 @@ Anti-bloat rules:
|
|
|
422
445
|
- No class names, method names, enum values, file paths, or CSS selectors — those live in code.
|
|
423
446
|
- Component Reference entries are ONE sentence. If you can't fit it, the component is doing too much or you're describing at the wrong level.
|
|
424
447
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
- If `map_history.md` does not exist, create it from `references/project_map_history_template.md`.
|
|
428
|
-
- If `project_map.md` contains a legacy `## Map History` section (pre-v11.7 scaffold), move its rows into `map_history.md` preserving order, then delete the section from `project_map.md`.
|
|
429
|
-
- Then append:
|
|
430
|
-
|
|
431
|
-
| Date | Phase | Branch | Change | Reason |
|
|
432
|
-
|------|-------|--------|--------|--------|
|
|
433
|
-
| [today ISO date] | Compose | [active_context] | Initial outline | Created from experience mapping |
|
|
448
|
+
**Truth-window line:** update the `_Reflects: …_` line directly under the `# Project Map` title to `_Reflects: compose ([today ISO date]) · Reconciled with code: [keep existing value]_`. If the line is absent (older project), add it with `Reconciled with code: never`.
|
|
434
449
|
|
|
435
|
-
Legacy section cleanup (one-time, transparent): if `project_map.md` still contains `## Components`, `## Component Interactions`, or `## What Exists vs What's New` from a pre-v11.7 scaffold, delete those sections and write the new shape above in their place. This backfill runs silently.
|
|
450
|
+
Legacy section cleanup (one-time, transparent): if `project_map.md` still contains `## Components`, `## Component Interactions`, or `## What Exists vs What's New` from a pre-v11.7 scaffold, delete those sections and write the new shape above in their place. If it contains a legacy inline `## Map History` section, delete it — map history is no longer tracked (v11.10). This backfill runs silently.
|
|
436
451
|
|
|
437
452
|
### Alignment Check
|
|
438
453
|
|
|
@@ -481,7 +496,7 @@ The branch `tasks.json` is a complete document (not a diff) but includes a `pare
|
|
|
481
496
|
}
|
|
482
497
|
```
|
|
483
498
|
|
|
484
|
-
Update `docs/project_notes/project_map.md` — add new slices to `## Capabilities` in place, refine existing slices if the branch modifies them, and add any new components to `## Component Reference`. Do not tag slices or components with the branch name; presence in the map means in use.
|
|
499
|
+
Update `docs/project_notes/project_map.md` — add new slices to `## Capabilities` in place, refine existing slices if the branch modifies them, and add any new components to `## Component Reference`. Do not tag slices or components with the branch name; presence in the map means in use. Update the truth-window line per the format above.
|
|
485
500
|
|
|
486
501
|
Branch outlines should be faster — most of the experience mapping is inherited. Focus the conversation on what's new.
|
|
487
502
|
|
|
@@ -27,7 +27,7 @@ You are the engineering brain. Outline decided what needs to exist. You decide h
|
|
|
27
27
|
9. You MUST route to `/intuition-enuncia-execute` after completion. NEVER to `/intuition-enuncia-handoff`.
|
|
28
28
|
10. You MUST NOT write code. You write specs that describe what code to write. Producers write code.
|
|
29
29
|
11. You MUST load three goals at activation (Project North Star, Branch Goal if on a branch, and your own Skill Goal) and hold them in working memory throughout the skill's run. See GOAL ALIGNMENT.
|
|
30
|
-
12. You own `## Operational Foundation` in `project_map.md`. You may refine compose's `## Capabilities` and `## Component Reference` sections with real architecture detail, but keep their shape and terseness. You MUST NOT touch `## Project North Star` or `## Branch Goals` — those are owned by discovery.
|
|
30
|
+
12. You own `## Operational Foundation` in `project_map.md`. You may refine compose's `## Capabilities` and `## Component Reference` sections with real architecture detail, but keep their shape and terseness. You MUST NOT touch `## Project North Star` or `## Branch Goals` — those are owned by discovery. Update the truth-window line when you write the map.
|
|
31
31
|
13. You MUST run the alignment check before routing — output must serve Project North Star, Branch Goal (if branch), and Skill Goal. See GOAL ALIGNMENT → Alignment Check.
|
|
32
32
|
|
|
33
33
|
## CONTEXT PATH RESOLUTION
|
|
@@ -74,11 +74,34 @@ Before writing outputs or routing, run the last-stop check:
|
|
|
74
74
|
- **Skill Goal**: Is the output design-level specs — not code (that's producers), not decomposition (that's compose), not implementation (that's execute)?
|
|
75
75
|
- **Project map consistency**: Do the components and connections you wrote into `## Operational Foundation`, `## Capabilities`, and `## Component Reference` match the interfaces and files in the enriched tasks.json? Every component you name should be produced by some task's `files`; every cross-task interface should surface as a "Key connection" in the relevant slice. The map and tasks.json must tell the same architectural story.
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
### How the Check Runs
|
|
78
|
+
|
|
79
|
+
**Express track:** run the four checks yourself (self-check). Scale-to-task — no subagent.
|
|
80
|
+
|
|
81
|
+
**Full track:** the check is independent — fresh eyes, not the author grading its own work. Spawn ONE `intuition-reviewer` agent via the Task tool:
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
You are an alignment reviewer. You did not write these artifacts — judge them skeptically against the goals below.
|
|
85
|
+
|
|
86
|
+
Project North Star:
|
|
87
|
+
[paste verbatim]
|
|
88
|
+
|
|
89
|
+
[If branch] Branch Goal for "{active_context}":
|
|
90
|
+
[paste verbatim]
|
|
91
|
+
|
|
92
|
+
Skill under review: design. Its output must be design-level specs — technical approach, interfaces, files, decisions on each task — not code, not decomposition.
|
|
93
|
+
|
|
94
|
+
Read {context_path}/tasks.json (the enriched design fields) and docs/project_notes/project_map.md, then verify each item of this rubric:
|
|
95
|
+
[paste the four Alignment Check bullets above]
|
|
96
|
+
|
|
97
|
+
Return: PASS + one-line confirmation, OR specific findings — each naming the task, field, or map section it points at.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
On findings: correct the output, then re-run the reviewer once. If findings persist after the correction, surface them to the user rather than shipping misaligned output. Either way, if a failure cannot be corrected within this skill, flag it explicitly to the user.
|
|
78
101
|
|
|
79
102
|
## EXPRESS MODE
|
|
80
103
|
|
|
81
|
-
Read `track` from the active context (missing = `"full"`). On the express track, compose may have already folded design in and skipped this phase — if you were routed here at all, the work carries a real technical decision that needs you.
|
|
104
|
+
Read `track` from the active context (missing or null = `"full"`). On the express track, compose may have already folded design in and skipped this phase — if you were routed here at all, the work carries a real technical decision that needs you.
|
|
82
105
|
|
|
83
106
|
When `track == "express"`:
|
|
84
107
|
- Design only what's necessary. Skip Phase 2.5 (Operational Foundation) unless the change actually touches deployment/infra.
|
|
@@ -183,6 +206,8 @@ Launch `intuition-researcher` agents to gather technical context. Research is ta
|
|
|
183
206
|
|
|
184
207
|
Research agents are optional — skip them when the technical approach is obvious from the tasks and map.
|
|
185
208
|
|
|
209
|
+
**Specialist lens.** When a slice group sits squarely in a domain with a matching profile in the `specialists/` registry (scan `.claude/specialists/`, then `~/.claude/specialists/`) — e.g., database architecture, legal analysis, business analysis — read that profile and fold its question-set and risk knowledge into this group's research prompts and your own design thinking. This is a lens, not a gate: no extra approval step, no separate specialist phase. Skip it when no profile clearly matches.
|
|
210
|
+
|
|
186
211
|
### 3b. Design Decisions
|
|
187
212
|
|
|
188
213
|
For each group, determine:
|
|
@@ -300,7 +325,7 @@ The principle: design tells the UI producer what must be TRUE about the interfac
|
|
|
300
325
|
- **`files`**: the test file paths to create.
|
|
301
326
|
- **`producer_notes`**: fixtures, mocks, or seed data the tests need; and what NOT to test (don't test framework internals or third-party code).
|
|
302
327
|
|
|
303
|
-
Record the suite run command in `## Operational Foundation`
|
|
328
|
+
Record the suite run command in the map's `## Operational Foundation` — that is its canonical home, and verify's regression step reads it from there.
|
|
304
329
|
|
|
305
330
|
After enrichment, each task object should contain everything a producer needs. No ambiguity, no open questions.
|
|
306
331
|
|
|
@@ -345,11 +370,7 @@ Anti-bloat rules:
|
|
|
345
370
|
- Never expand a Component Reference entry past one sentence. If the architectural detail is important, point to code.
|
|
346
371
|
- No task IDs, no status fields, no stakeholder-touchpoint tags. If a decision or tradeoff is worth recording, write to `docs/project_notes/decisions.md`, not the map.
|
|
347
372
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
| Date | Phase | Branch | Change | Reason |
|
|
351
|
-
|------|-------|--------|--------|--------|
|
|
352
|
-
| [today ISO date] | Design | [active_context] | Architecture finalized | [one sentence] |
|
|
373
|
+
**Truth-window line:** update the `_Reflects: …_` line directly under the `# Project Map` title to `_Reflects: design ([today ISO date]) · Reconciled with code: [keep existing value]_`. If the line is absent (older project), add it with `Reconciled with code: never`. If the map still contains a legacy inline `## Map History` section, delete it — map history is no longer tracked (v11.10).
|
|
353
374
|
|
|
354
375
|
### Alignment Check
|
|
355
376
|
|
|
@@ -30,7 +30,7 @@ You help users figure out what they're building. You do this through focused con
|
|
|
30
30
|
12. On branches, you MUST revisit the existing Project North Star at the start of the conversation and confirm it still stands (or propose a trunk-level amendment). See BRANCH MODE → Revisit Project North Star.
|
|
31
31
|
13. You MUST run the Exit Protocol after writing the brief and updating the map. Route to `/intuition-enuncia-compose`.
|
|
32
32
|
14. You MUST NOT launch research agents proactively. Research fires ONLY when the user asks something you cannot confidently answer (see REACTIVE RESEARCH).
|
|
33
|
-
15. You MUST read `track` from the active context and, when `track == "express"`, compress the conversation per EXPRESS MODE. A missing `track`
|
|
33
|
+
15. You MUST read `track` from the active context and, when `track == "express"`, compress the conversation per EXPRESS MODE. A missing or null `track` reads as `"full"` for depth — but null also means triage never ran (see EXPRESS MODE).
|
|
34
34
|
16. At activation, after reading state, you MUST set `workflow.discovery.started = true` on the active context and write state back — before any dialogue. This closes the TRIAGE gate so a re-run of `start` mid-discovery does not re-fire triage and re-ask the scope question.
|
|
35
35
|
|
|
36
36
|
## THE FOUR DIMENSIONS
|
|
@@ -85,7 +85,7 @@ When authoring a Project North Star or a Branch Goal, apply these three rules. T
|
|
|
85
85
|
|
|
86
86
|
## EXPRESS MODE
|
|
87
87
|
|
|
88
|
-
Read `track` from the active context in `.project-memory-state.json` at activation
|
|
88
|
+
Read `track` from the active context in `.project-memory-state.json` at activation. A null or missing `track` means triage never ran — initialize and handoff seed it as null ("nobody asked yet"), so the direct `initialize → discovery` and `handoff → discovery` routes land here. If `track` is null or missing AND discovery hasn't started, ask the one Scope question from start's TRIAGE yourself, record the answer as `track` on the active context, then proceed. (If discovery already started with track still null — a legacy state — read it as `"full"` and don't re-ask.)
|
|
89
89
|
|
|
90
90
|
When `track == "express"`, compress hard:
|
|
91
91
|
- Open by stating your read of all four dimensions inferred from the user's request, and ask only what you genuinely cannot infer — target one question, two at most.
|
|
@@ -148,7 +148,7 @@ Does the Project North Star still hold for this work, or does the scope of this
|
|
|
148
148
|
|
|
149
149
|
Accept one of three outcomes:
|
|
150
150
|
- **Holds as-is** — keep it unchanged, proceed to Opening.
|
|
151
|
-
- **Needs amendment** — work with the user to refine the Project North Star at altitude (apply the three rules). Then update the `## Project North Star` section of `docs/project_notes/project_map.md` in place. Also update the trunk discovery brief's Why section to match so the two stay in sync.
|
|
151
|
+
- **Needs amendment** — work with the user to refine the Project North Star at altitude (apply the three rules). Then update the `## Project North Star` section of `docs/project_notes/project_map.md` in place. Also update the trunk discovery brief's Why section to match so the two stay in sync. Proceed to Opening.
|
|
152
152
|
- **User wants to think about it** — move on to Opening, and come back to this before writing the brief.
|
|
153
153
|
|
|
154
154
|
#### Opening
|
|
@@ -191,7 +191,7 @@ Add a `## Parent Context` section at the top:
|
|
|
191
191
|
- **Parent**: [trunk or branch name]
|
|
192
192
|
- **Inherited dimensions**: [list dimensions unchanged from parent]
|
|
193
193
|
- **Changed dimensions**: [list dimensions this branch modifies, with brief rationale]
|
|
194
|
-
- **Project North Star**: Holds as-is | Amended this session
|
|
194
|
+
- **Project North Star**: Holds as-is | Amended this session
|
|
195
195
|
```
|
|
196
196
|
|
|
197
197
|
This lets downstream skills know what's new without reading the parent brief.
|
|
@@ -297,7 +297,7 @@ After confirm and posture, write `{context_path}/discovery_brief.md`. The Why se
|
|
|
297
297
|
- **Parent**: [trunk or branch name]
|
|
298
298
|
- **Inherited dimensions**: [list dimensions unchanged from parent]
|
|
299
299
|
- **Changed dimensions**: [list what changed and why]
|
|
300
|
-
- **Project North Star**: Holds as-is | Amended this session
|
|
300
|
+
- **Project North Star**: Holds as-is | Amended this session
|
|
301
301
|
|
|
302
302
|
## Who — Stakeholders
|
|
303
303
|
[Stakeholders and their relationship to the project]
|
|
@@ -342,18 +342,14 @@ Keep every section terse. Bullets over prose. No redundancy between sections. Th
|
|
|
342
342
|
|
|
343
343
|
After writing `discovery_brief.md`, propagate the goal statement into `docs/project_notes/project_map.md`. This is the single source of truth that every downstream skill loads at activation.
|
|
344
344
|
|
|
345
|
-
Read the current `docs/project_notes/project_map.md` first (it was created by initialize; in trunk mode it may still contain the scaffold placeholder). Preserve every other section — only touch the `## Project North Star` section (trunk) or the `## Branch Goals` section (branch).
|
|
345
|
+
Read the current `docs/project_notes/project_map.md` first (it was created by initialize; in trunk mode it may still contain the scaffold placeholder). Preserve every other section — only touch the `## Project North Star` section (trunk) or the `## Branch Goals` section (branch), plus the truth-window line.
|
|
346
|
+
|
|
347
|
+
**Truth-window line:** update the `_Reflects: …_` line directly under the `# Project Map` title to `_Reflects: discovery ([today ISO date]) · Reconciled with code: [keep existing value]_`. If the line is absent (older project), add it with `Reconciled with code: never`.
|
|
346
348
|
|
|
347
349
|
### Trunk Mode
|
|
348
350
|
|
|
349
351
|
Replace the `## Project North Star` section body with the verbatim content from the brief's `## Why — Project North Star` section. Remove any scaffold placeholder text in that section. Do not touch `## Branch Goals`, `## Overview`, `## Capabilities`, `## Component Reference`, `## Operational Foundation`, or any other section — compose and design fill those.
|
|
350
352
|
|
|
351
|
-
Append a row to `docs/project_notes/map_history.md` (see Backfill below if the file doesn't exist yet):
|
|
352
|
-
|
|
353
|
-
| Date | Phase | Branch | Change | Reason |
|
|
354
|
-
|------|-------|--------|--------|--------|
|
|
355
|
-
| [today ISO date] | Discovery | trunk | Authored Project North Star | Trunk discovery complete |
|
|
356
|
-
|
|
357
353
|
### Branch Mode
|
|
358
354
|
|
|
359
355
|
Under the `## Branch Goals` section, add a subsection for this branch (or update if one already exists):
|
|
@@ -365,17 +361,11 @@ Under the `## Branch Goals` section, add a subsection for this branch (or update
|
|
|
365
361
|
|
|
366
362
|
Place branch subsections in creation order. Do not touch the `## Project North Star` section here — that was either left unchanged (Holds as-is) or already amended during the Revisit step.
|
|
367
363
|
|
|
368
|
-
Append a row to `docs/project_notes/map_history.md`:
|
|
369
|
-
|
|
370
|
-
| Date | Phase | Branch | Change | Reason |
|
|
371
|
-
|------|-------|--------|--------|--------|
|
|
372
|
-
| [today ISO date] | Discovery (branch) | [active_context] | Authored Branch Goal | Branch discovery complete |
|
|
373
|
-
|
|
374
364
|
### Backfill (Existing Projects)
|
|
375
365
|
|
|
376
366
|
If `project_map.md` lacks a `## Project North Star` section entirely (project created before v11.6.0), insert one immediately after the `# Project Map` title. If `## Branch Goals` is missing, insert it immediately below the Project North Star section.
|
|
377
367
|
|
|
378
|
-
If `
|
|
368
|
+
If `project_map.md` contains a legacy inline `## Map History` section (pre-v11.7), delete it — map history is no longer tracked (v11.10). The truth-window line replaces it.
|
|
379
369
|
|
|
380
370
|
This backfill runs silently — no user notification needed; the map now conforms.
|
|
381
371
|
|
|
@@ -96,7 +96,7 @@ Read these files:
|
|
|
96
96
|
|
|
97
97
|
Validate: every task in `tasks.json` has a `technical_approach` field (indicating design enrichment). If any task lacks a `technical_approach`, inform the user and ask whether to proceed with partial specs or run design first.
|
|
98
98
|
|
|
99
|
-
Also read `track` from the active context (missing = `"full"`). On the express track, expect a small plan and no `test/*` tasks — keep the plan confirmation brief. On the full track, `test/*` tasks should be present for logic-bearing slices; produce them after the code they cover (their dependencies enforce the order).
|
|
99
|
+
Also read `track` from the active context (missing or null = `"full"`). On the express track, expect a small plan and no `test/*` tasks — keep the plan confirmation brief. On the full track, `test/*` tasks should be present for logic-bearing slices; produce them after the code they cover (their dependencies enforce the order).
|
|
100
100
|
|
|
101
101
|
From each task object, extract:
|
|
102
102
|
- `task.technical_approach` and `task.files`
|
|
@@ -299,11 +299,7 @@ Non-code deliverables (documents, spreadsheets, etc.) skip security review.
|
|
|
299
299
|
|
|
300
300
|
If implementation revealed anything not in the map — new components, changed dependencies, refined connections — update the relevant `## Capabilities` slice or add to `## Component Reference`. Keep entries at the same terseness compose and design used; don't introduce implementation-detail paragraphs. **Do not touch `## Project North Star` or `## Branch Goals`.**
|
|
301
301
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
| Date | Phase | Branch | Change | Reason |
|
|
305
|
-
|------|-------|--------|--------|--------|
|
|
306
|
-
| [today ISO date] | Execute | [active_context] | [summary of what was built] | [one sentence] |
|
|
302
|
+
If you wrote to the map, update the truth-window line directly under the `# Project Map` title to `_Reflects: execute ([today ISO date]) · Reconciled with code: [keep existing value]_` (add the line with `Reconciled with code: never` if absent).
|
|
307
303
|
|
|
308
304
|
### Display Summary
|
|
309
305
|
|
|
@@ -313,9 +309,23 @@ Present a concise summary to the user: task count, pass/fail, files produced, an
|
|
|
313
309
|
|
|
314
310
|
**Alignment Check.** Before updating state or routing, run the GOAL ALIGNMENT → Alignment Check against the three loaded goals. If any check fails, re-delegate, escalate, or flag. Do not ship misaligned output.
|
|
315
311
|
|
|
316
|
-
**Update state
|
|
312
|
+
**Update state and route** — branch on what was produced:
|
|
313
|
+
|
|
314
|
+
**If any deliverable is code, configuration, or scripts** (anything that runs): Read `.project-memory-state.json`. Target active context. Set: `status` → `"verify"`, `workflow.execute.completed` → `true`, `workflow.execute.completed_at` → current ISO timestamp, `workflow.verify.started` → `true`. Set on root: `last_handoff` → current ISO timestamp, `last_handoff_transition` → `"execute_to_verify"`. Write back. Route to `/intuition-enuncia-verify`.
|
|
315
|
+
|
|
316
|
+
**If only non-code deliverables** (documents, spreadsheets, presentations, data files): there is no live system to verify, and verify must not be left dangling in state. Ask via AskUserQuestion:
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
Question: "All deliverables are [types] — there's no live system for the verify phase to test. Mark the workflow complete?"
|
|
320
|
+
Header: "Wrap Up"
|
|
321
|
+
Options:
|
|
322
|
+
- "Complete — the deliverables are what I needed"
|
|
323
|
+
- "Not yet — something's missing"
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
On "Complete": set on target: `status` → `"complete"`, `workflow.execute.completed` → `true`, `workflow.execute.completed_at` → now, `workflow.verify.completed` → `true`, `workflow.verify.completed_at` → now. Set on root: `last_handoff` → now, `last_handoff_transition` → `"execute_to_complete"`. Write back. Tell the user the workflow is complete.
|
|
317
327
|
|
|
318
|
-
|
|
328
|
+
On "Not yet": leave state untouched — `workflow.execute.completed` stays `false` so `start` routes back to execute, and RESUME LOGIC picks up the task board. Work out with the user what's missing: re-delegation of a deliverable, or a gap that needs a new branch.
|
|
319
329
|
|
|
320
330
|
## BRANCH MODE
|
|
321
331
|
|
|
@@ -49,7 +49,7 @@ If the user hasn't provided branch details, collect via AskUserQuestion:
|
|
|
49
49
|
"created_at": "ISO timestamp",
|
|
50
50
|
"purpose": "User-provided purpose",
|
|
51
51
|
"status": "none",
|
|
52
|
-
"track":
|
|
52
|
+
"track": null,
|
|
53
53
|
"workflow": {
|
|
54
54
|
"discovery": { "started": false, "completed": false, "completed_at": null },
|
|
55
55
|
"compose": { "started": false, "completed": false, "completed_at": null },
|
|
@@ -72,7 +72,7 @@ Branch "[display_name]" created.
|
|
|
72
72
|
Run /clear then /intuition-enuncia-discovery
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
Discovery, when it runs on this branch, will revisit the Project North Star from the project map (confirming or proposing amendment) and author a Branch Goal at the same altitude. You do not need to do anything with goals here — handoff only creates the branch.
|
|
75
|
+
Discovery, when it runs on this branch, will triage the work's track (`track` starts as null — "nobody asked yet"), revisit the Project North Star from the project map (confirming or proposing amendment), and author a Branch Goal at the same altitude. You do not need to do anything with goals or track here — handoff only creates the branch.
|
|
76
76
|
|
|
77
77
|
## VOICE
|
|
78
78
|
|
|
@@ -94,7 +94,6 @@ docs/
|
|
|
94
94
|
├── trunk/
|
|
95
95
|
├── branches/
|
|
96
96
|
├── project_map.md
|
|
97
|
-
├── map_history.md
|
|
98
97
|
├── bugs.md
|
|
99
98
|
├── decisions.md
|
|
100
99
|
├── key_facts.md
|
|
@@ -113,7 +112,6 @@ For each file, use the Read tool to read the template, then use Write to create
|
|
|
113
112
|
| `references/key_facts_template.md` | `docs/project_notes/key_facts.md` |
|
|
114
113
|
| `references/issues_template.md` | `docs/project_notes/issues.md` |
|
|
115
114
|
| `references/project_map_template.md` | `docs/project_notes/project_map.md` |
|
|
116
|
-
| `references/project_map_history_template.md` | `docs/project_notes/map_history.md` |
|
|
117
115
|
|
|
118
116
|
The project map template is a scaffold — compose and design fill it with real content during the workflow.
|
|
119
117
|
|
|
@@ -133,7 +131,7 @@ The state file uses the Enuncia v11 schema:
|
|
|
133
131
|
"active_context": "trunk",
|
|
134
132
|
"trunk": {
|
|
135
133
|
"status": "none",
|
|
136
|
-
"track":
|
|
134
|
+
"track": null,
|
|
137
135
|
"workflow": {
|
|
138
136
|
"discovery": {
|
|
139
137
|
"started": false,
|
|
@@ -240,7 +238,7 @@ or /intuition-enuncia-start to check project status.
|
|
|
240
238
|
These template files are in the `references/` directory. Use Read tool to access them:
|
|
241
239
|
|
|
242
240
|
**Memory file templates** (Step 2):
|
|
243
|
-
- `bugs_template.md`, `decisions_template.md`, `key_facts_template.md`, `issues_template.md`, `project_map_template.md
|
|
241
|
+
- `bugs_template.md`, `decisions_template.md`, `key_facts_template.md`, `issues_template.md`, `project_map_template.md`
|
|
244
242
|
|
|
245
243
|
**State template** (Step 3):
|
|
246
244
|
- `state_template.json` — Enuncia v11 workflow state
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Project Map
|
|
2
2
|
|
|
3
|
+
_Reflects: scaffold · Reconciled with code: never_
|
|
4
|
+
|
|
5
|
+
<!-- Truth-window line. Every pipeline skill that writes this map updates the "Reflects" half with its phase name and today's date. Verify's Map Integrity Pass sets "Reflects: verified" and stamps "Reconciled with code". Until reconciled, sections below describe the design, not necessarily the running system. -->
|
|
6
|
+
|
|
3
7
|
## Project North Star
|
|
4
8
|
[Populated by trunk discovery. The outcome this project is held to — specific about what "good" looks like, flexible about the how. Every Enuncia skill, on every branch, loads this at activation and checks its output against it before presenting.
|
|
5
9
|
|
|
@@ -44,4 +48,3 @@ Altitude rules for this section:
|
|
|
44
48
|
- Decisions → `docs/project_notes/decisions.md`
|
|
45
49
|
- Config, credentials, URLs → `docs/project_notes/key_facts.md`
|
|
46
50
|
- Work log → `docs/project_notes/issues.md`
|
|
47
|
-
- Map evolution by phase → `docs/project_notes/map_history.md`
|
|
@@ -74,7 +74,7 @@ Default state schema:
|
|
|
74
74
|
"active_context": "trunk",
|
|
75
75
|
"trunk": {
|
|
76
76
|
"status": "none",
|
|
77
|
-
"track":
|
|
77
|
+
"track": null,
|
|
78
78
|
"workflow": {
|
|
79
79
|
"discovery": { "started": false, "completed": false, "completed_at": null },
|
|
80
80
|
"compose": { "started": false, "completed": false, "completed_at": null },
|
|
@@ -163,6 +163,8 @@ Track: [express | full] Where you are: [phase status line]
|
|
|
163
163
|
|
|
164
164
|
Keep it to ~4 lines. Pull only from the map's `## Project North Star`, `## Overview`, and `## Capabilities` headings — never dump the full map. If the map is still the blank scaffold (first_time / pre-compose), skip the summary and give only the status line.
|
|
165
165
|
|
|
166
|
+
Check the map's truth-window line (the `_Reflects: … · Reconciled with code: …_` line under the title). If "Reconciled with code" is "never" or older than the "Reflects" date, append one caveat line to the summary: `(map reflects [phase] — not yet verified against code)`. If the line is absent (older project), say nothing.
|
|
167
|
+
|
|
166
168
|
## STEP 5: ROUTING TABLE
|
|
167
169
|
|
|
168
170
|
| Phase | Status Line | Route |
|
|
@@ -188,13 +190,13 @@ Project Status:
|
|
|
188
190
|
```
|
|
189
191
|
|
|
190
192
|
Use AskUserQuestion:
|
|
191
|
-
- Question: "All current work is complete.
|
|
193
|
+
- Question: "All current work is complete. New work happens on a branch — want to start one?"
|
|
192
194
|
- Header: "Next Step"
|
|
193
|
-
- Options: "Create a new branch" / "
|
|
195
|
+
- Options: "Create a new branch" / "Nothing for now"
|
|
194
196
|
|
|
195
197
|
**If "Create a new branch":** Collect branch name, purpose, and parent via AskUserQuestion. Then route: "Run `/intuition-enuncia-handoff` to register the branch. Pass along: branch name, purpose, parent."
|
|
196
198
|
|
|
197
|
-
**If "
|
|
199
|
+
**If "Nothing for now":** End with the status display. Do NOT offer to restart the pipeline on trunk — trunk's workflow ran once to establish the foundation; everything after completion is branch work so the Project North Star and the map stay coherent.
|
|
198
200
|
|
|
199
201
|
## EDGE CASES
|
|
200
202
|
|
|
@@ -165,7 +165,7 @@ Run the project's toolchain to verify basic code health. Execute in order:
|
|
|
165
165
|
|
|
166
166
|
1. **Type check / lint** (if applicable): `[type check command]`, `[lint command]`
|
|
167
167
|
2. **Build / compile** (if applicable): `[build command]`
|
|
168
|
-
3. **Test suite (if one exists)**: On the full track, design recorded the suite command in `## Operational Foundation`
|
|
168
|
+
3. **Test suite (if one exists)**: On the full track, design recorded the suite command in the map's `## Operational Foundation` (its canonical home — check `key_facts.md` only on older projects) and execute produced `test/*` deliverables — run the FULL suite to catch regressions. On the express track, or any project with no authored tests, there is no suite to run: skip this step and note in the final results that there is no automated regression net. Do NOT hand-write tests here — verify validates, it does not author tests.
|
|
169
169
|
|
|
170
170
|
Also run `mcp__ide__getDiagnostics` to catch IDE-visible issues.
|
|
171
171
|
|
|
@@ -335,7 +335,7 @@ Work through the interaction map methodically, using your Tier 1 browser driver
|
|
|
335
335
|
|
|
336
336
|
#### 8a. Load the Page
|
|
337
337
|
|
|
338
|
-
|
|
338
|
+
Load the page via your browser-control tier — Tier 1 driver navigation, or WebFetch on Tier 2. Analyze what comes back:
|
|
339
339
|
- **Does the page render?** (non-error HTTP status, meaningful HTML content)
|
|
340
340
|
- **Are key elements present?** (navigation, expected headings, expected content sections)
|
|
341
341
|
- **Are there broken references?** (missing images, broken CSS/JS links, 404 resources)
|
|
@@ -425,16 +425,12 @@ If something drifts, flag it: "All interactions work, but [specific concern abou
|
|
|
425
425
|
|
|
426
426
|
Correct the map in place. If reconciliation reveals real architectural drift the user should know about — a capability silently dropped, a connection that never actually worked — surface it in the final results. A quietly wrong map is worse than no map: it's the next session's starting truth.
|
|
427
427
|
|
|
428
|
+
After reconciling, stamp the truth-window line directly under the `# Project Map` title: `_Reflects: verified ([today ISO date]) · Reconciled with code: [today ISO date]_` (add the line if absent). This is the only phase that updates the "Reconciled with code" half — it tells the next session the map was checked against reality, not just written from plans.
|
|
429
|
+
|
|
428
430
|
**Update `docs/project_notes/project_map.md`** if integration or testing revealed anything new — refine `## Capabilities` slices or `## Component Reference` entries. Keep the shape and terseness. **Do not touch `## Project North Star` or `## Branch Goals`.**
|
|
429
431
|
|
|
430
432
|
**Run the GOAL ALIGNMENT → Alignment Check** against the three loaded goals. Any failures must be fixed or explicitly flagged in the final results.
|
|
431
433
|
|
|
432
|
-
**Append a Verify row to `docs/project_notes/map_history.md`** (create from template if missing). On a branch, Step 11 appends the consolidation row instead — do NOT double-log; skip this append on branches. On trunk:
|
|
433
|
-
|
|
434
|
-
| Date | Phase | Branch | Change | Reason |
|
|
435
|
-
|------|-------|--------|--------|--------|
|
|
436
|
-
| [today ISO date] | Verify | trunk | Verified live; map reconciled | [one sentence — what was verified] |
|
|
437
|
-
|
|
438
434
|
### STEP 11: CONSOLIDATE INTO TRUNK ARCHITECTURE (branch mode only)
|
|
439
435
|
|
|
440
436
|
Skip this step on trunk — there's nothing to consolidate.
|
|
@@ -445,13 +441,9 @@ On a branch, before marking the branch complete, consolidate this branch's addit
|
|
|
445
441
|
2. **`## Component Reference`**: Remove any branch markers (e.g., "(school-org branch)", "(new)") from component entries. Components belong to the product, not to the branch that delivered them.
|
|
446
442
|
3. **`## Operational Foundation`**: Fold any branch-specific language into the main prose. If the branch added auth/deployment/tech-stack detail, it's now just the way the system works.
|
|
447
443
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
Append a row to `docs/project_notes/map_history.md` (create from template if missing; migrate any legacy inline `## Map History` out of `project_map.md` if present):
|
|
444
|
+
4. **Coherence pass (map gardening)**: branches add and modify slices one delivery at a time, which fragments `## Capabilities` over the project's life. Check whether this branch's slices substantially overlap an existing capability — if so, merge or rename so the section describes the product's current shape, not its delivery history. Update `## Component Reference` entries and each slice's Components list to match the merged structure. Keep the three-field slice shape and stakeholder-facing phrasing; presence in the map still means in use.
|
|
451
445
|
|
|
452
|
-
|
|
453
|
-
|------|-------|--------|--------|--------|
|
|
454
|
-
| [today ISO date] | Verify | [active_context] | Consolidated into trunk | [one sentence — what this branch delivered] |
|
|
446
|
+
Do not touch `## Project North Star`. Leave `## Branch Goals` alone — the historical record of what each branch was for stays put; it's small and explains why slices exist.
|
|
455
447
|
|
|
456
448
|
### STEP 12: EXIT
|
|
457
449
|
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
# Project Map History
|
|
2
|
-
|
|
3
|
-
Phase-by-phase log of how the project architecture evolved. Split from `project_map.md` so the map stays oriented on current architecture — this file is the time-series log that grows forever.
|
|
4
|
-
|
|
5
|
-
Append one row per phase completion (discovery, compose, design, execute, verify, or a branch consolidation). Do NOT rewrite existing rows.
|
|
6
|
-
|
|
7
|
-
| Date | Phase | Branch | Change | Reason |
|
|
8
|
-
|------|-------|--------|--------|--------|
|