Files
fusion/docs
gsxdsm 1322a1bb11 docs(solutions): the optional-flags seam kept four green suites blind to their own conversion — and why I did not ship a ratchet for it (#2748)
Docs only. No code, no census movement.

## The finding, measured

Four consecutive files in this program had **fully green suites at
conversion time** that could not have detected the conversion — correct
or broken:

| file | pre-existing cases blind to the change |
| --- | --- |
| `github-tracking-reconciler.ts` | **33** (fake store had no workflow
reader) |
| `TaskReviewTab.tsx` | **45** (`columnFlags` omitted everywhere) |
| `plan-approval-hold-invariant` drain | **25** (`opts.lifecycle`
omitted everywhere) |
| `task-age-staleness.ts` | **12** (`context.lifecycle` omitted
everywhere) |

The cause is structural. Every conversion here uses the same seam — the
caller passes resolved flags, the helper falls back to the legacy id
when they are absent — and every pre-existing test omits the flags. So
the suite passes **before** the conversion, **after a correct one**, and
**after a wrong one**, as long as the fallback is intact. "The suite is
green" carries no information about the change.

I reported this observation four times in PR bodies. Restating it a
fifth time is worth less than writing it where the next worker will
actually find it.

## It also corrects the obvious test

The natural property is "hold the traits fixed, change the id, behaviour
is identical". That is only half the invariant. It does not catch:

```ts
// Not a fallback — an OVERRIDE. The id wins even when traits disagree.
return column === "in-review" || flags?.mergeBlocker === true;
```

Renaming `in-review` → `checking` leaves that correct, because the trait
arm answers. The defect appears in the **converse** direction — a column
that still *carries* a lifecycle name while its traits say otherwise,
which is what you get by repurposing a default column rather than
renaming one. That is the direction that found a live **"Merge & Close"
offered on a mid-implementation card** in #2718.

## Why this is not a ratchet — a negative result, recorded

I tried to automate it, and I am shipping the reason it failed rather
than a guard I do not trust.

The **consumer scan is sound**: AST-based, 31 files, 66 role-helper call
sites. The **coverage half is not**. The renamed ids this program uses —
`building`, `checking`, `converted`, `published`, `backlog` — are
ordinary English words that appear in unrelated test prose, and a test
merely *importing* the module under test does not prove it exercises the
role path. My scan reported `TaskCard.tsx` as covered by
`Column.test.tsx` on a **filename coincidence**.

A guard built on that reports coverage that does not exist, which is
worse than no guard, so it is not shipped.

A sound alternative — pin the consumer set and make each new file
declare its status — was also rejected: a 31-entry status inventory
would conflict with every concurrent fleet PR that adds coverage. That
is the same churn already removed from the census baseline by dropping
its derived aggregates.

The attempt is written down so the next person does not repeat it from
scratch, and the requirement lives as a review criterion until someone
finds a sound signal.

## What it asks for

1. **A flags-supplying case** — if every case omits the new parameter,
the conversion is untested in both directions.
2. **Both directions where both are reachable** — renamed lane, and
repurposed column.
3. **A non-vacuous companion** — assert what the widened predicate must
still *exclude*, or a predicate matching every column satisfies your new
cases. (Both `TaskReviewTab` and the dispatch filters needed this.)
4. **Run the revert and record the failure text.** Twice in this program
a new case passed with the change reverted: once because the branch was
gated behind an unwired handler (`refine` needs `onOpenRefine`), once
because the hook was dispatched by trait and the test IR did not declare
that trait, so it never ran at all.

Cross-linked both ways with the adjacent `store-fake-defects` entry,
with the distinction stated so the two are not confused: **there** a
fake is missing a method so a branch never runs and production looks
wrong; **here** the fake is complete and the test is correct, but a
parameter is absent so production takes its documented fallback.

## Verification

`pnpm lint` clean · census `--strict` exits 0 (unmoved — this PR changes
no code).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 07:11:22 -07:00
..

Fusion Documentation

← Back to repository root

Fusion is an AI-orchestrated task board that turns ideas into reviewed, merged code using a structured workflow: planning → todo → in-progress → in-review → done.

Fusion Dashboard Overview

Quick Start

Start the local dashboard with pnpm dev dashboard, then create your first task from the board or CLI.

For a full walkthrough (installation, onboarding, first task, and daily workflow basics):

➡️ Getting Started

Documentation Index

Getting Started

Guide Description
Getting Started Installation, first-run, first task, and daily workflow basics
Dashboard Guide Board/list views, left/right sidebar navigation, Artifacts, Import Tasks, chat, workflow selection/editor, terminal, git manager, files, planning, and UI tools
CLI Reference Complete fn command reference with subcommands, flags, and examples
Remote Access Operator runbook for Tailscale/Cloudflare setup, tokenized login links, security caveats, and troubleshooting
Native Shell Connection Guide Canonical mobile/desktop shell onboarding, profile management, QR/manual setup, and remote handoff behavior

Task & Project Management

Guide Description
Task Management Task creation modes, lifecycle, prompt specs, comments, archiving, and GitHub integration
Todo View Canonical guide for the experimental Todo View, including enablement, usage, API routes, and storage
Missions Mission hierarchy, planning flow, activation, progress tracking, and autopilot behavior
Goals Refinement Gate Evidence gate for activating the conditional post-v1 goals refinement slice only after real usage pain is documented
Goals Refinement Evidence Pack Structured observation template and two-observation threshold for conditional Slice 4 activation requests
Research Research runs, provider setup, dashboard/CLI usage, findings, exports, and task integration
Research View UX Spec Canonical layout and capability-state messaging spec for the Research dashboard view (FN-4138, informs FN-4134/FN-4135)
Workflow Steps Workflow overview, built-in workflow catalog, per-task selection, runtime semantics, reusable quality gates, templates, phases, and execution results
Workflow Editor Visual workflow editor guide for opening, viewing, authoring, validating, importing/exporting, custom fields/columns/settings, and tuning workflows
Custom Workflow Reliability Acceptance Map End-to-end reliability acceptance criteria for custom workflow authoring, selection, execution, recovery, restart durability, and deferred journeys
Custom Non-Coding Workflows MVP Spec MVP framing for user-authored non-coding workflows, lifecycle mapping, metrics, and risk checklist
Task Evaluations Eval scoring contract, evidence persistence, score categories, and evaluation pipeline
Multi-Project Central registry architecture, project management, isolation modes, and migration paths

Configuration & Agents

| Settings Reference | Global/project settings, workflow setting values, model/fallback lane hierarchy, defaults, and API endpoints | | MCP | Model Context Protocol server configuration, secret references, validation, CLI, dashboard, and import/export workflows | | Agents | Agent management, presets, prompts, heartbeat behavior, spawning, and mailbox workflows | | Planner Oversight (see Settings Reference, Dashboard Guide, Architecture) | Workflow-native oversight levels (off/observe/steer/autonomous), per-task overrides, notification verbosity, the human-confirmation gate on merge/PR and destructive actions, and the Task Detail overseer controls/Intervention Timeline |

Architecture & Development

Guide Description
Architecture System architecture, package layout, storage model, and engine execution flow
Secrets Store (SecretsStore) Core encrypted secret subsystem overview: scopes, AES-256-GCM at-rest model, policy semantics, and public store API surface
Dashboard Real-Time Canonical event-stream architecture contract (shared /api/events bus + dedicated stream boundaries), with project/node scoping, reconnect/cleanup behavior, and realtime pitfalls
Storage PostgreSQL runtime storage, archive, migration compatibility, and file-backed payloads
DAG Architecture Deliverables Milestone A DAG architecture documents plus Milestone B prototype scaffold docs (schema migration plan, DagCoordinator design, implementation checklist)
Dev Server Module Audit Analysis of parallel dashboard dev-server module families, production wiring, and consolidation guidance
Shared Cluster Protocol Shared PostgreSQL multi-node contract: claims/leases, membership, auth, and retired multi-leader mesh replication
Signals Connectors HMAC-signed external signal connectors for setup, payload mapping, and security notes across Sentry, Datadog, PagerDuty, and generic webhooks
Multi-Project Sequencing and Dependency Analysis Sequencing guidance for FN-3448/FN-3449/FN-3503/FN-3182, including identity boundaries and recommended board dependency edges
Contributing Local development setup, testing, release flow, and contributor conventions
Docker Container builds, deployment, and persistence configuration
Code Signing macOS and Windows code signing configuration for release binaries
Diagnostics Engine diagnostic logging subsystems, structured log keys, and key diagnostic points catalog
Sandbox Backends Pluggable sandbox backends for executor command isolation (bubblewrap, spawn-based)
Secrets Encrypted secrets storage, per-secret access policies, scopes, and agent tool wiring
Testing Full testing lanes, worker fanout guidance, test taxonomy, and file organization
Real iOS Safari Acceptance Surface Provisioning runbook and harness usage for terminal verification gates on physical or cloud real-iOS Safari
Solutions Catalog Documented solutions to past problems (bugs, architecture patterns, best practices) organized by category
Localization Contributing Guide Conventions for contributing translations, locale file structure, and i18n tooling
Mobile Capacitor/PWA mobile development setup and workflow

Plugins

Guide Description
Plugin Management End-user guide for discovering, installing, enabling, configuring, updating, uninstalling, and troubleshooting Fusion plugins
Plugin Authoring Developer guide for building Fusion plugins (manifest, SDK hooks, routes, UI/runtime contributions)
Even Realities Glasses Plugin Task-focused Even Realities glasses bridge with quick capture, polling notifications, and agent actions
Reports Plugin Reports plugin rendering, export, standalone HTML generation, and section configuration
Even Realities Plugin API Even Realities plugin API endpoint reference and test coverage matrix
Memory Plugin Contract Pluggable memory backend architecture, interface contract, and migration strategy
Compound Engineering Plugin CE workflow dashboard surface: artifact hub, interactive sessions, work→board bridge, and bidirectional sync
External Plugin Authoring Step-by-step guide for authoring plugins using an installed fn CLI (no monorepo access needed)
External Plugin Proof-Point Runbook Repeatable release-validation runbook for proving an external plugin runs against a published Fusion CLI build

Audit Reports

Report Description
Test Feedback-Loop Baseline Weekly FN-6612 signal-per-second baseline for gate/test wall-time, slowest files, and quarantine trends
Test Value Audit Heuristic test-value audit generated by scripts/test-value-audit.mjs to support human deletion and review decisions
Test Velocity Baseline Weekly feedback-loop velocity baseline for merge-gate, boot-smoke, changed-test, and quarantine metrics
UX Audit Report Comprehensive UX audit with prioritized recommendations for dashboard improvements
Codebase Improvement Audit Evidence-based technical debt and reliability gap audit with prioritized recommendations
Gap Analysis System completeness analysis comparing Fusion to Paperclip feature set
Permanent Agent Heartbeat Playbooks Worked manager/IC/message/blocked/no-task heartbeat scenarios and anti-patterns
Agent Sandbox Research Research on agent isolation, capability enforcement, and sandboxing approaches
Even Realities Integration Research (FN-3737) Research summary and recommended integration topology for Even Realities glasses + Fusion
pi-autoresearch Analysis for Fusion Port Upstream architecture/license analysis and Fusion integration mapping for autoresearch capabilities
pi-autoresearch Audit vs Fusion Research Audit comparing Fusion's research subsystem against upstream pi-autoresearch capabilities and parity gaps (FN-4136)
Research Hardening Preflight Baseline Verified research subsystem baseline, lifecycle contracts, and hardening pressure points
Test Audit Report Test coverage and effectiveness audit with recommendations
Skipped Test Inventory Current intentional test-skip inventory and reconciliation status for older skip follow-ups
Dev Server Module Boundary Audit Boundary/ownership audit for parallel dev-server-* vs devserver-* dashboard modules and FN-2212 prioritization guidance
spawn_agent Approval Evaluation (FN-3973) Decision to keep fn_spawn_agent under generic action-gate governance rather than durable agent provisioning policy
Task Lineage Reconciliation Notes Historical task-ID reuse patterns, confidence semantics for commit attribution, and reconciliation methodology (FN-3953, FN-3998)
Dashboard Load Performance (historical) Pre-cutover SQLite index analysis retained for performance archaeology
CLI Printing Press Plugin Design Architecture design for the CLI printing press bundled plugin (FN-3762)
CLI Printing Press Research Upstream cli-printing-press analysis and Fusion integration mapping (FN-3761)
Research vs Experiment Session Naming Decision Naming decision record: hybrid approach retaining research_* for cited-search/synthesis and adding experiment_session_* for upstream parity (FN-4223)
Experiment Executor Design Experiment executor architecture: lifecycle, run state machine, and worktree isolation model
Experiment Finalize Flow Experiment finalize contract: branch grouping, dry-run planning, and session completion semantics
Experiment Session Model Experiment session data model: state transitions, iteration tracking, and persisted run state
Experiment Session MVP Spec MVP specification for the experiment session feature: scope, invariants, and delivery milestones
Sandbox Options Research (FN-4635) Pluggable sandbox options research: threat model, backend evaluation, and spawn-based isolation design
Triage Duplicate Detection Postmortem Postmortem on duplicate task detection gaps and scheduler dedup hardening
Multi-Node Runtime Readiness (FN-4814) Runtime readiness assessment for multi-node distributed coordination
Distributed Multi-Node Coordination Gap (FN-4819) Gap analysis for distributed multi-node agent coordination and cross-node task assignment
Cross-Node Assignment Wake Contract (FN-4824) Contract specification for cross-node task assignment wake signaling
Multi-Node Coordination Validation Findings (FN-4820) Validation findings from multi-node coordination testing and edge-case analysis
Secrets Sync Auth Parity Review (FN-4886) Review of node secrets sync API authentication parity and security boundaries
Test Speed Audit (FN-5048) Measured baseline test performance, offender list, and optimization priorities
Soft-Delete Verification Matrix Authoritative checklist for the FN-5105 → FN-5143 soft-delete stream: scenario × layer coverage
Self-Healing Backward Move Audit Audit of self-healing backward-move safety checks and edge-case validation
Workflow Policy Ownership Map U1 characterization map classifying production merge, retry, scheduling, and recovery policy branches before workflow-policy migration cutover
Test-Speed Baseline (2026-06-03) Measured per-file test timing baseline and optimization targets (successor to FN-5048 audit)
ACP Runtime Contract Agent Client Protocol plugin launch/readiness contract and failure taxonomy
ACP MCP Passthrough & Permission Forwarding Upstream Sponsorship (FN-6475) Ready-to-file upstream sponsorship for claude-code-cli-acp ACP session/new.mcpServers passthrough and permission-gate traversal; Route A remains NOT GO until proven
Mission Completion Gate Contract Decision record for mission completion gate invariants and acceptance flow

| Lost-Work Tasks Incident (2026-05-23) | Incident catalog of 9 lost-work tasks from no-op finalize and reuse-handoff bugs | | GitLab Parity Inventory (FN-7421) | Implementation map for first-class GitLab support: import, linked issue tracking, comments, auth/settings UI, CLI/extension, and Command Center surfaces to mirror or explicitly exclude | | PostgreSQL Runtime Cutover Review (2026-07-14) | Current end-to-end authority inventory, intentional legacy SQLite readers, deployment contract, and verification record | | SQLite → PostgreSQL Migration Review (2026-06-26, historical) | Historical multi-agent review of the incomplete migration branch and its original findings | | Dashboard Theme & UI Plugin System Proposal (2026-07-01) | Feasibility-spike proposal for a controlled dashboard theme/UI shell extension point sharing one backend source of truth | | Full-loop Agent Tool-Surface Audit and Delivery Plan | Source-grounded audit of engine-agent and dashboard chat tool factories, gap analysis for mission hierarchy integration, and delivery plan (FN-8280) | | Dashboard Modal Inventory | Canonical classification of all 45 dashboard modal surfaces (classes A–D) with file:line evidence, FloatingWindow migration targets, and the shared migration contract (FN-8605 → FN-8617) |

External Resources

Suggested Reading Paths

  • New user: Getting Started → Dashboard Guide → Task Management
  • Workflow author: Dashboard Guide → Workflow Editor → Workflow Steps → Settings Reference
  • Power user / automation owner: Settings Reference → Workflow Steps → Agents → Planner Oversight (Settings Reference § Workflow Settings)
  • Maintainer / contributor: Architecture → Multi-Project → Contributing