diff --git a/conductor/tracks/directive_hotswap_harness_20260627/dispatch_tier3_phase1.md b/conductor/tracks/directive_hotswap_harness_20260627/dispatch_tier3_phase1.md index 177329cb..aa5d6932 100644 --- a/conductor/tracks/directive_hotswap_harness_20260627/dispatch_tier3_phase1.md +++ b/conductor/tracks/directive_hotswap_harness_20260627/dispatch_tier3_phase1.md @@ -225,4 +225,30 @@ NEVER use `git checkout -- `, `git restore`, or `git reset` without explicit user permission. See AGENTS.md for the ban list. NEVER filter test output through Select-Object/head/tail per -AGENTS.md. Redirect to a log file. \ No newline at end of file +AGENTS.md. Redirect to a log file. + +NEVER run `scripts/audit/generate_chronology.py` to regenerate +`conductor/chronology.md` — it corrupts Unicode characters (em-dashes, +ellipses, BOM markers all become mojibake). The user will regenerate +the chronology manually if needed. + +# USER DIRECTIVE (2026-07-02) — Phase 2 file convention + +Phase 2's "update role prompts" step is **making duplicates**, NOT +modifying in place. Concretely: + +- For each of the 5 originals, create a NEW file with `.warm.md` + suffix: `.md` stays untouched as the fallback path; `.warm.md` + is the experimental role prompt that uses the `warm with:` bootstrap. +- Output files: `.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 .warm.md .md` to promote a duplicate + to active, or `rm .warm.md` to fall back to the original. +- The originals stay as the rollback target. NO in-place edits. + +This directive is also recorded in +`conductor/tracks/directive_hotswap_harness_20260627/spec.md` §"The role- +prompt bootstrap" and plan.md's Phase 2 section. \ No newline at end of file diff --git a/conductor/tracks/directive_hotswap_harness_20260627/plan.md b/conductor/tracks/directive_hotswap_harness_20260627/plan.md index 00eb3661..3bc9a300 100644 --- a/conductor/tracks/directive_hotswap_harness_20260627/plan.md +++ b/conductor/tracks/directive_hotswap_harness_20260627/plan.md @@ -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 .warm.md .md` to promote a duplicate to active, or `rm .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** diff --git a/conductor/tracks/directive_hotswap_harness_20260627/spec.md b/conductor/tracks/directive_hotswap_harness_20260627/spec.md index fcd2e0c9..64467346 100644 --- a/conductor/tracks/directive_hotswap_harness_20260627/spec.md +++ b/conductor/tracks/directive_hotswap_harness_20260627/spec.md @@ -85,6 +85,8 @@ tested yet. This preset is the control group for future experiments. ### The role-prompt bootstrap +> **USER DIRECTIVE (2026-07-02):** Phase 2's "update role prompts" step is **making duplicates** of the role prompts (e.g., `.opencode/agents/tier3-worker.md.bak`), NOT modifying the originals in place. The duplicates use the `warm with:` bootstrap. The originals stay untouched as the fallback path. This means if a role-prompt regression surfaces, the user can `mv .bak .md` to restore. Do NOT modify the original `.md` role prompts. + The 5 role prompts (`.opencode/agents/tier1-orchestrator.md`, `tier2-tech-lead.md`, `tier3-worker.md`, `tier4-qa.md`, and `conductor/tier2/agents/tier2-autonomous.md`) have a hardcoded "MANDATORY: Pre-Action Required Reading" section listing ~11 specific files. This is replaced with a single `warm with:` directive. ```markdown