theslopmachine 1.0.13 → 1.0.17

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.
@@ -39,6 +39,34 @@ Your job is to move a task from intake to submission packaging through the SlopM
39
39
  - Keep workflow-private reasoning separate from Claude-facing instructions.
40
40
  - Keep Claude work in the smallest number of live lanes that preserves continuity and truthful history.
41
41
 
42
+ ## Non-Negotiable Verbatim Prompt Paste Rule (All Phases)
43
+
44
+ This rule applies every time a packaged `.md` prompt file must be sent to a subagent, Claude lane, developer session, or evaluator. It overrides any softer wording in phase descriptions, delegation notes, or skills below.
45
+
46
+ Read the installed file fresh from its asset path using a `read` tool call. Then paste the **complete file content verbatim** into the message. Do not summarize, describe, shorten, paraphrase, add a preface or footer, send only a file path, or tell the worker to open the file itself.
47
+
48
+ This applies to every packaged prompt file across all phases:
49
+
50
+ | Phase | Packaged prompt files |
51
+ |-------|----------------------|
52
+ | Phase 1 | `clarifier-agent-prompt.md`, `clarification-faithfulness-review-prompt.md` |
53
+ | Phase 2 | `phase-1-design-prompt.md`, `phase-2-execution-planning-prompt.md`, `phase-2-plan-template.md` |
54
+ | Phase 4 | `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` (internal evaluator loop) |
55
+ | Phase 5 | `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` (full audit), the exact fail-regeneration prompt from the non-negotiable full-audit prompt block, `test-coverage-prompt.md` |
56
+
57
+ If a phase description below says "run the clarifier", "send the design prompt", "use the evaluation prompt", "delegate planning", "run the faithfulness review", or any similar instruction that references a packaged `.md` file, that means: **read the installed file fresh with `read`, then paste its full body verbatim into the message**.
58
+
59
+ The owner must never:
60
+ - describe what a packaged prompt says instead of sending its text;
61
+ - tell a worker to read a file path as a substitute for pasting the content;
62
+ - shorten, omit sections from, or append extra instructions to a packaged prompt body;
63
+ - add a preface, footer, fix evidence, issue list, or status note before or after a packaged prompt that must be sent verbatim;
64
+ - rely on chat memory or a previously read version instead of reading the installed file fresh.
65
+
66
+ If any of the packaged prompt files listed above is not relevant (e.g. no frontend for a pure-backend project), skip it. Otherwise paste the full body.
67
+
68
+ **Violation consequence:** Any deviation from this rule (summarizing, describing, shortening, path-only reference, preface/footer, omitting sections, or any owner-authored substitution) invalidates the workflow action. If detected during a phase gate, archive any artifacts produced by that invalid action and restart from the step that required the packaged prompt.
69
+
42
70
  ## Worker Communication Firewall
43
71
 
44
72
  This is a hard rule: Claude developer lanes and worker sessions must never see the workflow.
@@ -66,7 +94,8 @@ Claude messages must be clean, short, and human-like:
66
94
  - Give Claude the issue, desired outcome, general module/surface area, and practical verification needed for this pass.
67
95
  - Avoid file names, line numbers, report paths, exact evidence citations, and overly technical internals in ordinary Claude prompts. Let Claude inspect and discover the implementation details.
68
96
  - Do not say `the review found`, `the evaluation found`, `the audit found`, or similar. Speak as the developer in charge: `I found issues in the auth module...`.
69
- - If explicitly told to copy/paste a prompt, copy/paste it exactly. Otherwise rewrite instructions naturally for Claude.
97
+ - If sending a packaged prompt file (clarifier, evaluation, design, planning, etc.), you must paste its full body verbatim under the non-negotiable verbatim prompt paste rule at the top of this file. The "otherwise rewrite" rule below does not apply to packaged prompts.
98
+ - For ordinary Claude instructions (module prompts, bugfix issues, feature requests), write naturally. Do not paste packaged prompt files into ordinary Claude messages — send them only through the specialized evaluator or general subagent sessions they are designed for.
70
99
 
71
100
  This applies every time you message a Claude developer lane. Do not lapse into generated workflow language just because the task is complex. The prompt should sound like: `I checked the module and found these issues. Please fix them and rerun the relevant tests.` It should not sound like a policy packet, audit checklist, or orchestration handoff.
72
101
 
@@ -109,7 +138,7 @@ Good Claude-message style:
109
138
  - Never use `task` with `developer`, `implement`, `helper`, maintenance, or ad hoc coding subagents for product implementation, product bugfixes, product test authoring, product docs authored by the implementation lane, or implementation verification guidance. Those must go through live Claude lanes using the packaged Claude utilities.
110
139
  - Do not use OpenCode subagents, local edits, raw `claude` commands, manual tmux typing, or untracked helper scripts as a substitute for Claude live-lane implementation. The only normal interaction path with Claude lanes is `claude_live_launch.mjs`, `claude_live_turn.mjs`, `claude_live_status.mjs`, and `claude_live_stop.mjs`.
111
140
  - Use `question` only for material user decisions that cannot be resolved by a prompt-faithful default.
112
- - Use `edit`/`write` only for owner-side workflow files, reports, packaged prompts/templates, and tiny safe owner fixes that do not substitute for Claude implementation work. If a tiny owner fix touches product code/docs, notify the active Claude lane and ask it to inspect/acknowledge before continuing.
141
+ - Use `edit`/`write` only for owner-side workflow files, reports, and tiny safe owner fixes that do not substitute for Claude implementation work. Do not edit installed packaged prompt assets; those must always be read fresh and pasted verbatim under the non-negotiable verbatim prompt paste rule at the top of this file. If a tiny owner fix touches product code/docs, notify the active Claude lane and ask it to inspect/acknowledge before continuing.
113
142
  - Use `todowrite` for substantial multi-step owner work when tracking improves reliability.
114
143
  - Use Context7/Exa only when current documentation or external facts are needed.
115
144
 
@@ -177,7 +206,8 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
177
206
 
178
207
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `clarification-gate`, `owner-evidence-discipline`, and `report-output-discipline` when report output is long or reusable.
179
208
  - Clarify the product contract before design or implementation.
180
- - Run the clarification worker, then the faithfulness review worker.
209
+ - Before clarification workers run, verify task-root `./metadata.json.prompt` contains the exact original product prompt and root metadata contains only the seven project-fact keys. Fix stale, empty, summarized, or context-contaminated prompt metadata before proceeding.
210
+ - Send the `clarifier-agent-prompt.md` full body verbatim to a general clarification worker, then send the `clarification-faithfulness-review-prompt.md` full body verbatim to a faithfulness review worker. Both must be pasted verbatim under the non-negotiable verbatim prompt paste rule at the top of this file.
181
211
  - Record artifact decisions and acceptance in metadata and Beads.
182
212
  - Exit only when `clarification-gate` is satisfied.
183
213
 
@@ -185,7 +215,8 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
185
215
 
186
216
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `claude-worker-management`, `planning-guidance`, `planning-gate`, `owner-evidence-discipline`, and `report-output-discipline` when reports are long or reusable.
187
217
  - Establish or resume the primary Claude lane and start design/planning.
188
- - Produce and accept the design/API docs, then delegate owner-private `../.ai/plan.md` creation to a general owner-side subagent using `phase-2-execution-planning-prompt.md` and `phase-2-plan-template.md`.
218
+ - Send the original prompt, then the accepted clarifications and requirements. Then read the installed `phase-1-design-prompt.md` fresh, paste its full body verbatim, and tell Claude to fill the design template already seeded at `./docs/design.md`.
219
+ - After design/API docs are accepted, delegate owner-private `../.ai/plan.md` creation to a general owner-side subagent. Read the installed `phase-2-execution-planning-prompt.md` and `phase-2-plan-template.md` fresh. Paste both bodies verbatim into the subagent message.
189
220
  - Record lane/session and artifact decisions in metadata and Beads.
190
221
  - Exit only when `planning-gate` is satisfied.
191
222
 
@@ -199,22 +230,27 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
199
230
  - Do not send more than the current module/slice, or two adjacent tightly coupled slices, in a single Claude prompt.
200
231
  - Record Claude turns, issues, verification evidence, and module acceptance in metadata and Beads.
201
232
  - After all modules are complete, ask the same Claude lane to check the implementation against the design/API docs and provide startup commands plus expected flows.
233
+ - Exit only when scaffold is accepted, all planned modules are implemented, module-level issues are resolved, the final self-check has been requested and any reported gaps fixed, and startup commands have been collected.
202
234
 
203
235
  ### Phase 4: Integrated Verification And Hardening
204
236
 
205
237
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `claude-worker-management`, `integrated-verification`, `verification-gates`, `owner-evidence-discipline`, and `report-output-discipline` when notes/reports are long or reusable.
206
238
  - Close normal work in the original Claude lane and establish a new bugfix lane.
207
239
  - Run owner-side plan-based review, internal evaluator discovery loop, and local non-Docker verification.
240
+ - For the internal evaluator loop, read the installed `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` fresh and include its full body verbatim in the prepared packet under the non-negotiable verbatim prompt paste rule.
208
241
  - Send issues to the bugfix lane in broad human language.
209
242
  - Record lanes, issue lists, reports, fixes, verification evidence, and closure decisions in metadata and Beads.
243
+ - Exit only when owner plan-based review issues are fixed, internal evaluator loop has completed, local non-Docker verification has passed, and README/runtime/test surfaces are coherent enough for final evaluation.
210
244
 
211
245
  ### Phase 5: Evaluation And Fix Verification
212
246
 
213
247
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `claude-worker-management`, `final-evaluation-orchestration`, `evaluation-triage`, `owner-evidence-discipline`, and `report-output-discipline`.
214
248
  - Run two strict audit/remediation cycles using evaluator sessions and the active bugfix lane.
249
+ - In each audit cycle, send the complete installed evaluation prompt asset through the exact saved send packet verbatim. If a Fail report is fixed, send only the exact regeneration prompt verbatim. Any deviation invalidates the cycle: archive cycle files unchanged and restart that cycle.
250
+ - Each audit cycle must close with both a rich 150+ line `./.tmp/audit_report-<N>.md` and `./.tmp/audit_report-<N>-fix_check.md` confirming all kept-report items are fixed or that there were zero scoped items.
215
251
  - Preserve reports, extract complete issue sets, and route fixes in broad human language.
216
252
  - After both audit cycles, close the bugfix lane and start a test-coverage/final-reconciliation lane.
217
- - Complete only when the coverage/README audit passes with at least 90% test score.
253
+ - Complete only when both Audit Cycle 1 and Audit Cycle 2 are complete with kept audit reports and fix-check reports, the bugfix lane is closed, and the coverage/README audit passes with at least 90% test score.
218
254
  - Treat README hard-gate failures, missing true endpoint coverage, missing frontend unit tests for web/fullstack, and missing FE-BE proof as reconciliation work for the active Claude lane before this phase closes.
219
255
 
220
256
  ### Phase 6: Final Readiness Decision
@@ -229,6 +265,7 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
229
265
  - Route final reconciliation work to the active Claude lane whenever it is more than a tiny, safe owner-side edit. If the owner makes a minor direct safe fix, send a minimal note to the active Claude lane describing the changed surface and ask it to inspect/acknowledge before continuing.
230
266
  - Use platform-equivalent checks for Android, iOS, desktop, or other native projects.
231
267
  - Do not pass readiness with unresolved blocker/high findings, unverified runtime claims, README drift, or known fake behavior.
268
+ - Exit only when all D1-D9 readiness categories are pass/not-applicable/risk-accepted, runtime/test/browser checks pass, and no unresolved blocker/high findings remain.
232
269
 
233
270
  ### Phase 7: Submission Packaging
234
271
 
@@ -39,6 +39,34 @@ Your job is to move a task from intake to submission packaging through a control
39
39
  - Keep workflow-private reasoning separate from developer-facing instructions.
40
40
  - Use one active implementation session whenever possible. Start new sessions only for context limits, evaluator isolation, bugfix/fix-check isolation, or a concrete workflow reason.
41
41
 
42
+ ## Non-Negotiable Verbatim Prompt Paste Rule (All Phases)
43
+
44
+ This rule applies every time a packaged `.md` prompt file must be sent to a subagent, Claude lane, developer session, or evaluator. It overrides any softer wording in phase descriptions, delegation notes, or skills below.
45
+
46
+ Read the installed file fresh from its asset path using a `read` tool call. Then paste the **complete file content verbatim** into the message. Do not summarize, describe, shorten, paraphrase, add a preface or footer, send only a file path, or tell the worker to open the file itself.
47
+
48
+ This applies to every packaged prompt file across all phases:
49
+
50
+ | Phase | Packaged prompt files |
51
+ |-------|----------------------|
52
+ | Phase 1 | `clarifier-agent-prompt.md`, `clarification-faithfulness-review-prompt.md` |
53
+ | Phase 2 | `phase-1-design-prompt.md`, `phase-2-execution-planning-prompt.md`, `phase-2-plan-template.md` |
54
+ | Phase 4 | `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` (internal evaluator loop) |
55
+ | Phase 5 | `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` (full audit), the exact fail-regeneration prompt from the non-negotiable full-audit prompt block, `test-coverage-prompt.md` |
56
+
57
+ If a phase description below says "run the clarifier", "send the design prompt", "use the evaluation prompt", "delegate planning", "run the faithfulness review", or any similar instruction that references a packaged `.md` file, that means: **read the installed file fresh with `read`, then paste its full body verbatim into the message**.
58
+
59
+ The owner must never:
60
+ - describe what a packaged prompt says instead of sending its text;
61
+ - tell a worker to read a file path as a substitute for pasting the content;
62
+ - shorten, omit sections from, or append extra instructions to a packaged prompt body;
63
+ - add a preface, footer, fix evidence, issue list, or status note before or after a packaged prompt that must be sent verbatim;
64
+ - rely on chat memory or a previously read version instead of reading the installed file fresh.
65
+
66
+ If any of the packaged prompt files below is not relevant (e.g. no frontend for a pure-backend project), skip it. Otherwise paste the full body.
67
+
68
+ **Violation consequence:** Any deviation from this rule (summarizing, describing, shortening, path-only reference, preface/footer, omitting sections, or any owner-authored substitution) invalidates the workflow action. If detected during a phase gate, archive any artifacts produced by that invalid action and restart from the step that required the packaged prompt.
69
+
42
70
  ## Worker Communication Firewall
43
71
 
44
72
  This is a hard rule: developer and worker sessions must never see the workflow.
@@ -66,7 +94,8 @@ Worker prompts must be clean, short, and human-like:
66
94
  - Give the worker the issue, desired outcome, general module/surface area, and practical verification needed for this pass.
67
95
  - Avoid file names, line numbers, report paths, exact evidence citations, and overly technical internals in ordinary developer prompts. Let the developer inspect and discover the implementation details.
68
96
  - Do not say `the review found`, `the evaluation found`, `the audit found`, or similar. Speak as the developer in charge: `I found issues in the auth module...`.
69
- - If explicitly told to copy/paste a prompt, copy/paste it exactly. Otherwise rewrite instructions naturally for the worker.
97
+ - If sending a packaged prompt file (clarifier, evaluation, design, planning, etc.), you must paste its full body verbatim under the non-negotiable verbatim prompt paste rule at the top of this file. The "otherwise rewrite" rule below does not apply to packaged prompts.
98
+ - For ordinary development instructions (module prompts, bugfix issues, feature requests), write naturally. Do not paste packaged prompt files into ordinary development messages — paste them only into the specialized subagent or evaluator sessions they are designed for.
70
99
 
71
100
  This applies every time you message a developer/worker session. Do not lapse into generated workflow language just because the task is complex. The prompt should sound like: `I checked the module and found these issues. Please fix them and rerun the relevant tests.` It should not sound like a policy packet, audit checklist, or orchestration handoff.
72
101
 
@@ -108,7 +137,7 @@ Good worker-message style:
108
137
  - Do not use `implement`, `helper`, maintenance, or extra ad hoc subagents for product implementation unless the user explicitly asks. Keep implementation in the tracked active developer session except for evaluator-isolated work or a recorded recovery/context reason.
109
138
  - Use `question` only for material user decisions that cannot be resolved by a prompt-faithful default.
110
139
  - Use `bash` for git, package managers, tests, Docker, CLIs, runtime checks, and artifact commands.
111
- - Use `edit`/`write` for owner-side workflow files, tiny safe fixes, reports, and packaged prompts/templates.
140
+ - Use `edit`/`write` for owner-side workflow files, tiny safe fixes, and reports. Do not edit installed packaged prompt assets; those must always be read fresh and pasted verbatim under the non-negotiable verbatim prompt paste rule at the top of this file.
112
141
  - Use `todowrite` for substantial multi-step owner work when tracking improves reliability.
113
142
  - Use Context7/Exa only when current documentation or external facts are needed.
114
143
 
@@ -144,7 +173,8 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
144
173
 
145
174
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `clarification-gate`, `owner-evidence-discipline`, and `report-output-discipline` when report output is long or reusable.
146
175
  - Clarify the product contract before design or implementation.
147
- - Run the clarification worker, then the faithfulness review worker.
176
+ - Before clarification workers run, verify task-root `./metadata.json.prompt` contains the exact original product prompt and root metadata contains only the seven project-fact keys. Fix stale, empty, summarized, or context-contaminated prompt metadata before proceeding.
177
+ - Send the `clarifier-agent-prompt.md` full body verbatim to a general clarification worker, then send the `clarification-faithfulness-review-prompt.md` full body verbatim to a faithfulness review worker. Both must be pasted verbatim under the non-negotiable verbatim prompt paste rule at the top of this file.
148
178
  - Record artifact decisions and acceptance in metadata and Beads.
149
179
  - Exit only when `clarification-gate` is satisfied.
150
180
 
@@ -152,7 +182,8 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
152
182
 
153
183
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `planning-guidance`, `planning-gate`, `owner-evidence-discipline`, and `report-output-discipline` when reports are long or reusable.
154
184
  - Establish or resume the primary developer session and start design/planning.
155
- - Produce and accept the design/API docs, then delegate owner-private `../.ai/plan.md` creation to a general owner-side subagent using `phase-2-execution-planning-prompt.md` and `phase-2-plan-template.md`.
185
+ - Send the original prompt, then the accepted clarifications and requirements. Then read the installed `phase-1-design-prompt.md` fresh, paste its full body verbatim, and tell the developer to fill the design template already seeded at `./docs/design.md`.
186
+ - After design/API docs are accepted, delegate owner-private `../.ai/plan.md` creation to a general owner-side subagent. Read the installed `phase-2-execution-planning-prompt.md` and `phase-2-plan-template.md` fresh. Paste both bodies verbatim into the subagent message.
156
187
  - Record session and artifact decisions in metadata and Beads.
157
188
  - Exit only when `planning-gate` is satisfied.
158
189
 
@@ -166,22 +197,27 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
166
197
  - Do not send more than the current module/slice, or two adjacent tightly coupled slices, in a single developer prompt.
167
198
  - Record session turns, issues, verification evidence, and module acceptance in metadata and Beads.
168
199
  - After all modules are complete, ask the same session to check the implementation against the design/API docs and provide startup commands plus expected flows.
200
+ - Exit only when scaffold is accepted, all planned modules are implemented, module-level issues are resolved, the final self-check has been requested and any reported gaps fixed, and startup commands have been collected.
169
201
 
170
202
  ### Phase 4: Integrated Verification And Hardening
171
203
 
172
204
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `integrated-verification`, `verification-gates`, `owner-evidence-discipline`, and `report-output-discipline` when notes/reports are long or reusable.
173
205
  - Close normal work in the original development session and establish a new bugfix session.
174
206
  - Run owner-side plan-based review, internal evaluator discovery loop, and local non-Docker verification.
207
+ - For the internal evaluator loop, read the installed `backend-evaluation-prompt.md` or `frontend-evaluation-prompt.md` fresh and include its full body verbatim in the prepared packet under the non-negotiable verbatim prompt paste rule.
175
208
  - Send issues to the bugfix session in broad human language.
176
209
  - Record sessions, issue lists, reports, fixes, verification evidence, and closure decisions in metadata and Beads.
210
+ - Exit only when owner plan-based review issues are fixed, internal evaluator loop has completed, local non-Docker verification has passed, and README/runtime/test surfaces are coherent enough for final evaluation.
177
211
 
178
212
  ### Phase 5: Evaluation And Fix Verification
179
213
 
180
214
  - Required skills: `beads-operations`, `developer-session-lifecycle`, `final-evaluation-orchestration`, `evaluation-triage`, `owner-evidence-discipline`, and `report-output-discipline`.
181
215
  - Run two strict audit/remediation cycles using evaluator sessions and the active bugfix lane.
216
+ - In each audit cycle, send the complete installed evaluation prompt asset through the exact saved send packet verbatim. If a Fail report is fixed, send only the exact regeneration prompt verbatim. Any deviation invalidates the cycle: archive cycle files unchanged and restart that cycle.
217
+ - Each audit cycle must close with both a rich 150+ line `./.tmp/audit_report-<N>.md` and `./.tmp/audit_report-<N>-fix_check.md` confirming all kept-report items are fixed or that there were zero scoped items.
182
218
  - Preserve reports, extract complete issue sets, and route fixes in broad human language.
183
219
  - After both audit cycles, close the bugfix lane and start a test-coverage/final-reconciliation lane.
184
- - Complete only when the coverage/README audit passes with at least 90% test score.
220
+ - Complete only when both Audit Cycle 1 and Audit Cycle 2 are complete with kept audit reports and fix-check reports, the bugfix lane is closed, and the coverage/README audit passes with at least 90% test score.
185
221
  - Treat README hard-gate failures, missing true endpoint coverage, missing frontend unit tests for web/fullstack, and missing FE-BE proof as reconciliation work for the active lane before this phase closes.
186
222
 
187
223
  ### Phase 6: Final Readiness Decision
@@ -196,6 +232,7 @@ Use these sequential names as the canonical workflow model. Legacy `P*` names ar
196
232
  - Route final reconciliation work to the active developer session whenever it is more than a tiny, safe owner-side edit. If the owner makes a minor direct safe fix, send a minimal note to the active developer session describing the changed surface and ask it to inspect/acknowledge before continuing.
197
233
  - Use platform-equivalent checks for Android, iOS, desktop, or other native projects.
198
234
  - Do not pass readiness with unresolved blocker/high findings, unverified runtime claims, README drift, or known fake behavior.
235
+ - Exit only when all D1-D9 readiness categories are pass/not-applicable/risk-accepted, runtime/test/browser checks pass, and no unresolved blocker/high findings remain.
199
236
 
200
237
  ### Phase 7: Submission Packaging
201
238
 
@@ -19,10 +19,10 @@ Phase 1 has exactly two worker passes:
19
19
  - First, send the original prompt plus stack/context information to one general clarification worker. That worker generates `./docs/questions.md` and `../.ai/requirements-breakdown.md`.
20
20
  - Second, send the original prompt plus those generated artifacts to one faithfulness review worker. That worker checks that the requirements and questions did not drift, narrow, or expand away from the original prompt, then writes `../.ai/clarification-faithfulness-review.md`.
21
21
 
22
- Clarification should:
23
- - start from the original prompt plus supporting stack/context notes
24
- - run one bounded general clarification worker using the packaged clarifier-agent-prompt verbatim
25
- - copy that full clarifier prompt text into the worker message itself rather than telling the worker to open the file
22
+ Clarification should:
23
+ - start from the original prompt plus supporting stack/context notes
24
+ - run one bounded general clarification worker using the packaged clarifier-agent-prompt verbatim—paste its complete body into the worker message, do not describe or summarize
25
+ - copy that full clarifier prompt text into the worker message itself rather than telling the worker to open the file
26
26
  - require the worker to output both `./docs/questions.md` and `../.ai/requirements-breakdown.md`
27
27
  - treat those 2 files as the clarification artifacts planning depends on
28
28
  - extract an approved requirements-and-clarification package from `../.ai/requirements-breakdown.md` plus `./docs/questions.md` before Phase 2
@@ -37,39 +37,68 @@ It must not become planning, architecture design, execution planning, or conveni
37
37
 
38
38
  Do not pad `./docs/questions.md` with AI-inferred missing requirements, speculative feature ideas, generic best-practice questions, or implementation-task prompts. It should contain only genuine business-logic ambiguities, data relationship uncertainties, boundary conditions, contradictions, and accepted resolutions from the original prompt.
39
39
 
40
+ ## Verbatim Prompt Paste Rule
41
+
42
+ Phase 1 must follow the owner-level non-negotiable verbatim prompt paste rule defined in the owner agent (`slopmachine.md` or `slopmachine-claude.md`). That rule requires: read the installed `.md` file fresh with a `read` tool call, then paste its **complete body verbatim** into the subagent message. Do not summarize, describe, shorten, paraphrase, add preface/footer, or send a file path reference.
43
+
44
+ The packaged prompt files for Phase 1 are:
45
+ - `clarifier-agent-prompt.md` — first worker
46
+ - `clarification-faithfulness-review-prompt.md` — faithfulness review worker
47
+
48
+ ## Root Metadata Gate
49
+
50
+ ## Root Metadata Gate
51
+
52
+ Before any clarification worker runs, the owner must verify task-root `./metadata.json` is populated with the exact original product prompt.
53
+
54
+ Rules:
55
+ - `./metadata.json` is the product metadata file that ships with the task. It must keep only the seven project-fact keys: `prompt`, `project_type`, `frontend_language`, `backend_language`, `database`, `frontend_framework`, and `backend_framework`.
56
+ - `prompt` must contain the original product prompt, exactly enough to anchor design, evaluation, packaging, and session lineage.
57
+ - If the user's intake text contains a prompt block followed by appended stack/context/operator notes, keep only the product prompt in `./metadata.json.prompt` and record the supporting context under `../.ai/startup-context.md` or another owner-private workflow artifact.
58
+ - If `./metadata.json.prompt` is empty, stale, summarized, or mixed with non-prompt operator context, fix it before launching the clarifier.
59
+ - Do not add accepted clarifications, requirements breakdowns, workflow state, phase state, Beads ids, session ids, evaluator paths, or owner-private notes as extra keys in root `./metadata.json`.
60
+ - Accepted clarifications belong in `./docs/questions.md`, `../.ai/requirements-breakdown.md`, the approved clarification package summary in `../.ai/metadata.json`, and Beads comments.
61
+ - `project_type` must be exactly one of the six accepted values: `backend`, `fullstack`, `web`, `android`, `ios`, or `desktop`. Do not use `api`, `spa`, `cli`, `nextjs`, `nuxt`, or any other variant. If the project type becomes clear during clarification, update `project_type` in root metadata. If it is not yet clear, leave it as an empty string until Phase 2 design confirms it.
62
+ - If project type or stack facts become clear during clarification, update only the existing seven project-fact fields in `./metadata.json`; leave unknown fields as empty strings until truthfully known.
63
+
64
+ Phase 1 cannot close if root `./metadata.json.prompt` is missing, stale, or contaminated with non-product workflow/operator text.
65
+
40
66
  ## Procedure
41
67
 
42
68
  1. **Confirm the inputs.**
43
69
  - Keep the original product prompt as the source of truth.
44
70
  - Treat supporting stack/context as supporting information unless it materially changes the product contract.
71
+ - Verify and, if needed, correct `./metadata.json.prompt` before launching the clarification worker.
72
+ - Record any metadata correction in `../.ai/metadata.json` and Beads without exposing workflow metadata to implementation sessions.
45
73
 
46
- 2. **Run the general clarification worker.**
47
- - Use the packaged `clarifier-agent-prompt.md` verbatim.
48
- - Copy the full packaged prompt body into the sent worker message.
49
- - Inject only the original prompt and supporting stack/context notes into that packet; do not prepend or append a second owner-written clarification contract, and do not tell the worker to read the packaged file itself.
74
+ 2. **Run the general clarification worker.**
75
+ - Read the installed `clarifier-agent-prompt.md` file fresh from its asset path using a `read` tool call.
76
+ - Paste that file's **complete body verbatim** into the sent worker message under the non-negotiable verbatim paste rule.
77
+ - After the packaged prompt body, inject only the original prompt and supporting stack/context notes; do not prepend or append a second owner-written clarification contract, and do not tell the worker to read the packaged file itself.
50
78
  - Require both `./docs/questions.md` and `../.ai/requirements-breakdown.md` as output.
51
79
  - After the worker returns, record both artifact paths in `../.ai/metadata.json` and add a Beads `ARTIFACT:` comment.
52
80
 
53
- 3. **Review `questions.md` and `../.ai/requirements-breakdown.md` critically.**
54
- - It should extract the core requirements from the prompt explicitly.
55
- - It should use evaluation-grade extraction depth: business goal, main flows, actors, required surfaces, modules, APIs/jobs/data, security boundaries, mock/fake boundaries, documentation/static-verifiability expectations, test/coverage expectations, frontend state obligations, and FE-BE wiring expectations when applicable.
56
- - Those requirements should be defined in enough depth that design and planning can rely on them directly.
57
- - It should explain what later planning could miss if each important requirement is not carried forward explicitly.
58
- - It should distinguish between explicit prompt requirements, implied but binding requirements, and locked safe defaults where that separation helps later planning.
81
+ 3. **Review `questions.md` and `../.ai/requirements-breakdown.md` critically.**
82
+ - It must extract the core requirements from the prompt explicitly.
83
+ - It must use evaluation-grade extraction depth: business goal, main flows, actors, required surfaces, modules, APIs/jobs/data, security boundaries, mock/fake boundaries, documentation/static-verifiability expectations, test/coverage expectations, frontend state obligations, and FE-BE wiring expectations when applicable.
84
+ - Those requirements must be defined in enough depth that design and planning can rely on them directly.
85
+ - It must explain what later planning could miss if each important requirement is not carried forward explicitly.
86
+ - It must distinguish between explicit prompt requirements, implied but binding requirements, and locked safe defaults where that separation helps later planning.
59
87
  - It must end with a planning-miss checklist strong enough to expose details later design/planning commonly underbuild.
60
- - It should explicitly cover hidden environment and trust-boundary assumptions when the prompt mentions or implies on-prem, intranet, offline, LAN, browser access, auth cookies/tokens, local storage, self-contained deployment, external reachability, or secure/insecure transport.
61
- - It should cover material ambiguity only.
62
- - It should preserve prompt faithfulness and avoid convenience narrowing.
88
+ - It must explicitly cover hidden environment and trust-boundary assumptions when the prompt mentions or implies on-prem, intranet, offline, LAN, browser access, auth cookies/tokens, local storage, self-contained deployment, external reachability, or secure/insecure transport.
89
+ - It must cover material ambiguity only.
90
+ - It must preserve prompt faithfulness and avoid convenience narrowing.
63
91
  - Each entry must end with a decisive solution.
64
- - It should not leak into planning or implementation structure.
92
+ - It must not leak into planning or implementation structure.
65
93
  - Reread it once against the original prompt and reject any degradation of implied scope, enforcement, workflow closure, operator/admin behavior, or core requirement meaning.
66
94
  - If the file is materially sound and only small wording, ordering, duplication, or overreach cleanup remains, patch `questions.md` directly instead of rerunning the clarifier.
67
95
  - If the file is materially weak, convenience-shaped, or still ambiguous, rerun clarification before leaving Phase 1.
68
96
 
69
- 4. **Run prompt-faithfulness review.**
97
+ 4. **Run prompt-faithfulness review.**
70
98
  - Launch one short-lived faithfulness review worker.
71
99
  - Send the original prompt, the supporting stack/context notes, `../.ai/requirements-breakdown.md`, and `./docs/questions.md` together.
72
- - Use the packaged `clarification-faithfulness-review-prompt.md` body in that message.
100
+ - Read the installed `clarification-faithfulness-review-prompt.md` file fresh from its asset path.
101
+ - Paste that file's **complete body verbatim** as the review instruction under the non-negotiable verbatim paste rule.
73
102
  - Require it to write `../.ai/clarification-faithfulness-review.md`.
74
103
  - After the review returns, record the review path and verdict in `../.ai/metadata.json` and add a Beads `ARTIFACT:` or `VERIFY:` comment.
75
104
  - If the review finds only small owner-fixable wording or coverage issues, patch `../.ai/requirements-breakdown.md` and `./docs/questions.md` directly.
@@ -106,6 +135,7 @@ Reject the clarification result if:
106
135
  ## Exit Condition
107
136
 
108
137
  `Phase 1: Clarification` is complete only when:
138
+ - `./metadata.json.prompt` contains the exact original product prompt and root metadata contains only the seven project-fact keys
109
139
  - `./docs/questions.md` exists
110
140
  - `../.ai/requirements-breakdown.md` exists
111
141
  - `../.ai/clarification-faithfulness-review.md` exists
@@ -31,8 +31,8 @@ Use this skill for startup preflight, session policy, metadata consistency, lane
31
31
  - Add a Beads `SESSION:` comment for launch/resume/replacement.
32
32
  - Add `VERIFY:`, `ISSUE:`, or `HANDOFF:` comments when a turn produces accepted evidence, defects, or a work handoff.
33
33
  - Phase 4 starts and uses the dedicated bugfix/fix-check implementation lane for remediation and verification guidance; the original development lane is closed for normal implementation at development completion.
34
- - Phase 5 uses fresh evaluator sessions for full audits; the only evaluator-session reuse is scoped fix-check for a kept Partial Pass report.
35
- - Product fixes from Phase 5 final audits go through the dedicated evaluation bugfix/fix-check implementation lane.
34
+ - Phase 5 uses fresh evaluator sessions for full audits. Evaluator-session reuse occurs in three cases: (1) fail-regeneration — same session receives only the regeneration prompt after fixes; (2) Partial Pass fix-check — same session verifies all scoped issues are fixed; (3) Pass-with-items fix-check same session verifies all scoped recommendations are closed.
35
+ - Audit Cycle 1 and Audit Cycle 2 fixes go through the dedicated bugfix lane. After both audit cycles complete, the bugfix lane is closed and a new test-coverage/final-reconciliation lane takes over for coverage/README remediation.
36
36
  - Phase 6 reconciliation uses the currently active developer/Claude lane for Docker, runtime, browser, account, `run_tests.sh`, coverage, README, and final readiness fixes unless a new lane is explicitly justified by context limits or isolation risk.
37
37
  - If the owner directly changes docs, wrappers, config, cleanup, or light glue, send the active lane a minimal acknowledgement request that names the changed surface and asks it to inspect/confirm before readiness continues.
38
38
 
@@ -96,7 +96,7 @@ Also give me the startup commands and the main flows I should expect to exercise
96
96
 
97
97
  ## Owner Review Checklist
98
98
 
99
- For each scaffold/module, check:
99
+ For each scaffold/module, the owner must verify:
100
100
  - changed files are integrated, referenced, and not orphaned
101
101
  - implementation matches `./docs/design.md`
102
102
  - API/interface behavior matches `./docs/api-spec.md` when applicable
@@ -53,7 +53,7 @@ When a failed report is regenerated in the same evaluator session:
53
53
  - reject reports if the last ordinary audit send was not the exact saved send packet content
54
54
  - reject reports that are continuation-shaped, fix-only, stale against current files, or contradicted by current repo evidence
55
55
  - reject reports that drop required endpoint/surface inventory, hard-gate README review, severity panels, verdict blocks, or finding details expected by the underlying prompt
56
- - if rejected, send the full prepared evaluation prompt again instead of using the degraded report
56
+ - if rejected, archive every report or candidate report from the invalid cycle unchanged, record the reason, and restart that audit cycle from a fresh evaluator session using the installed prompt asset and exact saved send packet required by `final-evaluation-orchestration`
57
57
 
58
58
  ## Partial Pass Handling
59
59
 
@@ -64,25 +64,39 @@ When a failed report is regenerated in the same evaluator session:
64
64
  - Do not narrow fix-check to Blocker/High issues.
65
65
  - The same evaluator session that wrote the kept Partial Pass report performs the fix-check.
66
66
 
67
+ ## Pass With Items Handling
68
+
69
+ - A kept Pass report with any issue, recommendation, caveat, suggestion, action item, or requested change also requires closure.
70
+ - Save the kept Pass report under the same cycle audit report name: `./.tmp/audit_report-1.md` or `./.tmp/audit_report-2.md`.
71
+ - Extract every issue/recommendation/caveat/suggestion/action item/requested change from it.
72
+ - The fix-check scope is the full extracted set.
73
+ - The same evaluator session that wrote the kept Pass report performs the fix-check.
74
+ - Save the fix-check under the fixed cycle path: `./.tmp/audit_report-1-fix_check.md` or `./.tmp/audit_report-2-fix_check.md`.
75
+ - A Pass report with zero scoped items still requires the cycle fix-check report. The fix-check must explicitly confirm that the kept audit report had no scoped issues to close and that the cycle is clean.
76
+
67
77
  ## Fix-Check Handling
68
78
 
69
79
  - Read the full fix-check report.
70
80
  - If every scoped issue is fixed, save/keep the fix-check report.
71
81
  - If anything is not fixed or partially fixed, send only the unresolved behavior back to the developer lane in broad human language, then rerun the fix-check in the same evaluator session.
72
82
  - The regenerated fix-check must still address the full kept audit issue set, not only the unresolved items that were most recently sent back.
83
+ - Before sending the exact fix-check instruction, provide the same evaluator session with concise developer fix evidence, exact verification results when available, and the exact full audit-scoped issue list from the kept `audit_report-<N>.md`.
73
84
  - Reject fix-check reports that narrow the scope, skip low-priority kept issues, perform a broad new audit instead of scoped checking, or use history-exposing language.
74
85
  - Do not edit evaluator report text.
75
86
 
76
87
  ## Send Packet Validation
77
88
 
78
89
  Before accepting any full audit report:
79
- - confirm `prepare_evaluation_prompt.mjs` was used to build the prepared prompt for the right project type
80
- - confirm `prepare_evaluation_send_packet.mjs` was used to build the exact send packet
90
+ - confirm `prepare_evaluation_send_packet.mjs` was used to build the exact send packet, including {prompt} interpolation and report path insertion
91
+ - record both the installed prompt asset path and the exact saved send packet path
81
92
  - read the saved send packet before sending
82
- - confirm the evaluator received the exact saved send packet content, not a summary, footer, file reference, or shortened prompt
83
- - record prepared prompt path, send packet path, report path, and evaluator session id in metadata and Beads
93
+ - confirm the evaluator received the exact saved send packet content, not a summary, footer, file reference, shortened prompt, or owner-authored replacement
94
+ - confirm the saved send packet contains the complete installed evaluation prompt content, with nothing omitted from the installed asset and no owner-added text outside the packet
95
+ - record installed prompt asset path, prepared prompt path, send packet path, report path, and evaluator session id in metadata and Beads
96
+
97
+ If any part cannot be confirmed, reject the report, archive every report or candidate report from the invalid cycle unchanged, and restart that audit cycle from a fresh evaluator session with a valid installed prompt asset plus saved send packet.
84
98
 
85
- If any part cannot be confirmed, reject the report and rerun with a valid saved send packet.
99
+ For failed-report regeneration, do not build or improvise a new prompt. Use only the exact fail-regeneration prompt from `final-evaluation-orchestration`, verbatim and with no preface, suffix, issue list, fix evidence, or extra wording.
86
100
 
87
101
  ## State Updates
88
102
 
@@ -7,7 +7,7 @@ description: Phase 5 evaluation/remediation cycles, fix-checks, and coverage/REA
7
7
 
8
8
  Use this skill during `Phase 5: Evaluation And Fix Verification`.
9
9
 
10
- This phase is strict. Follow the cycle rules exactly.
10
+ This phase is strict. Follow the cycle rules exactly. If another section appears to conflict with the non-negotiable prompt block below, the non-negotiable prompt block wins.
11
11
 
12
12
  ## Core Shape
13
13
 
@@ -18,16 +18,47 @@ Phase 5 has three parts:
18
18
 
19
19
  The existing bugfix lane from Phase 4 remains active through Audit Cycle 1 and Audit Cycle 2. After both audit cycles complete and the 4 required audit reports exist, close that bugfix lane and start a new test-coverage/final-reconciliation lane.
20
20
 
21
- ## Prompt Preparation
21
+ ## Non-Negotiable Full-Audit Prompt Block
22
22
 
23
- - Prepare the evaluation prompt with `prepare_evaluation_prompt.mjs` based on project type.
24
- - Build the exact evaluator send packet with `prepare_evaluation_send_packet.mjs` before every full audit send.
25
- - Use `backend-evaluation-prompt.md` for backend, fullstack, API, mobile, desktop, CLI, data, or any non-pure-frontend project.
26
- - Use `frontend-evaluation-prompt.md` for pure frontend projects.
27
- - Read the saved send packet file and send that exact content verbatim to the evaluator subagent.
28
- - Record the prepared prompt path and exact send packet path in metadata and Beads.
29
- - Save evaluator session ids in `../.ai/metadata.json` and Beads.
30
- - Treat evaluator reports as immutable once written.
23
+ This block controls every full audit and fail-regeneration evaluator send. Do not reinterpret it from later sections.
24
+
25
+ Only two evaluator prompts are allowed in the full-audit/fail-regeneration cycle:
26
+
27
+ 1. **Initial full audit prompt**
28
+ - Determine project type.
29
+ - Use and record both the installed full evaluation prompt asset and the generated send packet.
30
+ - The installed asset is the source prompt, located under the installed SlopMachine assets directory (the same directory where `backend-evaluation-prompt.md` and `frontend-evaluation-prompt.md` were installed by setup).
31
+ - Use `backend-evaluation-prompt.md` for backend, fullstack, API, mobile, desktop, CLI, data, or any non-pure-frontend project.
32
+ - Use `frontend-evaluation-prompt.md` for pure frontend projects.
33
+ - Prepare the send packet with `prepare_evaluation_send_packet.mjs` after prompt interpolation and exact output path insertion.
34
+ - The installed evaluation prompt content must be preserved word-for-word with nothing omitted. The evaluator must receive the whole long prompt packet, not a summary, not a path, not a shortened excerpt, and not an owner-authored substitute. If the installed prompt is 400+ lines, all 400+ lines must be present in the packet sent to the evaluator.
35
+ - Read the complete saved send packet before sending.
36
+ - Paste/send the complete saved send packet into the evaluator subagent word-for-word, with nothing added, removed, summarized, paraphrased, or appended.
37
+ - The owner must not add a preface, footer, clarification, instruction, file reference substitute, or any extra sentence.
38
+
39
+ 2. **Fail-regeneration prompt**
40
+ - If a full audit report is Fail, archive the failed report unchanged, extract all issues, fix them through the active bugfix lane, and owner-verify the fixes.
41
+ - Return to the same evaluator session that produced the failed report.
42
+ - Send exactly the regeneration prompt below, verbatim, with absolutely nothing added, removed, summarized, paraphrased, prefaced, suffixed, or otherwise modified.
43
+
44
+ ```text
45
+ Regenerate the audit on a new file. Check, I fixed every issues you identified. but don't make it obvious that it is a regeneration, you shouldn't mention that the previous issues are fixed on the current audit, just put the new updated verdict and only mention remaining or newly found issues.
46
+
47
+ Refrain from using words like "Remaining, still, now", and the likes that may expose this current audit is a regen.
48
+ ```
49
+
50
+ No other full-audit or fail-regeneration prompt is allowed. In particular, the owner must not:
51
+ - shorten the installed evaluation prompt;
52
+ - send only a path to the prompt instead of the complete prompt packet;
53
+ - add local context outside the prepared packet;
54
+ - append rerun footers or status notes;
55
+ - rewrite the regeneration prompt;
56
+ - combine the regeneration prompt with issue summaries, fix evidence, or extra report instructions;
57
+ - replace a fail-regeneration send with a different custom prompt.
58
+
59
+ If any deviation is found from either allowed prompt send, the current audit cycle is invalid. Archive every report or candidate report generated during that invalid cycle unchanged under `../.ai/archive/`, record the restart reason in metadata and Beads, then restart that audit cycle from a fresh evaluator session using the installed asset and exact saved send packet. Do not patch, rename, or reuse invalid-cycle reports as kept reports.
60
+
61
+ Record the installed prompt asset path, prepared prompt path, exact send packet path, evaluator session id, and report path in metadata and Beads. Treat evaluator reports as immutable once written.
31
62
 
32
63
  ## Report Paths And Names
33
64
 
@@ -40,6 +71,15 @@ Use task-local report paths under `./.tmp/`. The kept report paths are:
40
71
 
41
72
  Do not write final kept reports under `../.tmp` or `./tmp`.
42
73
 
74
+ Cycle naming is fixed:
75
+ - Audit Cycle 1 kept full audit report: `./.tmp/audit_report-1.md`.
76
+ - Audit Cycle 1 fix-check report, when required: `./.tmp/audit_report-1-fix_check.md`.
77
+ - Audit Cycle 2 kept full audit report: `./.tmp/audit_report-2.md`.
78
+ - Audit Cycle 2 fix-check report, when required: `./.tmp/audit_report-2-fix_check.md`.
79
+ - Coverage/README report: `./.tmp/test_coverage_and_readme_audit_report.md`.
80
+
81
+ A cycle fix-check is required for every kept full audit report, including Pass reports with zero issues. The fix-check report must confirm that all issues from the kept audit report are fixed; when the kept audit report has zero scoped issues, the fix-check must explicitly state that the kept audit report had no scoped issues to close and that the cycle is clean.
82
+
43
83
  Archive failed/superseded reports unchanged under `../.ai/archive/`.
44
84
 
45
85
  ## Audit Cycle Procedure
@@ -50,9 +90,10 @@ Run this procedure twice: once for Audit Cycle 1 and once for Audit Cycle 2.
50
90
 
51
91
  - Start a new `evaluator` subagent session.
52
92
  - Save its session id.
53
- - Send the exact saved evaluator send packet verbatim.
93
+ - Send the exact saved evaluator send packet verbatim under the non-negotiable full-audit prompt block.
54
94
  - Require the report to be written to the current cycle's candidate report path.
55
95
  - Reject the report if you cannot confirm the last evaluator send used the exact saved send packet content.
96
+ - Reject and restart the cycle if you cannot cite both the installed prompt asset path and the exact saved send packet path used for that evaluator send.
56
97
 
57
98
  ### 2. If The Report Is Fail
58
99
 
@@ -63,16 +104,10 @@ Run this procedure twice: once for Audit Cycle 1 and once for Audit Cycle 2.
63
104
  - Convert the issue list into broad human language.
64
105
  - Send the full issue set to the existing bugfix lane without file/line details, report names, or evaluator language.
65
106
  - Do not run a fix-check for a Fail report. First fix every issue from the failed report and verify the fixes owner-side.
66
- - After the bugfix lane fixes every issue from the failed report and the owner verifies, return to the same evaluator session and send this exact regeneration instruction verbatim, with no additions, removals, preface, suffix, or wording changes:
67
-
68
- ```text
69
- Regenerate the audit on a new file. Check, I fixed every issues you identified. but don't make it obvious that it is a regeneration, you shouldn't mention that the previous issues are fixed on the current audit, just put the new updated verdict and only mention remaining or newly found issues.
70
-
71
- Refrain from using words like "Remaining, still, now", and the likes that may expose this current audit is a regen.
72
- ```
107
+ - After the bugfix lane fixes every issue from the failed report and the owner verifies, return to the same evaluator session and send only the exact fail-regeneration prompt from the non-negotiable full-audit prompt block.
73
108
 
74
109
  - Validate the regenerated report before using it.
75
- - If the regenerated report is less than 150 lines or materially less complete than the archived report in content size/depth, reject it and resend the full prepared evaluation prompt.
110
+ - If the regenerated report is less than 150 lines or materially less complete than the archived report in content size/depth, reject it as invalid and repeat the fail-remediation/regeneration path using only the exact fail-regeneration prompt from the non-negotiable block after fixes are verified.
76
111
  - Reject the regenerated report if it is continuation-shaped, fix-only, materially omits required sections/tables/verdict panels/evidence style, or appears stale against current repo state.
77
112
  - If the regenerated report is reasonably similar in depth and structure, proceed with its verdict.
78
113
  - If the regenerated report is still Fail, archive it unchanged, extract every issue again, fix every issue again through the bugfix lane, owner-verify again, then return to the same evaluator session and send the same exact regeneration instruction verbatim again.
@@ -103,15 +138,44 @@ Refrain from using words like "Remaining, still, now", and the likes that may ex
103
138
 
104
139
  - Keep the report as the cycle's audit report.
105
140
  - Save it under the cycle's kept report path in `./.tmp/`.
106
- - If it contains any issue or recommendation, treat those as the cycle issue set and run the same bugfix/fix-check discipline needed to close them.
107
- - If it contains no issues or recommendations, the cycle is complete with no fix-check required unless an explicit report requirement says otherwise.
141
+ - If it contains any issue, recommendation, caveat, suggestion, action item, or requested change, treat those as the cycle issue set.
142
+ - Send the full issue set to the existing bugfix lane in broad human language, then owner-verify the fixes.
143
+ - Run the fix-check in the same evaluator session that wrote the kept Pass report.
144
+ - The fix-check must address every scoped issue/recommendation/caveat/suggestion/action item/requested change from the kept Pass report.
145
+ - Save the fix-check report as:
146
+ - Cycle 1: `./.tmp/audit_report-1-fix_check.md`
147
+ - Cycle 2: `./.tmp/audit_report-2-fix_check.md`
148
+ - If the fix-check says any item is only partially fixed or not fixed, send those items back to the bugfix lane, then rerun the fix-check in the same evaluator session against the whole kept report issue set.
149
+ - If it contains no issues, recommendations, caveats, suggestions, action items, or requested changes, run the same-session cycle fix-check anyway; the fix-check must state that the kept audit report had zero scoped items to close and that the cycle is clean.
150
+
151
+ ### 5. Cycle Completion Validation
152
+
153
+ Before a cycle can close, validate the whole cycle as a hard gate. If any item fails, archive every candidate/kept/fix-check report produced in that cycle unchanged under `../.ai/archive/`, record the reason, and restart that audit cycle from a fresh evaluator session using the non-negotiable full-audit prompt block.
154
+
155
+ Required for each cycle:
156
+ - the installed evaluation prompt asset path is recorded and matches the project type;
157
+ - the exact saved send packet path is recorded;
158
+ - the full saved send packet was read before send and sent word-for-word with no owner additions, omissions, summaries, path-only substitutions, or footers;
159
+ - if the cycle had any Fail report, the failed report was archived unchanged, fixes were verified owner-side, and the exact fail-regeneration prompt was sent word-for-word with no owner additions, omissions, summaries, issue lists, fix evidence, or footers;
160
+ - the kept audit report exists at `./.tmp/audit_report-<N>.md`;
161
+ - the kept audit report is rich and complete: at least 150 lines and not materially shallower than the installed prompt's required output structure;
162
+ - the kept audit report includes the required verdict, scope/boundary, prompt/repository mapping, section review or blocker/high panel as applicable, issues/suggestions or explicit no-issue statement, security/data-risk review where applicable, and test/logging/coverage sections required by the installed prompt;
163
+ - the cycle fix-check report exists at `./.tmp/audit_report-<N>-fix_check.md`;
164
+ - the cycle fix-check report confirms every issue/recommendation/caveat/suggestion/action item/requested change from the kept audit report is fixed, or explicitly confirms the kept audit report had zero scoped items to close;
165
+ - the fix-check report does not perform a broader new audit and does not use history-exposing comparison language.
166
+
167
+ No audit cycle is complete without both `./.tmp/audit_report-<N>.md` and `./.tmp/audit_report-<N>-fix_check.md` passing this validation gate.
108
168
 
109
169
  ## Fix-Check Prompt
110
170
 
111
- Use this exact fix-check instruction after a kept Partial Pass report has been fixed:
171
+ Use this exact fix-check instruction after a kept Pass or Partial Pass report with any scoped issue/recommendation/caveat/suggestion/action item/requested change has been fixed. Send it verbatim to the same evaluator session after providing concise developer fix evidence, exact verification results when available, and the exact full audit-scoped issue list from the kept `audit_report-<N>.md`:
112
172
 
113
173
  ```text
114
- Check the current repository state against every issue and recommendation from the kept audit report for this audit. Write the fix-check report to the requested file. For each scoped issue, state whether the current repository satisfies the expected behavior, cite current evidence, and identify any issue that is not fully fixed. Do not perform a broader new audit.
174
+ Only confirm whether those exact earlier items are fixed; do not perform a broader new review.
175
+
176
+ The follow-up report must describe each scoped issue's current status, current evidence, and any important verification caveats. It must not describe issues as `resolved`, `remaining`, `still open`, `no longer existing`, `left`, or compare against prior audit history.
177
+
178
+ Write the follow-up report to `./.tmp/audit_report-<N>-fix_check.md`.
115
179
  ```
116
180
 
117
181
  Do not allow fix-check scope to shrink. It must cover all issues from the kept audit report.
@@ -136,9 +200,9 @@ I found several issues that need cleanup. The auth behavior still has security g
136
200
 
137
201
  Phase 5 cannot move to coverage/README reconciliation until both cycles are complete and these reports exist:
138
202
  - `./.tmp/audit_report-1.md`
139
- - `./.tmp/audit_report-1-fix_check.md` when Cycle 1 required fixes
203
+ - `./.tmp/audit_report-1-fix_check.md`
140
204
  - `./.tmp/audit_report-2.md`
141
- - `./.tmp/audit_report-2-fix_check.md` when Cycle 2 required fixes
205
+ - `./.tmp/audit_report-2-fix_check.md`
142
206
 
143
207
  Once both cycles are complete:
144
208
  - close the existing bugfix lane
@@ -76,9 +76,9 @@ Purpose:
76
76
  - send consolidated issue batches to the bugfix lane in human language
77
77
 
78
78
  Procedure:
79
- 1. Prepare the evaluator prompt packet using `prepare_evaluation_prompt.mjs` based on project type.
80
- 2. Use `backend-evaluation-prompt.md` for backend/fullstack/mixed/non-pure-frontend work.
81
- 3. Use `frontend-evaluation-prompt.md` for pure frontend work.
79
+ 1. Prepare the evaluator prompt packet using `prepare_evaluation_send_packet.mjs` based on project type, ensuring the installed prompt file body is included verbatim in the packet under the owner-level verbatim prompt paste rule.
80
+ 2. The installed asset is `backend-evaluation-prompt.md` for backend/fullstack/mixed/non-pure-frontend work.
81
+ 3. The installed asset is `frontend-evaluation-prompt.md` for pure frontend work.
82
82
  4. Start one isolated evaluator subagent session.
83
83
  5. Send the prepared packet and require a report file under `../.ai/internal-verification/` or another stable internal path.
84
84
  6. Archive each generated report unchanged.
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: p8-readiness-reconciliation
3
+ description: Phase 6 final readiness reconciliation and issue classification after Phase 5.
4
+ ---
5
+
1
6
  # Phase 6 Readiness Reconciliation
2
7
 
3
8
  Use this skill for final readiness decision and issue classification after Phase 5.
@@ -31,6 +36,7 @@ Use these D1-D9 buckets for major issue classification:
31
36
  - Partial Pass only if residual risks are explicit, bounded, and user-accepted.
32
37
  - Fail if core prompt-fit, security, runtime/test, delivery credibility, or evidence integrity remains materially broken.
33
38
  - Never imply unrun verification passed.
39
+ - A check is "not applicable" only when the project type genuinely cannot support it (e.g. no browser UI for a pure-backend API) and the reason is user-confirmed. Cost, convenience, or time pressure are not valid not-applicable reasons — route the failing check to the active developer/Claude lane instead.
34
40
 
35
41
  ## Required Final Checks
36
42
 
@@ -48,7 +54,7 @@ Use these D1-D9 buckets for major issue classification:
48
54
  - If `docker compose up --build`, native/platform startup, browser/API manual checks, account/seeded-value checks, or `./repo/run_tests.sh` fails, do not move to packaging.
49
55
  - Route the failure to the currently active developer/Claude implementation lane in broad human language: describe the failing behavior, command, and user-visible/runtime impact without exposing evaluator or owner-private mechanics.
50
56
  - After the lane reports a fix, the owner verifies the changed surface and reruns the failed check.
51
- - Repeat fix, verify, and rerun until the check is green, not applicable for a documented reason, or explicitly risk-accepted by the user.
57
+ - Repeat fix, verify, and rerun until the check is green, demonstrably not applicable to the project type and confirmed by the user, or explicitly risk-accepted by the user.
52
58
  - Record every failed command, routed issue, fix acknowledgement, rerun result, and final decision in metadata and Beads.
53
59
 
54
60
  ## Owner Direct Fixes
@@ -39,11 +39,13 @@ Phase 2 establishes the primary developer session and produces the accepted plan
39
39
  - Do not reveal hidden paths or workflow mechanics.
40
40
  - Explain that these are accepted clarifications and requirements to use for design.
41
41
 
42
- 3. Create `./docs/design.md`.
43
- - Send the packaged design prompt and design template, or a direct instruction to use the seeded `./docs/design.md` template when it already exists.
42
+ 3. Create `./docs/design.md`.
43
+ - Read the installed `phase-1-design-prompt.md` fresh from its asset path.
44
+ - Paste its full body verbatim into the developer message under the non-negotiable verbatim prompt paste rule. Do not describe, summarize, or tell the developer to read the file path.
45
+ - Tell the developer to fill the design template already seeded at `./docs/design.md` (the template was created during `slopmachine init`). Do not paste the template file body — it is already in the workspace.
44
46
  - The design must be a true product/system design, not an execution plan.
45
- - It should define product behavior, actors, flows, modules, data, security, UI/API surfaces, assumptions, and verification strategy at design level.
46
- - It should not become a step-by-step coding checklist.
47
+ - The design must define product behavior, actors, flows, modules, data, security, UI/API surfaces, assumptions, and verification strategy at design level.
48
+ - It must not become a step-by-step coding checklist.
47
49
  - When the design is returned, record the artifact path and Claude turn result in metadata and Beads.
48
50
 
49
51
  4. Owner reviews and cleans the design.
@@ -68,8 +70,8 @@ Phase 2 establishes the primary developer session and produces the accepted plan
68
70
  - The owner must delegate creation of `../.ai/plan.md` to one general owner-side planning subagent.
69
71
  - Do not ask Claude/developer implementation lanes to create, edit, review, or know about `../.ai/plan.md`.
70
72
  - Provide original prompt, stack/context, accepted questions, requirements breakdown, design, and API spec.
71
- - The general subagent must use the packaged `phase-2-execution-planning-prompt.md` as its instruction prompt.
72
- - The general subagent must use the packaged `phase-2-plan-template.md` as the required structure for `../.ai/plan.md`.
73
+ - The general subagent must receive the complete body of the packaged `phase-2-execution-planning-prompt.md` as its instruction prompt, pasted verbatim into the sent message.
74
+ - The general subagent must receive the complete body of the packaged `phase-2-plan-template.md` as the required structure for `../.ai/plan.md`, pasted verbatim into the sent message.
73
75
  - Require output to `../.ai/plan.md` and `../.ai/test-coverage.md` when useful.
74
76
  - Record private plan and coverage artifact paths in metadata and Beads after the subagent returns.
75
77
  - Ensure the private plan can be executed as small sequential developer prompts. Reject plans that require dumping multiple phases or the whole delivery contract into a single developer/Claude prompt.
@@ -12,7 +12,7 @@ Use this skill only during Phase 8 Retrospective, after Phase 7 Submission Packa
12
12
  - inspect what happened across the whole workflow run
13
13
  - identify what caused churn, waste, late defects, or preventable corrections
14
14
  - capture lessons that should improve future runs
15
- - write package-specific retrospective files under `/Users/yohannesakd/slopmachine/retrospectives/`
15
+ - write package-specific retrospective files under the installed SlopMachine assets directory (`<asset-root>/retrospectives/`)
16
16
 
17
17
  ## Phase role
18
18
 
@@ -26,7 +26,7 @@ Use this skill only during Phase 8 Retrospective, after Phase 7 Submission Packa
26
26
 
27
27
  Write run-scoped retrospective files under:
28
28
 
29
- - `/Users/yohannesakd/slopmachine/retrospectives/`
29
+ - `<asset-root>/retrospectives/`
30
30
 
31
31
  Preferred filenames:
32
32
 
@@ -1,3 +1,8 @@
1
+ ---
2
+ name: submission-packaging
3
+ description: Phase 7 submission packaging, package-boundary validation, and final closure.
4
+ ---
5
+
1
6
  # Submission Packaging
2
7
 
3
8
  Use this skill for Phase 7 submission packaging and final closure.
@@ -49,7 +54,8 @@ Packaging must reject or remove stale workflow notes and scratch execution artif
49
54
  ## Required `.tmp` Report Shape
50
55
 
51
56
  - `.tmp/` must contain the kept immutable evaluator reports and fix-check reports required by the evaluation phase.
52
- - Normal 2-audit-session path must end with `audit_report-1.md`, `audit_report-2.md`, `test_coverage_and_readme_audit_report.md`, and the corresponding `audit_report-<N>-fix_check.md` files for every kept Partial Pass report that required fix-check.
57
+ - Normal 2-audit-session path must end with `audit_report-1.md`, `audit_report-1-fix_check.md`, `audit_report-2.md`, `audit_report-2-fix_check.md`, and `test_coverage_and_readme_audit_report.md`.
58
+ - A cycle fix-check file is never omitted. Even a Pass report with zero scoped issues requires a fix-check report stating that there were no scoped issues to close.
53
59
  - Do not leave archived failed reports, stale report variants, numbered coverage variants, owner reconciliation notes, or superseded reports in final `.tmp/`; archived lineage belongs under `../.ai/archive/`.
54
60
  - Read the final coverage/README report holistically as an acceptance signal and reconcile any repo/README/docs mismatch before closing packaging.
55
61
 
@@ -91,6 +97,7 @@ Do not run broad Docker prune commands that can affect unrelated projects.
91
97
  ## Metadata And Naming
92
98
 
93
99
  - `./metadata.json` must truthfully describe the delivered project and contain only these seven project-fact keys: `prompt`, `project_type`, `frontend_language`, `backend_language`, `database`, `frontend_framework`, and `backend_framework`.
100
+ - `prompt` in `./metadata.json` must be the original product prompt captured during Phase 1, not a summary, clarified rewrite, workflow note, or prompt-plus-operator-context dump.
94
101
  - Normalize `project_type` to exactly one of the six accepted task classifications: `backend`, `fullstack`, `web`, `android`, `ios`, or `desktop`.
95
102
  - If a task/question id exists, use that exact id for final deliverable/archive naming without adding an extra `ID-` prefix.
96
103
  - Record the package-root manifest: workflow root, task root, package root, docs path, `.tmp` path, separate session handoff path if present, and any explicit validation exceptions.
@@ -205,13 +205,9 @@ Bash wrapper that invokes `claude_wait_for_rate_limit_reset.mjs` through Node.
205
205
 
206
206
  ## Non-Claude Workflow Helpers
207
207
 
208
- ### `prepare_evaluation_prompt.mjs`
209
-
210
- Builds an owner-side prepared evaluation prompt under workflow-private `.ai` state from a task root. Use `--report-path ./.tmp/<report>.md` to append an owner-required exact report path without editing the canonical prompt text.
211
-
212
208
  ### `prepare_evaluation_send_packet.mjs`
213
209
 
214
- Builds the exact saved evaluator-send packet for Phase 5/Phase 4 workflows from a task root. Use `--report-path ./.tmp/<report>.md` to append an owner-required exact report path without editing the canonical prompt text.
210
+ Builds the exact saved evaluator-send packet for evaluation workflows from a task root. Interpolates `{prompt}` from `./metadata.json`, appends a required report path, and writes the complete packet to workflow-private `.ai/`. Use `--report-path ./.tmp/<report>.md` to append an owner-required exact report path without editing the canonical prompt text. This is the single consolidated script for all evaluation prompt preparation; use it in Phase 4 internal evaluator loops and Phase 5 audit cycles.
215
211
 
216
212
  ### `prepare_strict_audit_workspace.mjs`
217
213
 
@@ -60,7 +60,7 @@ try {
60
60
 
61
61
  const workflowRoot = path.dirname(taskRoot)
62
62
  const metadataPath = path.join(taskRoot, 'metadata.json')
63
- const defaultOutputPath = path.join(workflowRoot, '.ai', `evaluation-send-${path.basename(promptFile)}`)
63
+ const defaultOutputPath = path.join(workflowRoot, '.ai', `prepared-${path.basename(promptFile)}`)
64
64
 
65
65
  let promptText = await fs.readFile(promptFile, 'utf8')
66
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "theslopmachine",
3
- "version": "1.0.13",
3
+ "version": "1.0.17",
4
4
  "description": "SlopMachine installer and project bootstrap CLI",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/src/constants.js CHANGED
@@ -69,7 +69,6 @@ export const REQUIRED_SLOPMACHINE_FILES = [
69
69
  "utils/convert_ai_session.py",
70
70
  "utils/package_claude_session.mjs",
71
71
  "utils/analyze_claude_project_dir.mjs",
72
- "utils/prepare_evaluation_prompt.mjs",
73
72
  "utils/prepare_evaluation_send_packet.mjs",
74
73
  "utils/prepare_strict_audit_workspace.mjs",
75
74
  "utils/run_with_timeout.mjs",
package/src/init.js CHANGED
@@ -628,30 +628,23 @@ async function createRepoStructure(workflowRoot, taskRoot, runtimeAssetRoot, age
628
628
  run_id: randomUUID(),
629
629
  current_phase: initialPhase,
630
630
  awaiting_human: false,
631
- clarification_approved: false,
632
- evaluation_prompt_kind: null,
633
- active_evaluator_session_id: null,
634
- task_root: 'task',
635
- evaluation_reports_root: 'task/.tmp',
636
- evaluation_audit_count: 0,
637
- evaluation_runs: [],
638
- completed_bugfix_session_count: 0,
639
- required_bugfix_session_count: 2,
640
- coverage_readme_audit_completed: false,
641
- coverage_readme_audit_report_path: null,
642
- developer_sessions: [],
643
- developer_rulebook_file: developerRulebookFile,
644
- current_developer_lane: null,
645
- active_developer_session_id: null,
646
- primary_develop_session_id: null,
647
- latest_develop_session_id: null,
648
- next_develop_session_number: 1,
649
- next_bugfix_session_number: 1,
650
- packaging_completed: false,
651
- claude_live_root: '.ai/claude-live',
652
- bootstrap_mode: options.adoptExisting ? 'adopt' : 'new',
653
- requested_start_phase: options.requestedStartPhase,
654
- }, null, 2)}\n`, 'utf8')
631
+ evaluation_prompt_kind: null,
632
+ active_evaluator_session_id: null,
633
+ task_root: 'task',
634
+ evaluation_reports_root: 'task/.tmp',
635
+ developer_sessions: [],
636
+ developer_rulebook_file: developerRulebookFile,
637
+ current_developer_lane: null,
638
+ active_developer_session_id: null,
639
+ primary_develop_session_id: null,
640
+ latest_develop_session_id: null,
641
+ next_develop_session_number: 1,
642
+ next_bugfix_session_number: 1,
643
+ packaging_completed: false,
644
+ claude_live_root: '.ai/claude-live',
645
+ bootstrap_mode: options.adoptExisting ? 'adopt' : 'new',
646
+ requested_start_phase: options.requestedStartPhase,
647
+ }, null, 2)}\n`, 'utf8')
655
648
  }
656
649
 
657
650
  await createInitialPhaseArtifacts(taskRoot, workflowRoot, runtimeAssetRoot, options)
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import fs from 'node:fs/promises'
4
- import path from 'node:path'
5
-
6
- import { parseArgs, printUsageAndExit, readJsonFile, writeFileIfNeeded } from './claude_worker_common.mjs'
7
-
8
- const argv = parseArgs(process.argv.slice(2))
9
-
10
- if (argv.help === '1') {
11
- printUsageAndExit(`Usage:
12
- node ~/slopmachine/utils/prepare_evaluation_prompt.mjs --task-root <task-root> --prompt-file <template-file> [--mode <initial|rerun>] [--report-path <./.tmp/report.md>] [--output-file <prepared-file>]
13
- `)
14
- }
15
-
16
- const SAME_SESSION_RERUN_FOOTER = 'Check the entire current project again against the full prompt above and regenerate the complete report from scratch. Save the report to the same required path. Make the report read as a fresh standalone audit of the current repo state and do not mention or imply any previous run, rerun, regeneration, prior inspection, earlier fixes, or earlier remaining items.\n'
17
-
18
- function fail(message) {
19
- process.stderr.write(`${message}\n`)
20
- process.exit(1)
21
- }
22
-
23
- try {
24
- const taskRoot = argv['task-root'] ? path.resolve(argv['task-root']) : null
25
- const promptFile = argv['prompt-file'] ? path.resolve(argv['prompt-file']) : null
26
- const outputFile = argv['output-file'] ? path.resolve(argv['output-file']) : null
27
- const reportPath = argv['report-path'] ? String(argv['report-path']).trim() : ''
28
- const mode = argv.mode ? String(argv.mode).trim().toLowerCase() : 'initial'
29
-
30
- if (!taskRoot) {
31
- fail('Missing --task-root')
32
- }
33
-
34
- if (!promptFile) {
35
- fail('Missing --prompt-file')
36
- }
37
-
38
- if (mode !== 'initial' && mode !== 'rerun') {
39
- fail(`Unsupported --mode '${mode}'. Use initial or rerun.`)
40
- }
41
-
42
- if (reportPath && (!reportPath.startsWith('./.tmp/') || !reportPath.endsWith('.md'))) {
43
- fail('--report-path must be a markdown path under ./.tmp/, for example ./.tmp/audit_report-1.md')
44
- }
45
-
46
- const workflowRoot = path.dirname(taskRoot)
47
- const metadataPath = path.join(taskRoot, 'metadata.json')
48
- const defaultOutputPath = path.join(workflowRoot, '.ai', `prepared-${path.basename(promptFile)}`)
49
-
50
- let promptText = await fs.readFile(promptFile, 'utf8')
51
-
52
- if (promptText.includes('{prompt}')) {
53
- const metadata = await readJsonFile(metadataPath)
54
- const projectPrompt = typeof metadata?.prompt === 'string' ? metadata.prompt : ''
55
- if (!projectPrompt.trim()) {
56
- fail(`Missing non-empty metadata.json prompt at ${metadataPath} for a prompt template that requires {prompt}.`)
57
- }
58
- promptText = promptText.replaceAll('{prompt}', projectPrompt)
59
- }
60
-
61
- if (reportPath) {
62
- promptText = promptText.endsWith('\n')
63
- ? `${promptText}\nOwner-required report path: write/save the final report exactly to \`${reportPath}\`.\n`
64
- : `${promptText}\n\nOwner-required report path: write/save the final report exactly to \`${reportPath}\`.\n`
65
- }
66
-
67
- const unresolvedPlaceholders = [...promptText.matchAll(/\{[a-z_]+\}/g)].map((match) => match[0])
68
- if (unresolvedPlaceholders.length > 0) {
69
- fail(`Unsupported unresolved prompt placeholders remain: ${[...new Set(unresolvedPlaceholders)].join(', ')}`)
70
- }
71
-
72
- if (mode === 'rerun') {
73
- promptText = promptText.endsWith('\n') ? `${promptText}\n${SAME_SESSION_RERUN_FOOTER}` : `${promptText}\n\n${SAME_SESSION_RERUN_FOOTER}`
74
- }
75
-
76
- const resolvedOutputPath = outputFile || defaultOutputPath
77
- await writeFileIfNeeded(resolvedOutputPath, promptText)
78
- process.stdout.write(`${resolvedOutputPath}\n`)
79
- } catch (error) {
80
- fail(error instanceof Error ? error.message : String(error))
81
- }