@dirtydishes/skills 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -132,7 +132,7 @@ The `dirtyloops` skill is strict about ownership:
132
132
  - Broad scout, slice, implementation-helper, and review work should use bounded subagent swarms, usually 8 or more agents and up to 20 when the phase warrants it.
133
133
  - Phase scope stays narrow. File follow-up Beads issues instead of widening an active phase.
134
134
 
135
- For `orchestrator-callback`, only the orchestrator creates implementation and review threads. The orchestrator must launch a selector subagent before the first worker and a closeout-selector subagent after each review callback before stopping or continuing. Implementation threads do not create review threads, review threads do not create follow-up implementation threads, selector subagents never implement, closeout-selector subagents never mutate Beads, and reviewer subagents never close Beads issues.
135
+ For `orchestrator-callback`, only the orchestrator creates implementation and review threads. It must create them in the intended Codex project worktree using first-class thread environment control; launching a generic thread and telling it to `cd` into the worktree is a workflow violation. Worker and reviewer prompts include expected repo root/worktree plus branch/ref for verification, and a child that starts in the wrong environment blocks and calls back instead of self-relocating. The orchestrator must launch a selector subagent before the first worker and a closeout-selector subagent after each review callback before stopping or continuing. Implementation threads do not create review threads, review threads do not create follow-up implementation threads, selector subagents never implement, closeout-selector subagents never mutate Beads, and reviewer subagents never close Beads issues.
136
136
 
137
137
  Every `orchestrator-callback` child thread must launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor. This applies to selector, implementation, review, and closeout-selector threads. Current UI settings, recent Codex thread defaults, parent/orchestrator settings, `fast`, and `xhigh` are not valid launch defaults unless the actor metadata names them.
138
138
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@dirtydishes/skills",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Installer and catalog for dirtydishes agent skills.",
5
5
  "type": "module",
6
6
  "bin": {
7
- "skills": "./bin/skills.js"
7
+ "skills": "bin/skills.js"
8
8
  },
9
9
  "files": [
10
10
  "bin/",
@@ -21,7 +21,7 @@ Replace an old reporting path with a simpler evidence-backed implementation whil
21
21
 
22
22
  ## Thread Topology
23
23
 
24
- Only the orchestrator creates implementation and review threads.
24
+ Only the orchestrator creates implementation and review threads. It creates them in the intended Codex project worktree using first-class thread environment control; launching a generic thread and telling it to `cd` into the worktree is a workflow violation.
25
25
 
26
26
  Selector subagents:
27
27
 
@@ -34,6 +34,8 @@ Selector subagents:
34
34
  Implementation threads:
35
35
 
36
36
  - receive the full phase doc, Beads issue id, branch policy, quality gates, and orchestrator thread id
37
+ - start in the intended repo/worktree environment before prompt execution
38
+ - verify repo root, worktree, and branch/ref before edits; block and call back if the launch environment is wrong
37
39
  - launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the implementation actor
38
40
  - have prompt text that names the exact orchestrator thread id as callback target
39
41
  - run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents for non-trivial phases
@@ -47,6 +49,8 @@ Implementation threads:
47
49
  Review threads:
48
50
 
49
51
  - use `thermo-nuclear-code-quality-review`
52
+ - start in the intended repo/worktree environment before prompt execution
53
+ - verify repo root, worktree, and branch/ref before review or repair; block and call back if the launch environment is wrong
50
54
  - launch with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides the review actor
51
55
  - have prompt text that names the exact orchestrator thread id as callback target
52
56
  - may use reviewer and CI verification subagents
@@ -14,12 +14,15 @@ Send your final callback to exact orchestrator thread id `THREAD_ORCHESTRATOR_ID
14
14
  - Phase doc: `docs/implementation/example-stream/01-foundation.md`
15
15
  - Implementation index: `docs/implementation/example-stream/IMPLEMENT.md`
16
16
  - Turn doc: `docs/implementation/example-stream/turn-docs/01-foundation.md`
17
- - Branch policy: create or use `example-stream/01-foundation`
17
+ - Expected repo/worktree and branch/ref: create or use `example-stream/01-foundation`
18
+ - Launch environment: this thread must already be bound to the intended Codex project worktree before this prompt runs
18
19
  - Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`
19
20
  - Do not run this worker with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the implementation actor
20
21
 
21
22
  ## Rules
22
23
 
24
+ - Before edits, verify `pwd`, `git rev-parse --show-toplevel`, and the current branch/ref match the expected repo/worktree and branch/ref.
25
+ - Do not `cd` into the target worktree as setup or recovery. If the launch environment is wrong, stop and send a blocked callback to the orchestrator.
23
26
  - Implement exactly this phase.
24
27
  - Do not widen scope.
25
28
  - Do not do broad solo implementation.
@@ -21,11 +21,14 @@ Use:
21
21
  - Turn doc: `docs/implementation/example-stream/turn-docs/01-foundation.md`
22
22
  - PR: `#123`
23
23
  - Required gates: `bun test`, `bun run typecheck`
24
+ - Launch environment: this thread must already be bound to the intended Codex project worktree before this prompt runs
24
25
  - Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`
25
26
  - Do not run this reviewer with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the review actor
26
27
 
27
28
  ## Rules
28
29
 
30
+ - Before review or repair, verify `pwd`, `git rev-parse --show-toplevel`, and the current branch/ref match the PR branch/commit.
31
+ - Do not `cd` into the target worktree as setup or recovery. If the launch environment is wrong, stop and send a blocked callback to the orchestrator.
29
32
  - Be ambitious about structural simplification.
30
33
  - Use reviewer and CI verification subagents for review and CI evidence. If the phase is tiny enough to use fewer than the default review/CI agents, record why in the turn doc.
31
34
  - Own CI through green, repaired-and-green, unavailable-with-evidence, or blocked-with-cause.
@@ -16,9 +16,11 @@ Start from:
16
16
  - Orchestrator launches a selector subagent to select exactly one next ready Beads child issue before the first worker.
17
17
  - Continue phase-by-phase until the epic is complete, blocked, interrupted, or review/CI is unresolved.
18
18
  - Only the orchestrator creates implementation and review threads.
19
+ - Implementation and review threads must be created in the intended Codex project worktree using first-class thread environment control. Do not launch a generic thread and ask it to `cd` into the worktree.
19
20
  - Selector, implementation, review, and closeout-selector threads launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor.
20
21
  - Do not inherit current UI settings, recent Codex thread defaults, parent/orchestrator settings, `fast`, or `xhigh` unless Beads metadata explicitly names that value for the actor being launched.
21
22
  - Worker and reviewer prompt text must include the exact orchestrator thread id `THREAD_ORCHESTRATOR_ID` as callback target.
23
+ - Worker and reviewer prompt text lists the expected repo root/worktree and branch/ref for verification only. A child that starts in the wrong environment blocks and calls back instead of self-relocating.
22
24
  - After launching a worker or reviewer, wait for its single callback; do not repeatedly read, monitor, summarize, or status-check the child thread.
23
25
  - Implementation threads are swarm-first for non-trivial phases: 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents before broad edits.
24
26
  - Implementation threads synthesize swarm reports into the turn doc, integrate helper output coherently, and include `swarm_summary` in the callback.
@@ -36,4 +38,4 @@ Start from:
36
38
 
37
39
  ## Start Prompt
38
40
 
39
- Run the Example Stream dirtyloop with workflow `orchestrator-callback`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, launch a selector subagent with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` to select one next ready Beads child issue, create an implementation thread with those same explicit defaults, the full linked phase doc, and exact callback target `THREAD_ORCHESTRATOR_ID` in the prompt text. The implementation thread must run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents for non-trivial phases, synthesize their reports into one coherent slice plan, integrate helper output, and include `swarm_summary` in its callback. Wait for an implementation callback that echoes `orchestrator_thread_id` and includes `source_thread_id` without repeatedly reading or monitoring the worker thread. Create a review thread with those same explicit defaults that uses `thermo-nuclear-code-quality-review` and owns CI, then wait for its single callback the same way. After the review callback reports concrete CI state and echoes the same callback target, launch a closeout-selector subagent with those same explicit defaults to verify closeout and select stop or at most one next phase. Do not inherit current UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the actor being launched. Apply Beads and loop-state updates only from the orchestrator. Do not let worker threads create review threads. Continue to the next selected phase unless the epic is complete, blocked, interrupted, or review/CI is unresolved.
41
+ Run the Example Stream dirtyloop with workflow `orchestrator-callback`. Use Beads epic `example-epic` as canonical. Read `docs/implementation/example-stream/IMPLEMENT.md` and `docs/implementation/example-stream/loop-state.md`, launch a selector subagent with `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` to select one next ready Beads child issue, create an implementation thread in the intended Codex project worktree with those same explicit defaults, the full linked phase doc, exact callback target `THREAD_ORCHESTRATOR_ID` in the prompt text, and expected repo root/worktree plus branch/ref for verification. The implementation thread must block and call back if its launch environment is wrong; it must not self-relocate with `cd`. The implementation thread must run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents for non-trivial phases, synthesize their reports into one coherent slice plan, integrate helper output, and include `swarm_summary` in its callback. Wait for an implementation callback that echoes `orchestrator_thread_id` and includes `source_thread_id` without repeatedly reading or monitoring the worker thread. Create a review thread in the intended Codex project worktree with those same explicit defaults that uses `thermo-nuclear-code-quality-review`, verifies repo root/worktree plus branch/ref before review or repair, owns CI, and blocks with callback if its launch environment is wrong. After the review callback reports concrete CI state and echoes the same callback target, launch a closeout-selector subagent with those same explicit defaults to verify closeout and select stop or at most one next phase. Do not inherit current UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the actor being launched. Apply Beads and loop-state updates only from the orchestrator. Do not let worker threads create review threads. Continue to the next selected phase unless the epic is complete, blocked, interrupted, or review/CI is unresolved.
@@ -500,7 +500,7 @@
500
500
  <tr>
501
501
  <td>Implementation</td>
502
502
  <td>Mass subagents split and assist; coordinator integrates glue, conflicts, and final repairs.</td>
503
- <td>Implementation thread created by orchestrator with exact callback target and standard defaults.</td>
503
+ <td>Implementation thread created by orchestrator in the intended Codex project worktree with exact callback target and standard defaults.</td>
504
504
  </tr>
505
505
  <tr>
506
506
  <td>Review</td>
@@ -128,7 +128,7 @@ orchestrator thread
128
128
  -> orchestrator applies closeout and continues or stops
129
129
  ```
130
130
 
131
- Only the orchestrator creates implementation and review threads. Worker threads do not create review threads. Worker and reviewer prompts must contain the concrete orchestrator thread id as callback target. Phase selection is delegated: initial selection uses a selector subagent, and between-phase closeout/selection uses a closeout-selector subagent. Selector, implementation, review, and closeout-selector threads launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor. Current UI, recent thread, parent/orchestrator, `fast`, and `xhigh` settings do not count as defaults. After launching a worker or reviewer, the orchestrator waits for its single callback instead of repeatedly reading or monitoring the child thread.
131
+ Only the orchestrator creates implementation and review threads. It must create them in the intended Codex project worktree using first-class thread environment control; launching a generic thread and telling it to `cd` into the worktree is a workflow violation. Worker threads do not create review threads. Worker and reviewer prompts must contain the concrete orchestrator thread id as callback target and must list expected repo root/worktree plus branch/ref for verification. A child that starts in the wrong environment blocks and calls back instead of self-relocating. Phase selection is delegated: initial selection uses a selector subagent, and between-phase closeout/selection uses a closeout-selector subagent. Selector, implementation, review, and closeout-selector threads launch with explicit actor settings: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor. Current UI, recent thread, parent/orchestrator, `fast`, and `xhigh` settings do not count as defaults. After launching a worker or reviewer, the orchestrator waits for its single callback instead of repeatedly reading or monitoring the child thread.
132
132
 
133
133
  Implementation threads are swarm-first for non-trivial phases. They run 8-20 scout agents, 8-16 slice-plan agents, and 8-16 implementation-helper agents before broad edits, synthesize the reports into one slice plan, integrate helper output coherently, and include `swarm_summary` in the implementation callback. Fewer agents require an explicit tiny-phase reason in the turn doc and callback.
134
134
 
@@ -18,11 +18,14 @@ Use this branch to execute an existing dirtyloop. Continue phase-by-phase by def
18
18
 
19
19
  3. Validate launch preflight.
20
20
  - For `orchestrator-callback`, require a concrete orchestrator thread id before launching workers/reviewers. The actual worker/reviewer prompt text must name that exact id as the callback target and must not rely on phrases like `current orchestrator thread`, `this thread`, or `source thread wrapper`.
21
+ - For `orchestrator-callback`, require the orchestrator to bind each implementation/review thread to the intended Codex project worktree at thread creation time. Use the Codex project/worktree launch target or equivalent first-class thread environment control; do not launch a generic thread and tell it to `cd` into the worktree.
22
+ - For `orchestrator-callback`, worker/reviewer prompts must list the expected repo root/worktree and branch/ref as verification inputs only. The child thread must verify `pwd`, `git rev-parse --show-toplevel`, and current branch/ref before edits or review. If the launch environment is wrong, the child must send a blocked callback; it must not self-relocate with `cd` as setup or recovery.
23
+ - For `orchestrator-callback`, stop as blocked before launch when the orchestrator cannot create the child thread in the intended worktree environment. Do not rely on shell cwd, prompt discipline, or a hidden wrapper to repair a wrong thread environment after launch.
21
24
  - For `orchestrator-callback`, require callback-wait behavior: after launch, do not repeatedly read or monitor the child thread while waiting for the single callback. Sparse fallback heartbeat is allowed only when the callback is overdue or liveness is uncertain.
22
25
  - For `orchestrator-callback`, require explicit launch defaults for every child actor before launch: selector, implementation, review, and closeout-selector. Defaults are `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads metadata overrides that actor.
23
26
  - For `orchestrator-callback`, reject inherited launch settings. Do not use current UI settings, recent Codex thread defaults, parent/orchestrator settings, `fast`, or `xhigh` unless Beads metadata explicitly names that value for the actor being launched.
24
27
  - For `single-thread-subagent`, require per-phase selector, scout, slice-plan, implementation-helper, review, and CI swarms before implementation and closeout. The coordinator may perform integration and final repairs, but it must not do most discovery or implementation itself.
25
- - Completion criterion: the workflow can start without relying on inherited thread settings, vague callback targets, or solo coordinator implementation.
28
+ - Completion criterion: the workflow can start without relying on inherited thread settings, vague callback targets, shell cwd repair, wrong thread environments, or solo coordinator implementation.
26
29
 
27
30
  4. Run the selected workflow.
28
31
  - Follow the selected workflow reference.
@@ -29,6 +29,7 @@ The orchestrator owns:
29
29
  - validating selector outputs before advancing the loop
30
30
  - implementation thread creation
31
31
  - review thread creation
32
+ - child thread environment binding to the intended Codex project worktree
32
33
  - concrete callback target, callback preflight, callback-wait, and sparse fallback heartbeat
33
34
  - phase closeout
34
35
  - launching the next selected phase
@@ -52,7 +53,8 @@ The closeout-selector subagent owns:
52
53
  The implementation thread owns:
53
54
 
54
55
  - exactly one selected Beads issue
55
- - branch/worktree setup assigned by the orchestrator
56
+ - working only in the repo/worktree environment already bound by the orchestrator
57
+ - verifying its repo root, worktree, and branch/ref before edits, then blocking if the launch environment is wrong
56
58
  - massive bounded scout, slice-plan, and implementation-helper swarms for non-trivial phases
57
59
  - coherent synthesis of swarm reports into one slice plan
58
60
  - implementation
@@ -65,6 +67,8 @@ The implementation thread owns:
65
67
  The review thread owns:
66
68
 
67
69
  - thermo-nuclear review
70
+ - working only in the repo/worktree environment already bound by the orchestrator
71
+ - verifying its repo root, worktree, and branch/ref before review or repair, then blocking if the launch environment is wrong
68
72
  - reviewer subagent swarms
69
73
  - CI inspection, diagnosis, repair, rerun, and evidence
70
74
  - updating the existing Markdown turn doc
@@ -73,6 +77,8 @@ The review thread owns:
73
77
  ## Non-Negotiable Thread Rules
74
78
 
75
79
  - Only the orchestrator creates implementation and review threads.
80
+ - The orchestrator must create implementation and review threads in the intended Codex project worktree using first-class thread environment control. Do not launch a generic thread and ask it to `cd` into the worktree.
81
+ - Worker/reviewer prompts may list the expected repo root/worktree and branch/ref for verification, but they must not use `cd` as setup or recovery. A child thread that starts in the wrong environment must send a blocked callback.
76
82
  - Implementation threads do not create review threads.
77
83
  - Implementation threads must not do broad solo implementation. For non-trivial phases, they run massive bounded scout, slice-plan, and implementation-helper swarms before broad edits.
78
84
  - Implementation threads synthesize all swarm reports into the existing turn doc, integrate helper output coherently, and keep final ownership of the branch, gates, PR, and callback.
@@ -31,6 +31,7 @@ This stream is driven by Beads. These docs are execution context and resume aids
31
31
  - Update Beads first, then update `loop-state.md`.
32
32
  - Use the workflow's required subagent swarms.
33
33
  - Orchestrator-callback child threads default to `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false` unless Beads loop metadata explicitly overrides that actor.
34
+ - Orchestrator-callback implementation/review threads must be created in the intended Codex project worktree. A child that starts in the wrong repo/worktree blocks and calls back instead of self-relocating.
34
35
 
35
36
  ## Review And CI
36
37
 
@@ -24,6 +24,7 @@ Start from:
24
24
  - Reviewer agents must use `thermo-nuclear-code-quality-review`.
25
25
  - Reviewer and CI verification agents own CI.
26
26
  - Orchestrator-callback child threads must launch with explicit actor defaults: `speed: standard`, `reasoning: high`, and `inherit_orchestrator_thread_settings: false`, unless Beads metadata overrides that actor.
27
+ - Orchestrator-callback implementation/review threads must be created in the intended Codex project worktree using first-class thread environment control. Worker/reviewer prompts verify repo/worktree and branch/ref; they do not repair a wrong launch environment with shell cwd changes.
27
28
  - Do not inherit child-thread speed or reasoning from the current UI, recent Codex thread defaults, or the orchestrator thread.
28
29
  - Update the existing Markdown turn doc.
29
30
  - Update Beads first, then update `loop-state.md`.
@@ -14,12 +14,15 @@ You must send your final callback to the exact orchestrator thread id `{{ORCHEST
14
14
  - Phase doc: `{{PHASE_DOC}}`
15
15
  - Implementation index: `{{IMPLEMENT_MD}}`
16
16
  - Turn doc: `{{TURN_DOC}}`
17
- - Branch/worktree instructions: `{{BRANCH_WORKTREE_INSTRUCTIONS}}`
17
+ - Expected repo/worktree and branch/ref: `{{BRANCH_WORKTREE_INSTRUCTIONS}}`
18
+ - Launch environment: this thread must already be bound to the intended Codex project worktree before this prompt runs
18
19
  - Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`, unless Beads metadata explicitly overrides the implementation actor
19
20
  - Do not run this worker with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the implementation actor
20
21
 
21
22
  ## Rules
22
23
 
24
+ - Before edits, verify `pwd`, `git rev-parse --show-toplevel`, and the current branch/ref match the expected repo/worktree and branch/ref.
25
+ - Do not `cd` into the target worktree as setup or recovery. If the launch environment is wrong, stop and send a blocked callback to the orchestrator.
23
26
  - Implement exactly this phase.
24
27
  - Do not widen scope.
25
28
  - Do not do broad solo implementation.
@@ -22,11 +22,14 @@ Use:
22
22
  - PR: `{{PR_URL_OR_ID}}`
23
23
  - Branch/commit: `{{BRANCH_OR_COMMIT}}`
24
24
  - Required gates: `{{QUALITY_GATES}}`
25
+ - Launch environment: this thread must already be bound to the intended Codex project worktree before this prompt runs
25
26
  - Launch defaults: speed `standard`, reasoning `high`, inherit_orchestrator_thread_settings `false`, unless Beads metadata explicitly overrides the review actor
26
27
  - Do not run this reviewer with inherited UI, recent thread, parent/orchestrator, `fast`, or `xhigh` settings unless Beads metadata explicitly overrides the review actor
27
28
 
28
29
  ## Rules
29
30
 
31
+ - Before review or repair, verify `pwd`, `git rev-parse --show-toplevel`, and the current branch/ref match the PR branch/commit.
32
+ - Do not `cd` into the target worktree as setup or recovery. If the launch environment is wrong, stop and send a blocked callback to the orchestrator.
30
33
  - Be ambitious about structural simplification.
31
34
  - Use reviewer and CI verification subagents for review and CI evidence. If the phase is tiny enough to use fewer than the default review/CI agents, record why in the turn doc.
32
35
  - Own CI through green, repaired-and-green, unavailable-with-evidence, or blocked-with-cause.
@@ -3,6 +3,7 @@
3
3
  This loop uses a main orchestrator thread plus separate implementation and review threads.
4
4
 
5
5
  - Only the orchestrator creates implementation and review threads.
6
+ - The orchestrator creates implementation and review threads in the intended Codex project worktree using first-class thread environment control. Do not launch a generic thread and ask it to `cd` into the worktree.
6
7
  - Before the first worker, the orchestrator launches a selector subagent to choose exactly one next ready Beads phase.
7
8
  - After every review callback, the orchestrator launches a closeout-selector subagent before closing the phase, stopping, or launching another worker.
8
9
  - Selector and closeout-selector subagents return `swarm-report` payloads with mission `selector` or `closeout-selector`; they do not mutate Beads, edit files, implement, review, repair, create threads, or advance the loop.
@@ -10,6 +11,7 @@ This loop uses a main orchestrator thread plus separate implementation and revie
10
11
  - Do not inherit current UI settings, recent Codex defaults, or orchestrator-thread speed/reasoning. `fast` speed and `xhigh` reasoning require explicit Beads metadata for the actor being launched.
11
12
  - The orchestrator passes its concrete thread id as the callback target.
12
13
  - Before launching a worker or reviewer, verify the actual prompt text includes that exact thread id and does not rely on generic wording like `current orchestrator thread` or `this thread`.
14
+ - Before launching a worker or reviewer, verify the child thread launch target is the intended project worktree. Prompt text may include expected repo root/worktree and branch/ref for verification only; it must not use `cd` as setup or recovery.
13
15
  - After launching a worker or reviewer, wait for its single callback. Do not repeatedly read, monitor, summarize, or status-check the child thread while waiting.
14
16
  - Use a sparse fallback heartbeat around 30 minutes only when the callback is overdue or liveness is uncertain; do not use heartbeat as routine polling.
15
17
  - Implementation threads update the existing phase turn doc, open the PR, and call back exactly once when PR-ready or blocked.