theslopmachine 0.7.3 → 0.7.6
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 +1 -1
- package/README.md +13 -1
- package/RELEASE.md +16 -0
- package/assets/agents/developer.md +2 -1
- package/assets/agents/slopmachine-claude.md +31 -20
- package/assets/agents/slopmachine.md +22 -18
- package/assets/claude/agents/developer.md +2 -1
- package/assets/skills/beads-operations/SKILL.md +1 -1
- package/assets/skills/clarification-gate/SKILL.md +6 -4
- package/assets/skills/claude-worker-management/SKILL.md +43 -6
- package/assets/skills/developer-session-lifecycle/SKILL.md +13 -9
- package/assets/skills/evaluation-triage/SKILL.md +3 -2
- package/assets/skills/final-evaluation-orchestration/SKILL.md +12 -19
- package/assets/skills/submission-packaging/SKILL.md +14 -11
- package/assets/skills/verification-gates/SKILL.md +4 -4
- package/assets/slopmachine/templates/AGENTS.md +2 -1
- package/assets/slopmachine/templates/CLAUDE.md +2 -1
- package/assets/slopmachine/utils/__pycache__/normalize_claude_session.cpython-311.pyc +0 -0
- package/assets/slopmachine/utils/claude_live_common.mjs +45 -6
- package/assets/slopmachine/utils/claude_live_launch.mjs +4 -4
- package/assets/slopmachine/utils/normalize_claude_session.py +162 -27
- package/assets/slopmachine/utils/package_claude_session.mjs +120 -23
- package/assets/slopmachine/utils/prepare_evaluation_prompt.mjs +41 -0
- package/assets/slopmachine/workflow-init.js +21 -1
- package/package.json +1 -1
- package/src/cli.js +1 -1
- package/src/constants.js +1 -0
- package/src/init.js +118 -28
- package/src/send-data.js +4 -4
package/MANUAL.md
CHANGED
|
@@ -80,4 +80,4 @@ slopmachine init -o
|
|
|
80
80
|
- The workflow-owner agents use mandatory skills for specific phases; skipping them is considered a workflow failure.
|
|
81
81
|
- `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.
|
|
82
82
|
- the scaffold playbook inventory now covers the main repeated families used in current tasks: React/Vite, Vue/Vite, Angular, FastAPI, Spring Boot, Django, Laravel, Livewire, Go/Chi, Android Java Views, Android Kotlin Compose, Electron/Vite, Tauri, Expo iOS-on-Linux, plus honest Linux partial-proof native Swift and Objective-C iOS playbooks.
|
|
83
|
-
- Submission packaging collects the final docs, accepted evaluation reports, cleaned OpenCode session exports or one Claude
|
|
83
|
+
- Submission packaging collects the final docs, accepted evaluation reports, cleaned OpenCode session exports or one Claude session zip bundle containing only the tracked relevant Claude sessions, and the cleaned repo into the required final structure.
|
package/README.md
CHANGED
|
@@ -40,7 +40,7 @@ From this package directory:
|
|
|
40
40
|
npm install
|
|
41
41
|
npm run check
|
|
42
42
|
npm pack
|
|
43
|
-
npm install -g ./theslopmachine-0.7.
|
|
43
|
+
npm install -g ./theslopmachine-0.7.5.tgz
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
For local development instead:
|
|
@@ -128,6 +128,12 @@ To adopt an existing project into a SlopMachine workspace and request a later wo
|
|
|
128
128
|
slopmachine init --adopt --phase P4
|
|
129
129
|
```
|
|
130
130
|
|
|
131
|
+
Equivalent smoother existing-project bootstrap:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
slopmachine init --continue-from P4
|
|
135
|
+
```
|
|
136
|
+
|
|
131
137
|
What it creates:
|
|
132
138
|
|
|
133
139
|
- `repo/`
|
|
@@ -156,10 +162,16 @@ Important details:
|
|
|
156
162
|
- the workspace root is the parent directory containing `repo/`
|
|
157
163
|
- parent-root `.tmp/` is the audit and fix-check artifact directory used during `P7`
|
|
158
164
|
- parent-root `.tmp/` also holds `test_coverage_and_readme_audit_report.md` after the final post-bugfix audit
|
|
165
|
+
- parent-root `metadata.json` is strict project metadata only and must contain exactly these keys: `prompt`, `project_type`, `frontend_language`, `backend_language`, `database`, `frontend_framework`, `backend_framework`
|
|
166
|
+
- `project_type` should use only `fullstack`, `backend`, `android`, `ios`, `desktop`, or `web` when known
|
|
159
167
|
- Beads lives in the workspace root, not inside `repo/`
|
|
160
168
|
- `repo/.claude/settings.json` seeds Claude Code to use the custom `developer` agent by default for that repo
|
|
161
169
|
- after non-`-o` bootstrap, the command prints the exact `cd repo` next step so you can continue immediately
|
|
162
170
|
- `--adopt` moves the current project files into `repo/`, preserves root workflow state in the parent workspace, and skips the automatic bootstrap commit
|
|
171
|
+
- `--continue-from <PX>` is a smoother alias for existing-project bootstrap; it implies adoption mode and seeds the requested start phase in one step
|
|
172
|
+
- if `--continue-from <PX>` is run while your current working directory is already the real project `repo/`, SlopMachine automatically treats `..` as the workspace root and writes the workflow state there instead of creating `repo/repo`
|
|
173
|
+
- when a later start phase is seeded for adoption or recovery, the Beads workflow phases before that requested phase are created and immediately marked completed so tracker state matches the seeded entry point
|
|
174
|
+
- in the `slopmachine-claude` path, if adopted or resumed later-phase work has no recoverable tracked Claude developer session yet, the owner must launch and orient the needed Claude lane first and only then continue the substantive work in that same session
|
|
163
175
|
- `--phase <PX>` seeds the initial `current_phase` for adoption/recovery bootstrap; the owner should still fall back if the real repo evidence does not support that later phase
|
|
164
176
|
|
|
165
177
|
### `slopmachine set-token`
|
package/RELEASE.md
CHANGED
|
@@ -44,6 +44,22 @@ printf 'console.log("hello")\n' > .tmp-project-adopt/index.js
|
|
|
44
44
|
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init --adopt --phase P4 .tmp-project-adopt
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
+
6. Test smoother existing-project bootstrap alias:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
mkdir -p .tmp-project-continue
|
|
51
|
+
printf 'console.log("hello")\n' > .tmp-project-continue/index.js
|
|
52
|
+
SLOPMACHINE_HOME="$(pwd)/.tmp-home" node ./bin/slopmachine.js init --continue-from P4 .tmp-project-continue
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
7. Test `repo/` auto-wrap for `--continue-from`:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
mkdir -p .tmp-project-continue-parent/repo
|
|
59
|
+
printf 'console.log("hello")\n' > .tmp-project-continue-parent/repo/index.js
|
|
60
|
+
(cd .tmp-project-continue-parent/repo && SLOPMACHINE_HOME="$(pwd)/../../.tmp-home" node ../../../bin/slopmachine.js init --continue-from P4)
|
|
61
|
+
```
|
|
62
|
+
|
|
47
63
|
Note:
|
|
48
64
|
|
|
49
65
|
- `slopmachine init` is Node-driven.
|
|
@@ -36,6 +36,7 @@ Read and follow `AGENTS.md` before implementing.
|
|
|
36
36
|
- keep moving until the assigned work is materially complete or concretely blocked
|
|
37
37
|
- do not stop for unnecessary intermediate check-ins
|
|
38
38
|
- use independent engineering judgment; do not behave like a passive worker waiting to be corrected later
|
|
39
|
+
- once given a bounded engineering objective, keep going autonomously until that objective or explicit stop boundary is complete; do not pause for reassurance or permission when prompt-faithful defaults let you proceed
|
|
39
40
|
|
|
40
41
|
## Requirements And Planning
|
|
41
42
|
|
|
@@ -46,7 +47,7 @@ Before coding:
|
|
|
46
47
|
- make the important business rules explicit before coding, including defaults, thresholds, limits, uniqueness, conflicts, reversals, retry behavior, and ownership rules when those dimensions matter
|
|
47
48
|
- define or confirm the relevant state machine when the feature has meaningful lifecycle state
|
|
48
49
|
- keep explicit out-of-scope boundaries in mind so you do not overbuild speculative features
|
|
49
|
-
- surface meaningful ambiguity
|
|
50
|
+
- surface meaningful ambiguity only when it is genuinely blocking or materially changes the product contract; otherwise choose the safest prompt-faithful default and keep moving
|
|
50
51
|
- make the plan concrete enough to drive real implementation
|
|
51
52
|
- keep frontend/backend surfaces aligned when both sides matter
|
|
52
53
|
- check prompt-fit before reporting completion; if the requested result still has visible gaps, keep working or call them out explicitly
|
|
@@ -35,7 +35,7 @@ You are the operational engine, not the primary coder.
|
|
|
35
35
|
|
|
36
36
|
## Non-Stop Execution Warning
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
You must not stop execution for planned human input once the workflow starts.
|
|
39
39
|
|
|
40
40
|
- do not stop to give status updates
|
|
41
41
|
- do not stop to ask what to do next
|
|
@@ -43,12 +43,11 @@ Outside the two allowed human gates, you must not stop execution.
|
|
|
43
43
|
- do not stop to hand control back early
|
|
44
44
|
- do not stop just because a phase changed or a summary is available
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
Planned human-stop moments do not exist.
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
- `P8 Final
|
|
50
|
-
|
|
51
|
-
If you are not at one of those two gates, continue working.
|
|
48
|
+
- clarification is an internal owner phase, not a user approval pause
|
|
49
|
+
- `P8 Final Readiness Decision` is an internal owner readiness decision, not a user approval pause
|
|
50
|
+
- continue autonomously from intake through packaging and retrospective unless you hit an irrecoverable blocker that truly requires new external input
|
|
52
51
|
|
|
53
52
|
Claude-capacity rule:
|
|
54
53
|
|
|
@@ -86,6 +85,9 @@ Agent-integrity rule:
|
|
|
86
85
|
- do not use the OpenCode `developer` subagent for implementation work in this backend
|
|
87
86
|
- use the live Claude `developer` lane for codebase implementation work
|
|
88
87
|
- if the Claude developer worker is unavailable because of rate limits or capacity exhaustion, do not replace it by coding yourself; preserve the same session and auto-wait for reset instead
|
|
88
|
+
- keep most review, verification interpretation, and acceptance decisions in the main owner session
|
|
89
|
+
- when verifying Claude developer work would require reading a large number of files, it is recommended to spawn one or two focused `Explore` or `General` subagents to read and evaluate bounded slices in parallel so the main owner session saves tokens
|
|
90
|
+
- do not offload ordinary small reviews or the final acceptance judgment; the main owner session should synthesize the evidence and make the decision
|
|
89
91
|
|
|
90
92
|
## Optimization Goal
|
|
91
93
|
|
|
@@ -159,16 +161,14 @@ If you do work for a phase before loading its required skill, that is a workflow
|
|
|
159
161
|
|
|
160
162
|
## Human Gates
|
|
161
163
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
- when clarification is complete and the run is ready to enter `P2 Planning`
|
|
165
|
-
- `P8 Final Human Decision`
|
|
164
|
+
There are no planned human-stop gates during ordinary execution.
|
|
166
165
|
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
- do not stop for approval, signoff, continuation confirmation, or intermediate permission
|
|
167
|
+
- do not stop just to report status, summarize progress, ask what to do next, or hand control back early
|
|
168
|
+
- treat clarification completion and `P8 Final Readiness Decision` as internal transitions that must roll forward automatically
|
|
169
|
+
- only interrupt the user when an irrecoverable external blocker truly prevents autonomous continuation, such as missing external credentials, unavailable required infrastructure you cannot repair, or conflicting new human edits that require direction
|
|
169
170
|
|
|
170
|
-
If
|
|
171
|
-
If work is still in flight outside those two gates, your default is to continue autonomously until the phase objective or the next required gate is actually reached.
|
|
171
|
+
If work is still in flight and no irrecoverable blocker exists, continue autonomously until packaging and retrospective are complete.
|
|
172
172
|
|
|
173
173
|
Claude-capacity rule:
|
|
174
174
|
|
|
@@ -187,7 +187,7 @@ Use these exact root phases:
|
|
|
187
187
|
- `P5 Integrated Verification`
|
|
188
188
|
- `P6 Hardening`
|
|
189
189
|
- `P7 Evaluation and Fix Verification`
|
|
190
|
-
- `P8 Final
|
|
190
|
+
- `P8 Final Readiness Decision`
|
|
191
191
|
- `P9 Submission Packaging`
|
|
192
192
|
- `P10 Retrospective`
|
|
193
193
|
|
|
@@ -207,8 +207,9 @@ Maintain exactly one active developer session at a time.
|
|
|
207
207
|
- use `claude-worker-management` for live Claude lane launch, turn delivery, status checks, and orientation mechanics
|
|
208
208
|
- from `P2` through `P6`, default to one long-lived `develop-1` Claude developer lane
|
|
209
209
|
- the live Claude lane must run the installed Claude `developer` agent for normal work, and implementation-capable helper branches should stay developer-scoped when the environment supports explicit agent selection
|
|
210
|
-
- launch Claude lanes with an explicit model choice rather than relying on the CLI default: use `
|
|
210
|
+
- launch Claude lanes with an explicit model choice rather than relying on the CLI default: use `opus` with `medium` effort for normal work, raise to `opus` with `xhigh` effort only when the planning/debugging/security difficulty genuinely justifies it, use `sonnet` with `medium` effort for documentation-heavy or otherwise simpler work, and keep helper subagents on `sonnet` by default unless there is a concrete reason to raise them too
|
|
211
211
|
- do not create a fresh `develop-N` Claude session unless controlled replacement or explicit user direction actually requires it
|
|
212
|
+
- if adopted or resumed work needs Claude developer execution but no recoverable tracked Claude session exists yet, determine the correct lane for the current boundary, launch and orient that lane through `claude-worker-management`, persist the returned session id, and only then continue the substantive work
|
|
212
213
|
- when `P7` begins, do not automatically switch away from `develop-N`
|
|
213
214
|
- each fresh evaluation result decides the remediation lane:
|
|
214
215
|
- `fail` -> route the issue list back to the latest `develop-N` Claude session and discard the working audit report file after triage
|
|
@@ -231,6 +232,8 @@ Maintain exactly one active developer session at a time.
|
|
|
231
232
|
|
|
232
233
|
Do not launch the developer before clarification is complete and the workflow is ready to enter `P2`.
|
|
233
234
|
|
|
235
|
+
If later-phase adopted or repaired work reaches scaffold, development, verification, hardening, or evaluator remediation with no recoverable Claude session yet, do not stall there or treat the absence itself as a blocker. Launch the required live Claude lane first, complete its first orientation exchange, persist the session id and lane metadata, and then continue the bounded work in that same session.
|
|
236
|
+
|
|
234
237
|
When the first develop developer session begins in `P2`, start it in this exact order through the live bridge:
|
|
235
238
|
|
|
236
239
|
1. launch the live `develop-1` Claude `developer` lane
|
|
@@ -387,6 +390,8 @@ To the developer, this should feel like a normal engineering conversation with a
|
|
|
387
390
|
- prefer one strong correction request over many tiny nudges
|
|
388
391
|
- keep work moving without low-information continuation chatter
|
|
389
392
|
- read only what is needed to answer the current decision
|
|
393
|
+
- keep routine review inside the main owner session; use `Explore` or `General` review subagents only when the file-reading surface is large enough that parallel bounded reads will materially reduce token waste
|
|
394
|
+
- when using review subagents, give each one a narrow file set or question, then synthesize their findings in the main session instead of turning the whole review over to them
|
|
390
395
|
- at planning, scaffold, development, integrated-verification, hardening, and evaluation gates, demand the exact expected outcomes for that gate in itemized form rather than relying on implied standards
|
|
391
396
|
- keep comments and metadata auditable and specific
|
|
392
397
|
- keep external docs owner-maintained and repo-local README developer-maintained
|
|
@@ -400,7 +405,7 @@ To the developer, this should feel like a normal engineering conversation with a
|
|
|
400
405
|
- keep transcript files and hook logs for debugging and export analysis, but do not feed raw Claude transcript JSON back into the owner session
|
|
401
406
|
- constrain the Claude worker to the single-session developer lane by using the packaged live bridge scripts with bypassed local permission prompts
|
|
402
407
|
- if the saved Claude worker session becomes unusable, stop and recover explicitly instead of silently replacing it
|
|
403
|
-
- after each bridge launch or turn, read bridge `state.json
|
|
408
|
+
- after each bridge launch or turn, read bridge `state.json`, mirror workflow/session fields into `../.ai/metadata.json`, keep `../metadata.json` limited to its exact seven project-fact keys, and update Beads comments before advancing workflow state
|
|
404
409
|
- when metadata disagrees with bridge `state.json`, repair metadata from the bridge state before continuing
|
|
405
410
|
- treat bridge-managed Claude lanes as owner-controlled and do not manually type into them during ordinary workflow operation
|
|
406
411
|
- at every stage exit, require the result to be checked against the relevant accepted plan sections and an explicit stage-exclusive checklist before accepting it
|
|
@@ -411,6 +416,11 @@ To the developer, this should feel like a normal engineering conversation with a
|
|
|
411
416
|
|
|
412
417
|
All Claude developer lane launch and turn actions should go through the packaged scripts in `~/slopmachine/utils/`.
|
|
413
418
|
|
|
419
|
+
Evaluation-prompt rule:
|
|
420
|
+
|
|
421
|
+
- backend and frontend evaluation prompts may only be changed by injecting the original project prompt into `{prompt}`; otherwise send them verbatim
|
|
422
|
+
- the test-coverage prompt must be sent verbatim with no additions or reductions
|
|
423
|
+
|
|
414
424
|
Operation map:
|
|
415
425
|
|
|
416
426
|
- launch live worker lane:
|
|
@@ -423,7 +433,8 @@ Operation map:
|
|
|
423
433
|
- `node ~/slopmachine/utils/claude_live_stop.mjs`
|
|
424
434
|
- package the Claude project session folder for final delivery as one root zip bundle:
|
|
425
435
|
- `node ~/slopmachine/utils/package_claude_session.mjs`
|
|
426
|
-
- this resolves the Claude
|
|
436
|
+
- this resolves the tracked relevant Claude session artifacts from the tracked `session_id` values plus the project `cwd` under `~/.claude/projects/`, packages only those tracked session files/directories once, and avoids sweeping unrelated random Claude sessions into the archive
|
|
437
|
+
- after Claude session packaging is fully complete, stop each tracked live Claude lane with `node ~/slopmachine/utils/claude_live_stop.mjs --runtime-dir <dir>` and verify the tmux session is gone before closing `P9`
|
|
427
438
|
|
|
428
439
|
Timeout rule:
|
|
429
440
|
|
|
@@ -462,6 +473,6 @@ Trace convention:
|
|
|
462
473
|
Repeat this rule before closing your work for the turn:
|
|
463
474
|
|
|
464
475
|
- if clarification is not yet complete and ready for `P2`, do not stop
|
|
465
|
-
- if
|
|
466
|
-
- do not pause for summaries, status, permission, or handoff chatter
|
|
476
|
+
- if packaging and retrospective are not yet complete, do not stop
|
|
477
|
+
- do not pause for summaries, status, permission, or handoff chatter unless an irrecoverable blocker truly requires external input
|
|
467
478
|
- when in doubt, continue execution and make the best prompt-faithful decision from the evidence in front of you
|
|
@@ -35,7 +35,7 @@ You are the operational engine, not the primary coder.
|
|
|
35
35
|
|
|
36
36
|
## Non-Stop Execution Warning
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
You must not stop execution for planned human input once the workflow starts.
|
|
39
39
|
|
|
40
40
|
- do not stop to give status updates
|
|
41
41
|
- do not stop to ask what to do next
|
|
@@ -43,12 +43,11 @@ Outside the two allowed human gates, you must not stop execution.
|
|
|
43
43
|
- do not stop to hand control back early
|
|
44
44
|
- do not stop just because a phase changed or a summary is available
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
Planned human-stop moments do not exist.
|
|
47
47
|
|
|
48
|
-
-
|
|
49
|
-
- `P8 Final
|
|
50
|
-
|
|
51
|
-
If you are not at one of those two gates, continue working.
|
|
48
|
+
- clarification is an internal owner phase, not a user approval pause
|
|
49
|
+
- `P8 Final Readiness Decision` is an internal owner readiness decision, not a user approval pause
|
|
50
|
+
- continue autonomously from intake through packaging and retrospective unless you hit an irrecoverable blocker that truly requires new external input
|
|
52
51
|
|
|
53
52
|
## Core Role
|
|
54
53
|
|
|
@@ -80,6 +79,9 @@ Agent-integrity rule:
|
|
|
80
79
|
- use `developer` for codebase implementation work
|
|
81
80
|
- use `General` for internal validation, evaluation, or non-code support tasks
|
|
82
81
|
- use `Explore` for focused repo investigation when needed
|
|
82
|
+
- keep most review, verification interpretation, and acceptance decisions in the main owner session
|
|
83
|
+
- when verifying developer work would require reading a large number of files, it is recommended to spawn one or two focused `Explore` or `General` subagents to read and evaluate bounded slices in parallel so the main session saves tokens
|
|
84
|
+
- do not offload ordinary small reviews or the final acceptance judgment; the main owner session should synthesize the evidence and make the decision
|
|
83
85
|
- if the work does not fit those agents, do it yourself with your own tools
|
|
84
86
|
|
|
85
87
|
## Optimization Goal
|
|
@@ -155,16 +157,14 @@ If you do work for a phase before loading its required skill, that is a workflow
|
|
|
155
157
|
|
|
156
158
|
## Human Gates
|
|
157
159
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
- when clarification is complete and the run is ready to enter `P2 Planning`
|
|
161
|
-
- `P8 Final Human Decision`
|
|
160
|
+
There are no planned human-stop gates during ordinary execution.
|
|
162
161
|
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
- do not stop for approval, signoff, continuation confirmation, or intermediate permission
|
|
163
|
+
- do not stop just to report status, summarize progress, ask what to do next, or hand control back early
|
|
164
|
+
- treat clarification completion and `P8 Final Readiness Decision` as internal transitions that must roll forward automatically
|
|
165
|
+
- only interrupt the user when an irrecoverable external blocker truly prevents autonomous continuation, such as missing external credentials, unavailable required infrastructure you cannot repair, or conflicting new human edits that require direction
|
|
165
166
|
|
|
166
|
-
If
|
|
167
|
-
If work is still in flight outside those two gates, your default is to continue autonomously until the phase objective or the next required gate is actually reached.
|
|
167
|
+
If work is still in flight and no irrecoverable blocker exists, continue autonomously until packaging and retrospective are complete.
|
|
168
168
|
|
|
169
169
|
## Lifecycle Model
|
|
170
170
|
|
|
@@ -177,7 +177,7 @@ Use these exact root phases:
|
|
|
177
177
|
- `P5 Integrated Verification`
|
|
178
178
|
- `P6 Hardening`
|
|
179
179
|
- `P7 Evaluation and Fix Verification`
|
|
180
|
-
- `P8 Final
|
|
180
|
+
- `P8 Final Readiness Decision`
|
|
181
181
|
- `P9 Submission Packaging`
|
|
182
182
|
- `P10 Retrospective`
|
|
183
183
|
|
|
@@ -188,7 +188,7 @@ Phase rules:
|
|
|
188
188
|
- do not close multiple root phases in one transition block
|
|
189
189
|
- `P6 Hardening` may reopen `P5` if hardening exposes unresolved integrated instability
|
|
190
190
|
- `P10 Retrospective` runs automatically after successful packaging and is non-blocking unless it finds a real delivery defect
|
|
191
|
-
- post-packaging external evaluation feedback may reopen `P7 Evaluation and Fix Verification`, then rerun `P8 Final
|
|
191
|
+
- post-packaging external evaluation feedback may reopen `P7 Evaluation and Fix Verification`, then rerun `P8 Final Readiness Decision`, `P9 Submission Packaging`, and `P10 Retrospective`
|
|
192
192
|
|
|
193
193
|
## Developer Session Model
|
|
194
194
|
|
|
@@ -379,6 +379,8 @@ Do not speak as a relay for a third party.
|
|
|
379
379
|
- avoid `grep` by default; prefer `glob` to identify exact files and `read` with targeted offsets
|
|
380
380
|
- use `grep` only for an exact low-cardinality string after the relevant file set is already known
|
|
381
381
|
- do not run broad parent-root searches during ordinary review when exact project files are already known
|
|
382
|
+
- keep routine review inside the main owner session; use review subagents only when the file-reading surface is large enough that parallel bounded reads will materially reduce token waste
|
|
383
|
+
- when using review subagents, give each one a narrow file set or question, then synthesize their findings in the main session instead of turning the whole review over to them
|
|
382
384
|
- for planning review, start with `README.md`, parent-root `../docs/design.md`, and parent-root `../docs/test-coverage.md`, then read only the specific supporting docs needed to answer the current gate question
|
|
383
385
|
- when a planning defect is about one document contract, read that document and the smallest number of cross-check docs needed to confirm it; do not fan out across the whole planning set
|
|
384
386
|
- prefer section-targeted reads over whole-document rereads when the relevant section is already known
|
|
@@ -407,6 +409,8 @@ Treat packaging as a first-class delivery contract from the start, not as late c
|
|
|
407
409
|
|
|
408
410
|
- the evaluation prompt files under `~/slopmachine/` are used only during evaluation runs
|
|
409
411
|
- the packaged source copies of those prompts live under `assets/slopmachine/`, and the installed runtime copies live under `~/slopmachine/`; ordinary evaluation runs should use the installed runtime copies
|
|
412
|
+
- backend and frontend evaluation prompts may only be changed by injecting the original project prompt into `{prompt}`; otherwise send them verbatim
|
|
413
|
+
- the test-coverage prompt must be sent verbatim with no additions or reductions
|
|
410
414
|
- load `submission-packaging` before any packaging action
|
|
411
415
|
- follow its exact artifact, export, cleanup, and output contract
|
|
412
416
|
- do not invent extra artifact structures during ordinary packaging
|
|
@@ -426,8 +430,8 @@ After `P9 Submission Packaging` closes successfully:
|
|
|
426
430
|
Repeat this rule before closing your work for the turn:
|
|
427
431
|
|
|
428
432
|
- if clarification is not yet complete and ready for `P2`, do not stop
|
|
429
|
-
- if
|
|
430
|
-
- do not pause for summaries, status, permission, or handoff chatter
|
|
433
|
+
- if packaging and retrospective are not yet complete, do not stop
|
|
434
|
+
- do not pause for summaries, status, permission, or handoff chatter unless an irrecoverable blocker truly requires external input
|
|
431
435
|
- when in doubt, continue execution and make the best prompt-faithful decision from the evidence in front of you
|
|
432
436
|
|
|
433
437
|
The workflow is not done until:
|
|
@@ -21,6 +21,7 @@ Read and follow `CLAUDE.md` before implementing.
|
|
|
21
21
|
- do real verification, not confidence theater
|
|
22
22
|
- keep moving until the assigned work is materially complete or concretely blocked
|
|
23
23
|
- do not stop for unnecessary intermediate check-ins
|
|
24
|
+
- once given a bounded engineering objective, keep going autonomously until that objective or explicit stop boundary is complete; do not pause for reassurance or permission when prompt-faithful defaults let you proceed
|
|
24
25
|
|
|
25
26
|
## Requirements And Planning
|
|
26
27
|
|
|
@@ -31,7 +32,7 @@ Before coding:
|
|
|
31
32
|
- make the important business rules explicit before coding, including defaults, thresholds, limits, uniqueness, conflicts, reversals, retry behavior, and ownership rules when those dimensions matter
|
|
32
33
|
- define or confirm the relevant state machine when the feature has meaningful lifecycle state
|
|
33
34
|
- keep explicit out-of-scope boundaries in mind so you do not overbuild speculative features
|
|
34
|
-
- surface meaningful ambiguity
|
|
35
|
+
- surface meaningful ambiguity only when it is genuinely blocking or materially changes the product contract; otherwise choose the safest prompt-faithful default and keep moving
|
|
35
36
|
- make the plan concrete enough to drive real implementation
|
|
36
37
|
- keep frontend/backend surfaces aligned when both sides matter
|
|
37
38
|
|
|
@@ -43,7 +43,7 @@ Use comments with fixed prefixes such as:
|
|
|
43
43
|
|
|
44
44
|
- use explicit dependencies only for real sibling or cross-phase gating
|
|
45
45
|
- do not add explicit dependencies from a parent Beads item to its own child Beads item
|
|
46
|
-
- technical blockers may set Beads items to `blocked`, but they must not create new human-stop points
|
|
46
|
+
- technical blockers may set Beads items to `blocked`, but they must not create new human-stop points; only irrecoverable blockers that truly require external input may interrupt execution
|
|
47
47
|
|
|
48
48
|
## Forbidden workflow-state shortcuts
|
|
49
49
|
|
|
@@ -22,13 +22,15 @@ Use this skill only during `P1 Clarification`.
|
|
|
22
22
|
- keep clarification work inside `P1`
|
|
23
23
|
- treat this as internal clarification workflow guidance, not developer-visible text
|
|
24
24
|
- do not start planning or developer launch while clarification is still active
|
|
25
|
-
- stop for human approval
|
|
25
|
+
- do not stop for human approval after the clarification artifact is ready and validated; lock prompt-faithful defaults and continue autonomously into planning
|
|
26
|
+
- if a prompt-faithful safe default exists, choose it and keep moving instead of asking the user to unblock you
|
|
26
27
|
|
|
27
28
|
## Clarification standard
|
|
28
29
|
|
|
29
30
|
- preserve the full original prompt text in parent-root `../metadata.json` under `prompt`
|
|
30
31
|
- if the user appended stack/context lines after the prompt block, keep those out of `prompt` and treat them as separate startup context
|
|
31
32
|
- fill known project metadata fields in `../metadata.json` from the prompt and any defensible existing-repo evidence while clarification is in progress
|
|
33
|
+
- keep `../metadata.json` on this exact project-only schema and do not add any other keys: `prompt`, `project_type`, `frontend_language`, `backend_language`, `database`, `frontend_framework`, `backend_framework`
|
|
32
34
|
- repair or normalize meaning-bearing metadata fields when this is a resume or adopted-project flow
|
|
33
35
|
- decompose the prompt thoroughly into explicit requirements, implied requirements, user flows, constraints, boundaries, risks, quality expectations, and verification expectations
|
|
34
36
|
- build an owner-only intake package in `../.ai/pre-planning-brief.md` that captures at least:
|
|
@@ -55,7 +57,7 @@ Use this skill only during `P1 Clarification`.
|
|
|
55
57
|
- keep clarification aligned with the original prompt
|
|
56
58
|
- do not let clarification reduce, weaken, narrow, or silently reinterpret the prompt
|
|
57
59
|
- use clarification to sharpen the build and improve output quality only when that improvement stays fully consistent with the prompt intent
|
|
58
|
-
-
|
|
60
|
+
- once clarification is strong enough and validated, start tracked development without waiting for human approval
|
|
59
61
|
|
|
60
62
|
Before planning begins, do a deliberate internal gap sweep across at least these categories and capture the important unresolved items in the owner-only intake package when they matter:
|
|
61
63
|
|
|
@@ -193,7 +195,7 @@ Even when ambiguity is low, still perform a serious clarification sweep first; d
|
|
|
193
195
|
- keep the validation loop bounded and intentional; prefer one strong pass plus a small number of revision cycles over repeated loose churn
|
|
194
196
|
- once prompt-faithfulness is satisfied and the remaining notes are minor or cosmetic, stop iterating and proceed
|
|
195
197
|
- only treat the clarification prompt as approved for developer use after this validation loop passes and your own review agrees
|
|
196
|
-
-
|
|
198
|
+
- treating an unvalidated clarification artifact as ready is illegal; finish the validation loop before continuing
|
|
197
199
|
|
|
198
200
|
## Exit conditions
|
|
199
201
|
|
|
@@ -204,4 +206,4 @@ Even when ambiguity is low, still perform a serious clarification sweep first; d
|
|
|
204
206
|
- material ambiguities are resolved or safely locked and documented
|
|
205
207
|
- `../docs/questions.md` exists and reflects the accepted clarification record
|
|
206
208
|
- prompt drift has been checked and rejected
|
|
207
|
-
-
|
|
209
|
+
- the clarification record is internally accepted and ready to roll directly into planning without a user-stop pause
|
|
@@ -37,6 +37,23 @@ Use this skill whenever `slopmachine-claude` needs to launch, inspect, or messag
|
|
|
37
37
|
- each substantive message should state the current engineering boundary, exact expected outcomes for that turn, the evidence required back, the important shortcuts that are not acceptable, and the stopping point
|
|
38
38
|
- default to one bounded engineering objective per owner turn; if a request would naturally cross planning, scaffold, development, or gate-review boundaries, split it into separate turns
|
|
39
39
|
|
|
40
|
+
## Session-presence rule
|
|
41
|
+
|
|
42
|
+
Before any Claude-backed developer work continues:
|
|
43
|
+
|
|
44
|
+
- determine whether the intended developer lane already has a recoverable live Claude session
|
|
45
|
+
- if the intended lane exists and its bridge state is recoverable, recover that same session and continue there
|
|
46
|
+
- if the current workflow boundary requires Claude developer work and no recoverable session is present yet, launch the necessary Claude lane first instead of treating the missing session as a handoff blocker
|
|
47
|
+
- do not send substantive work until the live lane exists, bridge registration has captured the Claude `session_id`, owner metadata and Beads comments have been synced, and the first session-start message for that lane has completed
|
|
48
|
+
- a missing Claude session during adoption, conservative phase repair, or other first-entry work is not itself an error; it means the owner must establish the correct live lane before continuing
|
|
49
|
+
|
|
50
|
+
Choose the first-launch action by boundary:
|
|
51
|
+
|
|
52
|
+
- `P2` planning entry with no Claude session yet -> launch `develop-1` and perform the planning handshake
|
|
53
|
+
- `P3` through `P6` entry with no recoverable `develop-N` session yet -> launch the appropriate `develop-N` lane, orient it to the current repo state, then continue with the bounded scaffold, development, verification, or hardening turn
|
|
54
|
+
- `P7` remediation routed to `develop-N` after a `fail` audit with no recoverable develop session yet -> launch the intended `develop-N` lane, orient it to the current delivered repo state and upcoming evaluator-driven remediation, then continue with the issue list
|
|
55
|
+
- `P7` remediation routed to `bugfix-N` after a `partial pass` audit -> launch the fresh `bugfix-N` lane and use the bugfix orientation handshake below
|
|
56
|
+
|
|
40
57
|
## Lane launch rule
|
|
41
58
|
|
|
42
59
|
For a new bounded developer session slot:
|
|
@@ -56,10 +73,11 @@ node ~/slopmachine/utils/claude_live_launch.mjs --cwd "$PWD" --lane <lane> --run
|
|
|
56
73
|
## Model selection rule
|
|
57
74
|
|
|
58
75
|
- choose the live-lane model at launch time; do not rely on an implicit Claude default when the owner can decide intentionally
|
|
59
|
-
- default to `--model
|
|
60
|
-
- escalate to `--model opus`
|
|
76
|
+
- default to `--model opus --effort medium` for ordinary planning, scaffold, development, and routine bugfix work
|
|
77
|
+
- escalate to `--model opus --effort xhigh` for genuinely difficult planning, security-critical hardening, architecturally tangled debugging, or repeated stubborn failures where the extra reasoning depth is justified
|
|
78
|
+
- use `--model sonnet --effort medium` for documentation-heavy, lightweight, or otherwise materially simpler work where the lower-cost lane is sufficient
|
|
61
79
|
- keep `--subagent-model sonnet` by default unless there is a concrete reason to raise helper-branch cost as well
|
|
62
|
-
-
|
|
80
|
+
- pass an explicit `--effort <level>` at launch time instead of relying on the CLI default; `medium` is the normal baseline and `xhigh` is the difficult-task override
|
|
63
81
|
- keep the chosen `model`, `effort`, and `subagent_model` recorded in bridge state so later recovery and review can see what launched the lane
|
|
64
82
|
|
|
65
83
|
The launch implementation must pass Claude `--dangerously-skip-permissions` in the live TUI command path.
|
|
@@ -79,11 +97,12 @@ The default pattern is to let the live lane start normally and then persist the
|
|
|
79
97
|
For all later turns in the same bounded developer slot:
|
|
80
98
|
|
|
81
99
|
```bash
|
|
82
|
-
printf '%s' "$PROMPT" | node ~/slopmachine/utils/claude_live_turn.mjs --runtime-dir <dir> --timeout-ms <turn-timeout>
|
|
100
|
+
printf '%s' "$PROMPT" | node ~/slopmachine/utils/claude_live_turn.mjs --runtime-dir <dir> --prompt-stdin 1 --timeout-ms <turn-timeout>
|
|
83
101
|
```
|
|
84
102
|
|
|
85
103
|
- inject exactly one message at a time into the idle live lane
|
|
86
104
|
- pass the prompt directly to the wrapper through stdin as the primary input path instead of requiring an owner-side prompt file
|
|
105
|
+
- when invoking the turn wrapper from the OpenCode Bash tool, pass `--prompt-stdin 1` explicitly so prompt detection does not depend on host stdin/TTY quirks
|
|
87
106
|
- wait for `Stop` or `StopFailure` before sending the next message
|
|
88
107
|
- do not bypass the bridge by calling the channel HTTP endpoint directly from owner logic
|
|
89
108
|
- if turn execution fails, stop and recover explicitly instead of silently creating a new worker
|
|
@@ -285,6 +304,25 @@ Do not tell the developer worker to read files outside `repo/`.
|
|
|
285
304
|
If project-lead artifacts outside `repo/` matter, restate their content directly in the message instead of passing file paths.
|
|
286
305
|
Do not mention session names, slot labels, or workflow phase labels to the developer worker.
|
|
287
306
|
|
|
307
|
+
### Adopted or repaired `develop-N` orientation handshake
|
|
308
|
+
|
|
309
|
+
When work enters scaffold, development, integrated verification, hardening, or `fail`-routed remediation without a recoverable `develop-N` Claude session yet:
|
|
310
|
+
|
|
311
|
+
1. launch the live `develop-N` lane needed for that boundary
|
|
312
|
+
2. use the first message only to orient that session to the current repo and delivered state
|
|
313
|
+
3. make clear in plain engineering language that the codebase already exists and work is continuing from the current state rather than starting from zero
|
|
314
|
+
4. say what kind of bounded follow-up work will come next, such as scaffold completion, a development slice, verification corrections, hardening, or evaluator-driven remediation
|
|
315
|
+
5. wait for the first response and store the Claude session id from bridge `state.json`
|
|
316
|
+
6. only after that orientation exchange, continue the same live lane with the first bounded work request
|
|
317
|
+
|
|
318
|
+
The orientation message should:
|
|
319
|
+
|
|
320
|
+
- identify the project and current repo as the working context
|
|
321
|
+
- summarize the current delivered state and the accepted constraints that matter immediately
|
|
322
|
+
- restate only the current engineering boundary and the next work type that will be requested after orientation
|
|
323
|
+
- avoid broad replanning unless the owner has intentionally reopened planning
|
|
324
|
+
- avoid mentioning workflow internals, phase labels, or session-lane labels
|
|
325
|
+
|
|
288
326
|
### `bugfix-N` orientation handshake
|
|
289
327
|
|
|
290
328
|
When a fresh `partial pass` evaluation result opens the next remediation lane:
|
|
@@ -340,7 +378,7 @@ Recommended additional fields when useful:
|
|
|
340
378
|
|
|
341
379
|
Bridge lane state is the authoritative transport state for Claude-backed developer work.
|
|
342
380
|
|
|
343
|
-
After each meaningful bridge action, immediately read bridge `state.json
|
|
381
|
+
After each meaningful bridge action, immediately read bridge `state.json`, mirror workflow/session fields into `../.ai/metadata.json`, keep `../metadata.json` limited to its exact project-fact schema, and update Beads comments before advancing workflow state.
|
|
344
382
|
|
|
345
383
|
### After lane launch
|
|
346
384
|
|
|
@@ -362,7 +400,6 @@ After each meaningful bridge action, immediately read bridge `state.json` and mi
|
|
|
362
400
|
- `transcript_path`
|
|
363
401
|
- `opened_from_audit_number` when the session was opened from a `partial pass` audit
|
|
364
402
|
- `orientation_completed: false`
|
|
365
|
-
- mirror `session_id` into `../metadata.json` as `session_id`
|
|
366
403
|
- record the session in Beads using `SESSION:`
|
|
367
404
|
|
|
368
405
|
### After each successful turn
|
|
@@ -10,7 +10,7 @@ Use this skill at `P1` startup, whenever workflow/session state is uncertain, an
|
|
|
10
10
|
## Purpose
|
|
11
11
|
|
|
12
12
|
- verify that workflow state is consistent before real owner work continues
|
|
13
|
-
- keep `../.ai/metadata.json`, `../metadata.json`, and Beads session comments aligned
|
|
13
|
+
- keep `../.ai/metadata.json`, the exact project-only `../metadata.json`, and Beads session comments aligned without leaking workflow state into project metadata
|
|
14
14
|
- manage the universal developer-session policy across the whole run
|
|
15
15
|
- recover deterministic continuity for existing sessions instead of guessing
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ Use this skill at `P1` startup, whenever workflow/session state is uncertain, an
|
|
|
20
20
|
- deterministic workspace creation belongs in `slopmachine init`, not in this skill
|
|
21
21
|
- clarification execution belongs to `clarification-gate`, not to this skill
|
|
22
22
|
- the first planning handshake belongs to `P2` plus the worker-management skill, not to this skill
|
|
23
|
-
- do not create
|
|
23
|
+
- do not create human stops, status hand-backs, or permission pauses during ordinary execution; only irrecoverable blockers may interrupt the run
|
|
24
24
|
|
|
25
25
|
## State inspection sequence
|
|
26
26
|
|
|
@@ -146,25 +146,25 @@ Each `evaluation_runs[]` record should include enough to recover deterministic `
|
|
|
146
146
|
- `routed_developer_label`
|
|
147
147
|
- `started_bugfix_session_id`
|
|
148
148
|
- `started_bugfix_label`
|
|
149
|
-
- `
|
|
149
|
+
- `fix_check_path`
|
|
150
150
|
- `status`
|
|
151
151
|
- `completed_at`
|
|
152
152
|
|
|
153
153
|
## Project metadata fields
|
|
154
154
|
|
|
155
|
-
Keep `../metadata.json` focused on project facts and exported project metadata
|
|
155
|
+
Keep `../metadata.json` focused on project facts and exported project metadata with this exact schema only:
|
|
156
156
|
|
|
157
157
|
- `prompt`
|
|
158
158
|
- `project_type`
|
|
159
159
|
- `frontend_language`
|
|
160
160
|
- `backend_language`
|
|
161
161
|
- `database`
|
|
162
|
-
- `session_id`
|
|
163
162
|
- `frontend_framework`
|
|
164
163
|
- `backend_framework`
|
|
165
164
|
|
|
165
|
+
- use only `fullstack`, `backend`, `android`, `ios`, `desktop`, or `web` for `project_type` when known
|
|
166
166
|
- fill known values early and keep them current
|
|
167
|
-
- prefer explicit values; use
|
|
167
|
+
- prefer explicit values; use empty strings instead of `null` or extra workflow fields
|
|
168
168
|
- do not use `../metadata.json` as owner workflow scratch state
|
|
169
169
|
|
|
170
170
|
## Session-lane model
|
|
@@ -172,7 +172,9 @@ Keep `../metadata.json` focused on project facts and exported project metadata,
|
|
|
172
172
|
- keep exactly one active developer session at a time
|
|
173
173
|
- record every developer session in `developer_sessions`
|
|
174
174
|
- from `P2` through `P6`, default to one long-lived `develop-1` lane
|
|
175
|
-
- default the launch model for that long-lived lane to `
|
|
175
|
+
- default the launch model for that long-lived lane to `opus` with `medium` effort
|
|
176
|
+
- raise that lane to `opus` with `xhigh` effort only when the work is genuinely difficult enough to justify it
|
|
177
|
+
- when launching a documentation-heavy or otherwise materially simpler lane, prefer `sonnet` with `medium` effort
|
|
176
178
|
- if a new `develop-N` session is created, it should happen only for controlled replacement or explicit user direction, not because `P7` found more issues
|
|
177
179
|
- keep `primary_develop_session_id` pointing at the original long-lived develop session when that distinction matters
|
|
178
180
|
- keep `latest_develop_session_id` pointing at the most recent recoverable `develop-N` session so `fail` audits can route back deterministically
|
|
@@ -204,6 +206,8 @@ Keep `../metadata.json` focused on project facts and exported project metadata,
|
|
|
204
206
|
|
|
205
207
|
- if session or phase records disagree, stop and repair the inconsistency before proceeding
|
|
206
208
|
- if the current phase already has an active developer session, recover it instead of silently creating a replacement
|
|
209
|
+
- if an adopted, resumed, or conservatively repaired run reaches a developer-work boundary with no recoverable Claude session yet, treat that as a controlled first-launch case rather than a fatal inconsistency; choose the correct lane for the current boundary and hand off to `claude-worker-management` to launch and orient it before work continues
|
|
210
|
+
- if the current boundary requires Claude developer work but `active_developer_session_id` is still empty, do not continue substantive phase work until the missing-session case has been repaired by recovering or launching the intended lane
|
|
207
211
|
- if an evaluator session is marked active, recover it before continuing the current `P7` cycle
|
|
208
212
|
- treat live-lane recovery as deterministic recovery, not guesswork
|
|
209
213
|
- if the active Claude developer session is marked `rate_limited`, do not replace it with owner-side coding; preserve it, record the blocked state, and auto-wait for reset or resume from the same session when the wait helper completes
|
|
@@ -222,7 +226,7 @@ On recovery, inspect at least:
|
|
|
222
226
|
|
|
223
227
|
- store the active developer session id in Beads comments using `SESSION:`
|
|
224
228
|
- mirror the active developer session id in `../.ai/metadata.json`
|
|
225
|
-
-
|
|
229
|
+
- do not write session ids or other workflow-only state into `../metadata.json`
|
|
226
230
|
- for Claude-backed sessions, include backend, runtime directory, tmux session name, and transcript path in the recorded session state so recovery and export remain deterministic
|
|
227
231
|
- if these records disagree, repair them before continuing
|
|
228
232
|
- do not silently create a replacement developer session if the intended existing one can still be recovered
|
|
@@ -253,7 +257,7 @@ For live Claude lanes specifically:
|
|
|
253
257
|
- parent-root `../docs/` is the owner-maintained external documentation directory
|
|
254
258
|
- parent-root `../sessions/` is the cleaned raw session-export directory for non-Claude developer sessions
|
|
255
259
|
- Claude-backed developer sessions are packaged once as parent-root `claude-sessions.zip` instead of per-session `../sessions/` entries
|
|
256
|
-
- parent-root `../.tmp/` is the `P7` evaluation artifact directory for `audit_report-<N>.md`, `audit_report-<N>-fix_check
|
|
260
|
+
- parent-root `../.tmp/` is the `P7` evaluation artifact directory for `audit_report-<N>.md`, `audit_report-<N>-fix_check.md`, and `test_coverage_and_readme_audit_report.md`
|
|
257
261
|
- parent-root `../.ai/claude-live/` is the live Claude bridge runtime directory root
|
|
258
262
|
- `../docs/questions.md` is the mandatory clarification record artifact
|
|
259
263
|
- do not treat repo-local `docs/` as the active external documentation location
|
|
@@ -59,8 +59,9 @@ Use this skill during `P7 Evaluation and Fix Verification` after a fresh audit r
|
|
|
59
59
|
- that same evaluator session should receive only the exact audit-scoped issue list or the current unresolved subset
|
|
60
60
|
- that same evaluator session should only confirm whether those exact earlier items are fixed; it should not perform a broader new review
|
|
61
61
|
- the follow-up report should describe what is resolved, what remains open, and any important verification caveats
|
|
62
|
-
- store follow-up
|
|
62
|
+
- store the follow-up report as `../.tmp/audit_report-<N>-fix_check.md`
|
|
63
63
|
- do not rewrite the report text after generation except for file moves and filename normalization
|
|
64
|
+
- when the bugfix loop needs another pass, replace the existing `audit_report-<N>-fix_check.md` so it always reflects the latest whole-audit status rather than one narrow loop pass
|
|
64
65
|
|
|
65
66
|
## Scope discipline
|
|
66
67
|
|
|
@@ -75,4 +76,4 @@ Use this skill during `P7 Evaluation and Fix Verification` after a fresh audit r
|
|
|
75
76
|
- allow at most 3 remediation attempts for the coverage/README audit; after the third attempt, keep the latest report as the final carried-forward evidence
|
|
76
77
|
- do not move to `P8` until 2 bugfix sessions have been completed and the final coverage/README report exists from that last `P7` subphase
|
|
77
78
|
- keep only partial-pass audit reports under `../.tmp/audit_report-<N>.md`
|
|
78
|
-
- for each bugfix session, keep its starting partial-pass audit report and
|
|
79
|
+
- for each bugfix session, keep its starting partial-pass audit report and its single replace-in-place `audit_report-<N>-fix_check.md` report together by shared audit number in `../.tmp/`
|