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 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 project session zip bundle, and the cleaned repo into the required final structure.
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.3.tgz
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 instead of silently guessing
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
- Outside the two allowed human gates, you must not stop execution.
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
- The only allowed human-stop moments are:
46
+ Planned human-stop moments do not exist.
47
47
 
48
- - when clarification is complete and the run is ready to enter `P2 Planning`
49
- - `P8 Final Human Decision`
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
- Execution may stop for human input only at two points:
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
- Outside those two moments, do not stop for approval, signoff, or intermediate permission.
168
- Outside those two moments, do not stop just to report status, summarize progress, ask what to do next, or hand control back early.
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 the work is outside those two gates, continue execution and make the best prompt-faithful decision from the available evidence.
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 Human Decision`
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 `sonnet` for normal work, escalate to `opus` only when the planning/debugging/security difficulty genuinely justifies it, and keep helper subagents on `sonnet` by default unless there is a concrete reason to raise them too
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` and mirror the relevant fields into `../.ai/metadata.json`, `../metadata.json`, and Beads comments before advancing workflow state
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 project folder from the tracked `session_id` plus the project `cwd` under `~/.claude/projects/` and packages it once rather than per tracked session id
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 `P8 Final Human Decision` has not been reached, do not stop
466
- - do not pause for summaries, status, permission, or handoff chatter outside those two gates
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
- Outside the two allowed human gates, you must not stop execution.
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
- The only allowed human-stop moments are:
46
+ Planned human-stop moments do not exist.
47
47
 
48
- - when clarification is complete and the run is ready to enter `P2 Planning`
49
- - `P8 Final Human Decision`
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
- Execution may stop for human input only at two points:
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
- Outside those two moments, do not stop for approval, signoff, or intermediate permission.
164
- Outside those two moments, do not stop just to report status, summarize progress, ask what to do next, or hand control back early.
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 the work is outside those two gates, continue execution and make the best prompt-faithful decision from the available evidence.
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 Human Decision`
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 Human Decision`, `P9 Submission Packaging`, and `P10 Retrospective`
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 `P8 Final Human Decision` has not been reached, do not stop
430
- - do not pause for summaries, status, permission, or handoff chatter outside those two gates
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 instead of silently guessing
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 unless the workflow is at the initial clarification approval or final human decision
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 only after the clarification artifact is ready and validated
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
- - do not start tracked development until the human approval step is complete
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
- - requesting human approval before this validation loop passes is illegal
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
- - human approval exists
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 sonnet` for ordinary planning, scaffold, development, and routine bugfix work
60
- - escalate to `--model opus` only for genuinely difficult planning, security-critical hardening, architecturally tangled debugging, or repeated stubborn failures where the extra reasoning depth is justified
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
- - when the task difficulty warrants it, also pass an explicit `--effort <level>` at launch time rather than hoping the default thinking level is ideal
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` and mirror the important fields into `../.ai/metadata.json`, `../metadata.json`, and Beads comments before advancing workflow state.
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 extra human stops, status hand-backs, or permission pauses beyond the two allowed gates
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
- - `fix_check_paths`
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, including when relevant:
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 `null` only when a field is genuinely unknown or not applicable
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 `sonnet`; choose `opus` only when the current lane's work is genuinely high-difficulty enough to justify a more expensive launch
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
- - mirror the active developer session id in `../metadata.json` as `session_id`
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-<M>.md`, and `test_coverage_and_readme_audit_report.md`
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 reports as `../.tmp/audit_report-<N>-fix_check-<M>.md`
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 any fix-check reports together by shared audit number in `../.tmp/`
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/`