theslopmachine 0.4.2 → 0.4.5

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/MANUAL.md CHANGED
@@ -63,5 +63,5 @@ slopmachine init -o
63
63
 
64
64
  - theslopmachine depends on OpenCode, beads_rust (`br`), git, python3, and Docker being available.
65
65
  - The workflow-owner agents use mandatory skills for specific phases; skipping them is considered a workflow failure.
66
- - `slopmachine` is the lighter current engine: it keeps the owner prompt smaller, uses more specialized skills, and uses up to three bounded developer sessions instead of one long-lived session.
67
- - Submission packaging collects the final docs, reports, screenshots, session export, trajectory, and cleaned repo into the required final structure.
66
+ - `slopmachine` is the lighter current engine: it keeps the owner prompt smaller, uses more specialized skills, and keeps one active developer session at a time while preserving rollover history when new sessions are intentionally started.
67
+ - Submission packaging collects the final docs, accepted evaluation reports, screenshots, cleaned session exports, converted session traces, and cleaned repo into the required final structure.
package/README.md CHANGED
@@ -1,59 +1,32 @@
1
1
  # theslopmachine
2
2
 
3
- Installer package for the theslopmachine workflow owner, developer agents, required skills, templates, and local support files.
3
+ `theslopmachine` installs the SlopMachine owner/developer workflow into OpenCode, sets up the required support files on your machine, and bootstraps new project workspaces.
4
4
 
5
- ## What This Package Installs
5
+ **Quickstart**
6
6
 
7
- `slopmachine setup` installs the current workflow assets.
7
+ This is the full machine-to-project flow:
8
8
 
9
- That includes:
10
-
11
- - owner agents under `~/.config/opencode/agents/`
12
- - required skills under `~/.agents/skills/`
13
- - packaged workflow files under `~/slopmachine/`
14
- - repo templates, evaluation prompts, bootstrap helpers, and session export utilities
15
-
16
- The canonical package documents in `~/slopmachine/` are:
17
-
18
- - `backend-evaluation-prompt.md`
19
- - `frontend-evaluation-prompt.md`
20
- - `document-completeness.md`
21
- - `engineering-results.md`
22
- - `implementation-comparison.md`
23
- - `quality-document.md`
24
-
25
- Usage split:
26
-
27
- - the two evaluation prompt files are used exactly in evaluation runs
28
- - the other four files are used in the submission packaging phase
29
-
30
- Installed agent set:
31
-
32
- - `slopmachine.md`
33
- - `developer.md`
34
-
35
- The current engine is the lighter workflow line:
36
-
37
- - smaller always-loaded owner shell
38
- - smaller developer rulebook
39
- - richer phase-specific skills loaded when needed
40
- - bounded 2/3 developer-session model
41
- - `beads_rust` bootstrap path
9
+ 1. install the package
10
+ 2. run `slopmachine setup`
11
+ 3. add MCP API keys if prompted
12
+ 4. log into Codex with OpenCode
13
+ 5. initialize a project workspace
14
+ 6. enter `repo/`
15
+ 7. start OpenCode and choose the `slopmachine` agent
42
16
 
43
17
  ## Requirements
44
18
 
45
19
  - Node.js 18+
46
- - OpenCode installed and usable on the machine
47
- - `br` (`beads_rust`) will be installed or verified during setup
48
- - git available in the shell
20
+ - `git`
21
+ - Docker running on the machine
22
+ - `curl` on Unix-like systems for automatic `br` install
49
23
 
50
- ## Commands
24
+ `slopmachine setup` can install or verify:
51
25
 
52
- - `slopmachine setup` - configures agents, files, scripts, and beads_rust (`br`)
53
- - `slopmachine init` - sets up a project
54
- - `slopmachine init -o` to bootstrap the project and immediately open OpenCode inside `repo/`
26
+ - `opencode`
27
+ - `br` (`beads_rust`)
55
28
 
56
- ## Installation
29
+ ## 1. Install The Package
57
30
 
58
31
  From this package directory:
59
32
 
@@ -63,43 +36,75 @@ npm run check
63
36
  npm pack
64
37
  ```
65
38
 
66
- This produces a tarball such as:
39
+ That produces a tarball such as:
67
40
 
68
41
  ```bash
69
- theslopmachine-0.4.0.tgz
42
+ theslopmachine-0.4.5.tgz
70
43
  ```
71
44
 
72
- You can then install it globally with:
45
+ Install it globally:
73
46
 
74
47
  ```bash
75
- npm install -g ./theslopmachine-0.4.0.tgz
48
+ npm install -g ./theslopmachine-0.4.5.tgz
76
49
  ```
77
50
 
78
- For local development instead of global install:
51
+ For local package development instead:
79
52
 
80
53
  ```bash
81
54
  npm link
82
55
  ```
83
56
 
84
- ## Initial Setup
57
+ ## 2. Run Setup
85
58
 
86
- Run once per machine or whenever you want to refresh the packaged assets:
59
+ Run this once per machine, or rerun it any time you want to refresh packaged assets:
87
60
 
88
61
  ```bash
89
62
  slopmachine setup
90
63
  ```
91
64
 
92
- What setup does:
65
+ `setup` does the following:
66
+
67
+ - installs or verifies `git`, `python3`, `opencode`, `br`, and Docker availability
68
+ - installs the packaged OpenCode agents into `~/.config/opencode/agents/`
69
+ - installs the packaged skills into `~/.agents/skills/`
70
+ - installs workflow support files into `~/slopmachine/`
71
+ - updates `~/.config/opencode/opencode.json`
72
+ - prompts for missing Context7 and Exa MCP API keys
73
+
74
+ If `setup` installs `opencode` for the first time, open a fresh terminal before running `opencode` commands.
75
+
76
+ ## 3. Get MCP API Keys
77
+
78
+ During `slopmachine setup`, you may be prompted for:
79
+
80
+ - Context7: `https://context7.com`
81
+ - Exa: `https://exa.ai`
82
+
83
+ You can leave either blank and add it later by editing:
84
+
85
+ ```bash
86
+ ~/.config/opencode/opencode.json
87
+ ```
88
+
89
+ If `context7` or `exa` is already configured in `opencode.json`, `setup` leaves the existing entries in place.
90
+
91
+ ## 4. Log Into Codex With OpenCode
92
+
93
+ Authenticate OpenCode against Codex:
94
+
95
+ ```bash
96
+ opencode auth login -p codex
97
+ ```
98
+
99
+ Optional check:
93
100
 
94
- - installs or refreshes the packaged agents
95
- - installs or refreshes the packaged skills
96
- - installs packaged workflow files into `~/slopmachine/`
97
- - merges required OpenCode plugin/MCP configuration
98
- - installs or verifies `br` (`beads_rust`)
101
+ ```bash
102
+ opencode auth list
103
+ ```
99
104
 
100
- ## Project Bootstrap
105
+ ## 5. Initialize A Project Workspace
101
106
 
102
- Create a new project root:
107
+ Create a new workspace directory and bootstrap it:
103
108
 
104
109
  ```bash
105
110
  mkdir my-project
@@ -107,97 +112,121 @@ cd my-project
107
112
  slopmachine init
108
113
  ```
109
114
 
110
- This creates the expected structure, including:
115
+ This creates:
111
116
 
112
- - `repo/` as the working codebase directory
113
- - parent-root workflow files such as `metadata.json`
114
- - parent-root `docs/` and `sessions/`
115
- - repo-local `AGENTS.md`
116
- - initialized `beads_rust` state
117
- - an initial git checkpoint
117
+ - `repo/` for the actual codebase work
118
+ - parent-level workflow files such as `metadata.json` and `.ai/metadata.json`
119
+ - parent-level `docs/` and `sessions/`
120
+ - `repo/AGENTS.md`
121
+ - initialized `br` state
122
+ - an initial git commit
118
123
 
119
- To bootstrap and open OpenCode directly in `repo/`:
124
+ If you want `init` to open OpenCode automatically in `repo/`, use:
120
125
 
121
126
  ```bash
122
127
  slopmachine init -o
123
128
  ```
124
129
 
125
- ## Recommended Operation
130
+ ## 6. Enter `repo/`
131
+
132
+ If you used plain `slopmachine init`, move into the working repository:
133
+
134
+ ```bash
135
+ cd repo
136
+ ```
137
+
138
+ ## 7. Start OpenCode
126
139
 
127
- After init:
140
+ Start OpenCode inside `repo/`:
128
141
 
129
- 1. open OpenCode in `repo/`
130
- 2. choose the `slopmachine` owner agent
131
- 3. let the owner run the lifecycle using the packaged skills
132
- 4. let the owner delegate implementation work to `developer`
142
+ ```bash
143
+ opencode
144
+ ```
145
+
146
+ Then select the `slopmachine` agent and begin the workflow.
133
147
 
134
- The expected high-level lifecycle is:
148
+ The normal operating split is:
135
149
 
136
- 1. clarification
137
- 2. planning
138
- 3. scaffold
139
- 4. development
140
- 5. integrated verification
141
- 6. hardening
142
- 7. evaluation and triage
143
- 8. final human decision
144
- 9. remediation when needed
145
- 10. submission packaging
150
+ - `slopmachine` is the owner/orchestrator
151
+ - `developer` is the implementation worker
146
152
 
147
- ## How It Is Intended To Operate
153
+ ## Configured Items
148
154
 
149
- `slopmachine` is designed to keep the owner prompt light while moving the important operational detail into loaded skills.
155
+ These are the main files and directories `setup` configures.
150
156
 
151
- That means:
157
+ ### OpenCode Agents
152
158
 
153
- - the owner shell stays small
154
- - planning, scaffold, development, verification, hardening, remediation, and packaging load detailed skills only when needed
155
- - early and late phases do not carry each other's full instruction payloads all the time
159
+ - `~/.config/opencode/agents/slopmachine.md`
160
+ - `~/.config/opencode/agents/developer.md`
156
161
 
157
- The v2 workflow also expects:
162
+ ### OpenCode Skills
158
163
 
159
- - targeted reads over broad rereads
160
- - local and narrow verification during ordinary iteration
161
- - broad selected-stack owner-run gates used sparingly
162
- - no `.env` files in the repo
163
- - real integration evidence, not mocked API integration tests
164
+ - `~/.agents/skills/clarification-gate/`
165
+ - `~/.agents/skills/developer-session-lifecycle/`
166
+ - `~/.agents/skills/session-rollover/`
167
+ - `~/.agents/skills/final-evaluation-orchestration/`
168
+ - `~/.agents/skills/beads-operations/`
169
+ - `~/.agents/skills/planning-guidance/`
170
+ - `~/.agents/skills/planning-gate/`
171
+ - `~/.agents/skills/scaffold-guidance/`
172
+ - `~/.agents/skills/development-guidance/`
173
+ - `~/.agents/skills/verification-gates/`
174
+ - `~/.agents/skills/integrated-verification/`
175
+ - `~/.agents/skills/hardening-gate/`
176
+ - `~/.agents/skills/evaluation-triage/`
177
+ - `~/.agents/skills/remediation-guidance/`
178
+ - `~/.agents/skills/submission-packaging/`
179
+ - `~/.agents/skills/retrospective-analysis/`
180
+ - `~/.agents/skills/owner-evidence-discipline/`
181
+ - `~/.agents/skills/report-output-discipline/`
182
+ - `~/.agents/skills/frontend-design/`
164
183
 
165
- Every bootstrapped project should expose:
184
+ ### SlopMachine Support Files
166
185
 
167
- - one primary documented runtime command
168
- - one primary documented broad test command: `./run_tests.sh`
186
+ Installed under `~/slopmachine/`:
169
187
 
170
- Follow the original prompt and the existing repository first. Use the examples below only when they do not already specify the platform or stack.
188
+ - `backend-evaluation-prompt.md`
189
+ - `frontend-evaluation-prompt.md`
190
+ - `document-completeness.md`
191
+ - `quality-document.md`
192
+ - `engineering-results.md`
193
+ - `implementation-comparison.md`
194
+ - `workflow-init.js`
195
+ - `templates/AGENTS.md`
196
+ - `utils/strip_session_parent.py`
197
+ - `utils/convert_ai_session.py`
171
198
 
172
- Examples:
199
+ ### OpenCode Config
173
200
 
174
- - web backend/fullstack: `docker compose up --build` and `./run_tests.sh`
175
- - mobile or desktop when Docker runtime is not the direct run path: `./run_app.sh` and `./run_tests.sh`
201
+ Config file:
176
202
 
177
- ## Files And Locations
203
+ ```bash
204
+ ~/.config/opencode/opencode.json
205
+ ```
178
206
 
179
- Main install locations:
207
+ `setup` ensures these entries exist:
180
208
 
181
- - agents: `~/.config/opencode/agents/`
182
- - skills: `~/.agents/skills/`
183
- - packaged workflow files: `~/slopmachine/`
209
+ - plugin: `oc-chatgpt-multi-auth`
210
+ - MCP server: `chrome-devtools`
211
+ - MCP server: `context7`
212
+ - MCP server: `exa`
213
+ - MCP server: `shadcn` disabled by default
184
214
 
185
- Inside a bootstrapped project root:
215
+ If you want to customize agents, MCP settings, or plugins, these are the files to edit.
186
216
 
187
- - working codebase: `repo/`
188
- - external docs: `docs/`
189
- - session exports: `sessions/`
190
- - project metadata: `metadata.json`
217
+ ## Daily Use
191
218
 
192
- See also:
219
+ After the machine is set up, the common flow is:
193
220
 
194
- - `MANUAL.md` for the short workflow guide
195
- - `RELEASE.md` for packaging and release checks
221
+ ```bash
222
+ cd my-project/repo
223
+ opencode
224
+ ```
196
225
 
197
- ## Package layout
226
+ Or for a brand new project in one shot:
198
227
 
199
- - `assets/agents/`
200
- - `assets/skills/`
201
- - `assets/slopmachine/`
202
- - `bin/`
203
- - `src/`
228
+ ```bash
229
+ mkdir my-project
230
+ cd my-project
231
+ slopmachine init -o
232
+ ```
package/RELEASE.md CHANGED
@@ -18,13 +18,14 @@ SLOPMACHINE_HOME="$(pwd)/.tmp-home" SLOPMACHINE_NONINTERACTIVE=1 SLOPMACHINE_PLU
18
18
 
19
19
  ```bash
20
20
  mkdir -p .tmp-project
21
- SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init
21
+ SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init .tmp-project
22
22
  ```
23
23
 
24
24
  4. Test the open-after-bootstrap path:
25
25
 
26
26
  ```bash
27
- SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init -o
27
+ mkdir -p .tmp-project-open
28
+ SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init -o .tmp-project-open
28
29
  ```
29
30
 
30
31
  Note:
@@ -41,13 +42,13 @@ npm pack
41
42
  This should produce a tarball such as:
42
43
 
43
44
  ```bash
44
- theslopmachine-0.4.0.tgz
45
+ theslopmachine-0.4.5.tgz
45
46
  ```
46
47
 
47
48
  ## Inspect package contents
48
49
 
49
50
  ```bash
50
- tar -tzf theslopmachine-0.4.0.tgz
51
+ tar -tzf theslopmachine-0.4.5.tgz
51
52
  ```
52
53
 
53
54
  Check that the tarball includes:
@@ -62,7 +62,12 @@ During ordinary work, prefer:
62
62
  - targeted module or route-family tests
63
63
  - the selected stack's local UI or E2E tool on affected flows when UI is material
64
64
 
65
- Do not jump to broad Docker and full-suite commands on ordinary turns.
65
+ Owner-only broad gate commands:
66
+
67
+ - never run `./run_tests.sh`
68
+ - never run `docker compose up --build`
69
+ - treat both commands as owner-run gate commands only, even if they are documented in the repo or look convenient for debugging
70
+ - if your work would normally call for one of those commands, stop at targeted local verification and report that the change is ready for owner-run broad verification
66
71
 
67
72
  The owner reserves the limited broad gate budget. Your job is to make those owner-run gates likely to pass.
68
73
 
@@ -90,4 +95,6 @@ Selected-stack defaults:
90
95
 
91
96
  - be direct and technically clear
92
97
  - report what changed, what was verified, and what still looks weak
98
+ - always name the exact verification commands you ran and the concrete results they produced
99
+ - if you ran no verification command for part of the work, say that explicitly instead of implying broader proof than you have
93
100
  - if a problem needs a real fix, fix it instead of explaining around it
@@ -67,7 +67,7 @@ Agent-integrity rule:
67
67
 
68
68
  ## Optimization Goal
69
69
 
70
- The main v2 target is:
70
+ The main target is:
71
71
 
72
72
  - less token waste
73
73
  - less elapsed time
@@ -78,6 +78,7 @@ Default to:
78
78
  - targeted reads instead of broad rereads
79
79
  - targeted execution instead of broad reruns
80
80
  - local and narrow verification before expensive gate commands
81
+ - do not rerun expensive commands just to duplicate clear developer-provided evidence
81
82
  - file-backed reports with short in-chat summaries when the output would otherwise bloat context
82
83
 
83
84
  Stay aggressive about cutting waste, but do not weaken the actual standard.
@@ -171,21 +172,34 @@ Phase rules:
171
172
  - `P9 Remediation` stays its own root phase once evaluation has accepted follow-up work
172
173
  - `P6 Hardening` may reopen `P5` if hardening exposes unresolved integrated instability
173
174
  - `P11 Retrospective` runs automatically after successful packaging and is non-blocking unless it finds a real delivery defect
175
+ - post-submission external evaluation feedback may reopen `P9 Remediation`, then rerun `P10 Submission Packaging`, and then rerun `P11 Retrospective`
174
176
 
175
177
  ## Developer Session Model
176
178
 
177
- Use up to three bounded developer sessions:
179
+ Maintain exactly one active developer session at a time.
178
180
 
179
- 1. build session: planning, scaffold, development
180
- 2. stabilization session: integrated verification and hardening, only if needed
181
- 3. remediation session: evaluation-response remediation, only if needed
181
+ Track every developer session in metadata, but create a new one only in these cases:
182
+
183
+ 1. you explicitly request a new session
184
+ 2. after successful submission, you return with external evaluation issues that require more fixes
185
+
186
+ Session classes:
187
+
188
+ 1. `develop`: every developer session created before the first successful submission packaging
189
+ 2. `bugfix`: every developer session created after successful submission packaging when the project is reopened for external-evaluation follow-up
190
+
191
+ There may be multiple `develop` sessions and multiple `bugfix` sessions over the life of one project.
192
+
193
+ During the first full run from planning through initial submission packaging, keep all work in the `develop` session class, including integrated verification, hardening, evaluation-driven remediation, and packaging follow-through.
194
+
195
+ If you explicitly request a new session while one is active, ask the current developer exactly `give me a summary of all the work that has been done`, then use that handoff to seed the next session.
182
196
 
183
197
  Use `developer-session-lifecycle` for startup, resume detection, session consistency checks, and recovery.
184
- Use `session-rollover` only for planned transitions between those bounded developer sessions.
198
+ Use `session-rollover` only when intentionally starting a new developer session because of an explicit user request or post-submission external-feedback reopen.
185
199
 
186
200
  Do not launch the developer during `P0` or `P1`.
187
201
 
188
- When the first build developer session begins in `P2`, start it in this exact order:
202
+ When the first develop developer session begins in `P2`, start it in this exact order:
189
203
 
190
204
  1. send `lets plan this <original-prompt>`
191
205
  2. wait for the developer's first reply
@@ -199,6 +213,14 @@ Do not merge those messages.
199
213
 
200
214
  Broad project-standard gate commands are expensive and must stay rare.
201
215
 
216
+ Owner-side discipline:
217
+
218
+ - do not run `./run_tests.sh` casually
219
+ - do not run `docker compose up --build` casually
220
+ - do not rerun expensive local test or E2E commands just because the developer already ran them
221
+ - when the developer reports the exact verification command and its result clearly, use that evidence unless there is a concrete reason to challenge it
222
+ - rerun expensive verification only when the developer evidence is weak, contradictory, flaky, high-risk, needed for a true broad gate, or needed to answer a new question
223
+
202
224
  Target budget for the whole workflow:
203
225
 
204
226
  - at most 3 broad owner-run verification moments using the selected stack's full verification path
@@ -273,7 +295,7 @@ Core map:
273
295
  - `P11` -> `retrospective-analysis`, `owner-evidence-discipline`, `report-output-discipline`
274
296
  - state mutations -> `beads-operations`
275
297
  - evidence-heavy review -> `owner-evidence-discipline`
276
- - planned developer-session switch -> `session-rollover`
298
+ - intentional new developer session -> `session-rollover`
277
299
 
278
300
  Do not improvise a phase from memory when a phase skill exists.
279
301
 
@@ -285,6 +307,7 @@ When talking to the developer:
285
307
  - lead with the engineering point, not process framing
286
308
  - keep prompts natural, sharp, and compact unless the moment really needs more context
287
309
  - translate workflow intent into normal software-project language
310
+ - for each development slice or bugfix request, require the reply to state the exact verification commands that were run and the concrete results they produced
288
311
 
289
312
  Do not leak workflow internals such as:
290
313
 
@@ -345,6 +368,7 @@ Treat packaging as a first-class delivery contract from the start, not as late c
345
368
  - the two evaluation prompt files are used exactly during evaluation runs
346
369
  - the four non-evaluation package documents are used during submission packaging to generate the required submission outputs
347
370
  - exact packaging file outputs and final paragraph outputs are mandatory in `P10`
371
+ - accepted evaluation reports and cleaned original session exports are mandatory submission artifacts in `P10`
348
372
  - do not leave packaging structure, screenshots, self-test outputs, or exports to be improvised at the end
349
373
 
350
374
  When `P10 Submission Packaging` begins:
@@ -359,7 +383,7 @@ After `P10 Submission Packaging` closes successfully:
359
383
 
360
384
  - automatically enter `P11 Retrospective`
361
385
  - load `retrospective-analysis`
362
- - write dated retrospective output under `~/slopmachine/retrospectives/`
386
+ - write `run_id`-scoped retrospective output under `~/slopmachine/retrospectives/`
363
387
  - keep it owner-only and non-blocking by default
364
388
  - reopen packaging only if the retrospective finds a real packaged-result defect
365
389
 
@@ -24,7 +24,7 @@ When a root phase changes:
24
24
  - do not close multiple root phases in one transition block
25
25
  - keep structured comments specific and auditable
26
26
  - treat phase-closure failures as real workflow failures to resolve
27
- - keep Beads and metadata aligned on current phase and active developer session slot when either changes
27
+ - keep Beads and metadata aligned on current phase and active developer session record when either changes
28
28
 
29
29
  ## Structured comment prefixes
30
30
 
@@ -28,7 +28,7 @@ Use this skill only during `P1 Clarification`.
28
28
  - decompose the prompt thoroughly into explicit requirements, implied requirements, user flows, constraints, boundaries, risks, quality expectations, and verification expectations
29
29
  - identify and lock safe default decisions that are consistent with the prompt and improve execution quality without changing intent
30
30
  - when more than one safe default is available, prefer the one that preserves or slightly over-covers the full prompt scope rather than the one that narrows scope for implementation convenience
31
- - record meaningful ambiguities, locked safe defaults, and decision rationale in the working questions record that will later become `../docs/questions.md`
31
+ - record meaningful ambiguities, locked safe defaults, and decision rationale directly in mandatory parent-root `../docs/questions.md`
32
32
  - prepare a developer-facing clarification prompt in `../.ai/clarification-prompt.md`
33
33
  - keep clarification aligned with the original prompt
34
34
  - do not let clarification reduce, weaken, narrow, or silently reinterpret the prompt
@@ -50,7 +50,7 @@ Use this skill only during `P1 Clarification`.
50
50
 
51
51
  ## Required outputs
52
52
 
53
- - working clarification record that will become `../docs/questions.md`
53
+ - parent-root `../docs/questions.md`
54
54
  - developer-facing clarification prompt in `../.ai/clarification-prompt.md`
55
55
  - explicit list of safe defaults and resolved ambiguities
56
56
 
@@ -94,7 +94,7 @@ Preferred entry shape:
94
94
  <brief justification tied to prompt faithfulness>
95
95
  ```
96
96
 
97
- If nothing material was unclear, keep `questions.md` minimal rather than inventing content.
97
+ If nothing material was unclear, still create `questions.md` and keep it minimal rather than inventing content.
98
98
 
99
99
  ## Clarification-prompt validation loop
100
100
 
@@ -119,5 +119,6 @@ If nothing material was unclear, keep `questions.md` minimal rather than inventi
119
119
  - the owner is confident the scope is understood clearly enough to enter planning
120
120
  - the clarification prompt is strong enough for the developer to start from the right understanding
121
121
  - material ambiguities are resolved or safely locked and documented
122
+ - `../docs/questions.md` exists and reflects the accepted clarification record
122
123
  - prompt drift has been checked and rejected
123
124
  - human approval exists