docs(harness): Phase 2 makes .warm.md duplicates not in-place edits (per user 2026-07-02)

The 'update role prompts' step in Phase 2 was specified as in-place
edits to the 5 .opencode/agents/*.md role prompts. The user clarified
2026-07-02 that this should be making duplicates with a .warm.md
suffix so the originals stay as an explicit rollback target.

Changed:
- spec.md: added a USER DIRECTIVE block above 'The role-prompt
  bootstrap' section explaining the .warm.md duplicate convention.
- plan.md: the Phase 2 preamble references the spec directive; Steps
  2.3-2.7 rewritten as 'Create duplicate <name>.warm.md (do NOT
  modify the original)'. Output paths now include .warm.md suffix.
- dispatch_tier3_phase1.md: appended a USER DIRECTIVE section at the
  end + a NEVER-run-chronology-regenerate note (the script corrupts
  Unicode, per the 2026-07-02 revert of bfebb718).

Phase 1 work (51 v1.md directives + 11 commits ee36eaed..8162f629)
is unaffected. Master is at 068411ee (after the chronology revert).
This commit brings master to this point.
This commit is contained in:
ed
2026-07-02 22:53:27 -04:00
parent 068411ee0b
commit e13d8b9b8a
3 changed files with 48 additions and 17 deletions
@@ -281,7 +281,9 @@ tree is a parallel structure, not a replacement."
## Phase 2: Baseline Preset + Role-Prompt Bootstrap
Focus: Create the `current_baseline.md` preset that lists all 48 directives, then update the 5 role prompts with the `warm with:` bootstrap.
Focus: Create the `current_baseline.md` preset that lists all 48 directives, then create DUPLICATE role prompts (`.bak` files) that use the `warm with:` bootstrap. The original role prompts stay untouched as the fallback path. See the USER DIRECTIVE in spec.md §"The role-prompt bootstrap" (2026-07-02).
> **USER DIRECTIVE (2026-07-02):** Do NOT modify the 5 original `.md` role prompts. Make duplicates with the `.bak` suffix (e.g., `.opencode/agents/tier3-worker.md` becomes a new file `.opencode/agents/tier3-worker.md.bak` — wait, that conflicts with the extension. Use `.warm.md` instead). Update plan steps 2.3-2.7 accordingly: the output files are `.opencode/agents/tier1-orchestrator.warm.md`, `.opencode/agents/tier2-tech-lead.warm.md`, `.opencode/agents/tier3-worker.warm.md`, `.opencode/agents/tier4-qa.warm.md`, `conductor/tier2/agents/tier2-autonomous.warm.md`. The user can `mv <name>.warm.md <name>.md` to promote a duplicate to active, or `rm <name>.warm.md` to fall back.
- [ ] **Step 2.1: Create the baseline preset**
@@ -365,11 +367,11 @@ git add conductor/directives/presets/current_baseline.md
git commit -m "feat(directives): add current_baseline preset (48 directives, all v1)"
```
- [ ] **Step 2.3: Update tier1-orchestrator.md with warm with: bootstrap**
- [ ] **Step 2.3: Create duplicate `.opencode/agents/tier1-orchestrator.warm.md` (do NOT modify the original)**
**File:** `.opencode/agents/tier1-orchestrator.md`
**New file:** `.opencode/agents/tier1-orchestrator.warm.md`
**What to change:** Find the "MANDATORY: Pre-Action Required Reading" section (or equivalent hardcoded file list). Replace the directive-reading portion with:
**How to create it:** Read the original `.opencode/agents/tier1-orchestrator.md` to get the FULL current content. In the duplicate, find the "MANDATORY: Pre-Action Required Reading" section (or equivalent hardcoded file list). Replace the directive-reading portion with:
```markdown
## MANDATORY: Directive Warm-up
@@ -389,39 +391,40 @@ use that instead. The user's instruction overrides the default.
- `conductor/edit_workflow.md` — edit tool contract
- The relevant `docs/guide_*.md` — architecture reference
- [ ] **Step 2.4: Update tier2-tech-lead.md with warm with: bootstrap**
- [ ] **Step 2.4: Create duplicate `.opencode/agents/tier2-tech-lead.warm.md` (do NOT modify the original)**
**File:** `.opencode/agents/tier2-tech-lead.md`
**New file:** `.opencode/agents/tier2-tech-lead.warm.md`
Same change as Step 2.3. The non-directive reads that stay hardcoded:
Same procedure as Step 2.3 (read original → duplicate → swap directive-reading portion). Non-directive reads that stay hardcoded:
- `AGENTS.md`
- `conductor/workflow.md`
- `conductor/edit_workflow.md`
- `conductor/tier2/githooks/forbidden-files.txt`
- The relevant `docs/guide_*.md`
- [ ] **Step 2.5: Update tier3-worker.md with warm with: bootstrap**
- [ ] **Step 2.5: Create duplicate `.opencode/agents/tier3-worker.warm.md` (do NOT modify the original)**
**File:** `.opencode/agents/tier3-worker.md`
**New file:** `.opencode/agents/tier3-worker.warm.md`
Same change. Note: Tier 3 may benefit from a reduced preset (fewer directives — they don't need the planning/strategy directives). But for now, use `current_baseline.md` and let the user create a `worker_minimal.md` preset later.
Same procedure. Note: Tier 3 may benefit from a reduced preset (fewer directives — they don't need the planning/strategy directives). But for now, use `current_baseline.md` and let the user create a `worker_minimal.md` preset later.
- [ ] **Step 2.6: Update tier4-qa.md with warm with: bootstrap**
- [ ] **Step 2.6: Create duplicate `.opencode/agents/tier4-qa.warm.md` (do NOT modify the original)**
**File:** `.opencode/agents/tier4-qa.md`
**New file:** `.opencode/agents/tier4-qa.warm.md`
Same change. Tier 4 reads narrowly; the preset can be customized later.
Same procedure. Tier 4 reads narrowly; the preset can be customized later.
- [ ] **Step 2.7: Update tier2-autonomous.md with warm with: bootstrap**
- [ ] **Step 2.7: Create duplicate `conductor/tier2/agents/tier2-autonomous.warm.md` (do NOT modify the original)**
**File:** `conductor/tier2/agents/tier2-autonomous.md`
**New file:** `conductor/tier2/agents/tier2-autonomous.warm.md`
This file has the most extensive hardcoded reading list (11 files, lines 32-52). Replace the directive-reading portion with the `warm with:` bootstrap. The non-directive reads that stay:
Same procedure. This file has the most extensive hardcoded reading list. Replace the directive-reading portion with the `warm with:` bootstrap. The non-directive reads that stay:
- `AGENTS.md`
- `conductor/workflow.md`
- `conductor/edit_workflow.md`
- `conductor/tier2/githooks/forbidden-files.txt`
- `conductor/tracks/tier2_leak_prevention_20260620/spec.md` (this is a track spec, not a directive — stays hardcoded)
- `conductor/tracks/tier2_leak_prevention_20260620/spec.md` (this is a track spec, not a directive — stays hardcoded)
- [ ] **Step 2.8: Commit the role-prompt updates**