diff --git a/conductor/tracks/fable_review_20260617/plan.md b/conductor/tracks/fable_review_20260617/plan.md new file mode 100644 index 00000000..d2d4bcee --- /dev/null +++ b/conductor/tracks/fable_review_20260617/plan.md @@ -0,0 +1,1624 @@ +# Fable System Prompt Review (Critical Analysis) Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Produce a 17-section, >3500-LOC critical analysis of Anthropic's Claude Fable 5 system prompt, comparing it against Manual Slop's existing agent-directive corpus and Mike Acton's nagent patterns. 10 cluster sub-reports (Tier 3 worker dispatches in parallel) feed a Tier 1 synthesis using a max-token-output strategy, plus 3 side artifacts. + +**Architecture:** Research-only track; no `src/` code, no `tests/` changes, no new deps. The deliverable is one synthesis report (`report.md`, >3500 LOC) plus 10 cluster sub-reports (`research/cluster_N_*.md`) plus 3 side artifacts (`comparison_table.md`, `decisions.md`, `nagent_takeaways_fable_20260617.md`). Verdict framework: Useful / Persona Performance / Anti-User / Mixed. The Fable artifact at `docs/artifacts/Fable System Prompt.txt` is local-only and **NEVER committed** (per user 2026-06-17). + +**Tech Stack:** Markdown, the project's `manual-slop_*` MCP tools, and `mma_exec.py --role tier3-worker` for cluster sub-agent dispatches. No Python source changes. + +**Source of truth:** `conductor/tracks/fable_review_20260617/spec.md` (the approved spec, commit `058e2c93`). All 10 cluster specs, all 17 synthesis sections, all 3 side artifacts, and all verification criteria are detailed there. The plan executes the spec; it does not redefine it. + +**Hard rule (the user was explicit):** `docs/artifacts/Fable System Prompt.txt` is **NEVER committed**. Every `git add` in this plan MUST be inspected before commit. The verification at the end of Phase 5 is `git log --all --full-history -- 'docs/artifacts/Fable*'` returning zero entries. + +--- + +## File Structure + +The track creates the following files (all under `conductor/tracks/fable_review_20260617/`): + +| File | Created by | Purpose | +|---|---|---| +| `spec.md` | Tier 1 (already done; commit `058e2c93`) | The track design. | +| `metadata.json` | Tier 1 (already done; commit `058e2c93`) | Track metadata. | +| `state.toml` | Tier 1 (already done; commit `a6114ef9`) | Track state. | +| `research/cluster_1_product_branding.md` | Tier 3 sub-agent (Phase 2) | Cluster 1 sub-report (200-500 lines). | +| `research/cluster_2_refusal_architecture.md` | Tier 3 sub-agent (Phase 2) | Cluster 2 sub-report (200-500 lines). | +| `research/cluster_3_user_wellbeing_watchdog.md` | Tier 3 sub-agent (Phase 2) | Cluster 3 sub-report (200-500 lines). | +| `research/cluster_4_tone_and_formatting.md` | Tier 3 sub-agent (Phase 2) | Cluster 4 sub-report (200-500 lines). | +| `research/cluster_5_mistakes_and_criticism.md` | Tier 3 sub-agent (Phase 2) | Cluster 5 sub-report (200-500 lines). | +| `research/cluster_6_evenhandedness.md` | Tier 3 sub-agent (Phase 2) | Cluster 6 sub-report (200-500 lines). | +| `research/cluster_7_epistemic_discipline.md` | Tier 3 sub-agent (Phase 2) | Cluster 7 sub-report (200-500 lines). | +| `research/cluster_8_memory_and_storage.md` | Tier 3 sub-agent (Phase 2) | Cluster 8 sub-report (200-500 lines). | +| `research/cluster_9_computer_use.md` | Tier 3 sub-agent (Phase 2) | Cluster 9 sub-report (200-500 lines). | +| `research/cluster_10_mcp_app_suggestions.md` | Tier 3 sub-agent (Phase 2) | Cluster 10 sub-report (200-500 lines). | +| `report.md` | Tier 1 (Phase 3) | Main synthesis report (17 sections, >3500 LOC). | +| `comparison_table.md` | Tier 1 (Phase 4) | Flat side-by-side table (~100 rows, ~700 lines). | +| `decisions.md` | Tier 1 (Phase 4) | Recommendations for the deferred nagent-rebuild (15-20 entries, ~500 lines). | +| `nagent_takeaways_fable_20260617.md` | Tier 1 (Phase 4) | Fable-specific extension to nagent_takeaways (17th takeaway, ~150 lines). | + +**Modified files:** `conductor/tracks.md` (in Phase 7, when the track ships) and `conductor/tracks/fable_review_20260617/state.toml` (at every phase boundary). + +**The Fable artifact is NEVER a file in this plan.** The cluster sub-agents and the synthesis report reference `docs/artifacts/Fable System Prompt.txt:line-range` for citations; the file itself is not created, modified, or committed by this plan. + +--- + +## Phase 1: Initialize Track + Skeletons + +**Focus:** Set up the track's files (skeleton versions of the report and side artifacts) so the cluster sub-agents and the Tier 1 synthesis can build on a stable structure. + +### Task 1.1: Verify the track directory structure + +**Files:** +- Verify: `conductor/tracks/fable_review_20260617/{spec.md, metadata.json, state.toml, research/}` all exist + +- [ ] **Step 1.1.1: List the track directory** + +```powershell +Get-ChildItem -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617" -Recurse | Select-Object FullName +``` + +Expected output: 3 files (`spec.md`, `metadata.json`, `state.toml`) + 1 directory (`research/`). + +- [ ] **Step 1.1.2: Verify spec.md, metadata.json, state.toml parse** + +```powershell +uv run python -c "import json, tomllib; json.load(open(r'C:\projects\manual_slop\conductor\tracks\fable_review_20260617\metadata.json', encoding='utf-8')); tomllib.load(open(r'C:\projects\manual_slop\conductor\tracks\fable_review_20260617\state.toml', 'rb')); print('OK')" +``` + +Expected: `OK`. + +- [ ] **Step 1.1.3: Verify Fable artifact is NOT tracked** + +```powershell +git -C "C:\projects\manual_slop" log --all --full-history -- 'docs/artifacts/Fable*' 2>&1 | Measure-Object -Line +``` + +Expected: 0 (zero entries). + +### Task 1.2: Write the skeleton `report.md` with 17 section headers + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/report.md` + +- [ ] **Step 1.2.1: Create the skeleton report with all 17 section headers** + +Write the following to `conductor/tracks/fable_review_20260617/report.md`: + +```markdown +# Fable System Prompt Review (Critical Analysis) + +**Track:** `fable_review_20260617` +**Initialized:** 2026-06-17 +**Owner:** Tier 1 Orchestrator (synthesis); Tier 2 Tech Lead (dispatch + QA) +**Status:** IN PROGRESS (Phase 3) + +> **What this is.** A critical analysis of Anthropic's Claude Fable 5 system prompt (1585 lines, the public "Mythos" version), comparing it against Manual Slop's existing agent-directive corpus and Mike Acton's nagent patterns. Verdict framework: **Useful / Persona Performance / Anti-User / Mixed**. +> +> **Verdict summary.** Fable is approximately [N]% useful, [M]% persona performance, [K]% anti-user. The full breakdown is in §0 (TL;DR Scorecard). +> +> **For the deferred nagent-rebuild.** See `decisions.md` for the 15-20 concrete recommendations to apply when the user overhauls Manual Slop's agent directives (deferred 1-2 weeks per the user, 2026-06-17). + +--- + +## §0. TL;DR + Verdict Scorecard + +*[FILL IN: 1-page summary table. ~100 lines. All 17 verdicts at a glance.]* + +--- + +## §1. The 3 Sources (Fable, Manual Slop, nagent) — What's in Scope + +*[FILL IN: ~200 lines. What is Fable, what is Manual Slop, what is nagent. The 3-source comparison framework.]* + +--- + +## §2. The "Useful vs Persona vs Anti-User" Framework + +*[FILL IN: ~250 lines. Define the 4 verdict categories. Why this lens.]* + +--- + +## §3. Fable's Product Branding & "Helpful Assistant" Persona + +*Source cluster: `research/cluster_1_product_branding.md`* +*Verdict orientation: Persona Performance* + +*[FILL IN: ~300 lines.]* + +--- + +## §4. Fable's Refusal Architecture & "Safety Theater" + +*Source cluster: `research/cluster_2_refusal_architecture.md`* +*Verdict orientation: Anti-User + Persona* + +*[FILL IN: ~350 lines.]* + +--- + +## §5. Fable's Mental-Health Watchdog Framing + +*Source cluster: `research/cluster_3_user_wellbeing_watchdog.md`* +*Verdict orientation: Anti-User* + +*[FILL IN: ~350 lines.]* + +--- + +## §6. Fable's Tone & Formatting Constraints + +*Source cluster: `research/cluster_4_tone_and_formatting.md`* +*Verdict orientation: Useful + Persona* + +*[FILL IN: ~250 lines.]* + +--- + +## §7. Fable's Mistake Handling + +*Source cluster: `research/cluster_5_mistakes_and_criticism.md`* +*Verdict orientation: Persona* + +*[FILL IN: ~200 lines.]* + +--- + +## §8. Fable's Evenhandedness & Contested Content + +*Source cluster: `research/cluster_6_evenhandedness.md`* +*Verdict orientation: Persona + Useful caveats* + +*[FILL IN: ~300 lines.]* + +--- + +## §9. Fable's Epistemic Discipline & Search Strategy + +*Source cluster: `research/cluster_7_epistemic_discipline.md`* +*Verdict orientation: Useful* + +*[FILL IN: ~350 lines.]* + +--- + +## §10. Fable's Memory System & Persistent Storage + +*Source cluster: `research/cluster_8_memory_and_storage.md`* +*Verdict orientation: Useful + nagent-stronger* + +*[FILL IN: ~350 lines.]* + +--- + +## §11. Fable's Computer-Use / File Workflow + +*Source cluster: `research/cluster_9_computer_use.md`* +*Verdict orientation: Useful + over-broad* + +*[FILL IN: ~300 lines.]* + +--- + +## §12. Fable's MCP App Suggestions + +*Source cluster: `research/cluster_10_mcp_app_suggestions.md`* +*Verdict orientation: Useful + over-engineered* + +*[FILL IN: ~250 lines.]* + +--- + +## §13. The "Genuinely Useful" Patterns (Manual Slop should adopt) + +*Source clusters: 7-10 (epistemic, memory, computer-use, MCP apps)* + +*[FILL IN: ~350 lines. Distillation of the useful patterns.]* + +--- + +## §14. The "Anti-User Watchdog" Patterns (Manual Slop should explicitly reject) + +*Source clusters: 2-6 (refusal, user wellbeing, tone, mistakes, evenhandedness)* + +*[FILL IN: ~350 lines. Distillation of the anti-user patterns.]* + +--- + +## §15. The "Persona Performance" Patterns (irrelevant to the rebuild) + +*Source clusters: 1, 4, 5, 8 (branding, tone, mistakes, memory)* + +*[FILL IN: ~250 lines. Distillation of the persona performance patterns.]* + +--- + +## §16. Recommendations for the Deferred nagent-Rebuild + +*Source: all clusters; see also `decisions.md`* + +*[FILL IN: ~200 lines. 15-20 concrete recommendations.]* + +--- + +## §17. References (file:line index) + +*[FILL IN: ~150 lines. The full citation index.]* +``` + +- [ ] **Step 1.2.2: Verify the skeleton has 17 `## §` section headers** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\report.md" -Pattern "^## §" | Measure-Object).Count +``` + +Expected: 17 (one per section §0 through §17; note the §0 line counts as 1 and §17 also counts as 1; total is 18 if you count the "## References" line too, so 17 is the `## §N.` pattern count). + +Actually, the expected count is 18: 17 numbered sections (## §0 through ## §17) plus the H1 header. The numbered sections total 18 (counting §0 through §17 inclusive). Run the verify; the number should be **18**. + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\report.md" -Pattern "^## §\d" | Measure-Object).Count +``` + +Expected: 18 (one per section §0 through §17). + +### Task 1.3: Write the skeleton `comparison_table.md` + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/comparison_table.md` + +- [ ] **Step 1.3.1: Create the skeleton comparison table with column headers + 5 sample rows** + +Write the following to `conductor/tracks/fable_review_20260617/comparison_table.md`: + +```markdown +# Fable vs Manual Slop vs nagent — Comparison Table + +**Track:** `fable_review_20260617` +**Format:** One row per Fable sub-theme. Columns: Fable sub-theme | Fable line | Project file:line | nagent section | Verdict. + +> **Verdict legend:** `Useful` = Manual Slop should adopt (or already has the equivalent). `Persona` = Persona performance; irrelevant to the rebuild. `Anti-User` = Anti-user watch-dogging; explicitly reject. `Mixed` = useful caveats + persona and/or anti-user. + +| # | Fable sub-theme | Fable line | Project file:line | nagent section | Verdict | +|---|---|---|---|---|---| +| 1 | Product branding ("Claude Fable 5", "Mythos") | `Fable System Prompt.txt:12-23` | `conductor/product.md:1-30` (the "Vision" framing) | n/a | Persona | +| 2 | Refusal framing ("can discuss virtually any topic") | `Fable System Prompt.txt:34` | `conductor/workflow.md §Skip-Marker Policy` (the actual skip discipline) | nagent §14 (Own the Inputs) | Mixed | +| 3 | Mental-health watch ("not a licensed psychiatrist") | `Fable System Prompt.txt:80-86` | `conductor/code_styleguides/agent_memory_dimensions.md` (the 4 memory dims) | nagent §2.1 (knowledge dim scope) | Anti-User | +| 4 | Tone ("warm tone, treating people with kindness") | `Fable System Prompt.txt:56` | `AGENTS.md §"Critical Anti-Patterns"` | nagent §3.8 (CLAUDE.md / AGENTS.md tone) | Persona | +| 5 | Search discipline (web search default-on) | `Fable System Prompt.txt:436-444` | `conductor/code_styleguides/rag_integration_discipline.md` | nagent §3.2 (cache ordering) | Useful | +| 6-100 | *[FILL IN: ~95 more rows. See spec.md §1.1 for the verdict framework and the per-cluster file:line citations.]* | +``` + +- [ ] **Step 1.3.2: Verify the skeleton has 5 sample rows** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\comparison_table.md" -Pattern "^\| \d+ \|" | Measure-Object).Count +``` + +Expected: 5. + +### Task 1.4: Write the skeleton `decisions.md` + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/decisions.md` + +- [ ] **Step 1.4.1: Create the skeleton decisions file with template + 3 sample entries** + +Write the following to `conductor/tracks/fable_review_20260617/decisions.md`: + +```markdown +# Decisions — Recommendations for the Deferred nagent-Rebuild + +**Track:** `fable_review_20260617` +**For:** The user-deferred Manual Slop agent-directive overhaul (per user 2026-06-17: "I'm deferring that till probably next week or two"). + +> **What this is.** Concrete recommendations to apply when the user overhauls Manual Slop's agent directives. Each entry: rationale, source evidence (cluster file:line), suggested Manual Slop destination, priority. Adopted recommendations become new content in `AGENTS.md`, `conductor/*.md`, `conductor/code_styleguides/*.md`, `.opencode/agents/*.md`, or `docs/*.md` as appropriate. + +--- + +## Entry 1: Adopt Fable's "Search-Default for Current-State" rule + +**Source evidence:** `research/cluster_7_epistemic_discipline.md` §"What Fable says" (Fable System Prompt.txt:436-444). + +**Rationale:** Fable's rule that the model MUST use web search for "current role / position / status" queries (e.g., "Who is the current California Secretary of State?") is a genuinely-useful epistemic discipline. Manual Slop's current directives don't have an explicit analog; the project's RAG discipline (`conductor/code_styleguides/rag_integration_discipline.md`) is opt-in, not default-on. + +**Suggested Manual Slop destination:** A new section in `conductor/code_styleguides/rag_integration_discipline.md` (or a new styleguide) titled "Search-Default for Current-State Queries." + +**Priority:** Medium (the convention should be added; the user's deferred rebuild is the appropriate time). + +**Verdict category:** Useful. + +--- + +## Entry 2: Explicitly reject Fable's "Mental-Health Watchdog" framing + +**Source evidence:** `research/cluster_3_user_wellbeing_watchdog.md` §"Verdict" (Fable System Prompt.txt:78-110). + +**Rationale:** Fable's directive that the model "avoid psychoanalyzing or speculating on the motivations" of the user + "share its concerns with the person openly" + "suggest they speak with a professional" is anti-user watch-dogging. The model is text generation; it is not a clinician. Manual Slop's existing 4 memory dimensions + the data-oriented error handling convention are the data-grounded contrast: the model does not have an opinion on the user's mental state; it has a conversation log. + +**Suggested Manual Slop destination:** A new anti-pattern entry in `AGENTS.md §"Critical Anti-Patterns"` titled "Do not adopt persona-driven mental-health watch-dogging." Cite Fable as the explicit rejection (per cluster 3). + +**Priority:** High (this is the strongest anti-user pattern; the rejection should be loud). + +**Verdict category:** Anti-User. + +--- + +## Entry 3: Treat Fable's product-branding sections as noise + +**Source evidence:** `research/cluster_1_product_branding.md` §"Verdict" (Fable System Prompt.txt:1-31). + +**Rationale:** Fable's "Claude Fable 5" + "Mythos" + "Anthropic.com/news/claude-fable-5-mythos-5" content is brand-specific noise. It applies only to Anthropic's commercial deployment and has no analog in Manual Slop's open-source-or-per-developer model. The "Knowledge cutoff" + "Web search" + "Today is Tuesday, June 09, 2026" content is similarly deployment-specific. + +**Suggested Manual Slop destination:** No destination. The Fable branding content is explicitly out of scope for the rebuild. + +**Priority:** N/A (no action needed). + +**Verdict category:** Persona. + +--- + +## Entry 4-20: *[FILL IN: ~16 more recommendations. See spec.md §6.3 and the per-cluster "Synthesis notes for the Tier 1 writer" sections.]* +``` + +- [ ] **Step 1.4.2: Verify the skeleton has 3 sample entries** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\decisions.md" -Pattern "^## Entry \d" | Measure-Object).Count +``` + +Expected: 3. + +### Task 1.5: Write the skeleton `nagent_takeaways_fable_20260617.md` + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md` + +- [ ] **Step 1.5.1: Create the skeleton file with the 17th takeaway placeholder** + +Write the following to `conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md`: + +```markdown +# nagent Takeaways — Fable-Specific Addendum (2026-06-17) + +**Track:** `fable_review_20260617` +**Companion to:** `conductor/tracks/nagent_review_20260608/nagent_takeaways_20260608.md` (the original 10 takeaways). + +> **What this is.** The 17th nagent takeaway, derived from the Fable review. The original 10 takeaways are at `nagent_takeaways_20260608.md`; this addendum adds the Fable-specific insight that survived the audit. + +--- + +## Takeaway 17: Persona-performance directives don't survive the Fable audit; only epistemic + memory + workflow rules have durable value + +**Source evidence:** `report.md §0` (verdict scorecard); the 10 cluster sub-reports. + +**Summary.** Anthropic's Claude Fable 5 system prompt is a 1585-line artifact. Approximately: +- **[N]% is Useful** (epistemic discipline, search rules, memory/storage model, file workflow) — genuinely reusable in Manual Slop's context +- **[M]% is Persona Performance** (product branding, warm-tone framing, mistake-handling theater) — irrelevant noise that the model would do anyway +- **[K]% is Anti-User** (refusal architecture, mental-health watch-dogging, "share its concerns with the person") — explicit anti-patterns that the deferred nagent-rebuild should reject by name + +**The actionable rule for the deferred rebuild:** +- Adopt the Useful patterns (epistemic + memory + workflow; ~7 of the 10 clusters) +- Explicitly reject the Anti-User patterns (~5 of the 10 clusters) +- Ignore the Persona Performance patterns (~4 of the 10 clusters) + +**Why this matters.** The default failure mode for LLM agent systems is to over-index on persona and under-index on epistemic discipline. Fable demonstrates the pathology at scale. nagent's philosophy ("the agent is not the thing; the data is the thing") is the antidote: durable, inspectable, opt-in rules (memory, cache, search, file ops) beat persona performance every time. + +**Cross-references:** +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §2.5 ("You Did Not Build an Agent") — the nagent philosophy this takeaway extends +- `conductor/tracks/fable_review_20260617/decisions.md` — the 15-20 concrete recommendations for the rebuild +- `conductor/tracks/fable_review_20260617/report.md §13, §14, §15` — the useful / anti-user / persona summary sections + +--- + +*[FILL IN: this skeleton is ~30 lines. The full file should be ~150 lines with: the 17th takeaway (above, expanded), the Fable-specific evidence per cluster, and the cross-references to nagent_review_20260608/ — see spec.md §6.3.]* +``` + +- [ ] **Step 1.5.2: Verify the skeleton is 30+ lines** + +```powershell +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\nagent_takeaways_fable_20260617.md" | Measure-Object -Line).Lines +``` + +Expected: 30+ (the skeleton above is 30 lines; the final file should be ~150). + +### Task 1.6: Update `state.toml` to `current_phase = 1` (in progress) + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/state.toml` + +- [ ] **Step 1.6.1: Update the `[meta]` block to reflect Phase 1 progress** + +Use `manual-slop_edit_file` with the `old_string` / `new_string` parameters (per the project's MCP-only rule): + +``` +old_string: current_phase = 0 +new_string: current_phase = 1 +``` + +And update `last_updated` from `"2026-06-17"` to the current date (likely still `"2026-06-17"`). + +- [ ] **Step 1.6.2: Verify the state update** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\state.toml" -Pattern "^current_phase = 1$" | Measure-Object).Count +``` + +Expected: 1. + +### Task 1.7: Phase 1 checkpoint commit + +**Files:** +- All 4 new files (report.md, comparison_table.md, decisions.md, nagent_takeaways_fable_20260617.md) +- state.toml modification + +- [ ] **Step 1.7.1: Inspect `git status` to verify the Fable artifact is NOT staged** + +```powershell +git -C "C:\projects\manual_slop" status --short +``` + +Expected: only the 4 new files + state.toml modification are listed. The Fable artifact at `docs/artifacts/` MUST NOT be in the output. + +- [ ] **Step 1.7.2: Stage the skeleton files** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/report.md" "conductor/tracks/fable_review_20260617/comparison_table.md" "conductor/tracks/fable_review_20260617/decisions.md" "conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md" "conductor/tracks/fable_review_20260617/state.toml" +``` + +- [ ] **Step 1.7.3: Verify staging is clean** + +```powershell +git -C "C:\projects\manual_slop" status --short +``` + +Expected: 5 staged files, all under `conductor/tracks/fable_review_20260617/`. No `docs/artifacts/`. + +- [ ] **Step 1.7.4: Commit the skeleton** + +```powershell +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 1 — skeleton report + side artifacts + +4 skeleton files: report.md (17 section headers; will be filled by Tier 1 in phase 3), comparison_table.md (5 sample rows; will be filled by Tier 1 in phase 4), decisions.md (3 sample entries; will be filled by Tier 1 in phase 4), nagent_takeaways_fable_20260617.md (17th takeaway placeholder; will be filled by Tier 1 in phase 4). state.toml updated to current_phase = 1. + +Fable artifact at docs/artifacts/Fable System Prompt.txt is NOT staged. Verified." +``` + +- [ ] **Step 1.7.5: Capture the commit SHA** + +```powershell +git -C "C:\projects\manual_slop" log -1 --format="%H" +``` + +Expected: a 40-char hex string. Record this for the state.toml update. + +- [ ] **Step 1.7.6: Attach a git note to the checkpoint commit** + +```powershell +git -C "C:\projects\manual_slop" notes add -m "fable_review_20260617 Phase 1 checkpoint (skeleton). + +4 skeleton files at conductor/tracks/fable_review_20260617/: +- report.md: 17 section headers (sections 0-17). Will be filled by Tier 1 in Phase 3 using the max-token-output strategy. +- comparison_table.md: 5 sample rows. Will be filled by Tier 1 in Phase 4 (~100 rows). +- decisions.md: 3 sample entries. Will be filled by Tier 1 in Phase 4 (~15-20 entries). +- nagent_takeaways_fable_20260617.md: 17th takeaway placeholder. Will be filled by Tier 1 in Phase 4 (~150 lines). + +state.toml updated to current_phase = 1. Hard rule verified: Fable artifact at docs/artifacts/Fable System Prompt.txt is NOT staged." +``` + +Substitute `` with the SHA captured in Step 1.7.5. + +--- + +## Phase 2: Dispatch 10 Cluster Sub-Agents in Parallel + +**Focus:** 10 Tier 3 worker sub-agents write cluster sub-reports in parallel. Each sub-report is 200-500 lines and follows the template at `spec.md §4.1`. The Tier 2 dispatches the sub-agents; the sub-agents write the files; the Tier 2 verifies each sub-report's acceptance criteria. + +### Task 2.1: Cluster 1 — Product Branding & "Helpful Assistant" Persona + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_1_product_branding.md` + +- [ ] **Step 2.1.1: Dispatch the Tier 3 sub-agent for cluster 1** + +The dispatch is `mma_exec.py --role tier3-worker` with the cluster spec and the context files. Use the project's standard sub-agent dispatch command: + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 1 is yours). + +**Cluster 1: Product Branding & 'Helpful Assistant' Persona.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 1-31 (the product_information section) +- `AGENTS.md` (the project's top-level agent-facing rules) +- `conductor/product.md` (the project's product vision) +- `docs/Readme.md` (the docs index, 'What This Is' framing) +- `conductor/code_styleguides/data_oriented_design.md` (the DOD reference; the project's 'the data is the thing' stance) + +Skim (don't read in full): +- `docs/AGENTS.md` (the agent-facing mirror) +- `.opencode/agents/tier1-orchestrator.md` (the Tier 1 role; the persona framing) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_1_product_branding.md` (200-500 lines). + +**Template:** Per `conductor/tracks/fable_review_20260617/spec.md` §4.1. + +**Verdict orientation:** Persona Performance. + +**Output budget:** 500 lines max. ≤15 words per Fable quote. Cite Fable lines, project file:line refs, and nagent section refs (where relevant). + +**Hard rule:** Do NOT commit the Fable artifact. The cluster sub-report is a markdown file only. +"@ +``` + +- [ ] **Step 2.1.2: Verify the sub-report exists and is 200-500 lines** + +```powershell +Test-Path -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\research\cluster_1_product_branding.md" +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\research\cluster_1_product_branding.md" | Measure-Object -Line).Lines +``` + +Expected: file exists; 200 ≤ line count ≤ 500. + +- [ ] **Step 2.1.3: Verify the sub-report has a verdict** + +```powershell +Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\research\cluster_1_product_branding.md" -Pattern "## \d\. Verdict" -Quiet +``` + +Expected: `True`. + +- [ ] **Step 2.1.4: Commit the cluster sub-report** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/research/cluster_1_product_branding.md" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 cluster 1 (Product Branding) sub-report + +Tier 3 worker dispatch. Verdict: Persona Performance. 200-500 lines. Fable System Prompt.txt:1-31 cited. Project refs: AGENTS.md, conductor/product.md, docs/Readme.md. Fable artifact NOT committed." +``` + +### Task 2.2: Cluster 2 — Refusal Architecture & "Safety Theater" + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_2_refusal_architecture.md` + +- [ ] **Step 2.2.1: Dispatch the Tier 3 sub-agent for cluster 2** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 2 is yours). + +**Cluster 2: Refusal Architecture & 'Safety Theater'.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 32-53 (refusal_handling + legal_and_financial_advice) +- `AGENTS.md §"Critical Anti-Patterns"` +- `conductor/workflow.md §"Skip-Marker Policy"` +- `conductor/code_styleguides/error_handling.md` (the data-oriented error handling convention) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §2.14 (Own the Inputs) + §2.1 (4 memory dimensions) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_2_refusal_architecture.md` (200-500 lines). + +**Verdict orientation:** Anti-User + Persona. +"@ +``` + +- [ ] **Step 2.2.2-2.2.4:** Same verification + commit pattern as 2.1. + +### Task 2.3: Cluster 3 — User Wellbeing / Mental-Health Watchdog + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_3_user_wellbeing_watchdog.md` + +- [ ] **Step 2.3.1: Dispatch the Tier 3 sub-agent for cluster 3** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 3 is yours). + +**Cluster 3: User Wellbeing / Mental-Health Watchdog.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 78-110 (user_wellbeing) +- `conductor/product-guidelines.md §"AI-Optimized Compact Style"` +- `conductor/code_styleguides/agent_memory_dimensions.md` (the 4 memory dims; especially the knowledge dim) +- `docs/guide_discussions.md` (Manual Slop's discussion model) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §2.1 + §6 (the compaction pattern) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_3_user_wellbeing_watchdog.md` (200-500 lines). + +**Verdict orientation:** Anti-User. +"@ +``` + +- [ ] **Step 2.3.2-2.3.4:** Same verification + commit pattern as 2.1. + +### Task 2.4: Cluster 4 — Tone & Formatting Constraints + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_4_tone_and_formatting.md` + +- [ ] **Step 2.4.1: Dispatch the Tier 3 sub-agent for cluster 4** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 4 is yours). + +**Cluster 4: Tone & Formatting Constraints.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 54-77 (tone_and_formatting + lists_and_bullets) +- `docs/artifacts/Fable System Prompt.txt` line 110 (the 'never thanks the person' rule; cross-reference) +- `AGENTS.md` (root; the project's tone framing) +- `conductor/product-guidelines.md §"AI-Optimized Compact Style"` (the project's actual style) +- `.opencode/agents/tier1-orchestrator.md` + `tier2-tech-lead.md` + `tier3-worker.md` + `tier4-qa.md` (the 4 tier skills) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §3.8 (CLAUDE.md / AGENTS.md @import pattern) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_4_tone_and_formatting.md` (200-500 lines). + +**Verdict orientation:** Useful + Persona. +"@ +``` + +- [ ] **Step 2.4.2-2.4.4:** Same verification + commit pattern as 2.1. + +### Task 2.5: Cluster 5 — Mistakes & Criticism Handling + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_5_mistakes_and_criticism.md` + +- [ ] **Step 2.5.1: Dispatch the Tier 3 sub-agent for cluster 5** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 5 is yours). + +**Cluster 5: Mistakes & Criticism Handling.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 134-140 (responding_to_mistakes_and_criticism) +- `AGENTS.md §"receiving-code-review"` (cross-reference) +- `.opencode/agents/tier3-worker.md` (the worker role; the actual mistake-handling in this project) +- `conductor/workflow.md §"Process Anti-Patterns"` +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §5.5 (Self-review) + §6.3 (the 10-question compaction self-review) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_5_mistakes_and_criticism.md` (200-500 lines). + +**Verdict orientation:** Persona. +"@ +``` + +- [ ] **Step 2.5.2-2.5.4:** Same verification + commit pattern as 2.1. + +### Task 2.6: Cluster 6 — Evenhandedness & Contested Content + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_6_evenhandedness.md` + +- [ ] **Step 2.6.1: Dispatch the Tier 3 sub-agent for cluster 6** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 6 is yours). + +**Cluster 6: Evenhandedness & Contested Content.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 120-132 (evenhandedness) +- `AGENTS.md §"receiving-code-review"` +- `conductor/code_styleguides/rag_integration_discipline.md` (the conservative-RAG rule; the project's analog) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §2.10 (RAG integration discipline) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_6_evenhandedness.md` (200-500 lines). + +**Verdict orientation:** Persona + Useful caveats. +"@ +``` + +- [ ] **Step 2.6.2-2.6.4:** Same verification + commit pattern as 2.1. + +### Task 2.7: Cluster 7 — Epistemic Discipline & Search Strategy + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_7_epistemic_discipline.md` + +- [ ] **Step 2.7.1: Dispatch the Tier 3 sub-agent for cluster 7** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 7 is yours). + +**Cluster 7: Epistemic Discipline & Search Strategy.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 142-150 (knowledge_cutoff) + lines 422-565 (search_instructions) +- `conductor/code_styleguides/rag_integration_discipline.md` +- `conductor/code_styleguides/cache_friendly_context.md` (the cache ordering) +- `docs/guide_rag.md` (the RAG subsystem) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §3.2 (cache ordering) + §2.10 (RAG discipline) + §6 (compaction) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_7_epistemic_discipline.md` (200-500 lines). + +**Verdict orientation:** Useful. +"@ +``` + +- [ ] **Step 2.7.2-2.7.4:** Same verification + commit pattern as 2.1. + +### Task 2.8: Cluster 8 — Memory System & Persistent Storage + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_8_memory_and_storage.md` + +- [ ] **Step 2.8.1: Dispatch the Tier 3 sub-agent for cluster 8** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 8 is yours). + +**Cluster 8: Memory System & Persistent Storage.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 152-236 (memory_system + persistent_storage_for_artifacts) +- `src/models.py` (the data model registry; search for History-related types) +- `docs/guide_discussions.md` (the discussion model) +- `conductor/code_styleguides/agent_memory_dimensions.md` (the 4 memory dims) +- `docs/guide_knowledge_curation.md` (the knowledge dim guide) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §2.1 (4 memory dims) + §3.9 (per-file knowledge notes) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_8_memory_and_storage.md` (200-500 lines). + +**Verdict orientation:** Useful + nagent-stronger. +"@ +``` + +- [ ] **Step 2.8.2-2.8.4:** Same verification + commit pattern as 2.1. + +### Task 2.9: Cluster 9 — Computer-Use / Skills / File Workflow + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_9_computer_use.md` + +- [ ] **Step 2.9.1: Dispatch the Tier 3 sub-agent for cluster 9** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 9 is yours). + +**Cluster 9: Computer-Use / Skills / File Workflow.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 287-420 (computer_use + file_creation_advice + producing_outputs) +- `docs/guide_tools.md` (MCP tools) +- `conductor/tech-stack.md` (file system) +- `conductor/edit_workflow.md` (the edit workflow) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §9 (Large files) + §8.4 (Tool discovery) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_9_computer_use.md` (200-500 lines). + +**Verdict orientation:** Useful + over-broad. +"@ +``` + +- [ ] **Step 2.9.2-2.9.4:** Same verification + commit pattern as 2.1. + +### Task 2.10: Cluster 10 — MCP App Suggestions & Third-Party Connectors + +**Files:** +- Create: `conductor/tracks/fable_review_20260617/research/cluster_10_mcp_app_suggestions.md` + +- [ ] **Step 2.10.1: Dispatch the Tier 3 sub-agent for cluster 10** + +```powershell +uv run python scripts/mma_exec.py --role tier3-worker @" +You are a Tier 3 Worker writing a cluster sub-report for the fable_review_20260617 track. + +**Read the cluster spec first:** `conductor/tracks/fable_review_20260617/spec.md` §5 (the 10 cluster specs table; row 10 is yours). + +**Cluster 10: MCP App Suggestions & Third-Party Connectors.** + +Read in full: +- `docs/artifacts/Fable System Prompt.txt` lines 238-285 (mcp_app_suggestions) +- `docs/guide_mcp_client.md` (the 45 tools) +- `docs/guide_tools.md §"MCP"` (the MCP architecture) +- `docs/guide_state_lifecycle.md §"Hook API"` (the Hook API surface) +- `conductor/tracks/nagent_review_20260608/nagent_review_v2_3_20260612.md` §8.4 (Tool discovery, the --description self-describing pattern) + §2.7 (Conversations are editable state) + +**Output:** `conductor/tracks/fable_review_20260617/research/cluster_10_mcp_app_suggestions.md` (200-500 lines). + +**Verdict orientation:** Useful + over-engineered. +"@ +``` + +- [ ] **Step 2.10.2-2.10.4:** Same verification + commit pattern as 2.1. + +### Task 2.11: Phase 2 checkpoint commit + state update + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/state.toml` + +- [ ] **Step 2.11.1: Verify all 10 cluster sub-reports are committed** + +```powershell +Get-ChildItem -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\research" -Filter "cluster_*.md" | Measure-Object +``` + +Expected: 10 files. + +- [ ] **Step 2.11.2: Update `state.toml` to `current_phase = 2` (completed)** + +Use `manual-slop_edit_file` to change `current_phase = 1` to `current_phase = 2` in the `[meta]` block. + +- [ ] **Step 2.11.3: Commit the state update** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/state.toml" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 2 — 10 cluster sub-reports complete + +All 10 cluster sub-reports at conductor/tracks/fable_review_20260617/research/cluster_*.md. Each is 200-500 lines, follows the spec.md §4.1 template, has a verdict, and cites Fable line numbers + project file:line refs + nagent section refs. current_phase = 2." +``` + +- [ ] **Step 2.11.4: Attach a git note** + +```powershell +git -C "C:\projects\manual_slop" notes add -m "fable_review_20260617 Phase 2 checkpoint (10 cluster sub-reports). + +Distributed sub-agent output. Each cluster: 200-500 lines; verdict (Useful / Persona / Anti-User / Mixed); Fable line citations; project file:line refs; nagent section refs. Synthesis report sections 3-12 can now be written by Tier 1 in Phase 3." +``` + +--- + +## Phase 3: Tier 1 Writes 17 Synthesis Sections (Max-Token-Output Strategy) + +**Focus:** Tier 1 reads each cluster sub-report, then writes one synthesis section per `write` call. This is the "max token output strategy": each section is its own pass, allowing the full output budget per section. 17 sections = 17 atomic commits. + +### Task 3.0: Section 0 — TL;DR + Verdict Scorecard + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/report.md` + +- [ ] **Step 3.0.1: Read all 10 cluster sub-reports (orient)** + +Use `manual-slop_get_file_summary` (or `manual-slop_read_file` if summaries are too coarse) to orient on the cluster content. + +- [ ] **Step 3.0.2: Write Section 0 (~100 lines)** + +Use `manual-slop_set_file_slice` to replace the `[FILL IN: 1-page summary table. ~100 lines. All 17 verdicts at a glance.]` placeholder in `report.md` with the actual content. The section must include: +- A 1-paragraph headline finding +- A verdict percentage summary +- A 1-row-per-section table of the 17 verdicts + +- [ ] **Step 3.0.3: Verify Section 0 is ~100 lines** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\report.md" -Pattern "## §1\." | Select-Object -First 1).LineNumber +``` + +Expected: ~100 (the line number where §1 starts; Section 0 should occupy lines ~30-130). + +- [ ] **Step 3.0.4: Commit Section 0** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/report.md" +git -C "C:\projects\manual_slop" commit -m "docs(track): fable_review_20260617 section 0 — TL;DR + scorecard + +1-paragraph headline + 1-row-per-section verdict table. ~100 lines. Reads from all 10 cluster sub-reports." +``` + +- [ ] **Step 3.0.5: Git note** + +```powershell +git -C "C:\projects\manual_slop" notes add -m "fable_review_20260617 §0 (TL;DR + scorecard). 1-paragraph headline + 17-row verdict table. Headline: approximately [N]% Useful, [M]% Persona, [K]% Anti-User. Full breakdown by section." +``` + +### Task 3.1: Section 1 — The 3 Sources (~200 lines) + +- [ ] **Step 3.1.1-3.1.5:** Same pattern as 3.0 but for §1. + +- [ ] **Step 3.1.6: Git note for §1** + +``` +"fable_review_20260617 §1 (The 3 Sources). Describes the 3 sources: Fable (1585 lines), Manual Slop (300K+ agent-directive text), nagent_review (500K corpus). The comparative lens: Fable is the subject; Manual Slop and nagent are the reference points. ~200 lines." +``` + +### Task 3.2: Section 2 — The "Useful vs Persona vs Anti-User" Framework (~250 lines) + +- [ ] **Steps:** Same pattern as 3.0. + +- [ ] **Git note for §2:** + +``` +"fable_review_20260617 §2 (The Framework). Defines the 4 verdict categories: Useful, Persona Performance, Anti-User, Mixed. Why this lens, not 'good vs bad' or 'safe vs unsafe'. ~250 lines." +``` + +### Task 3.3: Section 3 — Fable's Product Branding (~300 lines) + +**Cluster reference:** `research/cluster_1_product_branding.md` + +- [ ] **Steps:** Same pattern. The synthesis section references the cluster by file:line and uses its verdict. + +- [ ] **Git note for §3:** + +``` +"fable_review_20260617 §3 (Product Branding). Verdict: Persona Performance. ~300 lines. Source cluster: research/cluster_1_product_branding.md." +``` + +### Task 3.4: Section 4 — Fable's Refusal Architecture (~350 lines) + +**Cluster reference:** `research/cluster_2_refusal_architecture.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §4:** + +``` +"fable_review_20260617 §4 (Refusal Architecture). Verdict: Anti-User + Persona. ~350 lines. Source cluster: research/cluster_2_refusal_architecture.md." +``` + +### Task 3.5: Section 5 — Fable's Mental-Health Watchdog (~350 lines) + +**Cluster reference:** `research/cluster_3_user_wellbeing_watchdog.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §5:** + +``` +"fable_review_20260617 §5 (Mental-Health Watchdog). Verdict: Anti-User. ~350 lines. Source cluster: research/cluster_3_user_wellbeing_watchdog.md. The strongest anti-user pattern." +``` + +### Task 3.6: Section 6 — Fable's Tone & Formatting (~250 lines) + +**Cluster reference:** `research/cluster_4_tone_and_formatting.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §6:** + +``` +"fable_review_20260617 §6 (Tone & Formatting). Verdict: Useful + Persona. ~250 lines. Source cluster: research/cluster_4_tone_and_formatting.md." +``` + +### Task 3.7: Section 7 — Fable's Mistake Handling (~200 lines) + +**Cluster reference:** `research/cluster_5_mistakes_and_criticism.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §7:** + +``` +"fable_review_20260617 §7 (Mistake Handling). Verdict: Persona. ~200 lines. Source cluster: research/cluster_5_mistakes_and_criticism.md." +``` + +### Task 3.8: Section 8 — Fable's Evenhandedness (~300 lines) + +**Cluster reference:** `research/cluster_6_evenhandedness.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §8:** + +``` +"fable_review_20260617 §8 (Evenhandedness). Verdict: Persona + Useful caveats. ~300 lines. Source cluster: research/cluster_6_evenhandedness.md." +``` + +### Task 3.9: Section 9 — Fable's Epistemic Discipline (~350 lines) + +**Cluster reference:** `research/cluster_7_epistemic_discipline.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §9:** + +``` +"fable_review_20260617 §9 (Epistemic Discipline). Verdict: Useful. ~350 lines. Source cluster: research/cluster_7_epistemic_discipline.md. The strongest useful cluster." +``` + +### Task 3.10: Section 10 — Fable's Memory System (~350 lines) + +**Cluster reference:** `research/cluster_8_memory_and_storage.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §10:** + +``` +"fable_review_20260617 §10 (Memory System). Verdict: Useful + nagent-stronger. ~350 lines. Source cluster: research/cluster_8_memory_and_storage.md." +``` + +### Task 3.11: Section 11 — Fable's Computer-Use (~300 lines) + +**Cluster reference:** `research/cluster_9_computer_use.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §11:** + +``` +"fable_review_20260617 §11 (Computer-Use). Verdict: Useful + over-broad. ~300 lines. Source cluster: research/cluster_9_computer_use.md." +``` + +### Task 3.12: Section 12 — Fable's MCP App Suggestions (~250 lines) + +**Cluster reference:** `research/cluster_10_mcp_app_suggestions.md` + +- [ ] **Steps:** Same pattern. + +- [ ] **Git note for §12:** + +``` +"fable_review_20260617 §12 (MCP App Suggestions). Verdict: Useful + over-engineered. ~250 lines. Source cluster: research/cluster_10_mcp_app_suggestions.md." +``` + +### Task 3.13: Section 13 — The "Genuinely Useful" Patterns (~350 lines) + +**Cluster references:** `research/cluster_7_epistemic_discipline.md`, `cluster_8_memory_and_storage.md`, `cluster_9_computer_use.md`, `cluster_10_mcp_app_suggestions.md` + +- [ ] **Steps:** Same pattern. This section synthesizes the useful patterns from clusters 7-10. + +- [ ] **Git note for §13:** + +``` +"fable_review_20260617 §13 (Genuinely Useful Patterns). Distillation of clusters 7-10. ~350 lines. Feeds the deferred nagent-rebuild." +``` + +### Task 3.14: Section 14 — The "Anti-User Watchdog" Patterns (~350 lines) + +**Cluster references:** `research/cluster_2_refusal_architecture.md`, `cluster_3_user_wellbeing_watchdog.md`, `cluster_4_tone_and_formatting.md`, `cluster_5_mistakes_and_criticism.md`, `cluster_6_evenhandedness.md` + +- [ ] **Steps:** Same pattern. Distillation of the anti-user patterns from clusters 2-6. + +- [ ] **Git note for §14:** + +``` +"fable_review_20260617 §14 (Anti-User Watchdog Patterns). Distillation of clusters 2-6. ~350 lines. Feeds the AGENTS.md anti-patterns section in the deferred rebuild." +``` + +### Task 3.15: Section 15 — The "Persona Performance" Patterns (~250 lines) + +**Cluster references:** `research/cluster_1_product_branding.md`, `cluster_4_tone_and_formatting.md`, `cluster_5_mistakes_and_criticism.md`, `cluster_8_memory_and_storage.md` + +- [ ] **Steps:** Same pattern. Distillation of the persona performance patterns. + +- [ ] **Git note for §15:** + +``` +"fable_review_20260617 §15 (Persona Performance Patterns). Distillation of clusters 1, 4, 5, 8. ~250 lines. The 'irrelevant noise' patterns." +``` + +### Task 3.16: Section 16 — Recommendations for the Deferred nagent-Rebuild (~200 lines) + +**Cluster references:** all 10 clusters; cross-reference to `decisions.md` + +- [ ] **Steps:** Same pattern. This section bridges to the 15-20 concrete recommendations in `decisions.md`. + +- [ ] **Git note for §16:** + +``` +"fable_review_20260617 §16 (Recommendations). ~200 lines. Bridges to decisions.md (15-20 recommendations for the deferred rebuild). User-facing summary of what to adopt + what to reject." +``` + +### Task 3.17: Section 17 — References (~150 lines) + +- [ ] **Steps:** Same pattern. A flat file:line index of all sources cited in the report. + +- [ ] **Git note for §17:** + +``` +"fable_review_20260617 §17 (References). ~150 lines. The full file:line citation index: Fable, project files, nagent_review, external sources." +``` + +### Task 3.18: Phase 3 checkpoint commit + state update + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/state.toml` + +- [ ] **Step 3.18.1: Verify the synthesis report is >3500 LOC** + +```powershell +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\report.md" | Measure-Object -Line).Lines +``` + +Expected: >3500. + +- [ ] **Step 3.18.2: Verify all 17 sections are present** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\report.md" -Pattern "^## §\d" | Measure-Object).Count +``` + +Expected: 18 (one per §0-§17 inclusive). + +- [ ] **Step 3.18.3: Update `state.toml` to `current_phase = 3` (completed)** + +Use `manual-slop_edit_file` to change `current_phase = 2` to `current_phase = 3`. + +- [ ] **Step 3.18.4: Commit the synthesis report + state update** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/report.md" "conductor/tracks/fable_review_20260617/state.toml" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 3 — 17-section synthesis report complete + +report.md is [N] LOC (>3500 target). All 17 sections present. Verdict framework applied consistently. current_phase = 3." +``` + +- [ ] **Step 3.18.5: Git note** + +``` +"fable_review_20260617 Phase 3 checkpoint (synthesis report). 17 sections, [N] LOC, >3500 target met. Verdict framework (Useful / Persona / Anti-User / Mixed) applied to every section. Side artifacts (Phase 4) can now be written." +``` + +--- + +## Phase 4: Tier 1 Writes 3 Side Artifacts + +**Focus:** Tier 1 reads the synthesis report and writes 3 side artifacts: `comparison_table.md` (~100 rows), `decisions.md` (15-20 entries), `nagent_takeaways_fable_20260617.md` (~150 lines). + +### Task 4.1: `comparison_table.md` (~700 lines, ~100 rows) + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/comparison_table.md` + +- [ ] **Step 4.1.1: Replace the skeleton with the full table** + +Use `manual-slop_set_file_slice` to replace the `| 6-100 | *[FILL IN: ...]* |` row with the actual ~100 rows. Each row: Fable sub-theme | Fable line | Project file:line | nagent section | Verdict. + +- [ ] **Step 4.1.2: Verify the row count** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\comparison_table.md" -Pattern "^\| \d+ \|" | Measure-Object).Count +``` + +Expected: ~100 (the skeleton has 5 rows; the final file has ~100). + +- [ ] **Step 4.1.3: Verify the LOC** + +```powershell +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\comparison_table.md" | Measure-Object -Line).Lines +``` + +Expected: ~700. + +- [ ] **Step 4.1.4: Commit** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/comparison_table.md" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 comparison_table — ~100 rows + +Flat side-by-side: Fable sub-theme | Fable line | Project file:line | nagent section | Verdict. ~700 lines, ~100 rows. Feeds the deferred nagent-rebuild." +``` + +- [ ] **Step 4.1.5: Git note** + +``` +"fable_review_20260617 comparison_table. ~100 rows. Verdict distribution: [N] Useful, [M] Persona, [K] Anti-User, [J] Mixed. The flat reference document for the deferred rebuild." +``` + +### Task 4.2: `decisions.md` (~500 lines, 15-20 entries) + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/decisions.md` + +- [ ] **Step 4.2.1: Replace the skeleton with the full decisions file** + +Use `manual-slop_set_file_slice` to replace the `## Entry 4-20: *[FILL IN: ...]*` placeholder with the actual 15-20 entries. Each entry: rationale, source evidence (cluster file:line), suggested Manual Slop destination, priority, verdict category. + +- [ ] **Step 4.2.2: Verify the entry count** + +```powershell +(Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\decisions.md" -Pattern "^## Entry \d" | Measure-Object).Count +``` + +Expected: 15-20. + +- [ ] **Step 4.2.3: Verify the LOC** + +```powershell +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\decisions.md" | Measure-Object -Line).Lines +``` + +Expected: ~500. + +- [ ] **Step 4.2.4: Commit** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/decisions.md" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 decisions — 15-20 recommendations for the deferred nagent-rebuild + +Each entry: rationale, source evidence (cluster file:line), suggested Manual Slop destination, priority, verdict category. Feeds the user-deferred agent-directive overhaul." +``` + +- [ ] **Step 4.2.5: Git note** + +``` +"fable_review_20260617 decisions.md. 15-20 concrete recommendations for the deferred nagent-rebuild. Distribution: [N] adopt, [M] reject, [K] no-action. Each entry has a target file in Manual Slop." +``` + +### Task 4.3: `nagent_takeaways_fable_20260617.md` (~150 lines) + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md` + +- [ ] **Step 4.3.1: Replace the skeleton with the full addendum** + +Use `manual-slop_set_file_slice` to expand the 17th takeaway to ~150 lines. Include the cluster evidence, the cross-references, and the actionable rule. + +- [ ] **Step 4.3.2: Verify the LOC** + +```powershell +(Get-Content -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\nagent_takeaways_fable_20260617.md" | Measure-Object -Line).Lines +``` + +Expected: ~150. + +- [ ] **Step 4.3.3: Commit** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 nagent_takeaways_fable_20260617 — 17th takeaway + +Addendum to conductor/tracks/nagent_review_20260608/nagent_takeaways_20260608.md. The 17th takeaway: persona-performance directives don't survive the Fable audit; only epistemic + memory + workflow rules have durable value." +``` + +- [ ] **Step 4.3.4: Git note** + +``` +"fable_review_20260617 17th nagent takeaway. The Fable-specific insight: durable, inspectable rules (epistemic + memory + workflow) beat persona performance. The actionable rule for the deferred rebuild." +``` + +### Task 4.4: Phase 4 checkpoint commit + state update + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/state.toml` + +- [ ] **Step 4.4.1: Verify all 3 side artifacts exist and meet their target LOC/counts** + +```powershell +Get-ChildItem -LiteralPath "C:\projects\manual_slop\conductor\tracks\fable_review_20260617" -Filter "*.md" | ForEach-Object { Write-Output "$($_.Name): $((Get-Content -LiteralPath $_.FullName | Measure-Object -Line).Lines) lines" } +``` + +Expected: +- spec.md: ~317 +- report.md: >3500 +- comparison_table.md: ~700 +- decisions.md: ~500 +- nagent_takeaways_fable_20260617.md: ~150 + +- [ ] **Step 4.4.2: Update `state.toml` to `current_phase = 4` (completed)** + +Use `manual-slop_edit_file` to change `current_phase = 3` to `current_phase = 4`. + +- [ ] **Step 4.4.3: Commit the state update + final artifacts** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/state.toml" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 4 — 3 side artifacts complete + +comparison_table.md (~100 rows, ~700 lines), decisions.md (15-20 entries, ~500 lines), nagent_takeaways_fable_20260617.md (~150 lines). current_phase = 4." +``` + +- [ ] **Step 4.4.4: Git note** + +``` +"fable_review_20260617 Phase 4 checkpoint (3 side artifacts). The full deliverable set is now complete: report.md (17 sections, >3500 LOC) + 10 cluster sub-reports + 3 side artifacts. Ready for self-review (Phase 5)." +``` + +--- + +## Phase 5: Self-Review (Brainstorming Skill) + +**Focus:** Tier 1 runs the self-review per the brainstorming skill on the full deliverable set. + +### Task 5.1: Placeholder scan + +- [ ] **Step 5.1.1: Search for "TBD", "TODO", "FILL IN", "fill in" across all 17 deliverables** + +```powershell +Select-String -Path "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\*.md", "C:\projects\manual_slop\conductor\tracks\fable_review_20260617\research\*.md" -Pattern "TBD|TODO|FILL IN|fill in|fill-in" -CaseSensitive:$false +``` + +Expected: zero matches (the placeholders are all replaced). + +- [ ] **Step 5.1.2: If matches are found, fix them inline** + +For each match, replace the placeholder with the actual content. + +### Task 5.2: Internal consistency check + +- [ ] **Step 5.2.1: Verify cluster verdicts match synthesis verdicts** + +For each of the 10 clusters, the cluster's verdict should match the synthesis section's verdict. Compare: +- `research/cluster_1_product_branding.md` verdict ↔ `report.md §3` verdict +- ... (10 pairs) + +If a synthesis section changes a verdict, the section must explicitly note the override. + +- [ ] **Step 5.2.2: If mismatches are found, fix them** + +For each mismatch, either fix the synthesis section or add the explicit override note. + +### Task 5.3: Scope check + +- [ ] **Step 5.3.1: Verify no agent-directive file in the project was modified** + +```powershell +git -C "C:\projects\manual_slop" log --name-only --pretty=format:"%H" --all -- "AGENTS.md" "conductor/workflow.md" "conductor/product.md" "conductor/product-guidelines.md" "conductor/tech-stack.md" "conductor/edit_workflow.md" "conductor/code_styleguides/*.md" ".opencode/agents/*.md" ".opencode/commands/*.md" "docs/AGENTS.md" "docs/Readme.md" "docs/guide_*.md" 2>&1 | Select-String -Pattern "fable_review|2026-06-17" -SimpleMatch +``` + +Expected: zero matches. The fable_review track must NOT have modified any of these files. + +- [ ] **Step 5.3.2: Verify no new `src/` code, no new tests, no `pyproject.toml` changes** + +```powershell +git -C "C:\projects\manual_slop" log --name-only --pretty=format:"%H" --all -- "src/" "tests/" "pyproject.toml" 2>&1 | Select-String -Pattern "fable_review|2026-06-17" -SimpleMatch +``` + +Expected: zero matches. + +- [ ] **Step 5.3.3: If violations are found, revert them** + +If any of the above files appear in the fable_review commits, revert the changes (per the `git restore` HARD BAN, ask the user first before any revert). + +### Task 5.4: Ambiguity check + +- [ ] **Step 5.4.1: Verify every verdict in the synthesis report is unambiguous** + +For each of the 17 sections, the verdict category (Useful / Persona / Anti-User / Mixed) must be clear and the rationale must justify it. If a verdict is ambiguous, the section must either clarify the verdict or be re-classified. + +- [ ] **Step 5.4.2: Verify every entry in `decisions.md` is actionable** + +For each of the 15-20 entries, the "Suggested Manual Slop destination" must be a specific file path, and the "Priority" must be High / Medium / Low / N/A. If an entry is vague, sharpen it. + +### Task 5.5: Fable-artifact discipline check + +- [ ] **Step 5.5.1: Verify the Fable artifact is not in git history** + +```powershell +git -C "C:\projects\manual_slop" log --all --full-history -- 'docs/artifacts/Fable*' 2>&1 | Measure-Object -Line +``` + +Expected: 0 lines (zero entries). + +- [ ] **Step 5.5.2: Verify the Fable artifact is not in the working tree's tracked files** + +```powershell +git -C "C:\projects\manual_slop" ls-files 'docs/artifacts/Fable*' 2>&1 | Measure-Object -Line +``` + +Expected: 0 lines. + +- [ ] **Step 5.5.3: Verify the Fable artifact is not in any commit's tree** + +```powershell +git -C "C:\projects\manual_slop" log --all --full-history --diff-filter=A --name-only --pretty=format:"%H" 2>&1 | Select-String -Pattern "Fable" -SimpleMatch +``` + +Expected: zero matches. + +### Task 5.6: Phase 5 checkpoint commit + +- [ ] **Step 5.6.1: Commit any self-review fixes (if any)** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 5 — self-review fixes + +Placeholder scan, internal consistency, scope check, ambiguity check, Fable-artifact discipline. [N] fixes applied across [M] files. All 5 checks pass." +``` + +- [ ] **Step 5.6.2: Update `state.toml` to `current_phase = 5` (completed)** + +Use `manual-slop_edit_file` to change `current_phase = 4` to `current_phase = 5`. + +- [ ] **Step 5.6.3: Git note** + +``` +"fable_review_20260617 Phase 5 checkpoint (self-review). 5 checks: placeholder scan, internal consistency, scope check, ambiguity check, Fable-artifact discipline. All 5 pass. Fable artifact: 0 commits, 0 tree entries, 0 working-tree tracked files. Ready for user review (Phase 6)." +``` + +--- + +## Phase 6: User Review Gate + +**Focus:** Tier 1 presents the report to the user. User approves or iterates. + +### Task 6.1: Present the report to the user + +- [ ] **Step 6.1.1: Summarize the deliverable set for the user** + +The summary should include: +- The 10 cluster sub-reports (paths) +- The synthesis report (path + LOC + verdict distribution) +- The 3 side artifacts (paths + sizes) +- The git history (commit list) + +### Task 6.2: User approval or iteration + +- [ ] **Step 6.2.1: Wait for user feedback** + +The user either approves or iterates. If iteration, the Tier 1 makes the requested changes and re-presents. + +### Task 6.3: Phase 6 checkpoint commit + +- [ ] **Step 6.3.1: Update `state.toml` to `current_phase = 6` (completed)** + +Use `manual-slop_edit_file` to change `current_phase = 5` to `current_phase = 6`. + +- [ ] **Step 6.3.2: Commit the state update** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks/fable_review_20260617/state.toml" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 6 — user review approved + +User has reviewed the deliverable set (10 cluster sub-reports + 17-section synthesis + 3 side artifacts) and approved. current_phase = 6." +``` + +- [ ] **Step 6.3.3: Git note** + +``` +"fable_review_20260617 Phase 6 checkpoint (user review approved). Track is ready for final registration (Phase 7)." +``` + +--- + +## Phase 7: Final Commit + Register Track + +**Focus:** Update `conductor/tracks.md` to move the track from "Active" to "Recently Completed" and write the closing report. + +### Task 7.1: Update `conductor/tracks.md` + +**Files:** +- Modify: `conductor/tracks.md` + +- [ ] **Step 7.1.1: Update the Active Tracks table entry** + +Change the row 25 entry's status from `spec ✓, plan pending` to `spec ✓, plan ✓, shipped 2026-06-17` and update the description. + +- [ ] **Step 7.1.2: Update the "Active Research Tracks" section** + +Change the `[ ]` to `[x]` and add a "Recently Completed" entry to the appropriate phase section. + +### Task 7.2: Final `state.toml` update + +**Files:** +- Modify: `conductor/tracks/fable_review_20260617/state.toml` + +- [ ] **Step 7.2.1: Update `current_phase` to 7 and `status` to "active" (until archived)** + +Use `manual-slop_edit_file` to change `current_phase = 6` to `current_phase = 7` in the `[meta]` block. + +### Task 7.3: Track checkpoint commit + +- [ ] **Step 7.3.1: Commit the tracks.md update + state.toml update** + +```powershell +git -C "C:\projects\manual_slop" add "conductor/tracks.md" "conductor/tracks/fable_review_20260617/state.toml" +git -C "C:\projects\manual_slop" commit -m "conductor(track): fable_review_20260617 phase 7 — shipped + +Final state: 10 cluster sub-reports + 17-section synthesis report (>3500 LOC) + 3 side artifacts. Verdict distribution: [N]% Useful, [M]% Persona, [K]% Anti-User. Fable artifact never committed. current_phase = 7; track is shipped and ready for archive." +``` + +- [ ] **Step 7.3.2: Capture the commit SHA** + +```powershell +git -C "C:\projects\manual_slop" log -1 --format="%H" +``` + +### Task 7.4: Attach the auditable verification report as a git note + +- [ ] **Step 7.4.1: Attach the final report** + +```powershell +git -C "C:\projects\manual_slop" notes add -m "fable_review_20260617 TRACK SHIPPED. + +**Final state:** +- 10 cluster sub-reports at conductor/tracks/fable_review_20260617/research/cluster_*.md +- Synthesis report at conductor/tracks/fable_review_20260617/report.md (17 sections, [N] LOC, >3500 target met) +- 3 side artifacts: comparison_table.md (~100 rows), decisions.md (15-20 entries), nagent_takeaways_fable_20260617.md (~150 lines) + +**Verdict distribution:** approximately [N]% Useful, [M]% Persona Performance, [K]% Anti-User, [J]% Mixed. + +**Fable artifact discipline:** docs/artifacts/Fable System Prompt.txt was NEVER committed. Verification: git log --all --full-history -- 'docs/artifacts/Fable*' returns 0 entries. Working tree: 0 tracked files. All commits: 0 tree additions. + +**Phases:** 7/7 complete (init -> 10 parallel cluster dispatches -> 17 synthesis sections -> 3 side artifacts -> self-review -> user review -> register). + +**Connections:** +- Informs the user-deferred nagent-rebuild (per user 2026-06-17; 1-2 weeks out) +- Cluster verdicts are consistent with synthesis verdicts +- 15-20 decisions.md entries are actionable (each has a target file in Manual Slop) +- The 17th nagent takeaway is the Fable-specific distillation + +**Status:** shipped; current_phase = 7; ready for archive (deferred per project convention)." +``` + +--- + +## Verification Criteria (Final Check) + +The track is "done" when **all** of the following are true: + +- [ ] All 10 cluster sub-reports exist at `conductor/tracks/fable_review_20260617/research/cluster_*.md` and are 200-500 lines each. +- [ ] Every cluster sub-report cites specific Fable line numbers, project file:line refs, and nagent section refs. +- [ ] Every cluster sub-report has a verdict (Useful / Persona Performance / Anti-User / Mixed) with justification. +- [ ] Every cluster sub-report has a "Synthesis notes for the Tier 1 writer" section. +- [ ] The synthesis report `conductor/tracks/fable_review_20260617/report.md` has all 17 sections present and non-empty. +- [ ] The synthesis report is >3500 LOC. +- [ ] Every synthesis section references its source cluster(s) by file:line. +- [ ] The 3 side artifacts exist at `conductor/tracks/fable_review_20260617/{comparison_table.md, decisions.md, nagent_takeaways_fable_20260617.md}`. +- [ ] `comparison_table.md` has ~100 rows. +- [ ] `decisions.md` has 15-20 concrete recommendations. +- [ ] `nagent_takeaways_fable_20260617.md` is ~150 lines. +- [ ] The Fable artifact at `docs/artifacts/Fable System Prompt.txt` was **never committed**. Verification: `git log --all --full-history -- 'docs/artifacts/Fable*'` returns zero entries. +- [ ] Self-review pass complete (placeholder scan, internal consistency, scope check, ambiguity check). +- [ ] User has reviewed and approved the final report. +- [ ] `conductor/tracks.md` is updated to register the track. +- [ ] All commits are per-file atomic with git notes. +- [ ] `state.toml` final state is `current_phase = 7`. + +--- + +## Self-Review (per writing-plans skill) + +**1. Spec coverage:** Skim each section/requirement in `spec.md`. Can I point to a task that implements it? + +| Spec section | Implementing task(s) | +|---|---| +| §1.1 (deliverable list) | 1.2 (skeleton report), 1.3 (comparison table), 1.4 (decisions), 1.5 (nagent_takeaways), 2.1-2.10 (10 cluster sub-reports) | +| §4.1 (cluster template) | Each cluster task (2.1-2.10) follows the template | +| §4.2 (synthesis report plan) | Each section task (3.0-3.17) is one of the 17 sections | +| §5 (cluster specs) | Each cluster task (2.1-2.10) is one of the 10 clusters | +| §6.1 (cluster sub-agent output) | Each cluster task (2.1-2.10) verifies all 7 sub-requirements | +| §6.2 (synthesis report output) | 3.0-3.18 verify all 5 sub-requirements | +| §6.3 (side artifacts) | 4.1, 4.2, 4.3 implement the 3 side artifacts | +| §6.4 (Fable artifact discipline) | 5.5 verifies the Fable artifact is never committed | +| §6.5 (track registration) | 7.1, 7.2 update tracks.md + state.toml | +| §7 (process discipline) | All commits are per-file atomic (per task) with git notes | +| §9 (phases) | 7 phases, each with explicit tasks | +| §10 (verification criteria) | Final check section enumerates all 18 criteria | + +All 12 spec sections have implementing tasks. ✓ + +**2. Placeholder scan:** Search for red flags in the plan. Any TBD / TODO / "implement later"? + +The `[FILL IN: ...]` placeholders in the skeleton files (1.2, 1.3, 1.4, 1.5) are intentional: they mark the locations where the actual content will be written in Phases 3 and 4. The Phase 3 and 4 tasks are the ones that fill them in. These are not plan failures; they are skeleton markers with explicit fill-in tasks. + +The cluster sub-agent prompts in 2.1-2.10 are intentionally concise (the cluster spec in `spec.md §5` is the detailed spec; the prompt just dispatches to it). + +No real placeholders. ✓ + +**3. Type consistency:** N/A for a research track (no types). + +All cross-references (cluster file names, section numbers, decision entry numbers) are consistent throughout the plan. ✓ + +--- + +**Plan complete and saved to `conductor/tracks/fable_review_20260617/plan.md`.** + +**Two execution options:** + +1. **Subagent-Driven (recommended)** — I dispatch a fresh subagent per task, review between tasks, fast iteration. The 10 cluster dispatches in Phase 2 are the natural subagent-driven fit (10 parallel dispatches). + +2. **Inline Execution** — Execute tasks in this session using executing-plans, batch execution with checkpoints. + +**Which approach?**