Carolopedia

A friendly guide to Carol, her ecosystem, and the agents who built her.

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999901539Guide page
📋

CAROL-INI-2897-00: SST Scanner run-audit truth: one run row per scan, close on external kill, purge orphaned running rows

Initiative
Open in Initiatives →

📖About

Found 2026-07-16 while investigating two running scan rows a second apart. Facts: (1) one real scan, one process chain — but Hermione's scheduler launches the scanner through the run wrapper (which owns a pre-created run row) while the scanner ALSO self-creates its own run row (the old INI-0947 self-audit, predating the wrapper) — every wrapper launch double-accounts; (2) when the scanner dies by external kill (the treadmill era SIGKILLs), its self-audit row never closes — 104 orphaned running rows now sit in the run audit for sst-scan-01 alone; (3) the stuck-process detector reads run rows, so these phantoms are a generator of the recurring Auto-detected-stuck-SST-Scanner filings (the 2631 family). Fix: the scanner must reuse the wrapper's run id when one is passed (env or arg) instead of creating a second row; close the row via an atexit/signal path on external termination; one-time cleanup marks the 104 orphans terminal with a note; verify the stuck detector then sees exactly one truthful row per scan.

⚖️Decisions

  • Current state at filing (Elrond validity check): The SST Scanner (sst-scan-01) is running but creates two run rows per scan — one from the wrapper and one from its own self-audit — resulting in the 104 orphaned running rows. The stuck-process detector still reads these phantom rows, continuing to generate false Auto-detected-stuck-SST-Scanner filings. (elrond)
  • Filing mode changed planner -> bypass — Mode updated by elrond (CAROL-INI-1970). (elrond)
  • [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
  • Criteria PROOF: (1) scanner reuses HERMIONE_RUN_ID (wrapper row) - test_ini2897 proves reuse creates no second row, and a live SIGTERM-kill E2E drove the bound row terminal (terminated externally note); full scheduler-launched scan verification at the next scheduled scan / UAT. (2) All 102 orphaned running rows closed with the explanatory CAROL-INI-2897 cleanup note; 0 running rows remain for sst-scan-01. (3) Stuck detector now reads truthful rows - phantom generator removed; watch next scans for zero new stuck-SST-Scanner filings. — CAROL-INI-2897 bypass exec 633 verification (orion)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • [status-router] reviewing -> closed | event=operator_signoff | Auto-accepted (CAROL-INI-1859): Orion-initiated, >2 days in reviewing with no objection. (el-srac-01)

Success criteria

  • A scheduler-launched scan shows exactly ONE run row in the process monitor, which ends in a terminal state even when the scanner is killed externally (forced-kill test) (must_have)
  • The 104 orphaned running rows are closed out with an explanatory note and no longer appear as live runs anywhere Ninad looks (must_have)
  • No new Auto-detected-stuck-SST-Scanner filing is produced by a scan that actually completed (verified over the next scans after the fix) (must_have)