diff --git a/.coverage b/.coverage deleted file mode 100644 index c1ee9fa2..00000000 Binary files a/.coverage and /dev/null differ diff --git a/.gitignore b/.gitignore index d58f9dd7..7bced9d6 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ temp_old_gui.py .slop_cache/summary_cache.json .antigravitycli .vscode +.coverage diff --git a/conductor/tracks.md b/conductor/tracks.md index 6b40e07f..6e74a6e3 100644 --- a/conductor/tracks.md +++ b/conductor/tracks.md @@ -44,6 +44,7 @@ Tracks that are unblocked and ready to start. Ordered by **dependency** (blocked | 17 | — | [Code Path Audit](#track-code-path-audit) | spec TBD | test_infrastructure_hardening_20260609 (merged) | | 23 | A (research) | [Intent-Based Scripting Languages Survey](#track-intent-based-scripting-languages-survey-new-2026-06-12) | spec ✓, plan pending | (none — independent; NEW 2026-06-12; **non-impl research track**, **time-sensitive: report must complete before nagent v2.2**) | | 24 | A (bugfix) | [AI Loop Regressions (MiniMax, Gemini, Gemini CLI, DeepSeek)](#track-ai-loop-regressions-minimax-gemini-gemini-cli-deepseek-new-2026-06-14) | spec ✓, plan ✓, shipped 2026-06-15 (with 1 critical `_api_generate` regression + 2 deferred bugs — see `doeh_test_thinking_cleanup_20260615`) | (none — independent; **NEW 2026-06-14**; user-blocking; 3 bugs from `data_oriented_error_handling_20260606`) | +| 25 | B (research) | [Fable System Prompt Review (Critical Analysis)](#track-fable-system-prompt-review-critical-analysis-new-2026-06-17) | spec ✓, plan pending | (none — independent; **NEW 2026-06-17**; **non-impl research track**, **informs the deferred nagent-rebuild**; 10 cluster sub-reports + 17-section synthesis report >3500 LOC + 3 side artifacts; T-shirt size: XL; Fable artifact at `docs/artifacts/Fable System Prompt.txt` is local-only and **NEVER committed**) | | 18 | — | [GUI Architecture Refinement](#track-gui-architecture-refinement) | (no spec.md) | (TBD) | | 19 | — | [Context First Message Fix](#track-context-first-message-fix) | spec TBD | (none — independent) | | ~~19~~ | — | ~~[Fix Remaining Tests](#track-fix-remaining-tests)~~ | ~~SUPERSEDED by track 1~~ | — | @@ -778,6 +779,18 @@ Lightweight chronology; full spec/plan/state per track is in the linked folder. --- +## Active Research Tracks (2026-06+) + +Tracks that produce a research deliverable (a markdown report) rather than Application code. These are non-impl by design. + +### Active + +- [ ] **Track: Fable System Prompt Review (Critical Analysis)** `[initialized: 058e2c93]` + *Link: [./tracks/fable_review_20260617/](./tracks/fable_review_20260617/), Spec: [./tracks/fable_review_20260617/spec.md](./tracks/fable_review_20260617/spec.md), Metadata: [./tracks/fable_review_20260617/metadata.json](./tracks/fable_review_20260617/metadata.json), State: [./tracks/fable_review_20260617/state.toml](./tracks/fable_review_20260617/state.toml)* + *Goal: 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. 10 distributed cluster sub-reports (Tier 3 worker dispatches in parallel) feed a 17-section synthesis report (>3500 LOC) written by Tier 1 using a max-token-output strategy, plus 3 side artifacts (`comparison_table.md`, `decisions.md` for the deferred nagent-rebuild, `nagent_takeaways_fable_20260617.md`). Verdict framework: Useful / Persona Performance / Anti-User / Mixed. **Hard rule** (per user 2026-06-17): `docs/artifacts/Fable System Prompt.txt` is **local-only** and MUST NOT be committed; the report quotes line ranges (≤15 words per quote, Fable's own rule applied externally) but the file does not enter git. T-shirt size: **XL**. No day estimates. **Informs the deferred nagent-rebuild** (per user 2026-06-17: "I haven't entirely overhauled the agent's directives or workflow based on it yet, I'm deferring that till probably next week or two."). 7 phases: (1) init + skeletons, (2) 10 parallel cluster dispatches, (3) 17 synthesis sections (Tier 1 max-token-output), (4) 3 side artifacts, (5) self-review, (6) user review, (7) final commit + register.* + +--- + ## Notes **Archive link convention:** `./archive/...` paths in this file resolve to `conductor/archive/...` (this file is at `conductor/tracks.md`). The 71 archive links in this file are all valid as of 2026-06-08. diff --git a/conductor/tracks/fable_review_20260617/metadata.json b/conductor/tracks/fable_review_20260617/metadata.json new file mode 100644 index 00000000..3f392ce1 --- /dev/null +++ b/conductor/tracks/fable_review_20260617/metadata.json @@ -0,0 +1,91 @@ +{ + "track_id": "fable_review_20260617", + "name": "Fable System Prompt Review (Critical Analysis)", + "initialized": "2026-06-17", + "owner": "tier1-orchestrator (spec + synthesis); tier2-tech-lead (dispatch + QA)", + "priority": "medium", + "status": "spec_approved", + "type": "research-only (critical-analysis deliverable; no src/ changes, no tests/ changes, no new deps)", + "domain": "meta-tooling (the report is a critical-analysis deliverable; the track produces no Application code)", + "user_hard_rule": "docs/artifacts/Fable System Prompt.txt is NEVER committed. The artifact stays at that local path; the report and the cluster sub-references quote line ranges (≤15 words per quote) but the file does not enter git. Do not modify .gitignore for this; the rule is enforced by the implementer's discipline, not by a tracked file. git add . MUST be inspected before each commit in this track.", + "scope": { + "new_files": [ + "conductor/tracks/fable_review_20260617/spec.md", + "conductor/tracks/fable_review_20260617/metadata.json", + "conductor/tracks/fable_review_20260617/state.toml", + "conductor/tracks/fable_review_20260617/research/cluster_1_product_branding.md", + "conductor/tracks/fable_review_20260617/research/cluster_2_refusal_architecture.md", + "conductor/tracks/fable_review_20260617/research/cluster_3_user_wellbeing_watchdog.md", + "conductor/tracks/fable_review_20260617/research/cluster_4_tone_and_formatting.md", + "conductor/tracks/fable_review_20260617/research/cluster_5_mistakes_and_criticism.md", + "conductor/tracks/fable_review_20260617/research/cluster_6_evenhandedness.md", + "conductor/tracks/fable_review_20260617/research/cluster_7_epistemic_discipline.md", + "conductor/tracks/fable_review_20260617/research/cluster_8_memory_and_storage.md", + "conductor/tracks/fable_review_20260617/research/cluster_9_computer_use.md", + "conductor/tracks/fable_review_20260617/research/cluster_10_mcp_app_suggestions.md", + "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" + ], + "modified_files": [ + "conductor/tracks.md (register the track in the appropriate section)" + ], + "deleted_files": [], + "external_resources": [ + "docs/artifacts/Fable System Prompt.txt (LOCAL-ONLY; 1585 lines, 120KB; the subject of the review; NEVER COMMITTED)", + "conductor/tracks/nagent_review_20260608/ (the nagent corpus; 11 files; all in scope)" + ] + }, + "blocked_by": [], + "blocks": [ + "the deferred nagent-rebuild (the recommendations in decisions.md are inputs to that future track; the rebuild is not this track)" + ], + "estimated_phases": 7, + "tshirt_size": "XL (similar to the nagent_review v2.3 rewrite at 4,969 lines; 10 cluster sub-reports + 17-section synthesis report + 3 side artifacts = ~10,300 LOC total)", + "estimated_effort": "scope: 1 spec + 1 metadata.json + 1 state.toml + 10 cluster sub-reports (~3,500 LOC) + 1 main report (4,800 LOC) + 3 side artifacts (1,350 LOC) = T-shirt size XL. Method: scope (per conductor/workflow.md §Tier 1 Track Initialization Rules). NO day estimates.", + "phases": [ + {"id": 1, "name": "Initialize track + skeletons", "tshirt": "S", "sub_agents": 0}, + {"id": 2, "name": "Dispatch 10 cluster sub-agents in parallel", "tshirt": "L", "sub_agents": 10}, + {"id": 3, "name": "Tier 1 writes 17 synthesis sections (max-token-output strategy)", "tshirt": "XL", "sub_agents": 0}, + {"id": 4, "name": "Tier 1 writes 3 side artifacts", "tshirt": "M", "sub_agents": 0}, + {"id": 5, "name": "Self-review per the brainstorming skill", "tshirt": "S", "sub_agents": 0}, + {"id": 6, "name": "User review gate", "tshirt": "S", "sub_agents": 0}, + {"id": 7, "name": "Final commit + register track in conductor/tracks.md", "tshirt": "S", "sub_agents": 0} + ], + "spec": "spec.md", + "plan": "plan.md", + "verification_criteria": [ + "All 10 cluster sub-reports exist at conductor/tracks/fable_review_20260617/research/cluster_N_*.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 command: 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 and the track is in the appropriate section per the convention." + ], + "pre_existing_failures_remaining": [], + "deferred_to_followup_tracks": [ + {"title": "Deferred nagent-rebuild (Manual Slop agent-directive overhaul)", "description": "User-deferred 1-2 weeks (per 2026-06-17 user message). The Fable review's decisions.md is one of several inputs to this rebuild; the rebuild itself is not this track.", "track_status": "user-deferred (no track yet)"} + ], + "risk_register": [ + {"name": "Fable prompt grows/evolves during the track", "likelihood": "low", "impact": "low", "mitigation": "The artifact is a snapshot at 2026-06-17; we note the date. If the user has a newer version, the track re-dispatches the cluster agents."}, + {"name": "10 sub-agents in parallel = high token cost", "likelihood": "medium", "impact": "medium (cost)", "mitigation": "Each sub-agent gets a 500-line output budget; the dispatch is mma_exec.py --role tier3-worker with explicit context files. Total cluster output: ~3,500 LOC across 10 files."}, + {"name": "Tier 1's synthesis hits context pressure after 17 sections", "likelihood": "medium", "impact": "high (track stalls mid-synthesis)", "mitigation": "Per-section commits serve as a rollback point; if Tier 1 hits pressure mid-section, the section can be handed off to a fresh Tier 1 with the cluster reports + the previous sections as context."}, + {"name": "User disagrees with a verdict", "likelihood": "low", "impact": "low", "mitigation": "The user-review gate at the end of phase 6 catches this; revisions are local."}, + {"name": "Cluster sub-agents over-quote Fable (copyright)", "likelihood": "low", "impact": "medium", "mitigation": "Each cluster's acceptance check enforces the ≤15-word quote discipline; Fable's own rule applied externally."}, + {"name": "Fable artifact accidentally committed", "likelihood": "low", "impact": "high (user's hard rule violated)", "mitigation": "The Fable artifact is NEVER in the same git add as anything else. Per-commit git status inspection. Final verification: git log --all --full-history -- 'docs/artifacts/Fable*' returns zero."}, + {"name": "Tier 2 doesn't dispatch cluster sub-agents correctly", "likelihood": "medium", "impact": "medium", "mitigation": "The Tier 1's spec includes the read budget per sub-agent (§5). The Tier 2's plan must include explicit context-file lists per dispatch."}, + {"name": "Tier 1's report deviates from the cluster verdicts (editorial drift)", "likelihood": "low", "impact": "low", "mitigation": "The synthesis report's verdicts are anchored to the cluster reports' verdicts; if a synthesis section changes a verdict, it must explicitly note the override."} + ] +} 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?** diff --git a/conductor/tracks/fable_review_20260617/spec.md b/conductor/tracks/fable_review_20260617/spec.md new file mode 100644 index 00000000..f1996856 --- /dev/null +++ b/conductor/tracks/fable_review_20260617/spec.md @@ -0,0 +1,420 @@ +# Track: Fable System Prompt Review (Critical Analysis) + +**Status:** Spec approved 2026-06-17 +**Initialized:** 2026-06-17 +**Owner:** Tier 1 Orchestrator (spec + synthesis); Tier 2 Tech Lead (dispatch + QA) +**Priority:** Medium (user-requested critical review; informs the deferred nagent-rebuild, scheduled 1-2 weeks out) +**Type:** Research-only (no `src/` changes, no `tests/` changes, no new deps, no agent-directive modifications) +**Domain:** Meta-Tooling (the report is a *critical-analysis deliverable*; the track produces no Application code) + +> **Purpose.** This track produces a single critical-analysis report: a side-by-side comparison of Anthropic's Claude Fable 5 system prompt (the public version of "Mythos") against Manual Slop's existing agent-directive corpus and Mike Acton's nagent patterns, with verdicts on which Fable patterns are *generally useful*, which are *persona performance* (irrelevant constraint dressing), and which are *anti-user watch-dogging* (the model is text generation, not a clinician). The report is the *evidence document* the user can use to argue against Fable-style "helpful, harmless, honest" framing in agent systems. The track is *research-only*; no edits to the project's directives, no follow-up implementation. + +> **Companion doc.** The actual report is at `conductor/tracks/fable_review_20260617/report.md`. This `spec.md` is the conductor/track wrapper: the design intent, the cluster architecture, the synthesis plan, the verification criteria, the out-of-scope notes, and the connection to the deferred nagent-rebuild. + +> **Hard rule (the user was explicit).** `docs/artifacts/Fable System Prompt.txt` is **never committed**. The artifact stays at that local path; the report and the cluster sub-references quote line ranges (≤15 words per quote, the same discipline Fable itself applies to its own search results) but the file does not enter git. **Do not** modify `.gitignore` for this; the rule is enforced by the implementer's discipline, not by a tracked file. `git add .` MUST be inspected before each commit in this track. + +--- + +## 1. Overview + +This track produces a critical analysis of Anthropic's Claude Fable 5 system prompt (1585 lines, 120KB), comparing it against: + +1. **Manual Slop's existing agent-directive corpus** — `AGENTS.md` (200 lines), `conductor/*.md` (workflow.md, product.md, product-guidelines.md, tech-stack.md, edit_workflow.md, tracks.md, index.md), `conductor/code_styleguides/*.md` (11 files), `.opencode/agents/*.md` (6 files), `.opencode/commands/*.md` (9 files), `docs/*.md` (40+ files including 36 `guide_*.md`), and the superpowers-plugin content loaded via the opencode `skill` tool. +2. **Mike Acton's nagent reports** in `conductor/tracks/nagent_review_20260608/` — the original `nagent_takeaways_20260608.md`, the `report.md`, the `decisions.md`, the `comparison_table.md`, and the v2 series (`nagent_review_v2_20260612.md`, `v2_1`, `v2_2`, `v2_3`). + +The analytical framework is the user's own framing: **how much of Fable is generally useful vs. how much is "nerf on the model's capabilities" via persona constraint, anti-user watch-dogging, or fake-clinician framing?** + +The report follows the nagent_review track's distributed-sub-agent pattern: 10 cluster sub-reports written in parallel by Tier 3 workers, then synthesized by Tier 1 in 17+ section-passes using a max-token-output strategy to hit **>3500 LOC total**. + +### 1.1 What this track produces + +| Artifact | Purpose | Owner | Approx LOC | +|---|---|---|---| +| `spec.md` | This file — the track design. | Tier 1 | ~400 | +| `metadata.json` | The track metadata (id, scope, blocks, etc.). | Tier 1 | ~50 | +| `state.toml` | The track state (current_phase, task tracking). | Tier 1 | ~80 | +| `research/cluster_1_product_branding.md` | Cluster 1 sub-report. | Tier 3 sub-agent | ~300 | +| `research/cluster_2_refusal_architecture.md` | Cluster 2 sub-report. | Tier 3 sub-agent | ~400 | +| `research/cluster_3_user_wellbeing_watchdog.md` | Cluster 3 sub-report. | Tier 3 sub-agent | ~400 | +| `research/cluster_4_tone_and_formatting.md` | Cluster 4 sub-report. | Tier 3 sub-agent | ~300 | +| `research/cluster_5_mistakes_and_criticism.md` | Cluster 5 sub-report. | Tier 3 sub-agent | ~250 | +| `research/cluster_6_evenhandedness.md` | Cluster 6 sub-report. | Tier 3 sub-agent | ~350 | +| `research/cluster_7_epistemic_discipline.md` | Cluster 7 sub-report. | Tier 3 sub-agent | ~400 | +| `research/cluster_8_memory_and_storage.md` | Cluster 8 sub-report. | Tier 3 sub-agent | ~400 | +| `research/cluster_9_computer_use.md` | Cluster 9 sub-report. | Tier 3 sub-agent | ~350 | +| `research/cluster_10_mcp_app_suggestions.md` | Cluster 10 sub-report. | Tier 3 sub-agent | ~300 | +| `report.md` | The main synthesis report (17 sections, >3500 LOC). | Tier 1 | ~4800 | +| `comparison_table.md` | Flat side-by-side verdict table. | Tier 1 | ~700 | +| `decisions.md` | Recommendations for the deferred nagent-rebuild. | Tier 1 | ~500 | +| `nagent_takeaways_fable_20260617.md` | Fable-specific extension to `nagent_takeaways_20260608.md`. | Tier 1 | ~150 | + +**Total new files:** 17 (16 markdown + 1 metadata.json + 1 state.toml). Approx total LOC: ~10,300. + +### 1.2 Non-Goals + +- **Not** modifying any agent-directive file in the project. The recommendations go in `decisions.md` for the user's deferred nagent-rebuild (1-2 weeks out). +- **Not** building any recommendation. The deferred rebuild is its own track. +- **Not** comparing Fable to other commercial system prompts (OpenAI, Google, xAI). Out of scope; Fable is the named subject. +- **Not** reading every line of every project file. Cluster sub-agents read the relevant sections of the relevant files; full-file reads are unnecessary and would waste context. +- **Not** committing the Fable artifact. The artifact stays at `docs/artifacts/Fable System Prompt.txt`; clusters quote line ranges but the file itself never enters git. +- **Not** adding new `src/` code, new tests, `pyproject.toml` dependencies, or `scripts/` files. +- **Not** running automated tests. The track is research-only; verification is the brainstorming-skill self-review plus user review. + +--- + +## 2. Current State Audit (as of commit `HEAD`, 2026-06-17) + +### 2.1 Already Implemented (DO NOT re-implement) + +The Fable artifact exists at `docs/artifacts/Fable System Prompt.txt` (120,039 bytes, 1585 lines). The cluster sub-agents and the synthesis report reference it by file path + line range. The artifact is the *only* Fable source material; nothing else Fable-specific is in the project. + +The nagent_review corpus is at `conductor/tracks/nagent_review_20260608/`: + +| File | LOC | Bytes | Purpose | +|---|---|---|---| +| `nagent_review_v2_3_20260612.md` | 4969 | 276,531 | The latest full rewrite (v2.3, 2026-06-12). The 14 patterns + the 16 future-track candidates. | +| `nagent_review_v2_20260612.md` | 1335 | 68,428 | The v2 draft (preserved per user). | +| `nagent_review_v2_1_20260612.md` | 1197 | 58,844 | The user-revised v2.1 (CLAUDE.md → AGENTS.md swap, RAG reframe, cache TTL GUI controls). | +| `nagent_review_v2_2_20260612.md` | 712 | 35,356 | The v2.2 incremental. | +| `nagent_takeaways_20260608.md` | 599 | 31,238 | The original 10 takeaways from the v1 review. | +| `report.md` | 1024 | 52,544 | The v1 14-section deep-dive. | +| `decisions.md` | 286 | 18,433 | The 10 future-track candidates from v1. | +| `comparison_table.md` | 211 | 10,849 | The flat side-by-side table from v1. | +| `spec.md` | 240 | 21,173 | The v1 spec. | +| `state.toml` | — | 19,477 | The track state. | +| `metadata.json` | — | 20,034 | The track metadata. | + +The agent-directive files that the clusters will reference (per the user's scope clarification): + +| Directory | File count | Approx total LOC | +|---|---|---| +| `AGENTS.md` (root) | 1 | ~200 | +| `conductor/*.md` | 7 | ~3000 | +| `conductor/code_styleguides/*.md` | 11 | ~2400 | +| `.opencode/agents/*.md` | 6 | ~1100 | +| `.opencode/commands/*.md` | 9 | ~700 | +| `docs/*.md` (excluding `superpowers/`) | 40+ | ~16,000 | +| `conductor/tracks/nagent_review_20260608/*` | 11 | ~10,500 | +| superpowers plugin content (loaded via `skill` tool) | — | n/a (in-context only) | + +### 2.2 Gaps to Fill (This Track's Scope) + +- **The synthesis report.** A 17-section, >3500-LOC critical analysis of Fable against the project's directives and nagent patterns. Does not exist. +- **The 10 cluster sub-reports.** Distributed parallel sub-agent output. Do not exist. +- **The comparison table.** A flat verdict-by-verdict cross-reference of Fable's themes against the project's themes. Does not exist. +- **The decisions file.** Concrete recommendations for the deferred nagent-rebuild. Does not exist. +- **The nagent_takeaways extension.** A Fable-specific addendum to the v1 takeaways file. Does not exist. + +### 2.3 Pre-Existing Conditions the Track Must Respect + +- The deferred nagent-rebuild: per the user, the project's agent directives are not yet overhauled based on `nagent_review_v2_3_20260612.md`. The Fable review is a *parallel* analysis that will inform (but not consume) the deferred rebuild. +- The data-oriented error handling convention: the project's `Result[T]` / `ErrorInfo` convention (per `conductor/code_styleguides/error_handling.md`) is the data-grounded contrast to Fable's persona-driven error-handling guidance. The synthesis report uses the convention's terminology when discussing Fable's error responses. +- The "less Python does, the better" heuristic: the synthesis report is itself a critical-analysis document; the report's verbosity is deliberate (per the user's max-token-output strategy) but the *conclusions* should be terse and actionable. + +--- + +## 3. Goals (Priority Order) + +| Priority | Goal | Rationale | +|---|---|---| +| **A (primary value)** | The synthesis report (`report.md`, >3500 LOC) covers all 17 sections, each with a clear verdict on every Fable pattern in scope. | The report is the deliverable. | +| **A (primary value)** | The 10 cluster sub-reports (`research/cluster_*.md`) cite specific Fable line numbers, project file:line refs, and nagent section refs. | The clusters are the evidence base. The synthesis report cites them by file:line. | +| **A (primary value)** | The "Useful vs Persona vs Anti-User" framework is applied consistently to every cluster. Every Fable pattern gets a verdict; no pattern is left unjudged. | The framework is the analytical lens the user asked for. | +| **B (analytical)** | The 3 side artifacts (`comparison_table.md`, `decisions.md`, `nagent_takeaways_fable_20260617.md`) are produced and consistent with the synthesis report. | The side artifacts make the synthesis referenceable and actionable for the deferred rebuild. | +| **B (process)** | The cluster sub-agents enforce the ≤15-word quote discipline (Fable's own rule applied externally). No long paraphrased passages that mirror Fable's structure (also Fable's rule, per `search_instructions`). | Defensive against the Fable copyright pattern; the report is "evidence document" not "Fable reproduction." | +| **B (process)** | Each cluster is independently verifiable: a reader can re-derive the verdict by reading the cluster sub-report + the cited Fable lines + the cited project files. | The report's credibility depends on traceability. | +| **C (housekeeping)** | `conductor/tracks.md` is updated to register the track in the "Recently Completed" section when the track ships. | Standard per-track convention. | +| **C (housekeeping)** | The Fable artifact at `docs/artifacts/Fable System Prompt.txt` is **not** committed. The track's git history contains zero references to the artifact's bytes (only to the path for citation). | The user's hard rule. | + +--- + +## 4. Architecture (the cluster + synthesis design) + +### 4.1 Cluster Sub-Report Template (per `research/cluster_N_*.md`) + +Each cluster follows the `cluster_8_metadesk.md` template from `intent_dsl_survey_20260612/`: + +```markdown +# Cluster N: {Title} + +**Sub-agent dispatch:** Tier 3 Worker (2026-06-17). Read-only research task. +**Sources read:** +- `docs/artifacts/Fable System Prompt.txt` lines X-Y +- {project file:line refs} +- {nagent_review file:line refs} + +--- + +## 1. What Fable says +{Verbatim quotes ≤15 words with line numbers; paraphrases otherwise.} + +## 2. What this project does +{Citations from AGENTS.md, conductor/*.md, .opencode/*, code_styleguides/*.md, docs/*.md} + +## 3. What nagent does +{Citations from nagent_review_v2_3_20260612.md and friends.} + +## 4. Verdict +{Useful / Persona Performance / Anti-User / Mixed, with 1-paragraph justification.} + +## 5. Synthesis notes for the Tier 1 writer +{Which synthesis report section(s) this cluster feeds; key claims to surface; quotes to use.} + +--- + +**Sub-report complete.** This is the evidence base for §{N} of `report.md`. +``` + +### 4.2 The Synthesis Report Plan (`report.md`, 17 sections, >3500 LOC) + +| § | Section | Approx LOC | Source clusters | Verdict orientation | +|---|---|---|---|---| +| 0 | TL;DR + Verdict Scorecard (1-page summary table) | 100 | All | (summary) | +| 1 | The 3 Sources (Fable, Manual Slop, nagent) — what's in scope | 200 | n/a | (framing) | +| 2 | The "Useful vs Persona vs Anti-User" Framework | 250 | n/a | (methodology) | +| 3 | Fable's Product Branding & "Helpful Assistant" Persona | 300 | 1 | Persona Performance | +| 4 | Fable's Refusal Architecture & "Safety Theater" | 350 | 2 | Anti-User + Persona | +| 5 | Fable's Mental-Health Watchdog Framing | 350 | 3 | Anti-User | +| 6 | Fable's Tone & Formatting Constraints | 250 | 4 | Useful + Persona | +| 7 | Fable's Mistake Handling | 200 | 5 | Persona | +| 8 | Fable's Evenhandedness & Contested Content | 300 | 6 | Persona + Useful caveats | +| 9 | Fable's Epistemic Discipline & Search Strategy | 350 | 7 | Useful | +| 10 | Fable's Memory System & Persistent Storage | 350 | 8 | Useful + nagent-stronger | +| 11 | Fable's Computer-Use / File Workflow | 300 | 9 | Useful + over-broad | +| 12 | Fable's MCP App Suggestions | 250 | 10 | Useful + over-engineered | +| 13 | The "Genuinely Useful" Patterns (Manual Slop should adopt) | 350 | 7-10 | Useful summary | +| 14 | The "Anti-User Watchdog" Patterns (Manual Slop should explicitly reject) | 350 | 2-6 | Anti-User summary | +| 15 | The "Persona Performance" Patterns (irrelevant to the rebuild) | 250 | 1, 4, 5, 8 | Persona summary | +| 16 | Recommendations for the deferred nagent-rebuild | 200 | All | Actionable | +| 17 | References (file:line index) | 150 | All | Index | +| **Total** | | **~4,800** | | | + +The "max token output strategy" works like this: each section is its own `write`/`manual-slop_edit_file` call by Tier 1, with the cluster reports + the previous sections loaded into context. 17 sections = 17 atomic commits (per `conductor/workflow.md` §"Task Workflow" step 9). + +### 4.3 The Cluster-to-Section Mapping + +The synthesis report's section count (17) is intentionally larger than the cluster count (10) so each cluster's evidence can be spread across multiple synthesis sections (e.g., Cluster 2 "refusal" feeds §4 directly and §14's anti-user summary; Cluster 7 "epistemic" feeds §9 directly and §13's useful summary). + +### 4.4 Tier 1's Workflow Per Section + +1. Read the relevant cluster sub-report(s) in full. +2. Read the cited Fable lines (via `manual-slop_get_file_slice`). +3. Read the cited project file lines (via `manual-slop_get_file_slice` or `manual-slop_py_get_definition` for code refs). +4. Read the cited nagent_review sections (via `manual-slop_get_file_slice`). +5. Write the synthesis section with a `write` or `manual-slop_set_file_slice` call. +6. Self-review the section for placeholders, internal consistency, scope, ambiguity. +7. Commit with a 1-3 sentence commit message; attach a git note summarizing the section. +8. Move to the next section. + +--- + +## 5. The 10 Cluster Specifications + +| # | Cluster | Fable source | Project refs | nagent refs | Sub-agent read budget | +|---|---|---|---|---|---| +| 1 | **Product Branding & "Helpful Assistant" Persona** | `Fable System Prompt.txt:1-31` (`product_information`) | `AGENTS.md` (root); `conductor/product.md`; `docs/Readme.md` (the "What This Is" framing) | n/a (nagent doesn't have product branding) | 600 lines | +| 2 | **Refusal Architecture & "Safety Theater"** | `Fable System Prompt.txt: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` | nagent §14 (Own the Inputs); nagent §2.1 (4 memory dimensions) | 800 lines | +| 3 | **User Wellbeing / Mental-Health Watchdog** | `Fable System Prompt.txt:78-110` (`user_wellbeing`) | `conductor/product-guidelines.md` §"AI-Optimized Compact Style"; `conductor/code_styleguides/agent_memory_dimensions.md`; `docs/guide_discussions.md` | nagent §2.1 (4 memory dimensions, esp. the knowledge dim); nagent §13 (Compaction) | 800 lines | +| 4 | **Tone & Formatting Constraints** | `Fable System Prompt.txt:54-77` (`tone_and_formatting`, `lists_and_bullets`); plus cross-ref to line 110's "no engagement" rule in `user_wellbeing` | `AGENTS.md` (root); `conductor/product-guidelines.md`; `.opencode/agents/tier*.md` | nagent §3.8 (CLAUDE.md / AGENTS.md @import pattern) | 600 lines | +| 5 | **Mistakes & Criticism Handling** | `Fable System Prompt.txt:134-140` (`responding_to_mistakes_and_criticism`) | `AGENTS.md` §"receiving-code-review"; `.opencode/agents/tier3-worker.md`; `conductor/workflow.md` §"Process Anti-Patterns" | nagent §5.5 (Self-review); nagent §3.4 (Compaction self-review) | 500 lines | +| 6 | **Evenhandedness & Contested Content** | `Fable System Prompt.txt:120-132` (`evenhandedness`) | `AGENTS.md` §"receiving-code-review"; `conductor/code_styleguides/rag_integration_discipline.md` | nagent §2.10 (RAG integration discipline) | 700 lines | +| 7 | **Epistemic Discipline & Search Strategy** | `Fable System Prompt.txt:142-150, 422-565` (`knowledge_cutoff`, `search_instructions`) | `conductor/code_styleguides/rag_integration_discipline.md`; `conductor/code_styleguides/cache_friendly_context.md`; `docs/guide_rag.md` | nagent §3.2 (Cache ordering); nagent §2.10 (RAG discipline); nagent §13 (Compaction) | 800 lines | +| 8 | **Memory System & Persistent Storage** | `Fable System Prompt.txt:152-236` (`memory_system`, `persistent_storage_for_artifacts`) | `src/models.py` (History); `docs/guide_discussions.md`; `conductor/code_styleguides/agent_memory_dimensions.md`; `docs/guide_knowledge_curation.md` | nagent §2.1 (4 memory dimensions); nagent §3.9 (Per-file knowledge notes) | 800 lines | +| 9 | **Computer-Use / Skills / File Workflow** | `Fable System Prompt.txt: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` | nagent §11 (Large files); nagent §12 (Tool discovery, `--description` self-describing) | 700 lines | +| 10 | **MCP App Suggestions & Third-Party Connectors** | `Fable System Prompt.txt:238-285` (`mcp_app_suggestions`) | `docs/guide_mcp_client.md`; `docs/guide_tools.md` §"MCP"; `docs/guide_state_lifecycle.md` §"Hook API" | nagent §12 (Tool discovery, `--description` self-describing); nagent §2.7 (Conversations are editable state) | 600 lines | + +**Sub-agent read budget total:** 6,900 lines across 10 sub-agents. Each sub-agent gets one `mma_exec.py --role tier3-worker` dispatch with explicit context files (the Fable slice + the project file refs + the nagent section refs) and an output budget of 300-500 lines per cluster. + +--- + +## 6. Functional Requirements + +### 6.1 Cluster Sub-Agent Output + +Each of the 10 cluster sub-reports MUST: + +1. Cite Fable lines verbatim (≤15 words per quote) with `docs/artifacts/Fable System Prompt.txt` file:line references. +2. Cite project file:line references for every "what this project does" claim. +3. Cite nagent_review section references for every "what nagent does" claim. +4. Provide a verdict (Useful / Persona Performance / Anti-User / Mixed) with 1-paragraph justification. +5. Provide a "Synthesis notes for the Tier 1 writer" section naming the target synthesis report section(s) and key claims to surface. +6. Be 200-500 lines. +7. Be committed to `conductor/tracks/fable_review_20260617/research/cluster_N_*.md` as a separate file (1 file per cluster; 10 commits total). + +### 6.2 Synthesis Report Output + +The synthesis report (`report.md`) MUST: + +1. Have all 17 sections present and non-empty. +2. Total >3500 LOC. +3. Each section references its source cluster(s) by file:line. +4. Each section's "verdict orientation" (per the table in §4.2) is clear and consistent with the cluster's verdict. +5. Be committed in 17 atomic commits (1 per section), each with a 1-3 sentence commit message and a git note. + +### 6.3 Side Artifacts + +The 3 side artifacts MUST: + +1. `comparison_table.md` — flat table with ~100 rows (one per Fable sub-theme), columns: Fable sub-theme | Fable line | Project file:line | nagent section | Verdict. ~700 lines. +2. `decisions.md` — 15-20 concrete recommendations for the deferred nagent-rebuild, each with: rationale, source evidence (cluster file:line), suggested Manual Slop destination (AGENTS.md / code_styleguide / etc.), priority. ~500 lines. +3. `nagent_takeaways_fable_20260617.md` — a 17th takeaway to append to the nagent_takeaways_20260608.md model: "Persona-performance directives don't survive the Fable audit; only epistemic + memory + workflow rules have durable value." ~150 lines. + +### 6.4 The Fable Artifact Discipline + +- The artifact at `docs/artifacts/Fable System Prompt.txt` MUST NOT be committed. +- Every `git add` in this track MUST be inspected before commit to verify no Fable artifact bytes enter the index. +- The cluster sub-reports and the synthesis report reference the artifact by file path + line range only. +- If a cluster sub-agent or a synthesis section needs to quote more than 15 words from Fable, it MUST paraphrase instead (per Fable's own rule at `Fable System Prompt.txt:486-499`). +- The final track commit includes a verification step: `git log --all --full-history -- 'docs/artifacts/Fable*'` MUST return zero entries. + +### 6.5 Track Registration + +- `conductor/tracks.md` is updated to register the track in the appropriate section (research track; under "Active" while in progress, "Recently Completed" when shipped). +- `conductor/tracks/fable_review_20260617/state.toml` is initialized at the start of phase 1 and updated per task. + +--- + +## 7. Non-Functional Requirements + +### 7.1 Process Discipline + +- All commits are per-file atomic (per `conductor/workflow.md` §"Task Workflow" step 9). +- All commits have git notes attached (per `conductor/workflow.md` §"Task Workflow" step 9.2). +- All tasks are recorded in `state.toml` with commit SHAs. +- No day / hour / minute estimates in any track artifact. T-shirt size only (per `conductor/workflow.md` §"Tier 1 Track Initialization Rules" + the user's 2026-06-16 directive). +- The 1-space indentation rule applies to the `metadata.json` and `state.toml` only (Markdown is not Python; the rule doesn't apply to prose). + +### 7.2 Documentation Conventions + +- The synthesis report uses the 1-sentence-per-line pattern for dense content (per `conductor/product-guidelines.md` §"AI-Optimized Compact Style"). +- The synthesis report uses `#region: Name` / `#endregion: Name` for large sections (not applicable to markdown; this is a Python-only rule). +- All file:line references are stable (the report is the durable artifact; the Fable artifact may change). + +### 7.3 Audit Hooks (Optional) + +- This track is research-only; no `scripts/audit_*.py` scripts are added or modified. The deferred nagent-rebuild is the appropriate place for any new audit scripts. + +--- + +## 8. Architecture Reference + +- **`docs/artifacts/Fable System Prompt.txt`** (1585 lines, 120KB) — the subject of the review. **Local-only; never committed.** +- **`conductor/tracks/nagent_review_20260608/`** — the nagent corpus. All 11 files in scope. The 17 sections of the synthesis report reference this corpus for "what nagent does" claims. +- **`AGENTS.md`** (root) — the project's top-level agent-facing rules. Cluster 1, 4, 5, 6 reference this. +- **`conductor/product.md`** (27K) — the product vision. Cluster 1 references the "What This Is" framing. +- **`conductor/product-guidelines.md`** (20K) — the AI-Optimized Compact Style. Clusters 3, 4 reference the formatting heuristics. +- **`conductor/workflow.md`** (63K) — the operational workflow. Clusters 2, 5 reference the Skip-Marker Policy + Process Anti-Patterns. +- **`conductor/tech-stack.md`** (15K) — the tech stack. Cluster 9 references the file-system + tools layout. +- **`conductor/edit_workflow.md`** (9K) — the edit workflow. Cluster 9 references the 1-space indentation + small-edits rule. +- **`conductor/code_styleguides/`** (11 files, ~140K) — the convention catalog. Clusters 2, 3, 6, 7, 8 reference these (especially `error_handling.md`, `agent_memory_dimensions.md`, `rag_integration_discipline.md`, `cache_friendly_context.md`, `knowledge_artifacts.md`, `feature_flags.md`). +- **`.opencode/agents/*.md`** (6 files) — the 4 MMA tier agents + explore + general. Clusters 1, 4, 5 reference these for the "what every agent sees" baseline. +- **`.opencode/commands/*.md`** (9 files) — the 5 conductor commands + 4 mma commands. Cluster 5 references the `/conductor-new-track` command for the "this is a track" framing. +- **`docs/AGENTS.md`** — the agent-facing mirror. Cluster 1 references the "What This Is" framing. +- **`docs/guide_*.md`** (36 files, ~580K) — the 14 deep-dive guides. Clusters 1, 6, 7, 8, 9, 10 reference these selectively (especially `guide_tools.md`, `guide_mcp_client.md`, `guide_discussions.md`, `guide_rag.md`, `guide_knowledge_curation.md`). +- **Superpowers plugin content** (loaded via the `skill` tool) — the brainstorming, writing-plans, test-driven-development, etc. skills. The Tier 1's self-review uses the brainstorming skill; the Tier 2's plan-phase uses the writing-plans skill. Not directly cited in the synthesis report. +- **`docs/reports/PLANNING_DIGEST_*.md`** (if present) — the most recent planning digest. Used for "what's the recommended execution order" sanity check; not directly cited in the report. + +--- + +## 9. Phases (the implementation plan Tier 2 will execute) + +| Phase | Description | T-shirt | Sub-agents | Exit criteria | +|---|---|---|---|---| +| **1** | Initialize track directory + skeleton `report.md` (with section headers), `comparison_table.md` (with column headers), `decisions.md` (with template), `nagent_takeaways_fable_20260617.md` (empty). Initialize `state.toml`. Register track in `conductor/tracks.md` "Active" section. | S | 0 | All skeleton files exist; `state.toml` says `current_phase = 1`. | +| **2** | Dispatch 10 cluster sub-agents in parallel (Tier 3 workers, read-only). Each writes `research/cluster_N_*.md` (200-500 lines). Verify each sub-report: source citations present, ≤15-word quotes only, verdict present, synthesis notes present. | L | 10 parallel | All 10 cluster sub-reports committed; `state.toml` says `current_phase = 2`. | +| **3** | Tier 1 reads all cluster reports, writes the synthesis report sections one at a time (17 sections, 17 commits). Each section references its cluster(s) by file:line. | XL | 0 (Tier 1) | All 17 sections committed; `report.md` >3500 LOC; `state.toml` says `current_phase = 3`. | +| **4** | Tier 1 writes the 3 side artifacts (`comparison_table.md`, `decisions.md`, `nagent_takeaways_fable_20260617.md`). | M | 0 (Tier 1) | All 3 side artifacts committed; `state.toml` says `current_phase = 4`. | +| **5** | Self-review per the brainstorming skill (placeholder scan, internal consistency, scope check, ambiguity check) on the full report + side artifacts. Fix any issues inline. | S | 0 (Tier 1) | Self-review checklist complete; `state.toml` says `current_phase = 5`. | +| **6** | User review gate. Tier 1 presents the report to the user. User approves or iterates. | S | 0 (user) | User approves (or iterates until approved); `state.toml` says `current_phase = 6`. | +| **7** | Final commit + git notes + register track as completed in `conductor/tracks.md` "Recently Completed" section. Update `state.toml` to `current_phase = 7` and `status = "active"` until archived. | S | 0 (Tier 1) | Track registered; `state.toml` final; `state.toml` says `current_phase = 7`. | + +**Total scope:** 1 spec + 1 metadata.json + 1 state.toml + 10 cluster sub-reports (~3,500 LOC) + 1 main report (4,800 LOC) + 3 side artifacts (1,350 LOC) = **T-shirt size: XL** (similar to the nagent_review v2.3 rewrite at 4,969 lines). + +--- + +## 10. Verification Criteria + +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_N_*.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 command: `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` and the track is in "Recently Completed" (or the appropriate section per the convention). + +--- + +## 11. Risks & Mitigations + +| Risk | Impact | Likelihood | Mitigation | +|---|---|---|---| +| Fable prompt grows/evolves during the track | Low (the artifact is a snapshot) | Low | The artifact is a snapshot at 2026-06-17; we note the date. If the user has a newer version, the track re-dispatches the cluster agents. | +| 10 sub-agents in parallel = high token cost | Medium (cost) | Medium | Each sub-agent gets a 500-line output budget; the dispatch is `mma_exec.py --role tier3-worker` with explicit context files. Total cluster output: ~3,500 LOC across 10 files. | +| Tier 1's synthesis hits context pressure after 17 sections | High (track stalls mid-synthesis) | Medium | Per-section commits serve as a rollback point; if Tier 1 hits pressure mid-section, the section can be handed off to a fresh Tier 1 with the cluster reports + the previous sections as context. | +| The user disagrees with a verdict (e.g., "no, that pattern is actually useful") | Low (user-review gate catches it) | Low | The user-review gate at the end of phase 6 catches this; revisions are local. | +| Cluster sub-agents over-quote Fable (copyright) | Medium (report becomes a Fable reproduction) | Low | Each cluster's acceptance check enforces the ≤15-word quote discipline; Fable's own rule applied externally. | +| Fable artifact accidentally committed | High (user's hard rule violated) | Low | The Fable artifact is **never** in the same `git add` as anything else. Per-commit `git status` inspection. Final verification: `git log --all --full-history -- 'docs/artifacts/Fable*'` returns zero. | +| Tier 2 doesn't dispatch cluster sub-agents correctly (e.g., the dispatch is too narrow, missing context files) | Medium (cluster reports are weak) | Medium | The Tier 1's spec includes the read budget per sub-agent (§5). The Tier 2's plan must include explicit context-file lists per dispatch. | +| Tier 1's report deviates from the cluster verdicts (editorial drift) | Low (verdict consistency check catches it) | Low | The synthesis report's verdicts are anchored to the cluster reports' verdicts; if a synthesis section changes a verdict, it must explicitly note the override. | + +--- + +## 12. Out of Scope (Explicit) + +- **Modifying any agent-directive file in the project.** The recommendations go in `decisions.md` for the user's deferred nagent-rebuild (1-2 weeks out). +- **Building the recommended changes.** The deferred rebuild is its own track. +- **Comparing Fable to other commercial system prompts** (OpenAI, Google, xAI). Out of scope; Fable is the named subject. +- **Reading every line of every project file.** Cluster sub-agents read the relevant sections of the relevant files; full-file reads are unnecessary and would waste context. +- **Committing the Fable artifact.** The artifact stays at `docs/artifacts/Fable System Prompt.txt`; clusters quote line ranges but the file itself never enters git. +- **Adding new `src/` code, new tests, `pyproject.toml` dependencies, or `scripts/` files.** +- **Running automated tests.** The track is research-only; verification is the brainstorming-skill self-review plus user review. +- **Creating new `docs/Readme.md` or `docs/AGENTS.md` entries.** The report is at `conductor/tracks/fable_review_20260617/`; it is not in the docs index. +- **The deferred nagent-rebuild itself.** The recommendations in `decisions.md` are inputs to that future track; the rebuild is not this track. + +--- + +## 13. See Also + +### 13.1 Internal References + +- **`docs/artifacts/Fable System Prompt.txt`** — the subject of the review. Local-only. +- **`conductor/tracks/nagent_review_20260608/`** — the nagent corpus. All 11 files in scope. +- **`conductor/tracks/intent_dsl_survey_20260612/`** — the closest model for this track. The `research/cluster_*.md` pattern is borrowed from this track's `cluster_3_intent_mapping.md`, `cluster_4_meta_tooling_dsls.md`, `cluster_8_metadesk.md`, `cluster_9_verse.md`. +- **`conductor/tracks/nagent_review_20260608/spec.md`** — the v1 nagent review spec. The "what this track read" and "what this track produces" sections are the model for this spec. +- **`conductor/workflow.md` §"Tier 1 Track Initialization Rules"** — the rules this spec follows (no day estimates, scope-only, T-shirt size). +- **`conductor/product.md`** — the product vision. The synthesis report's "what this project does" claims are anchored to this. +- **`conductor/product-guidelines.md` §"AI-Optimized Compact Style"** — the formatting rules the synthesis report follows. +- **`conductor/code_styleguides/`** — the convention catalog. The synthesis report references these for "what this project does" claims. +- **`AGENTS.md`** (root) — the project's top-level agent-facing rules. The synthesis report's "what every agent sees" baseline. +- **`docs/Readme.md`** — the docs index. The 14 deep-dive guides under `docs/guide_*.md` are the per-source-file references the synthesis report cites. + +### 13.2 External References + +- **Anthropic's Claude Fable 5 / Mythos announcement:** `https://www.anthropic.com/news/claude-fable-5-mythos-5` (referenced by Fable at line 14; the user did not request we read the announcement directly). +- **Mike Acton's nagent:** `https://github.com/macton/nagent` (the source of the nagent_review corpus). +- **Mike Acton's data-oriented design talks:** `https://www.youtube.com/results?search_query=mike+acton+data+oriented` (foundational; nagent is a specific application). +- **Ryan Fleury, "The Easiest Way To Handle Errors Is To Not Have Them":** `https://www.dgtlgrove.com/p/the-easiest-way-to-handle-errors` (cited in `data_oriented_error_handling_20260606`; consistent with nagent's "data, not control flow" stance). +- **The project's "errors are data" convention:** `conductor/code_styleguides/error_handling.md` (the data-oriented contrast to Fable's persona-driven error-handling guidance). + +### 13.3 Track-internal References + +- **`conductor/tracks/fable_review_20260617/spec.md`** — this file. +- **`conductor/tracks/fable_review_20260617/metadata.json`** — the track metadata (id, scope, blocks, etc.). +- **`conductor/tracks/fable_review_20260617/state.toml`** — the track state (current_phase, task tracking). +- **`conductor/tracks/fable_review_20260617/research/cluster_*.md`** — the 10 cluster sub-reports (executed by Tier 3 sub-agents in phase 2). +- **`conductor/tracks/fable_review_20260617/report.md`** — the main synthesis report (executed by Tier 1 in phase 3). +- **`conductor/tracks/fable_review_20260617/comparison_table.md`** — the flat verdict table (executed by Tier 1 in phase 4). +- **`conductor/tracks/fable_review_20260617/decisions.md`** — the recommendations for the deferred nagent-rebuild (executed by Tier 1 in phase 4). +- **`conductor/tracks/fable_review_20260617/nagent_takeaways_fable_20260617.md`** — the Fable-specific addendum to nagent_takeaways_20260608.md (executed by Tier 1 in phase 4). diff --git a/conductor/tracks/fable_review_20260617/state.toml b/conductor/tracks/fable_review_20260617/state.toml new file mode 100644 index 00000000..e4309eb6 --- /dev/null +++ b/conductor/tracks/fable_review_20260617/state.toml @@ -0,0 +1,128 @@ +# Track state for fable_review_20260617 +# Updated by Tier 2 Tech Lead as tasks complete + +[meta] +track_id = "fable_review_20260617" +name = "Fable System Prompt Review (Critical Analysis)" +status = "active" +current_phase = 0 +last_updated = "2026-06-17" +user_hard_rule = "docs/artifacts/Fable System Prompt.txt is NEVER committed. The artifact stays at that local path; the report and the cluster sub-references quote line ranges (≤15 words per quote) but the file does not enter git. Do not modify .gitignore for this; the rule is enforced by the implementer's discipline, not by a tracked file. git add . MUST be inspected before each commit in this track." + +[blocked_by] +# None. This track is independent. + +[blocks] +# The deferred nagent-rebuild (per the 2026-06-17 user message; the rebuild is 1-2 weeks out, no track yet). +deferred_nagent_rebuild = "user-deferred (no track yet); the Fable review's decisions.md is one of several inputs" + +[phases] +phase_1 = { status = "pending", checkpointsha = "", name = "Initialize track + skeletons", tshirt = "S" } +phase_2 = { status = "pending", checkpointsha = "", name = "Dispatch 10 cluster sub-agents in parallel", tshirt = "L" } +phase_3 = { status = "pending", checkpointsha = "", name = "Tier 1 writes 17 synthesis sections (max-token-output strategy)", tshirt = "XL" } +phase_4 = { status = "pending", checkpointsha = "", name = "Tier 1 writes 3 side artifacts", tshirt = "M" } +phase_5 = { status = "pending", checkpointsha = "", name = "Self-review per the brainstorming skill", tshirt = "S" } +phase_6 = { status = "pending", checkpointsha = "", name = "User review gate", tshirt = "S" } +phase_7 = { status = "pending", checkpointsha = "", name = "Final commit + register track in conductor/tracks.md", tshirt = "S" } + +[tasks] +# Tasks within phases. Structure: t_ = { status, commit_sha, description } +# status: "pending" | "in_progress" | "completed" | "cancelled" +# The implementing agent marks "in_progress" when starting and "completed" with commit_sha when done. + +# Phase 1: Initialize track + skeletons +t1_1 = { status = "pending", commit_sha = "", description = "Create conductor/tracks/fable_review_20260617/{,research/} directories (done at spec time)." } +t1_2 = { status = "pending", commit_sha = "", description = "Write spec.md (done at spec time)." } +t1_3 = { status = "pending", commit_sha = "", description = "Write metadata.json (done at spec time)." } +t1_4 = { status = "pending", commit_sha = "", description = "Write state.toml (this file; done at spec time)." } +t1_5 = { status = "pending", commit_sha = "", description = "Write skeleton report.md with all 17 section headers + section 0/1/2 stubs (Tier 2)." } +t1_6 = { status = "pending", commit_sha = "", description = "Write skeleton comparison_table.md with column headers + 5 sample rows (Tier 2)." } +t1_7 = { status = "pending", commit_sha = "", description = "Write skeleton decisions.md with the template + 3 sample entries (Tier 2)." } +t1_8 = { status = "pending", commit_sha = "", description = "Write skeleton nagent_takeaways_fable_20260617.md with a placeholder header (Tier 2)." } +t1_9 = { status = "pending", commit_sha = "", description = "Register the track in conductor/tracks.md (Active section; Tier 2)." } +t1_10 = { status = "pending", commit_sha = "", description = "Phase 1 checkpoint commit (per conductor/workflow.md)." } + +# Phase 2: Dispatch 10 cluster sub-agents in parallel +# 10 sub-tasks, one per cluster. Each is a Tier 3 sub-agent dispatch. +t2_1 = { status = "pending", commit_sha = "", description = "Cluster 1: Product Branding & 'Helpful Assistant' Persona. Sub-agent: Tier 3 worker. Read budget: 600 lines. Output: research/cluster_1_product_branding.md (200-500 lines)." } +t2_2 = { status = "pending", commit_sha = "", description = "Cluster 2: Refusal Architecture & 'Safety Theater'. Sub-agent: Tier 3 worker. Read budget: 800 lines. Output: research/cluster_2_refusal_architecture.md (200-500 lines)." } +t2_3 = { status = "pending", commit_sha = "", description = "Cluster 3: User Wellbeing / Mental-Health Watchdog. Sub-agent: Tier 3 worker. Read budget: 800 lines. Output: research/cluster_3_user_wellbeing_watchdog.md (200-500 lines)." } +t2_4 = { status = "pending", commit_sha = "", description = "Cluster 4: Tone & Formatting Constraints. Sub-agent: Tier 3 worker. Read budget: 600 lines. Output: research/cluster_4_tone_and_formatting.md (200-500 lines)." } +t2_5 = { status = "pending", commit_sha = "", description = "Cluster 5: Mistakes & Criticism Handling. Sub-agent: Tier 3 worker. Read budget: 500 lines. Output: research/cluster_5_mistakes_and_criticism.md (200-500 lines)." } +t2_6 = { status = "pending", commit_sha = "", description = "Cluster 6: Evenhandedness & Contested Content. Sub-agent: Tier 3 worker. Read budget: 700 lines. Output: research/cluster_6_evenhandedness.md (200-500 lines)." } +t2_7 = { status = "pending", commit_sha = "", description = "Cluster 7: Epistemic Discipline & Search Strategy. Sub-agent: Tier 3 worker. Read budget: 800 lines. Output: research/cluster_7_epistemic_discipline.md (200-500 lines)." } +t2_8 = { status = "pending", commit_sha = "", description = "Cluster 8: Memory System & Persistent Storage. Sub-agent: Tier 3 worker. Read budget: 800 lines. Output: research/cluster_8_memory_and_storage.md (200-500 lines)." } +t2_9 = { status = "pending", commit_sha = "", description = "Cluster 9: Computer-Use / Skills / File Workflow. Sub-agent: Tier 3 worker. Read budget: 700 lines. Output: research/cluster_9_computer_use.md (200-500 lines)." } +t2_10 = { status = "pending", commit_sha = "", description = "Cluster 10: MCP App Suggestions & Third-Party Connectors. Sub-agent: Tier 3 worker. Read budget: 600 lines. Output: research/cluster_10_mcp_app_suggestions.md (200-500 lines)." } +t2_11 = { status = "pending", commit_sha = "", description = "Phase 2 checkpoint commit (per conductor/workflow.md)." } + +# Phase 3: Tier 1 writes 17 synthesis sections (max-token-output strategy) +# 17 sub-tasks, one per synthesis section. Each is a Tier 1 write pass + per-file atomic commit. +t3_0 = { status = "pending", commit_sha = "", description = "Section 0: TL;DR + Verdict Scorecard (1-page summary table). Source: all clusters. Approx LOC: 100." } +t3_1 = { status = "pending", commit_sha = "", description = "Section 1: The 3 Sources (Fable, Manual Slop, nagent) - what's in scope. Source: n/a. Approx LOC: 200." } +t3_2 = { status = "pending", commit_sha = "", description = "Section 2: The 'Useful vs Persona vs Anti-User' Framework. Source: n/a. Approx LOC: 250." } +t3_3 = { status = "pending", commit_sha = "", description = "Section 3: Fable's Product Branding & 'Helpful Assistant' Persona. Source: cluster 1. Approx LOC: 300." } +t3_4 = { status = "pending", commit_sha = "", description = "Section 4: Fable's Refusal Architecture & 'Safety Theater'. Source: cluster 2. Approx LOC: 350." } +t3_5 = { status = "pending", commit_sha = "", description = "Section 5: Fable's Mental-Health Watchdog Framing. Source: cluster 3. Approx LOC: 350." } +t3_6 = { status = "pending", commit_sha = "", description = "Section 6: Fable's Tone & Formatting Constraints. Source: cluster 4. Approx LOC: 250." } +t3_7 = { status = "pending", commit_sha = "", description = "Section 7: Fable's Mistake Handling. Source: cluster 5. Approx LOC: 200." } +t3_8 = { status = "pending", commit_sha = "", description = "Section 8: Fable's Evenhandedness & Contested Content. Source: cluster 6. Approx LOC: 300." } +t3_9 = { status = "pending", commit_sha = "", description = "Section 9: Fable's Epistemic Discipline & Search Strategy. Source: cluster 7. Approx LOC: 350." } +t3_10 = { status = "pending", commit_sha = "", description = "Section 10: Fable's Memory System & Persistent Storage. Source: cluster 8. Approx LOC: 350." } +t3_11 = { status = "pending", commit_sha = "", description = "Section 11: Fable's Computer-Use / File Workflow. Source: cluster 9. Approx LOC: 300." } +t3_12 = { status = "pending", commit_sha = "", description = "Section 12: Fable's MCP App Suggestions. Source: cluster 10. Approx LOC: 250." } +t3_13 = { status = "pending", commit_sha = "", description = "Section 13: The 'Genuinely Useful' Patterns (Manual Slop should adopt). Source: clusters 7-10. Approx LOC: 350." } +t3_14 = { status = "pending", commit_sha = "", description = "Section 14: The 'Anti-User Watchdog' Patterns (Manual Slop should explicitly reject). Source: clusters 2-6. Approx LOC: 350." } +t3_15 = { status = "pending", commit_sha = "", description = "Section 15: The 'Persona Performance' Patterns (irrelevant to the rebuild). Source: clusters 1, 4, 5, 8. Approx LOC: 250." } +t3_16 = { status = "pending", commit_sha = "", description = "Section 16: Recommendations for the deferred nagent-rebuild. Source: all clusters. Approx LOC: 200." } +t3_17 = { status = "pending", commit_sha = "", description = "Section 17: References (file:line index). Source: all. Approx LOC: 150." } +t3_18 = { status = "pending", commit_sha = "", description = "Phase 3 checkpoint commit; verify report.md >3500 LOC." } + +# Phase 4: Tier 1 writes 3 side artifacts +t4_1 = { status = "pending", commit_sha = "", description = "Write comparison_table.md (~100 rows; 600-800 lines)." } +t4_2 = { status = "pending", commit_sha = "", description = "Write decisions.md (15-20 recommendations; 400-600 lines)." } +t4_3 = { status = "pending", commit_sha = "", description = "Write nagent_takeaways_fable_20260617.md (~150 lines)." } +t4_4 = { status = "pending", commit_sha = "", description = "Phase 4 checkpoint commit." } + +# Phase 5: Self-review per the brainstorming skill +t5_1 = { status = "pending", commit_sha = "", description = "Placeholder scan: no TBD / TODO / incomplete sections." } +t5_2 = { status = "pending", commit_sha = "", description = "Internal consistency: cluster verdicts match synthesis verdicts." } +t5_3 = { status = "pending", commit_sha = "", description = "Scope check: no agent-directive file modified; no new src/ code." } +t5_4 = { status = "pending", commit_sha = "", description = "Ambiguity check: every verdict is unambiguous; every recommendation is actionable." } +t5_5 = { status = "pending", commit_sha = "", description = "Fable-artifact discipline: git log --all --full-history -- 'docs/artifacts/Fable*' returns zero entries." } +t5_6 = { status = "pending", commit_sha = "", description = "Phase 5 checkpoint commit." } + +# Phase 6: User review gate +t6_1 = { status = "pending", commit_sha = "", description = "Present the report to the user." } +t6_2 = { status = "pending", commit_sha = "", description = "User approves or iterates." } +t6_3 = { status = "pending", commit_sha = "", description = "Phase 6 checkpoint commit (after user approval)." } + +# Phase 7: Final commit + register track in conductor/tracks.md +t7_1 = { status = "pending", commit_sha = "", description = "Update conductor/tracks.md to register the track as completed." } +t7_2 = { status = "pending", commit_sha = "", description = "Final state.toml update: current_phase = 7, status = 'active' (until archived)." } +t7_3 = { status = "pending", commit_sha = "", description = "Track checkpoint commit (per conductor/workflow.md §Phase Completion Verification and Checkpointing Protocol)." } +t7_4 = { status = "pending", commit_sha = "", description = "Attach audit report to the checkpoint commit as a git note (per conductor/workflow.md)." } + +[verification] +# Filled as phases complete. The metadata.json's verification_criteria is the source of truth. +all_10_cluster_sub_reports_committed = false +all_10_cluster_sub_reports_200_to_500_lines = false +all_10_cluster_sub_reports_have_fable_citations = false +all_10_cluster_sub_reports_have_project_citations = false +all_10_cluster_sub_reports_have_nagent_citations = false +all_10_cluster_sub_reports_have_verdict = false +all_10_cluster_sub_reports_have_synthesis_notes = false +synthesis_report_has_17_sections = false +synthesis_report_over_3500_loc = false +synthesis_report_sections_reference_clusters = false +comparison_table_exists = false +comparison_table_has_100_rows = false +decisions_exists = false +decisions_has_15_to_20_recommendations = false +nagent_takeaways_fable_exists = false +nagent_takeaways_fable_is_150_lines = false +fable_artifact_never_committed = false +self_review_complete = false +user_review_approved = false +conductor_tracks_md_updated = false +all_commits_are_atomic_with_git_notes = false diff --git a/scripts/tier2/fetch_tier2_branch.ps1 b/scripts/tier2/fetch_tier2_branch.ps1 new file mode 100644 index 00000000..22f60556 --- /dev/null +++ b/scripts/tier2/fetch_tier2_branch.ps1 @@ -0,0 +1,143 @@ +# scripts/tier2/fetch_tier2_branch.ps1 +<# +.SYNOPSIS + Fetch a Tier 2 autonomous branch from the sandboxed clone into the main repo. + +.DESCRIPTION + The Tier 2 sandbox blocks git push (and all other destructive git ops). After + Tier 2 finishes a track, this script is the bridge: it fetches the + tier2/ branch from the sandboxed clone (C:\projects\manual_slop_tier2) + into the main repo (C:\projects\manual_slop), creating a local + review/ branch so your working tree is untouched. + + You can then review the diff, merge to main, and push to origin yourself. + + This script does NOT push to origin. Pushing is the user's call. + +.PARAMETER TrackName + The track name (e.g., send_result_to_send_20260616). The branch fetched is + tier2/. + +.PARAMETER MainRepoPath + Path to the main repo. Default: C:\projects\manual_slop + +.PARAMETER Tier2ClonePath + Path to the Tier 2 sandboxed clone. Default: C:\projects\manual_slop_tier2 + +.PARAMETER RemoteName + The git remote name to use for the Tier 2 clone. Default: tier2-clone + +.EXAMPLE + pwsh -File scripts\tier2\fetch_tier2_branch.ps1 -TrackName send_result_to_send_20260616 + + Fetches tier2/send_result_to_send_20260616 from the sandboxed clone and + creates review/send_result_to_send_20260616 in the main repo. + +.EXAMPLE + pwsh -File scripts\tier2\fetch_tier2_branch.ps1 -TrackName my_track -RemoteName sandbox + + Same as above but uses 'sandbox' as the remote name (in case tier2-clone is taken). +#> +[CmdletBinding(SupportsShouldProcess = $true)] +param( + [Parameter(Mandatory = $true)] + [string]$TrackName, + + [string]$MainRepoPath = "C:\projects\manual_slop", + [string]$Tier2ClonePath = "C:\projects\manual_slop_tier2", + [string]$RemoteName = "tier2-clone" +) + +$ErrorActionPreference = "Stop" + +# Resolve to absolute paths +$MainRepoPath = (Resolve-Path $MainRepoPath -ErrorAction SilentlyContinue)?.Path +if (-not $MainRepoPath) { + throw "Main repo not found at $MainRepoPath. Adjust -MainRepoPath." +} +if (-not (Test-Path $Tier2ClonePath)) { + throw "Tier 2 clone not found at $Tier2ClonePath. Run setup_tier2_clone.ps1 first." +} + +$BranchName = "tier2/$TrackName" +$ReviewBranch = "review/$TrackName" + +Write-Host "[fetch] Track: $TrackName" +Write-Host "[fetch] Branch in sandbox: $BranchName" +Write-Host "[fetch] Local review branch: $ReviewBranch" +Write-Host "[fetch] Main repo: $MainRepoPath" +Write-Host "[fetch] Tier 2 clone: $Tier2ClonePath" +Write-Host "" + +# 1. Verify the branch exists in the Tier 2 clone +Push-Location $Tier2ClonePath +try { + $branchSha = git rev-parse --verify $BranchName 2>$null + if (-not $branchSha) { + $available = git branch --format='%(refname:short)' | Where-Object { $_ -like 'tier2/*' } + throw "Branch $BranchName does not exist in Tier 2 clone. Available tier2/* branches: $($available -join ', ')" + } + Write-Host "[fetch] Found branch in sandbox: $BranchName ($($branchSha.Substring(0,7)))" +} finally { + Pop-Location +} + +# 2. Add the Tier 2 clone as a remote in the main repo (if not already) +Push-Location $MainRepoPath +try { + $currentRemote = git remote get-url $RemoteName 2>$null + if ($currentRemote -eq $Tier2ClonePath) { + Write-Host "[fetch] Remote '$RemoteName' already points to Tier 2 clone" + } elseif ($currentRemote) { + Write-Host "[fetch] Remote '$RemoteName' exists but points elsewhere; updating" + git remote set-url $RemoteName $Tier2ClonePath + } else { + Write-Host "[fetch] Adding remote '$RemoteName' -> $Tier2ClonePath" + git remote add $RemoteName $Tier2ClonePath + } + + # 3. Fetch the branch + Write-Host "[fetch] Fetching $BranchName from $RemoteName" + git fetch $RemoteName $BranchName 2>&1 | Out-Null + + # 4. Create or reset the local review branch + if (git rev-parse --verify $ReviewBranch 2>$null) { + Write-Host "[fetch] Local review branch $ReviewBranch exists; resetting to $RemoteName/$BranchName" + git branch -f $ReviewBranch "$RemoteName/$BranchName" + } else { + Write-Host "[fetch] Creating local review branch $ReviewBranch" + git branch $ReviewBranch "$RemoteName/$BranchName" + } + + # 5. Print summary + $currentBranch = git rev-parse --abbrev-ref HEAD + $commitsAhead = git rev-list --count "$RemoteName/$BranchName" "^$currentBranch" 2>$null + if (-not $commitsAhead) { $commitsAhead = 0 } + $filesChanged = (git diff --stat "$currentBranch..$ReviewBranch" | Measure-Object -Line).Lines - 1 + if ($filesChanged -lt 0) { $filesChanged = 0 } + $firstLine = (git log --oneline "$currentBranch..$ReviewBranch" | Select-Object -First 1) + + Write-Host "" + Write-Host "=== Summary ===" + Write-Host " Branch: $BranchName" + Write-Host " Local review branch: $ReviewBranch" + Write-Host " Your current branch: $currentBranch (untouched)" + Write-Host " Commits ahead: $commitsAhead" + Write-Host " Files changed: $filesChanged" + Write-Host " First commit: $firstLine" + Write-Host "" + Write-Host "=== Next steps ===" + Write-Host " 1. Inspect the diff:" + Write-Host " git diff $currentBranch..$ReviewBranch" + Write-Host " git log $currentBranch..$ReviewBranch" + Write-Host " 2. Inspect specific files:" + Write-Host " git show $ReviewBranch -- " + Write-Host " 3. If approved, merge to your current branch:" + Write-Host " git merge --no-ff $ReviewBranch" + Write-Host " 4. Push to origin (from main, in the non-sandboxed session):" + Write-Host " git push origin $currentBranch" + Write-Host "" + Write-Host "[fetch] done. The review branch is local-only; nothing has been pushed to origin." +} finally { + Pop-Location +}