---
session_id: S-2026-0523-1337
timestamp: 2026-05-23T11:37:24Z
predecessor: S-2026-0522-2320
tasks_active: [T-1062, T-1265, T-1271, T-1274, T-1309, T-1542, T-1611, T-1624, T-1636, T-1637, T-1639, T-1659, T-1677, T-1684, T-1685, T-1687, T-1700, T-1701, T-1702, T-1707, T-1718, T-1719, T-1728, T-1737, T-1742, T-1761, T-1773, T-1774, T-1775, T-1776, T-1792, T-1794, T-1795, T-1796, T-1797, T-1799, T-1801, T-1802, T-1803, T-1805, T-1806, T-1807, T-1808, T-1810, T-1811, T-1818, T-1820, T-1821, T-1827, T-1834, T-1842, T-1843, T-1844, T-1891, T-1909, T-1910, T-1911, T-1912, T-1928, T-1929, T-1930, T-1933, T-1934, T-1935, T-1936, T-1939, T-1947, T-1951, T-1954, T-1955, T-1957, T-1960, T-1961, T-1963, T-1964, T-1965, T-1968, T-1969, T-1970, T-1971, T-1976, T-1977, T-1978, T-1980, T-1982, T-1984, T-1985, T-1988, T-1989, T-1990, T-1991, T-1992, T-1993, T-1994, T-1999, T-2000, T-332, T-334, T-449, T-464, T-544, T-550, T-558, T-682, T-704, T-705, T-801, T-802, T-803, T-844]
tasks_touched: [T-2000, T-1988, T-1999, T-1991, T-1989, T-1981, T-1996, T-1987, T-1995, T-1997, T-1998, T-001]
tasks_completed: []
uncommitted_changes: 252
token_usage: "21.7B tokens, 123082 turns"
token_input: "577.1K"
token_cache_read: "21.3B"
token_cache_create: "335.4M"
token_output: "87.7M"
commits_per_turn: "0.0309"
first_commit_turn: "18"
failed_tool_calls: "5520"
failed_tool_call_rate: "0.0723"
edit_bursts: "2010"
productive_turns_ratio: "0.3854"
session_turns: "325"
session_commits: "9"
session_commits_per_turn: "0.0277"
session_failed_tool_calls: "9"
session_failed_tool_call_rate: "0.0738"
session_edit_bursts: "0"
session_productive_turns_ratio: "0.1415"
owner: claude-code
session_narrative: ""
---

# Session Handover: S-2026-0523-1337

## Where We Are

Session worked on: T-1988 (re-open S1 review — shipped functionally broken (dead preset JS), GO premature); T-1999 (partial-complete — review surface live + working, [REVIEW] AC pending human); T-1998 (verify full unit suite green (1081 passed) — /tmp reds were stale pre-fix artifact); T-077 (Session handover S-2026-0522-2320); T-1989 (scope nav-restructure ACs (arc-007 S2) — parked pending S0/S1 review). Plus 5 more commit(s).

## Current Arc

**arc-grooming** — "Arc grooming \u2014 canonicalisation, lifecycle, audit, doc" (in-progress, 45 task(s))

Run `fw arc show arc-grooming` for detail; `fw arc focus --clear` to drop focus.
## Work in Progress

<!-- horizon: now -->

### T-1062: "WezTerm task-aware terminal chrome via TermLink RPC"
- **Status:** started-work (horizon: now)
- **Last action:** T-1064/T-1065 reclassify Human ACs to Agent (technical-judgment per ADR-0002); T-1066 split Agent/Human; T-1062 rewrite operator instructions
- **Next step:** See task file
- **Blockers:** None


### T-1274: "Memory writes (claude auto-memory) blocked by onboarding task gate — agent
- **Status:** started-work (horizon: now)
- **Last action:** T-1620: strip <!-- ... --> in inception.sh + verify-acs.sh AC counters
- **Next step:** See task file
- **Blockers:** None


### T-1542: "fw upgrade from inside a consumer crashes at step 4b/9 — detect bare-from-consumer
- **Status:** started-work (horizon: now)
- **Last action:** T-1921: BVP T-NEW-6 — policy/bvp-scoring-rubric.md (load-bearing [REVIEW])
- **Next step:** See task file
- **Blockers:** None


### T-1624: "Refresh ring20-dashboard hub.secret on this anchor — secret-mismatch after
- **Status:** started-work (horizon: now)
- **Last action:** T-1687: resolve U-001 as stale (G-059 mitigated in-framework via T-1425)
- **Next step:** See task file
- **Blockers:** None


### T-1687: "install + apply grill-with-docs skill — grilling session on orchestrator-as-triage
- **Status:** started-work (horizon: now)
- **Last action:** T-1687: file T-1969 (arc id+slug unified) + T-1970 (badge contrast sweep)
- **Next step:** See task file
- **Blockers:** None


### T-1700: "v1 build: install + integrate litellm proxy for ollama-backed dispatch"
- **Status:** started-work (horizon: now)
- **Last action:** T-1775: lib/ollama_loop.py — 2nd worker primitive (claude -p stream-json)
- **Next step:** See task file
- **Blockers:** None


### T-1701: "v1 build: install + integrate pi RPC backend for worker_kind=pi dispatch"
- **Status:** started-work (horizon: now)
- **Last action:** T-1951/T-1707: capture HV-LC sweep learnings
- **Next step:** See task file
- **Blockers:** None


### T-1702: "Boundary hook: extend to outside-path arguments + scope-tag fw doctor findings"
- **Status:** started-work (horizon: now)
- **Last action:** T-1811: AC classification third class — [REVIEWER] prefix for reviewer-agent-verifiable ACs (RCA + structural fix)
- **Next step:** See task file
- **Blockers:** None


### T-1707: "fw doctor scope tagging — split project vs host findings (T-1702 Stream 2)"
- **Status:** started-work (horizon: now)
- **Last action:** T-1951/T-1707: capture HV-LC sweep learnings
- **Next step:** See task file
- **Blockers:** None


### T-1718: "Evolution-gate + vertical-slice discipline for inception → build transitions"
- **Status:** started-work (horizon: now)
- **Last action:** T-1687: close 6 BVP arc tasks to partial-complete (arc-006 grooming)
- **Next step:** See task file
- **Blockers:** None


### T-1728: "post-compact budget injection: warn agent that prior budget assertions are
- **Status:** started-work (horizon: now)
- **Last action:** T-1729: meta-rca artefact + 3 sibling tasks for governance breakdown
- **Next step:** See task file
- **Blockers:** None


### T-1820: "joint smoke-test slice — v2 peer-consult end-to-end after TermLink T-1636 ships"
- **Status:** started-work (horizon: now)
- **Last action:** T-1820: rerun against fix-shipped hub 0.9.2110 — emit still not session-poll observable
- **Next step:** See task file
- **Blockers:** None


### T-1912: "fw upgrade do_vendor step 4b runs BEFORE step 9 version-ahead check — runtime
- **Status:** started-work (horizon: now)
- **Last action:** T-1912: file structural fix — do_vendor step 4b runs before T-1839 version-ahead check
- **Next step:** See task file
- **Blockers:** None


### T-2000: "Specialised UX-review TermLink agent + enforce executed-browser review on render surfaces — go/no-go"
- **Status:** started-work (horizon: now)
- **Last action:** T-1988: re-open S1 review — shipped functionally broken (dead preset JS), GO premature
- **Next step:** See task file
- **Blockers:** None


### T-332: "Submit to awesome lists (awesome-ai-agents, awesome-agents, awesome-copilot)"
- **Status:** started-work (horizon: now)
- **Last action:** T-332/L-320: promote captured-but-done T-332 + capture inception-decide drift learning
- **Next step:** See task file
- **Blockers:** None


### T-334: "Execute launch sequence: r/ClaudeAI soft launch → Show HN → amplification"
- **Status:** started-work (horizon: now)
- **Last action:** T-332/L-320: promote captured-but-done T-332 + capture inception-decide drift learning
- **Next step:** See task file
- **Blockers:** None


### T-464: "PR #6: feat: /capture skill + C-002 Exploratory Conversation Guard"
- **Status:** started-work (horizon: now)
- **Last action:** T-332/L-320: promote captured-but-done T-332 + capture inception-decide drift learning
- **Next step:** See task file
- **Blockers:** None


### T-544: "Create TermLink Homebrew tap with GitHub Actions builds"
- **Status:** started-work (horizon: now)
- **Last action:** T-332/L-320: promote captured-but-done T-332 + capture inception-decide drift learning
- **Next step:** See task file
- **Blockers:** None


### T-801: "fw costs CLI — token usage tracking from JSONL transcripts"
- **Status:** started-work (horizon: now)
- **Last action:** T-802 / T-803: Add Recommendation blocks (GO) — token-tracking arc closure
- **Next step:** See task file
- **Blockers:** None


### T-802: "Watchtower token dashboard — /costs page with session table and project summary"
- **Status:** started-work (horizon: now)
- **Last action:** T-802 / T-803: Add Recommendation blocks (GO) — token-tracking arc closure
- **Next step:** See task file
- **Blockers:** None


### T-803: "Landing page token widget — show current session tokens on Watchtower dashboard"
- **Status:** started-work (horizon: now)
- **Last action:** T-802 / T-803: Add Recommendation blocks (GO) — token-tracking arc closure
- **Next step:** See task file
- **Blockers:** None


### Awaiting Human Review (60 tasks)

Agent ACs done. Human ACs pending — see "Awaiting Your Action" below.

- [GO] [T-1773](http://192.168.10.107:3000/review/T-1773): "spawn-side dispatch driver: read resolver envelope → spawn worker → stream events → emit outcome row"
- [GO] [T-1774](http://192.168.10.107:3000/review/T-1774): "fw resolver run: CLI integration of spawn driver — one-line dispatch+spawn end-to-end"
- [GO] [T-1775](http://192.168.10.107:3000/review/T-1775): "lib/ollama_loop.py — claude -p worker primitive (2nd worker_kind route)"
- [GO] [T-1792](http://192.168.10.107:3000/review/T-1792): "Watchtower /orchestrator: add Dispatch substrate panel — by_model breakdown (CLI parity with T-1788)"
- [GO] [T-1794](http://192.168.10.107:3000/review/T-1794): "Watchtower /orchestrator: extend Dispatch substrate panel with by_task_type breakdown"
- [GO] [T-1795](http://192.168.10.107:3000/review/T-1795): "Watchtower /orchestrator: extend Dispatch substrate panel with by_worker_kind breakdown"
- [GO] [T-1796](http://192.168.10.107:3000/review/T-1796): "Watchtower /orchestrator: add Outcome quality panel — verification pass/fail per task-type (CLI parity for --outcomes)"
- [GO] [T-1797](http://192.168.10.107:3000/review/T-1797): "TermLink worker primitive — lib/termlink_worker.py wraps fw termlink dispatch (T-1776 Option A)"
- [GO] [T-1799](http://192.168.10.107:3000/review/T-1799): "Watchtower /orchestrator: add Workflow coverage panel — surface T-1798 audit check on web (matrix of workflow × worker_kind × routable)"
- [GO] [T-1801](http://192.168.10.107:3000/review/T-1801): "extend Workflow coverage panel with missing-provider class — web parity for T-1800 (sibling to T-1799)"
- [GO] [T-1802](http://192.168.10.107:3000/review/T-1802): "Workflow coverage panel: per-workflow last-dispatch timestamp — surface deprecation candidates (T-1799 follow-up)"
- [GO] [T-1803](http://192.168.10.107:3000/review/T-1803): "Workflow coverage audit: stale-workflow WARN class — workflows declared but never fired (or last-fired >90d ago) surface as audit warn (T-1802 follow-up)"
- [GO] [T-1805](http://192.168.10.107:3000/review/T-1805): "pause_requested terminal_event class — substrate recognition (dispatch-safety slice 1)"
- [GO] [T-1806](http://192.168.10.107:3000/review/T-1806): "Resolver risk-policy preamble injection (dispatch-safety slice 2)"
- [GO] [T-1807](http://192.168.10.107:3000/review/T-1807): "Workflow schema lint — pause_threshold, allow_pause, pause_preamble (dispatch-safety slice 3)"
- [GO] [T-1808](http://192.168.10.107:3000/review/T-1808): "Paused-dispatch surface — fw review-queue + Watchtower /approvals (dispatch-safety slice 4)"
- [GO] [T-1810](http://192.168.10.107:3000/review/T-1810): "Watchtower paused-dispatch resolve form on /review/T-XXX — web parity for fw pause resolve"
- [GO] [T-1811](http://192.168.10.107:3000/review/T-1811): "AC classification gap — [REVIEWER] prefix for reviewer-agent-verifiable ACs (closes T-954/T-1443 vocabulary gap)"
- [GO] [T-1818](http://192.168.10.107:3000/review/T-1818): "v2 peer-consult slice 1 framework-half — inbox.queued event subscriber + responder spawn-bridge (T-1804 cross-repo joint with TermLink T-243)"
- [DEFER] [T-1827](http://192.168.10.107:3000/review/T-1827): "Pickup: Cross-hub relay stall: termlink-agents framework:pickup offsets 9+10
- [GO] [T-1834](http://192.168.10.107:3000/review/T-1834): "Purge MS_OAUTH client secret from framework git history — filter-repo commit 79e3361 (T-1828 follow-up, Tier 0)"
- [GO] [T-1842](http://192.168.10.107:3000/review/T-1842): "fabric exclude: blindness — honor exclude in do_scan + do_drift (consumer Penelope
- [GO] [T-1843](http://192.168.10.107:3000/review/T-1843): "T-1603 smarter hook + mirror-sync stderr capture (T-1829 build child)"
- [GO] [T-1844](http://192.168.10.107:3000/review/T-1844): "pre-commit secret scan hook — root-cause prevention for T-1828/T-1834 class"
- [GO] [T-1891](http://192.168.10.107:3000/review/T-1891): "CLAUDE.md governance rule — producer/consumer parity for hook bypass contracts (L-399 codification)"
- [GO] [T-1909](http://192.168.10.107:3000/review/T-1909): "Render arc_id badge on task surfaces — finish the T-1849 visibility job (kanban
- [GO] [T-1910](http://192.168.10.107:3000/review/T-1910): "Arc page parity — read-only enrichment + inline editable name/focus + filters
- [GO] [T-1911](http://192.168.10.107:3000/review/T-1911): "Watchtower /arcs/<slug>/close build — review surface, POST handler, CLI fw
- [GO] [T-1928](http://192.168.10.107:3000/review/T-1928): "BVP T-NEW-12a: Watchtower /bvp static scatter read-only (split parent T-NEW-12)"
- [GO] [T-1929](http://192.168.10.107:3000/review/T-1929): "BVP T-NEW-12b: Watchtower /bvp live weight sliders + commit (split parent T-NEW-12)"
- [GO] [T-1930](http://192.168.10.107:3000/review/T-1930): "BVP T-NEW-13: Watchtower /arcs/<id> extensions — arc-level BVP, coherence warnings,
- [GO] [T-1933](http://192.168.10.107:3000/review/T-1933): "BVP T-NEW-15: canonical doc 040-ValueDrivers.md + FRAMEWORK.md glossary/Quick
- [GO] [T-1934](http://192.168.10.107:3000/review/T-1934): "BVP T-NEW-12c: /bvp scatter renders proposed scores (advisory layer)"
- [GO] [T-1935](http://192.168.10.107:3000/review/T-1935): "BVP T-NEW-7c: bvp-cost-estimator — propose cost_estimate (blast_radius / tier
- [GO] [T-1936](http://192.168.10.107:3000/review/T-1936): "BVP T-NEW-7d: arc-level BVP+cost rollup — render arc dots on /bvp scatter"
- [GO] [T-1939](http://192.168.10.107:3000/review/T-1939): "BVP T-1936/T-1937 sibling — /arcs/<slug> BVP signals use constituent rollup"
- [GO] [T-1947](http://192.168.10.107:3000/review/T-1947): "reviewer prose-quality mis-routing guard — REVIEWER necessary-but-not-sufficient
- [GO] [T-1951](http://192.168.10.107:3000/review/T-1951): "G-066 deliverable #3 — reviewer TermLink-dispatch worker (evidence-gated, isolated
- [GO] [T-1954](http://192.168.10.107:3000/review/T-1954): "BVP /bvp perf — 17.9s load time, cache _collect_task_points() or batch 1918
- [GO] [T-1955](http://192.168.10.107:3000/review/T-1955): "BVP /bvp?mode=proposed renders 0 tasks — T-1934 unfinished proposed-scatter
- [GO] [T-1957](http://192.168.10.107:3000/review/T-1957): "arc-006 self-application — run BVP estimator on anchor T-1915 to populate proposed_scoped_drivers"
- [GO] [T-1960](http://192.168.10.107:3000/review/T-1960): "arc Recommendation schema + auto-render on /arcs/<slug>/close"
- [GO] [T-1961](http://192.168.10.107:3000/review/T-1961): "/approvals ingestion of close-ready arcs — ARC CLOSURE section"
- [GO] [T-1963](http://192.168.10.107:3000/review/T-1963): "/arcs/<slug>/review route — read-only review surface (separate from /close)"
- [GO] [T-1964](http://192.168.10.107:3000/review/T-1964): "BVP driver add form — /api/bvp/driver/add POST + add-driver form below sliders
- [GO] [T-1965](http://192.168.10.107:3000/review/T-1965): "BVP driver remove form — /api/bvp/driver/remove POST + per-row remove button
- [GO] [T-1968](http://192.168.10.107:3000/review/T-1968): "Arc badge dark-on-dark contrast fix — color: var(--pico-secondary) → var(--pico-color)"
- [GO] [T-1969](http://192.168.10.107:3000/review/T-1969): "Arc badge unified form: render 'arc-NNN · slug' resolving the missing form
- [GO] [T-1970](http://192.168.10.107:3000/review/T-1970): "Badge contrast sweep: fix .badge-info (invisible), .badge-ok (3.55), .badge-muted
- [GO] [T-1971](http://192.168.10.107:3000/review/T-1971): "Remove stale 'Read-only — live weight sliders ship in T-1929' text on /bvp — sliders have shipped"
- [GO] [T-1976](http://192.168.10.107:3000/review/T-1976): "arc-scoped driver add/remove parity with global /bvp"
- [GO] [T-1977](http://192.168.10.107:3000/review/T-1977): "arc-scoped driver weight sliders — T-1929 parity at arc scope"
- [GO] [T-1978](http://192.168.10.107:3000/review/T-1978): "constituent task BVP columns on arc detail"
- [GO] [T-1980](http://192.168.10.107:3000/review/T-1980): "T-1978 sibling: show BVP scores/cost on task detail page (/tasks/T-XXX)"
- [GO] [T-1982](http://192.168.10.107:3000/review/T-1982): "show BVP badge on /tasks listing cards + list view — T-1980 sibling"
- [GO] [T-1984](http://192.168.10.107:3000/review/T-1984): "T-1983A: inception GO-scope traceability — schema + hook + close gate"
- [GO] [T-1985](http://192.168.10.107:3000/review/T-1985): "T-1950A reviewer auto-tick [REVIEWER] Agent ACs v1.0 — dogfood of T-1984 substrate"
- [?] [T-1988](http://192.168.10.107:3000/review/T-1988): "Watchtower /settings/appearance page — preset picker + foundation axes + sticky
- [GO] [T-1991](http://192.168.10.107:3000/review/T-1991): "Watchtower foundation tokens — 6 palettes × light/dark + 6 type pairings +
- [GO] [T-1999](http://192.168.10.107:3000/review/T-1999): "arc-007 review enablement — visual review surface for S0/S1 presets (palette/theme

<!-- horizon: next -->

### T-1719: "Embeddings strategy V1 — Slice 1 (post-write hook + happiness signal + one-provider
- **Status:** captured (horizon: next)
- **Last action:** T-1850: tags:[arc:*] → arc_id migration (T-NEW-3) — 162 tasks rewritten
- **Next step:** See task file
- **Blockers:** None


### T-1776: "fallback-workflow contract gap — default.yaml declares worker_kind: TermLink
- **Status:** started-work (horizon: next)
- **Last action:** T-1798: workflow-dispatcher coverage check — audit-time T-1776 prevention
- **Next step:** See task file
- **Blockers:** None


### T-1821: "T-1820 follow-up: live joint-smoke demo when TermLink wires aggregator handler
- **Status:** captured (horizon: next)
- **Last action:** T-1820: deliver pickup envelope P-041 to /opt/termlink inbox
- **Next step:** See task file
- **Blockers:** None


### T-1989: "Watchtower nav restructure — flatten 16-item Govern group, top-bar + contextual
- **Status:** captured (horizon: next)
- **Last action:** T-1989: scope nav-restructure ACs (arc-007 S2) — parked pending S0/S1 review
- **Next step:** See task file
- **Blockers:** None


### T-449: "Deep-dive articles 02-06: editing pass — strip fabricated stats, tighten voice"
- **Status:** captured (horizon: next)
- **Last action:** T-1687: review-queue triage report — live DOM evidence for 13/33 fresh tasks
- **Next step:** See task file
- **Blockers:** None


<!-- horizon: later -->

### T-1636: "Orchestrator routing: refactor composite cache key to RoutingKey newtype before
- **Status:** captured (horizon: later)
- **Last action:** T-1642: fw reviewer PYTHONPATH fix — make vendored consumers work
- **Next step:** See task file
- **Blockers:** None


### T-1637: "Multi-LLM routing: cost-aware learning — weight RouteCache success rates by
- **Status:** captured (horizon: later)
- **Last action:** T-1679: AC classification compliance sweep — split T-1062/T-1064/T-1065/T-1066 Human ACs into Agent (mechanical) + Human (residual subjective)
- **Next step:** See task file
- **Blockers:** None


### T-1639: "TermLink: throughput benchmark for governance subscriber — harden non-blocking
- **Status:** captured (horizon: later)
- **Last action:** T-1642/T-1643/T-1644/T-1645/T-1641: orchestrator-arc reconsideration aggregation
- **Next step:** See task file
- **Blockers:** None


### T-1659: "fw fabric register accepts .agentic-framework/ vendored paths and creates malformed
- **Status:** captured (horizon: later)
- **Last action:** T-1693: ship baseline workflow files (default + 3 inline interactives)
- **Next step:** See task file
- **Blockers:** None


### T-1677: "tag-format drift: 21 legacy TermLink sessions carry task=/role= prefixes —
- **Status:** captured (horizon: later)
- **Last action:** T-1677: capture tag-format drift follow-up + 2026-05-02 audit
- **Next step:** See task file
- **Blockers:** None


### T-1684: "G-064 consumer #2: orchestrator daily health-check cron — autonomous workload
- **Status:** captured (horizon: later)
- **Last action:** T-1688: G-064 update — retrofit search exhausted, escalation-scan v0.5 named as preferred path
- **Next step:** See task file
- **Blockers:** None


### T-1737: "Slice 2: UserPromptSubmit hook + $PROMPT_UNDER_TRIAGE substitution (T-1733
- **Status:** captured (horizon: later)
- **Last action:** T-1737/T-1742: cross-link L-355 — architectural ceiling
- **Next step:** See task file
- **Blockers:** None


### T-1742: "Spike D follow-up: re-run qwen35 with --max-tokens 4096 to recover 7 parse-fails"
- **Status:** captured (horizon: later)
- **Last action:** T-1744: promotion-decision research artifact (C-001 satisfied)
- **Next step:** See task file
- **Blockers:** None


### T-1761: "orchestrator-mcp-scan auto-classify by naming convention (eliminate T-1755/T-1760
- **Status:** started-work (horizon: later)
- **Last action:** T-1761/T-1762: file build for G-066 prong 2 + fix CTL-027 FAIL
- **Next step:** See task file
- **Blockers:** None


### T-1990: "Watchtower Cockpit + Approvals redesign — apply foundation tokens + new density
- **Status:** captured (horizon: later)
- **Last action:** T-1987: file watchtower-redesign inception arc (arc-007) + 7 child slices
- **Next step:** See task file
- **Blockers:** None


### T-1992: "Watchtower Tasks board + list redesign — side-panel detail with dock controls,
- **Status:** captured (horizon: later)
- **Last action:** T-1987: file watchtower-redesign inception arc (arc-007) + 7 child slices
- **Next step:** See task file
- **Blockers:** None


### T-1993: "Watchtower interactions — ⌘K command palette + ?-shortcuts overlay + bulk actions
- **Status:** captured (horizon: later)
- **Last action:** T-1987: file watchtower-redesign inception arc (arc-007) + 7 child slices
- **Next step:** See task file
- **Blockers:** None


### T-1994: "Watchtower Fabric + Arcs page redesign — apply foundation tokens, dense graph,
- **Status:** captured (horizon: later)
- **Last action:** T-1987: file watchtower-redesign inception arc (arc-007) + 7 child slices
- **Next step:** See task file
- **Blockers:** None


### Inception Phases — Awaiting Decision

- [T-2000](http://192.168.10.107:3000/inception/T-2000): "Specialised UX-review TermLink agent + enforce executed-browser review on render surfaces — go/no-go"
- [T-1761](http://192.168.10.107:3000/inception/T-1761): "orchestrator-mcp-scan auto-classify by naming convention (eliminate T-1755/T-1760

### Deferred Inceptions — Watching for Recurrence

These inceptions reached a DEFER decision and are parked. They are
NOT awaiting a first decision. They re-surface for promotion if the
promotion criteria in their Recommendation block are met.

- [T-1271](http://192.168.10.107:3000/inception/T-1271): "Cross-agent peer learning — 15-min TermLink reflect cron (propagated from 050-email-archive)"
- [T-550](http://192.168.10.107:3000/inception/T-550): "Composition-based adapter pattern — evaluate for agent provider and TermLink
- [T-558](http://192.168.10.107:3000/inception/T-558): "Build task risk signal detection — PreToolUse gate requiring inception for
- [T-705](http://192.168.10.107:3000/inception/T-705): "KCP integration — knowledge.yaml generation from fabric/context + MCP bridge
- [T-844](http://192.168.10.107:3000/inception/T-844): "SSD evaluation — Simple Self-Distillation for code generation (arxiv 2604.01193)"
- [T-1265](http://192.168.10.107:3000/inception/T-1265): "Export docs section as PDF/DOCX/other formats"
- [T-1309](http://192.168.10.107:3000/inception/T-1309): "Ship watchtower.service systemd template + make fw watchtower start systemd-aware"
- [T-1611](http://192.168.10.107:3000/inception/T-1611): "Swap local Watchtower Werkzeug dev server for gunicorn — saturation under browser
- [T-1685](http://192.168.10.107:3000/inception/T-1685): "fw audit refactor — first real consumer of the orchestrator, route slow analytical
- [T-682](http://192.168.10.107:3000/inception/T-682): "TermLink product feedback — --working-dir flag for spawn + MCP as default"
- [T-704](http://192.168.10.107:3000/inception/T-704): "DAG federation for cross-machine knowledge graphs"

## Inception Phases

**14 inception task(s) pending decision** — run `fw inception status` for details.

## Awaiting Your Action (Human)

**59 task(s) with unchecked Human ACs.** These are waiting for you — not for agent cleanup.
Review each when ready. No urgency implied. Prefix is the agent's recommendation: `[GO]` confirm, `[DEFER]`/`[NO-GO]` decide. `[NO-REC]` means the agent never wrote a Recommendation block — task isn't ready for review yet (T-1576). (`[?]` would mean a partial-complete task slipped past the T-1529 recommendation gate — should not occur in normal flow.)

- [GO] [T-1773](http://192.168.10.107:3000/review/T-1773): spawn-side dispatch driver: read resolver envelope → spawn worker → stream events → emit outcome row (1 unchecked)
  - e.g.: [REVIEW] **#H1: End-to-end smoke (after T-1701 #H1 + #H2)**
- [GO] [T-1774](http://192.168.10.107:3000/review/T-1774): fw resolver run: CLI integration of spawn driver — one-line dispatch+spawn end-to-end (1 unchecked)
  - e.g.: [REVIEW] **#H1: End-to-end CLI smoke (after T-1701 #H1+#H2 +
- [GO] [T-1775](http://192.168.10.107:3000/review/T-1775): lib/ollama_loop.py — claude -p worker primitive (2nd worker_kind route) (1 unchecked)
  - e.g.: [REVIEW] **#H1: End-to-end ollama-loop smoke (after T-1700 #
- [GO] [T-1792](http://192.168.10.107:3000/review/T-1792): Watchtower /orchestrator: add Dispatch substrate panel — by_model breakdown (CLI parity with T-1788) (1 unchecked)
  - e.g.: [REVIEW] Render quality: the new Dispatch substrate panel vi
- [GO] [T-1794](http://192.168.10.107:3000/review/T-1794): Watchtower /orchestrator: extend Dispatch substrate panel with by_task_type breakdown (1 unchecked)
  - e.g.: [REVIEW] Visual rhythm: by_model and by_task_type sub-tables
- [GO] [T-1795](http://192.168.10.107:3000/review/T-1795): Watchtower /orchestrator: extend Dispatch substrate panel with by_worker_kind breakdown (1 unchecked)
  - e.g.: [REVIEW] Three sub-tables stack cleanly — panel doesn't over
- [GO] [T-1796](http://192.168.10.107:3000/review/T-1796): Watchtower /orchestrator: add Outcome quality panel — verification pass/fail per task-type (CLI parity for --outcomes) (1 unchecked)
  - e.g.: [REVIEW] Panel fits the page flow: Outcome quality sits betw
- [GO] [T-1797](http://192.168.10.107:3000/review/T-1797): TermLink worker primitive — lib/termlink_worker.py wraps fw termlink dispatch (T-1776 Option A) (1 unchecked)
  - e.g.: [REVIEW] **Live dispatch smoke (optional)** — confirm a real
- [GO] [T-1799](http://192.168.10.107:3000/review/T-1799): Watchtower /orchestrator: add Workflow coverage panel — surface T-1798 audit check on web (matrix of workflow × worker_kind × routable) (1 unchecked)
  - e.g.: [REVIEW] Panel placement: Workflow coverage sits between Out
- [GO] [T-1801](http://192.168.10.107:3000/review/T-1801): extend Workflow coverage panel with missing-provider class — web parity for T-1800 (sibling to T-1799) (1 unchecked)
  - e.g.: [REVIEW] Visual rhythm: the new `provider` column and missin
- [GO] [T-1802](http://192.168.10.107:3000/review/T-1802): Workflow coverage panel: per-workflow last-dispatch timestamp — surface deprecation candidates (T-1799 follow-up) (1 unchecked)
  - e.g.: [REVIEW] Deprecation signal usefulness: scan the `Last dispa
- [GO] [T-1803](http://192.168.10.107:3000/review/T-1803): Workflow coverage audit: stale-workflow WARN class — workflows declared but never fired (or last-fired >90d ago) surface as audit warn (T-1802 follow-up) (1 unchecked)
  - e.g.: [REVIEW] WARN message clarity: confirm that an operator scan
- [GO] [T-1805](http://192.168.10.107:3000/review/T-1805): pause_requested terminal_event class — substrate recognition (dispatch-safety slice 1) (1 unchecked)
  - e.g.: [REVIEW] Confirm the substrate change matches ADR-0004's int
- [GO] [T-1806](http://192.168.10.107:3000/review/T-1806): Resolver risk-policy preamble injection (dispatch-safety slice 2) (1 unchecked)
  - e.g.: [REVIEW] Confirm the preamble text strikes the right tone — 
- [GO] [T-1807](http://192.168.10.107:3000/review/T-1807): Workflow schema lint — pause_threshold, allow_pause, pause_preamble (dispatch-safety slice 3) (1 unchecked)
  - e.g.: [REVIEW] Confirm the WARN-vs-ERROR split is right — typos in
- [GO] [T-1810](http://192.168.10.107:3000/review/T-1810): Watchtower paused-dispatch resolve form on /review/T-XXX — web parity for fw pause resolve (1 unchecked)
  - e.g.: [REVIEW] Form renders cleanly inside review page rhythm
- [GO] [T-1811](http://192.168.10.107:3000/review/T-1811): AC classification gap — [REVIEWER] prefix for reviewer-agent-verifiable ACs (closes T-954/T-1443 vocabulary gap) (1 unchecked)
  - e.g.: [REVIEW] Updated CLAUDE.md section reads clearly and the con
- [GO] [T-1818](http://192.168.10.107:3000/review/T-1818): v2 peer-consult slice 1 framework-half — inbox.queued event subscriber + responder spawn-bridge (T-1804 cross-repo joint with TermLink T-243) (1 unchecked)
  - e.g.: [REVIEW] Confirm cross-repo coordination is correct — both h
- [DEFER] [T-1827](http://192.168.10.107:3000/review/T-1827): Pickup: Cross-hub relay stall: termlink-agents framework:pickup offsets 9+10 (1 unchecked)
  - e.g.: [REVIEW] Decide whether the eventual-delivery class warrants
- [GO] [T-1834](http://192.168.10.107:3000/review/T-1834): Purge MS_OAUTH client secret from framework git history — filter-repo commit 79e3361 (T-1828 follow-up, Tier 0) (1 unchecked)
  - e.g.: [REVIEW] Cross-repo prompt at `docs/handouts/T-1834-cross-re
- [GO] [T-1842](http://192.168.10.107:3000/review/T-1842): fabric exclude: blindness — honor exclude in do_scan + do_drift (consumer Penelope (1 unchecked)
  - e.g.: [REVIEW] Confirm the fix is the right shape — shared helper 
- [GO] [T-1843](http://192.168.10.107:3000/review/T-1843): T-1603 smarter hook + mirror-sync stderr capture (T-1829 build child) (1 unchecked)
  - e.g.: [REVIEW] Confirm the ancestor-check semantics are right — th
- [GO] [T-1844](http://192.168.10.107:3000/review/T-1844): pre-commit secret scan hook — root-cause prevention for T-1828/T-1834 class (1 unchecked)
  - e.g.: [REVIEW] Confirm pattern catalogue is right — covers the can
- [GO] [T-1891](http://192.168.10.107:3000/review/T-1891): CLAUDE.md governance rule — producer/consumer parity for hook bypass contracts (L-399 codification) (1 unchecked)
  - e.g.: [REVIEW] The new section reads cleanly and matches the surro
- [GO] [T-1909](http://192.168.10.107:3000/review/T-1909): Render arc_id badge on task surfaces — finish the T-1849 visibility job (kanban (1 unchecked)
  - e.g.: [REVIEW] Arc badge placement and styling read well visually 
- [GO] [T-1910](http://192.168.10.107:3000/review/T-1910): Arc page parity — read-only enrichment + inline editable name/focus + filters (1 unchecked)
  - e.g.: [REVIEW] Arc card visual density, badge placement, inline-ed
- [GO] [T-1911](http://192.168.10.107:3000/review/T-1911): Watchtower /arcs/<slug>/close build — review surface, POST handler, CLI fw (1 unchecked)
  - e.g.: [REVIEW] Close an arc end-to-end via Watchtower (use a draft
- [GO] [T-1928](http://192.168.10.107:3000/review/T-1928): BVP T-NEW-12a: Watchtower /bvp static scatter read-only (split parent T-NEW-12) (1 unchecked)
  - e.g.: [REVIEW] Quadrant placement is intuitive across a 5-task spo
- [GO] [T-1929](http://192.168.10.107:3000/review/T-1929): BVP T-NEW-12b: Watchtower /bvp live weight sliders + commit (split parent T-NEW-12) (1 unchecked)
  - e.g.: [REVIEW] Slider responsiveness feels live (no janky lag on d
- [GO] [T-1930](http://192.168.10.107:3000/review/T-1930): BVP T-NEW-13: Watchtower /arcs/<id> extensions — arc-level BVP, coherence warnings, (1 unchecked)
  - e.g.: [REVIEW] Approval flow is unambiguous and the page reads cle
- [GO] [T-1933](http://192.168.10.107:3000/review/T-1933): BVP T-NEW-15: canonical doc 040-ValueDrivers.md + FRAMEWORK.md glossary/Quick (1 unchecked)
  - e.g.: [REVIEW] Document reads accurately and matches the shipped i
- [GO] [T-1934](http://192.168.10.107:3000/review/T-1934): BVP T-NEW-12c: /bvp scatter renders proposed scores (advisory layer) (1 unchecked)
  - e.g.: [REVIEW] Visual distinction between confirmed and proposed r
- [GO] [T-1935](http://192.168.10.107:3000/review/T-1935): BVP T-NEW-7c: bvp-cost-estimator — propose cost_estimate (blast_radius / tier (1 unchecked)
  - e.g.: [REVIEW] Spread of cost-estimator-proposed dots on `/bvp` re
- [GO] [T-1936](http://192.168.10.107:3000/review/T-1936): BVP T-NEW-7d: arc-level BVP+cost rollup — render arc dots on /bvp scatter (1 unchecked)
  - e.g.: [REVIEW] Arc dots distribute meaningfully on the scatter — t
- [GO] [T-1939](http://192.168.10.107:3000/review/T-1939): BVP T-1936/T-1937 sibling — /arcs/<slug> BVP signals use constituent rollup (1 unchecked)
  - e.g.: [REVIEW] `/arcs/value-prioritisation` BVP signals block rend
- [GO] [T-1947](http://192.168.10.107:3000/review/T-1947): reviewer prose-quality mis-routing guard — REVIEWER necessary-but-not-sufficient (1 unchecked)
  - e.g.: [REVIEW] The new CLAUDE.md `[REVIEWER]` necessary-but-not-su
- [GO] [T-1951](http://192.168.10.107:3000/review/T-1951): G-066 deliverable #3 — reviewer TermLink-dispatch worker (evidence-gated, isolated (1 unchecked)
  - e.g.: [REVIEW] Dispatch mode worth the new path — confirm the `--d
- [GO] [T-1954](http://192.168.10.107:3000/review/T-1954): BVP /bvp perf — 17.9s load time, cache _collect_task_points() or batch 1918 (1 unchecked)
  - e.g.: [REVIEW] /bvp scatter renders cleanly after the cache change
- [GO] [T-1955](http://192.168.10.107:3000/review/T-1955): BVP /bvp?mode=proposed renders 0 tasks — T-1934 unfinished proposed-scatter (1 unchecked)
  - e.g.: [REVIEW] Confirm the resolution-by-T-1954 explanation matche
- [GO] [T-1957](http://192.168.10.107:3000/review/T-1957): arc-006 self-application — run BVP estimator on anchor T-1915 to populate proposed_scoped_drivers (1 unchecked)
  - e.g.: [REVIEW] Approve, reject, or `--none` the 3 proposed scoped 
- [GO] [T-1960](http://192.168.10.107:3000/review/T-1960): arc Recommendation schema + auto-render on /arcs/<slug>/close (1 unchecked)
  - e.g.: [REVIEW] Recommendation panel layout reads cleanly above the
- [GO] [T-1961](http://192.168.10.107:3000/review/T-1961): /approvals ingestion of close-ready arcs — ARC CLOSURE section (1 unchecked)
  - e.g.: [REVIEW] ARC CLOSURE section rhythm — section header reads c
- [GO] [T-1963](http://192.168.10.107:3000/review/T-1963): /arcs/<slug>/review route — read-only review surface (separate from /close) (1 unchecked)
  - e.g.: [REVIEW] /arcs/<slug>/review reads cleanly as a "decide from
- [GO] [T-1964](http://192.168.10.107:3000/review/T-1964): BVP driver add form — /api/bvp/driver/add POST + add-driver form below sliders (1 unchecked)
  - e.g.: [REVIEW] Add-driver form on `/bvp` reads cleanly under the s
- [GO] [T-1965](http://192.168.10.107:3000/review/T-1965): BVP driver remove form — /api/bvp/driver/remove POST + per-row remove button (1 unchecked)
  - e.g.: [REVIEW] Remove button feels right inline with the slider it
- [GO] [T-1968](http://192.168.10.107:3000/review/T-1968): Arc badge dark-on-dark contrast fix — color: var(--pico-secondary) → var(--pico-color) (1 unchecked)
  - e.g.: [REVIEW] Arc badge labels are readable at rest in dark mode
- [GO] [T-1969](http://192.168.10.107:3000/review/T-1969): Arc badge unified form: render 'arc-NNN · slug' resolving the missing form (1 unchecked)
  - e.g.: [REVIEW] Arc badges show consistent "arc-NNN · slug" form ac
- [GO] [T-1970](http://192.168.10.107:3000/review/T-1970): Badge contrast sweep: fix .badge-info (invisible), .badge-ok (3.55), .badge-muted (1 unchecked)
  - e.g.: [REVIEW] All four badge classes are clearly legible on `/arc
- [GO] [T-1971](http://192.168.10.107:3000/review/T-1971): Remove stale 'Read-only — live weight sliders ship in T-1929' text on /bvp — sliders have shipped (1 unchecked)
  - e.g.: [REVIEW] `/bvp` page sub-header text reads cleanly and accur
- [GO] [T-1976](http://192.168.10.107:3000/review/T-1976): arc-scoped driver add/remove parity with global /bvp (1 unchecked)
  - e.g.: [REVIEW] Form rhythm reads cleanly — Add form sits naturally
- [GO] [T-1977](http://192.168.10.107:3000/review/T-1977): arc-scoped driver weight sliders — T-1929 parity at arc scope (1 unchecked)
  - e.g.: [REVIEW] Slider drag rhythm matches /bvp sliders (no jank, w
- [GO] [T-1978](http://192.168.10.107:3000/review/T-1978): constituent task BVP columns on arc detail (1 unchecked)
  - e.g.: [REVIEW] BVP columns read cleanly in the Constituent tasks t
- [GO] [T-1980](http://192.168.10.107:3000/review/T-1980): T-1978 sibling: show BVP scores/cost on task detail page (/tasks/T-XXX) (1 unchecked)
  - e.g.: [REVIEW] BVP block scannability — open `/tasks/T-1976` or `/
- [GO] [T-1982](http://192.168.10.107:3000/review/T-1982): show BVP badge on /tasks listing cards + list view — T-1980 sibling (1 unchecked)
  - e.g.: [REVIEW] BVP chip rhythm — does the badge read as informativ
- [GO] [T-1984](http://192.168.10.107:3000/review/T-1984): T-1983A: inception GO-scope traceability — schema + hook + close gate (1 unchecked)
  - e.g.: [REVIEW] Block message rhythm reads cleanly — when the gate 
- [GO] [T-1985](http://192.168.10.107:3000/review/T-1985): T-1950A reviewer auto-tick [REVIEWER] Agent ACs v1.0 — dogfood of T-1984 substrate (1 unchecked)
  - e.g.: [REVIEW] Auto-tick rhythm respects sovereignty in a real ses
- [?] [T-1988](http://192.168.10.107:3000/review/T-1988): Watchtower /settings/appearance page — preset picker + foundation axes + sticky (1 unchecked)
  - e.g.: [REVIEW] The headline mechanic fires: picking a preset re-th
- [GO] [T-1991](http://192.168.10.107:3000/review/T-1991): Watchtower foundation tokens — 6 palettes × light/dark + 6 type pairings + (1 unchecked)
  - e.g.: [REVIEW] Each of the 6 palettes re-themes the page coherentl
- [GO] [T-1999](http://192.168.10.107:3000/review/T-1999): arc-007 review enablement — visual review surface for S0/S1 presets (palette/theme (1 unchecked)
  - e.g.: [REVIEW] The appearance review surface is decent: all 6 pres
## Gaps Register

**8 concern(s) being watched** — see `.context/project/concerns.yaml`

- **G-004** [low]: Multi-agent collaboration untested
- **G-011** [low]: PostToolUse hooks are advisory-only — cannot block actions
- **G-019** [high]: Agent treats symptom-level fixes as complete — no self-escalation to systemic root cause
- **G-062** [high]: Framework-blindness pattern — 'shipped' declared before fresh-substrate behavioral verification (mitigated 2026-05-01: all three mechanisms shipped — T-1655 text + T-1656 audit detective + T-1657 review-gate preventive)
- **G-063** [high]: Project-shape conflation — framework code assumes consumer shape, silently fails in framework-repo / fresh-init / vendored-skewed states
- **G-064** [high]: Orchestrator substrate has zero production consumers — arc shipped infrastructure, not behaviour change
- **G-065** [medium]: Boundary hook is read-blind — only blocks `cd` to outside paths, not commands with outside-path arguments
- **G-066** [medium]: T-1442/T-1443 closed work-completed while half of GO scope (auto-tick + TermLink-dispatch reviewer) never wired — §ACD pattern at task level (G-062 family)

Run `fw audit` to check if any trigger conditions are met.

## Decisions Made This Session

None

## Things Tried That Failed

None

## Open Questions / Blockers

None

## Token Usage

- **Total:** 21.7B tokens
- **Turns:** 123082
- **Cache read:** 21.3B

Run `fw costs current` for detailed breakdown.

## Gotchas / Warnings for Next Session

See gaps register above.

## Suggested First Action

Continue T-1687: "install + apply grill-with-docs skill — grilling session on orchestrator-as-triage

## Files Changed This Session

 ...999-arc-007-review-enablement--visual-review.md | 251 +++++++++++++++++++++
 ...998-full-suite-order-dependent-unit-reds--we.md | 244 ++++++++++++++++++++
 tests/playwright/test_appearance_presets.py        |  72 ++++++
 web/templates/appearance.html                      |   2 +-
 8 files changed, 693 insertions(+), 4 deletions(-)

## Recent Commits

- 917aa639 T-1988: re-open S1 review — shipped functionally broken (dead preset JS), GO premature
- 4cb263cc T-1999: partial-complete — review surface live + working, [REVIEW] AC pending human
- b2399010 T-1999: Playwright regression guard for appearance presets + RCA/learning (L-423)
- d1cb717a T-1999: fix appearance.html JS SyntaxError — preset buttons were dead (broke S1/T-1988 review)
- d9ecc537 T-1998: verify full unit suite green (1081 passed) — /tmp reds were stale pre-fix artifact

---

## Handover Quality Feedback (for next session to complete)

- Did this handover help? [ ]
- What was missing?
- What was unnecessary?
