@imix-js/taproot 0.7.0 → 0.8.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.
@@ -1 +1 @@
1
- {"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dor-runner.js","sourceRoot":"","sources":["../../src/core/dor-runner.ts"],"names":[],"mappings":"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"}
@@ -28,20 +28,29 @@ export interface Violation {
28
28
  code: string;
29
29
  message: string;
30
30
  }
31
+ export type WhenQualifier = {
32
+ 'source-matches': string;
33
+ };
31
34
  export type DodConditionEntry = string | {
32
35
  run: string;
33
36
  name?: string;
34
37
  correction?: string;
38
+ when?: WhenQualifier;
35
39
  } | {
36
40
  'document-current': string;
41
+ when?: WhenQualifier;
37
42
  } | {
38
43
  'check-if-affected': string;
44
+ when?: WhenQualifier;
39
45
  } | {
40
46
  'check-if-affected-by': string;
47
+ when?: WhenQualifier;
41
48
  } | {
42
49
  'check': string;
50
+ when?: WhenQualifier;
43
51
  } | {
44
52
  'require-discussion-log': boolean;
53
+ when?: WhenQualifier;
45
54
  };
46
55
  export interface TaprootConfig {
47
56
  version: number;
package/docs/agents.md CHANGED
@@ -44,7 +44,10 @@ After `taproot init --agent claude --with-skills`, skills are available as `/tr-
44
44
  | `/tr-refine` | Update a behaviour spec based on post-implementation learnings |
45
45
  | `/tr-promote` | Escalate a finding from implementation or behaviour level up to the intent |
46
46
  | `/tr-analyse-change` | Impact analysis before editing an existing artifact — identifies downstream breakage and related behaviours |
47
- | `/tr-plan` | Surface the next independently-implementable work item from the hierarchy |
47
+ | `/tr-next` | Surface the next independently-implementable work item from the hierarchy |
48
+ | `/tr-plan` | Build a persistent implementation plan (`taproot/plan.md`) from backlog items, hierarchy gaps, or explicit items |
49
+ | `/tr-plan-execute` | Execute items from `taproot/plan.md` — step-by-step, batch, specify (spec+refine only), or implement (implement only) mode |
50
+ | `/tr-plan-analyse` | Analyse `taproot/plan.md` before execution — check readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites |
48
51
  | `/tr-discover` | Reverse-engineer an existing codebase into a taproot hierarchy through structured, interactive discovery |
49
52
  | `/tr-grill-me` | Interview you relentlessly about a plan or design — one decision branch at a time, recommended answer first |
50
53
  | `/tr-research` | Research a domain or technical subject before speccing — scans local resources, searches the web, optionally grills domain experts |
package/docs/cli.md CHANGED
@@ -161,7 +161,7 @@ Regenerates `taproot/OVERVIEW.md` — a compact hierarchy summary with clickable
161
161
  taproot plan [--format tree|json]
162
162
  ```
163
163
 
164
- Surfaces unimplemented behaviours as work items, ordered by priority (intents with more coverage are prioritized to reach completion). Useful for sprint planning or for orienting a new contributor. The `/tr-plan` skill provides an AI-driven version with more context.
164
+ Surfaces unimplemented behaviours as work items, ordered by priority (intents with more coverage are prioritized to reach completion). Useful for sprint planning or for orienting a new contributor. The `/tr-next` skill provides an AI-driven version with more context.
165
165
 
166
166
  ---
167
167
 
@@ -170,12 +170,16 @@ Surfaces unimplemented behaviours as work items, ordered by priority (intents wi
170
170
  ### `taproot dod`
171
171
 
172
172
  ```bash
173
- taproot dod [impl-path] [--dry-run] [--rerun-tests]
173
+ taproot dod [impl-path] [--dry-run] [--rerun-tests] [--stash] [--ignore-dirty]
174
174
  taproot dod <impl-path> --resolve <condition> --note "<text>" [--resolve <condition> --note "<text>" ...]
175
175
  ```
176
176
 
177
177
  Runs all configured DoD conditions from `taproot/settings.yaml` against the specified implementation (or all implementations if no path is given). If all conditions pass and an `impl-path` is provided, marks the impl `complete`, records the results in `## DoD Resolutions`, and automatically advances the parent `usecase.md` state from `specified` to `implemented` if it hasn't been already.
178
178
 
179
+ **Uncommitted changes pre-check:** When an `impl-path` is provided, `taproot dod` first checks `git status` for files modified or untracked that are not listed in the impl's `## Source Files`. If such files are found, it reports them and exits with a non-zero code before running any conditions. This prevents uncommitted out-of-scope changes from polluting the implementation commit. Options:
180
+ - `--stash` — automatically run `git stash` before running DoD; restores with `git stash pop` manually after
181
+ - `--ignore-dirty` — skip the dirty check and run DoD regardless of working tree state
182
+
179
183
  Use `--resolve`/`--note` to record agent resolutions for agent-driven conditions (e.g. `document-current`, `check-if-affected`, `check-if-affected-by`). Multiple pairs can be supplied in a single invocation — conditions are paired with notes by position.
180
184
 
181
185
  Use `--rerun-tests` to force re-execution of `testsCommand` regardless of any cached result. Requires `<impl-path>`.
@@ -73,6 +73,30 @@ The `definitionOfDone` list controls what `taproot dod` checks and what the pre-
73
73
  | `check: <free-form question>` | Agent-verified: the agent reads the question, reasons whether the answer is yes, no, or not applicable for this specific implementation, and takes any indicated action (e.g. adds an entry to `taproot/settings.yaml`, documents a new pattern). The two default entries in `taproot/settings.yaml` cover the most common meta-questions. |
74
74
  | `run: <command>` | Custom shell command. Exit 0 = pass, any other exit code = fail. |
75
75
 
76
+ ### Scoping conditions with `when:`
77
+
78
+ Any condition can be scoped to run only when the implementation's `## Source Files` list contains a file matching a glob pattern:
79
+
80
+ ```yaml
81
+ definitionOfDone:
82
+ - check-if-affected-by: skill-architecture/context-engineering
83
+ when:
84
+ source-matches: "skills/*.md"
85
+ - check-if-affected-by: api-design/rest-conventions
86
+ when:
87
+ source-matches: "src/api/**/*.ts"
88
+ ```
89
+
90
+ When `taproot dod` runs for an impl:
91
+
92
+ - If any source file path listed in `## Source Files` matches the glob → the condition runs normally.
93
+ - If no source file matches → the condition is auto-resolved as `not applicable — no source files match \`<glob>\`` without requiring agent work.
94
+ - If the impl has no `## Source Files` section → all scoped conditions are auto-resolved as `not applicable — impl has no ## Source Files section`.
95
+
96
+ Glob syntax: `*` matches any characters except `/`; `**` matches across directory separators. A malformed `when:` qualifier (any key other than `source-matches`) produces a parse error result for that condition.
97
+
98
+ The primary use case is conditions that apply only to a specific implementation type — e.g. skill files, API handlers, CLI commands — to avoid repetitive "not applicable" resolutions across all other impls.
99
+
76
100
  You can give any condition a custom name with `name: <label>`, which is used in DoD reports:
77
101
 
78
102
  ```yaml
package/docs/patterns.md CHANGED
@@ -48,6 +48,38 @@ When the DoD runner encounters this condition, it instructs the agent to:
48
48
 
49
49
  ---
50
50
 
51
+ ## Scoped conditions (`when: source-matches:`)
52
+
53
+ **Problem:** A cross-cutting condition is relevant only to specific implementation types — for example, a skill-file style guide applies only to impls whose `## Source Files` include `skills/*.md`. Without scoping, every other implementation in the project must record a repetitive "not applicable" resolution, adding noise to DoD runs.
54
+
55
+ **Pattern:** Add a `when: source-matches: "<glob>"` qualifier to any condition in `definitionOfDone` or `definitionOfReady`.
56
+
57
+ ```yaml
58
+ definitionOfDone:
59
+ - check-if-affected-by: skill-architecture/context-engineering
60
+ when:
61
+ source-matches: "skills/*.md"
62
+ - check-if-affected-by: api-design/rest-conventions
63
+ when:
64
+ source-matches: "src/api/**/*.ts"
65
+ ```
66
+
67
+ The glob is matched against the paths listed in the impl's `## Source Files` section:
68
+ - **Match** → condition runs exactly as if no `when:` qualifier were present
69
+ - **No match** → condition is auto-resolved as `not applicable — no source files match \`<glob>\`` with no agent work
70
+ - **No `## Source Files` section** → all scoped conditions auto-resolve as `not applicable — impl has no ## Source Files section`
71
+
72
+ **When to use it:**
73
+ - The condition only makes sense for a specific implementation type (skill files, API handlers, CLI commands)
74
+ - You have multiple implementation types sharing the same settings.yaml, and most are not affected by the condition
75
+ - The manual "not applicable" resolutions are adding noise without value
76
+
77
+ **Glob syntax:** `*` matches any characters except `/`; `**` matches across directory separators. Same conventions as `.gitignore`.
78
+
79
+ **Limitation:** Scoping is based on listed source file paths — it does not read the files themselves. If an impl omits a file from `## Source Files`, that file is not considered for matching.
80
+
81
+ ---
82
+
51
83
  ## Specific file impact tracking (`check-if-affected`)
52
84
 
53
85
  **Problem:** Certain files need manual review whenever the codebase changes — a docs index, a CLI help text, a skill guide. You want the DoD to prompt the implementer to check them, without making the check fully automated.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imix-js/taproot",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "AI-driven specs, enforced at commit time. Code without traceability doesn't merge.",
5
5
  "type": "module",
6
6
  "bin": {
package/skills/backlog.md CHANGED
@@ -14,14 +14,14 @@ Capture ideas, findings, and deferred work mid-session with a single command —
14
14
 
15
15
  1. Detect that an argument was provided.
16
16
  2. If the argument is blank or whitespace only: warn *"Nothing to capture — provide a description."* and stop.
17
- 3. Create `taproot/agent/backlog.md` if absent. Append the item:
17
+ 3. Create `taproot/backlog.md` if absent. Append the item:
18
18
  `- [YYYY-MM-DD] <idea>` using today's date.
19
19
  4. Confirm in one line: *"✓ Captured: <idea>"*
20
20
  No follow-up response required from the developer — the session continues.
21
21
 
22
22
  ### Triage mode (no argument)
23
23
 
24
- 1. Read `taproot/agent/backlog.md`.
24
+ 1. Read `taproot/backlog.md`.
25
25
  - If absent or contains no standard items: report *"Backlog is empty. Use `/tr-backlog <idea>` to capture something."* and stop.
26
26
 
27
27
  2. Present all standard items as a numbered list (FIFO order, oldest first):
@@ -36,8 +36,8 @@ Capture ideas, findings, and deferred work mid-session with a single command —
36
36
  3. Offer: `D <n>` discard · `P <n>` promote to /tr-ineed · `A <n>` analyze · `done` finish
37
37
 
38
38
  4. Accept commands one at a time:
39
- - **`D <n>`** — remove item n from `taproot/agent/backlog.md`. Confirm: *"✓ Discarded #n"*. Redisplay the updated numbered list.
40
- - **`P <n>` promote to /tr-ineed** — remove item n from `taproot/agent/backlog.md`. Invoke `/tr-ineed` with the item text. On return, redisplay the updated numbered list.
39
+ - **`D <n>`** — remove item n from `taproot/backlog.md`. Confirm: *"✓ Discarded #n"*. Redisplay the updated numbered list.
40
+ - **`P <n>` promote to /tr-ineed** — remove item n from `taproot/backlog.md`. Invoke `/tr-ineed` with the item text. On return, redisplay the updated numbered list.
41
41
  - **`A <n>` analyze** — produce a structured analysis of the item:
42
42
  - A short description of what the item is or could be (2–4 sentences)
43
43
  - A complexity signal: **simple** / **moderate** / **significant**
@@ -46,7 +46,7 @@ Capture ideas, findings, and deferred work mid-session with a single command —
46
46
  - **`done`** — end triage. Items not acted on are kept implicitly.
47
47
 
48
48
  5. After `done`: *"Triage complete — X discarded, Y promoted, Z kept."*
49
- If any non-standard lines were skipped: *"Skipped N non-standard line(s) — they remain in `taproot/agent/backlog.md`."*
49
+ If any non-standard lines were skipped: *"Skipped N non-standard line(s) — they remain in `taproot/backlog.md`."*
50
50
 
51
51
  If the developer exits without `done`: unprocessed items remain unchanged. If any actions were taken, show the summary; otherwise continue naturally.
52
52
 
@@ -60,7 +60,7 @@ Capture ideas, findings, and deferred work mid-session with a single command —
60
60
 
61
61
  ## Output
62
62
 
63
- **Capture:** item written to `taproot/agent/backlog.md`, one-line confirmation.
63
+ **Capture:** item written to `taproot/backlog.md`, one-line confirmation.
64
64
  **Triage:** backlog updated in place; promoted items handed to `/tr-ineed`; completion summary shown.
65
65
 
66
66
  ## CLI Dependencies
@@ -73,4 +73,4 @@ None.
73
73
  - Item format: `- [YYYY-MM-DD] <text>`. Items are presented FIFO (oldest first) during triage.
74
74
  - Items promoted via `[P]` are removed from the backlog before `/tr-ineed` is invoked. If the developer abandons the `/tr-ineed` discovery, re-capture the item with `/tr-backlog <idea>`.
75
75
  - This is a scratchpad, not a project management tool — no priority, labels, or status tracking.
76
- - Storage is `taproot/agent/backlog.md` — a committed markdown file inside the taproot config directory, versioned with the project.
76
+ - Storage is `taproot/backlog.md` — a committed markdown file inside the taproot config directory, versioned with the project.
package/skills/commit.md CHANGED
@@ -55,6 +55,20 @@ Execute the full commit procedure: classify the commit type, run the appropriate
55
55
  taproot dod <impl-path> --resolve "<exact-condition-name>" --note "<reasoning>"
56
56
  ```
57
57
  **One condition per invocation.** Do not pass multiple `--resolve` flags.
58
+
59
+ **`document-current` resolution — mandatory steps:**
60
+ 1. Read `docs/` and `README.md` content (the actual text, not inferred state)
61
+ 2. Read the git diff for this implementation to identify what changed
62
+ 3. Compare: are the docs accurate and current relative to what was just implemented?
63
+ 4. If stale sections are found: apply updates directly, then resolve
64
+ 5. If docs are current: resolve with a note describing what you read and why no update is needed
65
+
66
+ **Prohibited resolutions for `document-current`:**
67
+ - "nothing in backlog → docs are fine"
68
+ - "impl.md says complete → docs must be current"
69
+ - "no related backlog items → no doc update needed"
70
+ - Any resolution that does not involve reading `docs/` content and comparing it to the git diff
71
+
58
72
  c. Re-run `taproot dod <impl-path>` after each resolution to check remaining failures
59
73
  d. Repeat until all conditions pass. If a condition remains `✗` after its `--resolve` invocation, stop immediately: "Cannot resolve `<condition>` — it requires: `<correction hint>`." Wait for the user to intervene.
60
74
 
@@ -72,7 +86,20 @@ Execute the full commit procedure: classify the commit type, run the appropriate
72
86
  Wait for the developer's choice. Do not proceed to step 5 until resolved.
73
87
  e. If no conflicts (or all resolved): run `taproot truth-sign` to record the session marker the hook validates.
74
88
 
75
- 5. Stage source files + all matched impl.md files and commit with a concise one-line message.
89
+ 5. **Suggest commit tag** derive the conventional tag from the matched impl.md paths:
90
+ - For each matched `impl.md`, extract the relative path between `taproot/specs/` and `/impl.md` → `<intent>/<behaviour>/<impl>`
91
+ - If the developer has already supplied a commit message that starts with a recognised prefix (`taproot(`, `fix:`, `feat:`, `chore:`, `refine:`, `spec:`, `build:`, `docs:`): use it as-is — do not suggest or prepend anything
92
+ - If all matched impl.md files share the same `<intent>/<behaviour>` prefix:
93
+ - Single impl: suggest `taproot(<intent>/<behaviour>/<impl>):`
94
+ - Multiple impls under the same behaviour: suggest `taproot(<intent>/<behaviour>):`
95
+ - If matched impl.md files span two or more distinct `<intent>/<behaviour>` paths:
96
+ - Report: *"Staged files span multiple behaviours: `<path-1>`, `<path-2>`. Suggested: commit them separately, one per behaviour, to keep commit history traceable."*
97
+ - Offer: `[A] Commit all together (no single tag) [B] Split — commit one behaviour at a time`
98
+ - `[B]`: stage only the first behaviour's files, apply its tag, commit; then repeat for the remainder
99
+ - If an impl.md path does not match `taproot/specs/<intent>/<behaviour>/<impl>/impl.md`, skip the tag suggestion for that file and note: *"Could not derive tag from `<path>` — path layout unexpected."*
100
+ - Present: `Suggested commit tag: taproot(<path>):`
101
+
102
+ 6. Stage source files + all matched impl.md files and commit with the suggested tag prefix (or the developer-supplied message).
76
103
 
77
104
  ### Declaration commit
78
105
 
@@ -124,6 +151,15 @@ Execute the full commit procedure: classify the commit type, run the appropriate
124
151
 
125
152
  6. After committing, run `taproot link-commits --path <taproot-root>` if any impl.md files were staged, to update their `## Commits` sections.
126
153
 
154
+ 7. Offer contextual What's next options based on the commit type:
155
+ - **[A] Continue plan** — only if `taproot/plan.md` exists and contains `pending` items: invoke `/tr-plan-execute`
156
+ - **[B] Implement next** — only for requirement or declaration commits: prompt `Which behaviour should I implement next?` then invoke `/tr-implement <path>`
157
+ - **[C] Check backlog** — open `.taproot/backlog.md` to review deferred ideas and captured findings
158
+ - **[D] Check coverage** — `/tr-status` to review hierarchy health
159
+ - **[E] Done** — no further action
160
+
161
+ Omit [A] if no plan exists or no pending items remain. Omit [B] after implementation and plain commits. Developer may ignore the prompt silently.
162
+
127
163
  ## Output
128
164
 
129
165
  A clean commit where the pre-commit hook passes on the first attempt. All conditions resolved with written rationale before staging.
@@ -15,10 +15,17 @@ Before following any steps, check whether autonomous mode is active:
15
15
  - `--autonomous` was passed as an argument to this skill invocation, **or**
16
16
  - `taproot/settings.yaml` contains `autonomous: true`
17
17
 
18
- If any of these is true, **autonomous mode is active** — skip interactive prompts and defer all candidates to `taproot/agent/backlog.md` as "truth candidate: `<term>`" entries, then report the summary.
18
+ If any of these is true, **autonomous mode is active** — skip interactive prompts and defer all candidates to `taproot/backlog.md` as "truth candidate: `<term>`" entries, then report the summary.
19
19
 
20
20
  ## Steps
21
21
 
22
+ ### Phase 0 — Resume Check
23
+
24
+ 1a. Check for `.taproot/sessions/discover-truths-status.md`. If found, present:
25
+ > "A previous session exists (N processed, M remaining). [A] Resume [R] Restart"
26
+ - **[A] Resume**: load the status file, skip already-processed candidates, and continue from the first unprocessed `[ ]` entry. Proceed directly to Phase 4 using the stored candidate list.
27
+ - **[R] Restart**: overwrite the status file from scratch and run the full flow from Phase 1.
28
+
22
29
  ### Phase 1 — Pre-flight
23
30
 
24
31
  1. Verify `taproot/global-truths/` exists. If not, stop:
@@ -31,7 +38,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
31
38
 
32
39
  3. Read all files in `taproot/global-truths/` (excluding `intent.md` and subdirectory `usecase.md` files — truth files are files that are NOT named `intent.md` or `usecase.md`). Collect defined terms and rules from them.
33
40
 
34
- 4. Read `taproot/agent/backlog.md` if it exists. Extract all lines matching `reviewed — not a truth: <term>` — these are permanently dismissed candidates. Build a suppression list from them.
41
+ 4. Read `taproot/backlog.md` if it exists. Extract all lines matching `reviewed — not a truth: <term>` — these are permanently dismissed candidates. Build a suppression list from them.
35
42
 
36
43
  ### Phase 3 — Identify Candidates
37
44
 
@@ -59,9 +66,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
59
66
 
60
67
  ### Phase 4 — Present Candidates
61
68
 
62
- 7. Group remaining candidates by category. If more than 10 total, present in batches of 5. After each batch, ask: "[C] Continue to next batch [D] Done — stop here".
63
-
64
- For each candidate, present:
69
+ 7. Present candidates **one at a time**. For each candidate:
65
70
  ```
66
71
  Candidate: `<term or rule>`
67
72
  Category: <recurring term | business rule | implicit convention>
@@ -76,9 +81,10 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
76
81
 
77
82
  **Autonomous mode:** defer all candidates to backlog as "truth candidate: `<term>`" and skip to Phase 5.
78
83
 
79
- 8. Handle each developer choice:
84
+ 8. Handle each developer choice. **After each response**, write progress to `.taproot/sessions/discover-truths-status.md` before moving to the next candidate (format: checklist of all candidates with `[x]`/`[ ]` markers, counts of promoted/skipped/backlogged/dismissed so far):
80
85
 
81
86
  **Promote [P]:**
87
+ - Mark candidate `[x promoted]` in the status file
82
88
  - Invoke `/tr-ineed` with the candidate term, proposed scope, and evidence pre-populated as context
83
89
  - If `/tr-ineed` routes to a location other than `define-truth`, surface the routing decision:
84
90
  > "This candidate was routed to `<location>`. [A] Accept routing [B] Override — invoke define-truth directly"
@@ -86,22 +92,30 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
86
92
  - After `/tr-ineed` completes (or is abandoned), return to the candidate list
87
93
 
88
94
  **Skip [S]:**
89
- - No record written; candidate reappears on next discovery run
95
+ - Mark candidate `[x skipped]` in the status file
96
+ - No record written to backlog; candidate reappears on next discovery run
90
97
 
91
98
  **Backlog [B]:**
92
- - Append to `taproot/agent/backlog.md`: `- [YYYY-MM-DD] truth candidate: <term>`
99
+ - Mark candidate `[x backlogged]` in the status file
100
+ - Append to `taproot/backlog.md`: `- [YYYY-MM-DD] truth candidate: <term>`
93
101
  - Move to next candidate
94
102
 
95
103
  **Dismiss [D]:**
96
- - Append to `taproot/agent/backlog.md`: `- [YYYY-MM-DD] reviewed not a truth: <term>`
104
+ - Mark candidate `[x dismissed]` in the status file
105
+ - Append to `taproot/backlog.md`: `- [YYYY-MM-DD] reviewed — not a truth: <term>`
97
106
  - This entry suppresses the candidate on all future discovery runs
98
107
  - Move to next candidate
99
108
 
109
+ **Developer ends session early:**
110
+ - Current state is already persisted in `.taproot/sessions/discover-truths-status.md`
111
+ - Developer can resume by re-invoking `/tr-discover-truths` and selecting [A] Resume
112
+
100
113
  ### Phase 5 — Wrap Up
101
114
 
102
115
  9. Report:
103
116
  > "Discovery complete — N promoted, N skipped, N backlogged, N dismissed[, N remaining]."
104
117
  > (Include "N remaining" only if the developer ended the session early.)
118
+ Delete `.taproot/sessions/discover-truths-status.md` (clean completion — no resume needed).
105
119
 
106
120
  > 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
107
121
 
@@ -113,7 +127,7 @@ If any of these is true, **autonomous mode is active** — skip interactive prom
113
127
  ## Output
114
128
 
115
129
  - Zero or more truth files created in `taproot/global-truths/` (via `/tr-ineed` → define-truth)
116
- - `taproot/agent/backlog.md` updated with any backlogged or dismissed candidates
130
+ - `taproot/backlog.md` updated with any backlogged or dismissed candidates
117
131
  - Summary report: N promoted, N skipped, N backlogged, N dismissed
118
132
 
119
133
  ## CLI Dependencies
@@ -125,5 +139,5 @@ None.
125
139
  - Truth files in `taproot/global-truths/` are any files that are NOT named `intent.md` or `usecase.md`. They may have any name (e.g. `glossary.md`, `pricing-rules.md`, `entity-model.md`).
126
140
  - "Recurring" means 2 or more specs — not just repeated within a single spec.
127
141
  - Skip generic language-level words ("the", "a", "is", "not") and taproot structural terms ("intent", "behaviour", "usecase", "implementation") — these are not domain truths.
128
- - Dismissed entries in `taproot/agent/backlog.md` are matched by the literal string "reviewed — not a truth: `<term>`" — the suppression logic is substring-match on the candidate term.
142
+ - Dismissed entries in `taproot/backlog.md` are matched by the literal string "reviewed — not a truth: `<term>`" — the suppression logic is substring-match on the candidate term.
129
143
  - This skill is read-only on the hierarchy — it never modifies `intent.md` or `usecase.md` files directly.
@@ -241,7 +241,7 @@ Reverse-engineer an existing project into a taproot hierarchy — from source co
241
241
 
242
242
  **What's next?**
243
243
  [A] `/tr-status` — see coverage gaps and health report
244
- [B] `/tr-plan` — surface the next behaviour to implement
244
+ [B] `/tr-next` — surface the next behaviour to implement
245
245
  [C] `/tr-ineed` — capture requirements that surfaced during discovery but weren't formalised
246
246
 
247
247
  ## Output
package/skills/guide.md CHANGED
@@ -62,6 +62,10 @@ ineed → intent → behaviour → implement → trace → status
62
62
  | `/tr-backlog` | Capture an idea or finding instantly mid-session; called with no args opens triage to discard, keep, or promote items |
63
63
  | `/tr-grill-me` | Interview the user relentlessly to sharpen a plan or design |
64
64
  | `/tr-research` | Research a domain or technical subject before speccing — local resources, web search, expert grilling |
65
+ | `/tr-next` | Surface the next independently-implementable work item from the hierarchy |
66
+ | `/tr-plan` | Build a persistent implementation plan (`taproot/plan.md`) from backlog items, hierarchy gaps, or explicit items |
67
+ | `/tr-plan-execute` | Execute items from `taproot/plan.md` — step-by-step, batch, specify (spec+refine only), or implement (implement only) mode |
68
+ | `/tr-plan-analyse` | Analyse `taproot/plan.md` before execution — check readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites |
65
69
  | `/tr-sweep` | Apply a uniform task to a filtered set of hierarchy files — enumerate, confirm, then call `taproot apply` |
66
70
  | `/tr-commit` | Execute the full commit procedure: classify type, run proactive gates, resolve DoD/DoR conditions, stage, and commit |
67
71
  | `/tr-refine` | Update a behaviour spec based on implementation learnings |
@@ -107,7 +111,7 @@ ineed → intent → behaviour → implement → trace → status
107
111
  **What's next?**
108
112
  [A] `/tr-ineed` — capture your first (or next) requirement
109
113
  [B] `/tr-status` — see the current project health at a glance
110
- [C] `/tr-backlog` — triage captured ideas (only if `taproot/agent/backlog.md` is non-empty)
114
+ [C] `/tr-backlog` — triage captured ideas (only if `taproot/backlog.md` is non-empty)
111
115
 
112
116
  ## Output
113
117
 
@@ -146,7 +146,7 @@ If any of these is true, **autonomous mode is active** — apply the autonomous
146
146
  > 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
147
147
 
148
148
  **What's next?**
149
- [A] `/tr-plan` — surface the next implementable behaviour
149
+ [A] `/tr-next` — surface the next implementable behaviour
150
150
  [B] `/tr-status` — see full project health after this implementation
151
151
 
152
152
  ## Output
package/skills/next.md ADDED
@@ -0,0 +1,63 @@
1
+ # Skill: plan
2
+
3
+ ## Description
4
+
5
+ Surface the next independently-implementable work item from the requirement hierarchy. Runs `taproot plan` to scan and classify candidates as AFK (agent can proceed autonomously) or HITL (human input required), presents the recommended next slice, and delegates to `/tr-implement` once the developer confirms.
6
+
7
+ ## Inputs
8
+
9
+ - `path` (optional): Behaviour path to implement directly — skips discovery and goes straight to `/tr-implement`.
10
+
11
+ ## Steps
12
+
13
+ 1. **If a path was provided**: skip to Step 5 and invoke `/tr-implement <path>` directly.
14
+
15
+ 2. Run `taproot plan` and read the output. It lists:
16
+ - **AFK** candidates: behaviours with `specified` state, ready to implement autonomously
17
+ - **HITL** candidates: behaviours with `proposed` state, needing human review first
18
+ - **In-progress** implementations: partially-implemented behaviours that can be resumed
19
+
20
+ 3. If no candidates are found (all behaviours fully implemented), report: "Everything is implemented."
21
+
22
+ Nothing obvious next — whenever you're ready:
23
+
24
+ > 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
25
+
26
+ **What's next?**
27
+ [A] `/tr-review-all` — semantic review of the full hierarchy
28
+ [B] `/tr-ineed` — capture a new requirement
29
+
30
+ Then stop.
31
+
32
+ 4. Recommend the top AFK candidate (first in the sorted output). Present it as:
33
+ > "Next recommended slice: **`<behaviour-path>`** (`<intent goal>`)"
34
+ > "Classification: AFK — spec is complete, no design decisions required."
35
+ > "To implement: `/tr-implement taproot/<behaviour-path>/`"
36
+ >
37
+ > **[Y]** Implement this **[L]** Show full list **[S]** Skip to a different behaviour
38
+
39
+ - **[Y]**: proceed to Step 5
40
+ - **[L]**: display the full `taproot plan` output, then ask the developer to pick a behaviour path, then proceed to Step 5
41
+ - **[S]**: ask "Which behaviour path would you like to implement?" then proceed to Step 5
42
+
43
+ 5. If the top candidate is HITL (no AFK candidates exist), flag it:
44
+ > "The next unimplemented behaviour is HITL — the spec needs clarification before an agent can proceed autonomously."
45
+ > "Behaviour: `<path>`"
46
+
47
+ **Next:** `/tr-refine taproot/<path>/` — sharpen the spec, then return here
48
+
49
+ 6. Invoke `/tr-implement taproot/<behaviour-path>/` with the confirmed path.
50
+
51
+ ## Output
52
+
53
+ Delegates to `/tr-implement`. No files are written directly by this skill.
54
+
55
+ ## CLI Dependencies
56
+
57
+ - `taproot plan`
58
+
59
+ ## Notes
60
+
61
+ - AFK/HITL classification is determined by the `taproot plan` command using the behaviour's `usecase.md` state as a proxy: `specified` → AFK, `proposed` → HITL.
62
+ - This skill is the conversational wrapper around `taproot plan` — it adds selection, confirmation, and delegation logic that the CLI command cannot provide.
63
+ - `/tr-next` is the Claude Code adapter command name for this skill.
@@ -0,0 +1,81 @@
1
+ # Skill: plan-analyse
2
+
3
+ ## Description
4
+
5
+ Analyse `taproot/plan.md` before execution: check each pending item for readiness, flag ambiguous specs, unresolved dependencies, and missing prerequisites, and produce a per-item report so the developer knows what needs fixing before executing.
6
+
7
+ ## Inputs
8
+
9
+ None required.
10
+
11
+ ## Steps
12
+
13
+ 1. **Check for plan.** If `taproot/plan.md` does not exist, report:
14
+ > *"No plan found — build one first with `/tr-plan`."*
15
+ Stop.
16
+
17
+ 2. **Read `taproot/plan.md`.** Collect all items. If no `pending` items exist, report:
18
+ > *"No pending items to analyse."*
19
+ Suggest: *"Build a new plan with `/tr-plan`."* Stop.
20
+
21
+ 3. **Evaluate readiness for each pending item:**
22
+
23
+ **`[spec]` items:**
24
+ - Is the description specific enough to write a `usecase.md`? Does it name an actor and a goal?
25
+ - Flag ⚠ if the description is vague, names no actor, or has no clear success outcome.
26
+
27
+ **`[implement]` items:**
28
+ - Does the referenced `usecase.md` exist at the given path?
29
+ - Is it in `specified` or `implemented` state? Flag ⚠ if it is `draft` or `proposed`.
30
+ - Does the spec have open questions (unresolved `?` markers, `TBD` entries, or `proposed` sub-behaviours)? Flag ⚠ if found.
31
+ - Flag ✗ if `usecase.md` is missing entirely.
32
+
33
+ **`[refine]` items:**
34
+ - Does the referenced spec exist?
35
+ - Is there enough context in the item description to know what to refine?
36
+ - Flag ⚠ if the description is too vague to guide refinement.
37
+ - Flag ✗ if the spec is missing.
38
+
39
+ **Dependency check (all types):**
40
+ - If this item depends on an earlier plan item (inferred by position: a `[spec]` or `[refine]` item for the same path appearing earlier in the list), is that predecessor `done` or `specified`?
41
+ - Flag ✗ if the predecessor is still `pending`.
42
+
43
+ 4. **Build the readiness report:**
44
+ ```
45
+ Plan Analysis — N pending items
46
+
47
+ ✓ Ready (N)
48
+ · [implement] taproot/<intent>/<behaviour>/ — spec specified, no open questions
49
+
50
+ ⚠ Needs attention (N)
51
+ · [implement] taproot/<intent>/<behaviour>/ — spec is 'proposed', run /tr-refine first
52
+ · [spec] "add login flow" — description is vague: actor and success criteria unclear
53
+
54
+ ✗ Blocked (N)
55
+ · [implement] taproot/<intent>/<behaviour>/ — depends on item 2 which is not yet done
56
+ ```
57
+ For each flagged item, append a one-line suggested action (e.g. `/tr-refine <path>`, `/tr-behaviour <path>`, "clarify actor and goal").
58
+
59
+ 5. **Summarise:**
60
+ - If all items are ready: *"All N pending items are ready — no blockers or ambiguities found."* Offer: *"[A] Execute now → `/tr-plan-execute`"*
61
+ - Otherwise: *"N items ready, N need attention, N blocked. Suggested: resolve ⚠ and ✗ items before executing."*
62
+
63
+ > 💡 If this session is getting long, consider running `/compact` or starting a fresh context before the next task.
64
+
65
+ **What's next?**
66
+ [A] `/tr-plan-execute` — execute the plan (after resolving flagged items)
67
+ [B] `/tr-plan` — rebuild or add items to the plan
68
+
69
+ ## Output
70
+
71
+ A readiness report printed in the conversation — no files modified.
72
+
73
+ ## CLI Dependencies
74
+
75
+ None
76
+
77
+ ## Notes
78
+
79
+ - This behaviour is read-only — it never modifies `taproot/plan.md` or any hierarchy document.
80
+ - Stale paths (referenced file no longer exists) are flagged inline; analysis continues for remaining items.
81
+ - For large plans (>10 items), group by readiness category rather than plan order.