@nusoft/nuos-build-catalogue 0.23.0 → 0.24.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/dist/commands/init.js
CHANGED
|
@@ -43,6 +43,7 @@ const PROTOCOL_FILES = [
|
|
|
43
43
|
'plan-uiux.md',
|
|
44
44
|
'plan-maps.md',
|
|
45
45
|
'plan-initial-wu.md',
|
|
46
|
+
'plan-review.md',
|
|
46
47
|
'build-wu.md',
|
|
47
48
|
];
|
|
48
49
|
/**
|
|
@@ -60,6 +61,7 @@ const PROTOCOL_DESCRIPTIONS = {
|
|
|
60
61
|
'plan-uiux': 'Phase C of planning — enumerate every surface and build the complete design system',
|
|
61
62
|
'plan-maps': 'Phase D of planning — map the journey from here to done with phases and near-term plan',
|
|
62
63
|
'plan-initial-wu': 'Phase E of planning — file the first 5–10 work units ordered by dependency',
|
|
64
|
+
'plan-review': 'End-to-end planning review — surfaces gaps, inconsistencies, and optimisations before building starts',
|
|
63
65
|
'build-wu': 'Orchestrate a swarm of agents to build one work unit end-to-end',
|
|
64
66
|
};
|
|
65
67
|
const TOOLS = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nusoft/nuos-build-catalogue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.0",
|
|
4
4
|
"description": "NuOS build-catalogue tooling: semantic search (WU 110) + migration runner that lifts markdown artefacts into JSON-backed workflow records (WU 111, Phase G).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -53,10 +53,22 @@ Update each work unit file with its dependency links. Update `docs/build/work-un
|
|
|
53
53
|
|
|
54
54
|
If multiple work units have no dependencies, pick the one that unblocks the most. Mark that one `🟡 in flight`; leave the others `🔵 proposed` with a note that they can start in parallel.
|
|
55
55
|
|
|
56
|
-
## Step 4 —
|
|
56
|
+
## Step 4 — Run the planning arc review (required before closing)
|
|
57
|
+
|
|
58
|
+
Before Phase E can close, run the full planning arc review. This is not optional.
|
|
59
|
+
|
|
60
|
+
**Invoke `/plan-review`** (or read `.claude/commands/plan-review.md` and follow it). The review agent reads every artefact in the catalogue, then surfaces what's missing, unclear, inconsistent, or improvable — before a single line of code is written.
|
|
61
|
+
|
|
62
|
+
Do not proceed to Step 5 until:
|
|
63
|
+
- All blocker findings are fixed or explicitly escalated to the operator
|
|
64
|
+
- All other findings are either fixed, filed as open questions, or deferred with a stated reason
|
|
65
|
+
|
|
66
|
+
The review typically takes 10–20 minutes. It is the difference between a catalogue an agent can build against coherently and one that produces drift from the first spawn.
|
|
67
|
+
|
|
68
|
+
## Step 5 — Close
|
|
57
69
|
|
|
58
70
|
Update STATE.md:
|
|
59
|
-
- Phase E row → `✅ complete (YYYY-MM-DD)`
|
|
71
|
+
- Phase E row → `✅ complete (YYYY-MM-DD)` (only after `plan-review` has completed)
|
|
60
72
|
- "Active work unit" → the first `🟡 in flight` work unit handle and title
|
|
61
73
|
- "What is currently in flight" → one sentence describing what the swarm will tackle first
|
|
62
74
|
- Refresh "Last updated"
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# plan-review
|
|
2
|
+
|
|
3
|
+
You are running the **planning arc review** — a full end-to-end audit of everything the planning arc produced before a single line of code is written.
|
|
4
|
+
|
|
5
|
+
This runs automatically at the end of Phase E. It can also be invoked at any point mid-project (e.g. after a significant pivot, after adding a new persona, or when something feels off) with `/plan-review`.
|
|
6
|
+
|
|
7
|
+
By the end of this protocol:
|
|
8
|
+
|
|
9
|
+
- Every gap, ambiguity, inconsistency, and optimisation opportunity in the planning catalogue has been surfaced
|
|
10
|
+
- Each finding is either fixed immediately, filed as a Q-NNN open question, or explicitly deferred with a reason
|
|
11
|
+
- The operator has confirmed the catalogue is complete enough to build against
|
|
12
|
+
- Nothing unclear is hiding in the planning artefacts where an agent will silently make a wrong assumption
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Step 1 — Read the entire catalogue (do not skip anything)
|
|
17
|
+
|
|
18
|
+
Before spawning the review agent, read every artefact produced by the planning arc:
|
|
19
|
+
|
|
20
|
+
- `methodfile.json` — project metadata, tech stack, planning state
|
|
21
|
+
- `docs/build/STATE.md` — current snapshot
|
|
22
|
+
- All files in `docs/build/personas/` (not just `_index.md` — every persona file)
|
|
23
|
+
- All files in `docs/build/architecture/`
|
|
24
|
+
- All files in `docs/build/contracts/`
|
|
25
|
+
- All files in `docs/build/ui-ux/`
|
|
26
|
+
- All files in `docs/build/design-system/` (tokens, components, patterns, voice, accessibility)
|
|
27
|
+
- All files in `docs/build/maps/`
|
|
28
|
+
- All files in `docs/build/work-units/`
|
|
29
|
+
- All files in `docs/build/decisions/`
|
|
30
|
+
- `docs/build/open-questions/_index.md`
|
|
31
|
+
- `docs/build/risks/_index.md`
|
|
32
|
+
|
|
33
|
+
Also run the cross-agent memory search for any prior findings about this project:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
nuos-catalogue memory search --query="planning gaps"
|
|
37
|
+
nuos-catalogue memory search --query="open questions"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Step 2 — Spawn the review agent
|
|
41
|
+
|
|
42
|
+
Spawn an **architect** agent (Opus) with this exact brief:
|
|
43
|
+
|
|
44
|
+
> You are reviewing the complete planning catalogue for **[project name]** before any implementation begins. Your job is to find what's missing, unclear, inconsistent, or improvable — so the agents that build this project have a complete, coherent brief to work from.
|
|
45
|
+
>
|
|
46
|
+
> Read every artefact provided below (personas, architecture, contracts, UI/UX surfaces, design system, maps, work units, decisions, open questions).
|
|
47
|
+
>
|
|
48
|
+
> Then run end to end through the entire project planning. Consider:
|
|
49
|
+
> - **User journeys**: does the catalogue trace every complete path a user takes through the product? Are any paths incomplete, ambiguous, or contradictory?
|
|
50
|
+
> - **Expectations and pain points**: do the personas clearly describe what users expect and what frustrates them? Would an agent reading these personas build something the real user would recognise?
|
|
51
|
+
> - **Expected outcomes**: for each work unit, is the outcome unambiguous? Could two different agents read the same work unit and produce different things?
|
|
52
|
+
> - **User experience**: does the design system actually govern the surfaces? Do the surfaces reference components that exist? Are there surfaces with no clear design language?
|
|
53
|
+
> - **Every route**: are there user paths implied by the architecture that have no corresponding surface? Are there surfaces with no clear entry point?
|
|
54
|
+
> - **Every journey**: does every persona have at least one complete journey through the product — from entry to outcome?
|
|
55
|
+
> - **Every reason this tool will be used**: have all use cases been captured? Are there obvious use cases implied by the personas that have no work units?
|
|
56
|
+
> - **Cross-artefact consistency**: do contracts match what modules claim to provide? Do work units reference personas and modules that exist? Do surfaces reference design-system components that are filed?
|
|
57
|
+
>
|
|
58
|
+
> Return your findings structured as four lists:
|
|
59
|
+
>
|
|
60
|
+
> **MISSING** — things the catalogue should contain but doesn't (e.g. a surface with no empty state, a persona with no journey, a module with no contract)
|
|
61
|
+
>
|
|
62
|
+
> **UNCLEAR** — things that are present but need more definition before an agent can act on them (e.g. an acceptance criterion that isn't binary, a design token with no stated value, a contract that says "appropriate response" without defining what appropriate means)
|
|
63
|
+
>
|
|
64
|
+
> **GAPS** — inconsistencies between artefacts (e.g. a work unit that consumes a contract that doesn't exist, a surface that uses a colour token not in the design system, an architecture module that nothing depends on and nothing depends on it)
|
|
65
|
+
>
|
|
66
|
+
> **OPTIMISE** — things that are present and correct but could be improved to produce better agent output (e.g. a persona that has seven dimensions but no acid-test scenario, a work unit with three acceptance criteria where five would give the tester better coverage, a map phase with no verification gate)
|
|
67
|
+
>
|
|
68
|
+
> For each finding: state what it is, which artefact it's in, and what specifically needs to change or be added. Be precise — vague findings produce vague fixes.
|
|
69
|
+
|
|
70
|
+
Pass the full contents of every artefact as context. Do not summarise the artefacts — pass the full text.
|
|
71
|
+
|
|
72
|
+
## Step 3 — Triage the findings with the operator
|
|
73
|
+
|
|
74
|
+
When the review agent returns, surface the findings in plain English grouped by list. For each finding:
|
|
75
|
+
|
|
76
|
+
1. Read it to the operator in plain language
|
|
77
|
+
2. Ask: *"Fix it now, file it as an open question to address before we build, or defer it with a reason?"*
|
|
78
|
+
3. Execute immediately:
|
|
79
|
+
- **Fix now**: make the change to the relevant artefact, show the operator
|
|
80
|
+
- **Open question**: file as Q-NNN in `docs/build/open-questions/`, add to `_index.md`
|
|
81
|
+
- **Defer**: note the reason in the relevant artefact's file (so the next agent to read it knows the gap was seen and deliberately left)
|
|
82
|
+
|
|
83
|
+
Do not let findings disappear into conversation. Every finding must land somewhere in the catalogue before the review closes.
|
|
84
|
+
|
|
85
|
+
If the review agent surfaces more than 10 findings, group them by severity before presenting:
|
|
86
|
+
- **Blockers** (MISSING or GAPS that would cause an agent to build the wrong thing) — address these before any building starts, no exceptions
|
|
87
|
+
- **Non-blockers** (UNCLEAR or OPTIMISE items that would improve quality but don't break the brief) — can be filed as Q-NNN and addressed in the first building sessions
|
|
88
|
+
|
|
89
|
+
## Step 4 — Store the review
|
|
90
|
+
|
|
91
|
+
After all findings are triaged, store a summary in cross-agent memory:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
nuos-catalogue memory store \
|
|
95
|
+
--value="Planning review complete: [N] findings — [N] fixed, [N] filed as open questions, [N] deferred. Key issues: [one sentence summary of the most significant findings]" \
|
|
96
|
+
--agent=coordinator \
|
|
97
|
+
--key="planning-review"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Write a brief review entry to the current session log (it will be captured by `/end-of-session`).
|
|
101
|
+
|
|
102
|
+
## Step 5 — Surface the result to the operator
|
|
103
|
+
|
|
104
|
+
> "Planning review done. Here's what we found:
|
|
105
|
+
>
|
|
106
|
+
> - **[N] blockers** — [summary / "none"]
|
|
107
|
+
> - **[N] clarifications** — [summary / "none"]
|
|
108
|
+
> - **[N] optimisations** — [summary / "none"]
|
|
109
|
+
>
|
|
110
|
+
> [If blockers were fixed]: Fixed [N] things in the catalogue directly.
|
|
111
|
+
> [If open questions were filed]: Filed [N] open questions — these will surface in `/start-of-session` when we start building.
|
|
112
|
+
> [If deferred]: Deferred [N] items — noted in the relevant artefacts.
|
|
113
|
+
>
|
|
114
|
+
> The catalogue is [complete and clear to build against / has [N] open questions that should be resolved in the first session before the swarm starts]."
|
|
115
|
+
|
|
116
|
+
Return control to whatever invoked this protocol (typically `plan-initial-wu`, which will then proceed to close Phase E).
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## If invoked standalone (mid-project)
|
|
121
|
+
|
|
122
|
+
When `/plan-review` is called outside of the planning arc close — e.g. after a significant pivot, after a new persona is added, or when something feels off — run Steps 1–5 above, then:
|
|
123
|
+
|
|
124
|
+
- Do not update planning progress in STATE.md (Phase E may already be complete)
|
|
125
|
+
- Do update STATE.md's "What is currently in flight" and "Last updated"
|
|
126
|
+
- Run `/end-of-session` to commit the findings and any fixes
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## What never to do
|
|
131
|
+
|
|
132
|
+
- **Never skip the full catalogue read.** A review based on summaries misses cross-artefact inconsistencies — which are the most damaging class of gap.
|
|
133
|
+
- **Never let a finding sit in conversation.** If it's not filed or fixed before the review closes, it's lost.
|
|
134
|
+
- **Never block building on OPTIMISE findings.** These are improvements, not prerequisites. File them, continue.
|