Files
fusion/scripts/lib
gsxdsm 9838f42076 fix: repair core and CLI suites, plus a PG table-registry omission
Core 32 failures -> 0 (5,981 passing); CLI 46 -> 0 (2,021 passing). Three
agents per package, root-cause fixes only.

One product defect, same class as FN-9059 and found the same way — by a test
that leaked state between runs:

  `projectTableNames` was missing SEVENTEEN tables the schema declares
  (current_plan_evidence, spec_locks, spec_drift_reports, symbol_locks,
  configuration_revisions, chat_tags, chat_session_tags, mission_lineage_stops,
  task_verification_requests, unplanned_execution_blocks,
  workflow_agent_capacity_leases and the six task_lifecycle_* tables). That list
  drives BOTH the PG test-harness per-test reset and production health
  compaction, so those tables were never truncated between tests (a plan-evidence
  version counter carried forward, making whole-file runs disagree with isolated
  ones) and never VACUUM/ANALYZEd in production. Registered, with
  project-table-registry.test.ts as a ratchet — verified it fails on an
  unregistered new table naming the offender.

Everything else was drift behind deliberate changes: branch-write provenance,
FN-073 dependency validation, the FN-9191 pre-merge merge gate, U11's triage/
planning lane merge, refinement workflow coming from the ORIGIN selection,
async-converted provider registration, a barrel mock missing exports a guard
added, and several source-pinned inventories broken by module moves. Tests for
removed features were deleted with their removing commit cited.

Also fixes a vitest config gap where @fusion/core/mcp-builtin-servers resolved
only to dist/, which was breaking test COLLECTION in unrelated CLI files and had
been misread as transient cross-agent noise.

Quarantines mission-store.pg's concurrent-claim race (second sighting): it holds
a transaction open, sleeps 250ms and asserts the rival has not settled, which
fails under parallel load. An A/B against the registry change above looked
causal on one run and did not reproduce on three — that coincidence is the flake
itself, and rescue needs a real lock-wait probe rather than a longer sleep.
Core's config now inlines its exclude array, because check-quarantine-ledger.mjs
cannot resolve a variable reference and silently reported the ledger unpaired.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 16:31:25 -07:00
..