# 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 = 7
last_updated = "2026-06-18"
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<phase>_<n> = { 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
