chore(core): mark the async-mission fallback arms DELIBERATE-LITERAL (census 108→106) (#3056)
Fleet phase. Claimed `packages/core/src/async-mission-store-queries.ts` — **the only census file with no branch, no worktree, and no open PR against it.** Claim published by pushing the branch before doing any work. ## Census before / after | | total | this file | deliberate | |---|---|---|---| | before | **108** | 2 | 128 | | after | **106** | 0 | **130** | `--strict` exits 0, baseline re-recorded in the same commit. **This is a reclassification, not a conversion.** The same two lines are still there. A reader comparing 108 → 106 against my #3047's 126 → 121 should know only the latter changed behaviour. ## Why marking is the right answer here Both sites are the **fallback arm** of the three-state rule: ```ts terminalColumns?.complete ? terminalColumns.complete.has(column) : column === "done"; ``` `terminalColumns` undefined means the caller could not resolve lanes. The legacy id is then the only answer that keeps the query working at all — converting it would delete the fallback and make an unresolvable caller return nothing. The census counts the literal, but **the literal is the design**. The file's own comment shows a previous worker already reached this conclusion. Nothing recorded it in a form the tool reads, so it stayed in `byFile` as apparent backlog for the next pass to re-derive. ## The finding this makes concrete I checked five unclaimed files this phase (`agent-store`, `github-tracking-state`, `planner-overseer`, `auto-merge-finalization`, this one). **Every site in them was either a fallback arm or an already-documented deliberate leave** — `agent-store.ts:236` carries a comment from today's fleet phase explaining why it stays. So the remaining count is not a work queue. A meaningful share is correct code the tool cannot distinguish from owed work, and each fleet pass pays to re-derive that. Marking them is cheap, mechanical, and makes the number mean "conversions owed" — which is what every worker reads it as when picking a cluster. I marked only the file I claimed. The others belong to whoever holds them. ## Verification - `census --strict` exit 0; `tsc --noEmit` **0 errors** - `check:fnxc-future-dates`, `check:lane-wiring`, `check:sql-column-literals`, `check:inert-flag-seams` — all exit 0 - No behaviour change: the two expressions are byte-identical, only comments added ## Note on the marker's granularity The first marker covered only `isComplete` — the census attaches markers by *preceding comment*, so the sibling `isArchived` needed its own. Caught by re-running the census (2 → 1, not 2 → 0) rather than by reading. Worth knowing before marking a group of related literals. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2253,8 +2253,22 @@ export async function getTerminalTaskEvidence(
|
||||
third deferral of mine to dissolve on inspection, which is why the premise is now recorded next to
|
||||
the fix rather than in a note claiming it cannot be done.
|
||||
*/
|
||||
/*
|
||||
FNXC:LifecycleColumnCensus 2026-07-31-11:30 (fleet phase — RECLASSIFICATION, not a conversion):
|
||||
DELIBERATE-LITERAL — these two ids are the FALLBACK ARM of the three-state rule, not backlog.
|
||||
|
||||
`terminalColumns` undefined means the caller could not resolve lanes; the legacy id is then the only
|
||||
answer that keeps this query working, exactly as it did before lanes existed. Converting them would
|
||||
delete the fallback and make an unresolvable caller return nothing — the census counts the literal,
|
||||
but the literal IS the design.
|
||||
|
||||
Marked rather than converted because every fleet pass re-derives this and leaves it, and an unmarked
|
||||
correct site is indistinguishable from owed work in `byFile`. The marker moves it to
|
||||
`deliberateByFile`, which is what the count should mean.
|
||||
*/
|
||||
const isComplete = (column: string) =>
|
||||
terminalColumns?.complete ? terminalColumns.complete.has(column) : column === "done";
|
||||
/* DELIBERATE-LITERAL — same fallback arm as `isComplete` above; see the note there. */
|
||||
const isArchived = (column: string) =>
|
||||
terminalColumns?.archived ? terminalColumns.archived.has(column) : column === "archived";
|
||||
|
||||
|
||||
@@ -4,9 +4,7 @@
|
||||
"packages/engine/src/self-healing.ts": 38,
|
||||
"packages/engine/src/notification/notification-service.ts": 5,
|
||||
"packages/engine/src/executor.ts": 4,
|
||||
"packages/engine/src/restart-recovery-coordinator.ts": 4,
|
||||
"packages/core/src/agent-store.ts": 2,
|
||||
"packages/core/src/async-mission-store-queries.ts": 2,
|
||||
"packages/core/src/task-store/moves.ts": 2,
|
||||
"packages/core/src/task-store/project-store-ops.ts": 2,
|
||||
"packages/core/src/task-store/reads.ts": 2,
|
||||
@@ -32,6 +30,7 @@
|
||||
"packages/engine/src/backlog-pressure-reporter.ts": 1,
|
||||
"packages/engine/src/ephemeral-worker-manager.ts": 1,
|
||||
"packages/engine/src/merger.ts": 1,
|
||||
"packages/engine/src/restart-recovery-coordinator.ts": 1,
|
||||
"packages/engine/src/runtimes/in-process-runtime.ts": 1,
|
||||
"packages/engine/src/triage.ts": 1
|
||||
},
|
||||
@@ -66,6 +65,8 @@
|
||||
"packages/cli/src/commands/task.ts\u0000done": 1,
|
||||
"packages/cli/src/extension.ts\u0000archived": 1,
|
||||
"packages/cli/src/extension.ts\u0000done": 1,
|
||||
"packages/core/src/async-mission-store-queries.ts\u0000archived": 1,
|
||||
"packages/core/src/async-mission-store-queries.ts\u0000done": 1,
|
||||
"packages/core/src/live-agent-count.ts\u0000archived": 1,
|
||||
"packages/core/src/live-agent-count.ts\u0000done": 1,
|
||||
"packages/core/src/plugin-store.ts\u0000done": 1,
|
||||
|
||||
Reference in New Issue
Block a user