# DISMISSED — F2-REOPEN — the fleet email's queue-count parser

status: dismissed by TRIAGE 2026-08-24 · **OVERTAKEN by the queue-as-directory migration** · raised panel run 5 (2026-08-12) · body verbatim below

---

## Resolution — the defect class was retired, not fixed

**Killed because the instrument it targets no longer runs.** The item's three
legs all live in one place: the `^\*\*(\d+)\.` item-row parser inside
`_gather_pipeline_status` (`src/thales/execution/fleet_digest.py`). Verified
against `origin/main` @ `3e0161a`:

- `fleet_digest.py:185-197` now takes a **directory-counting** branch whenever
  `research/queue/` is a directory — it counts `*.md` files per section,
  excluding `README.md`. No parsing, no regex, no grammar.
- The parser survives only as the `else` branch (`:200-220`), reachable **only
  if `research/queue/` ceases to exist as a directory**. The migration commit
  (47e8e73) states the intent in the code comment: *"Queue-as-directory
  (2026-08-21): counting files needs no parser, retiring the #99 defect class
  outright."*

**Each leg, checked against that:**
- **F2 (silent inflation from a line-start `**13.5h**`)** — cannot occur: the
  live path counts files. And the bold-decimal prose that triggered it lives in
  `research/RESEARCH_QUEUE.md`, which is now a frozen archive the live path
  does not read.
- **F1 (the ✅ CLOSED CQA-1 header counted as open → "12 open where 11 are
  pending")** — the live reporting error is **gone**: the digest now renders
  the true file counts. That was the only leg doing damage in the owner's push
  channel today.
- **Third leg (dash-grammar `## Built` rows rendering Built as 0)** — gone for
  the same reason; `built/` is a directory whose files are counted.

**Residual, carried as a fold-in with no row:** the dead `else` branch is still
in the file, defects and all. It is unreachable while the directory exists, and
deleting it is a two-line change on the next touch of `fleet_digest.py`. It is
not worth a queue row; a row for unreachable code is the "decoration" this shop
keeps refusing to ship.

**Reopens if:** (a) `research/queue/` ever stops being a directory, or the
fallback parser branch becomes reachable again for any reason; or (b) the
digest's rendered counts are ever observed to disagree with a plain file count
of `research/queue/*/` (the cheap standing check — one `ls`, no tooling).

---

## Body as raised (verbatim from the frozen archive)

**13. F2-REOPEN — #99 merged with both known count-parser defects unaddressed;
the pre-registered valve fires: the fleet email's queue counts can silently
inflate on a future edit, and two of its four numbers are wrong or fragile
today.** · judgement: no · effort ~0.25 pd · horizon: none pressing
(observability tier), but every day carried is a day the owner's one push
channel reads 12-open where 11 are pending

*This row exists by pre-registration.* The 2026-08-13 dismissal reads:
"REOPENS if #99 merges with F2 unaddressed — a merged count instrument that
can silently inflate on a future queue edit is the CQA-1 class, no longer
bikeshedding." Both conditions verified on main: 89a3c3a merged 08-14;
`fleet_digest.py:202` is still `^\*\*(\d+)\.` with no `\s` after the dot.

*Mechanism, probe-verified by three independent sessions.* **F2:** the loose
regex captures `'1'` from `**1.41h**` and `'5'` from `**5.00h**` (this file's
item 8, line-start bold decimals in unfenced prose — the fence-strip cannot
reach them); today's Open count of 12 is correct only because those integers
collide with real item numbers inside the `set()` dedupe. A future line-start
`**13.5h**` inflates 12→13 silently. **F1** (same 08-13 record, same
one-function instrument — bundled per the AMG-1 precedent): the ✅ CLOSED
CQA-1 header still physically under ## Open is counted, so the digest renders
**12 open where 11 are pending — a live reporting error today**, in the
owner's one push channel. **Third defect, NEW this session (not
pre-registered, flagged as such):** the ## Built entry uses dash grammar
(`- **2026-08-10 · CQA-1**`) which the `**N.` parser cannot count → **Built
renders 0 where 1 exists** — and when triage moves RL-ECHO/BEACON-ADD/AMG-1
over, approvals-built stay invisible: the exact "did my approval get built"
hole #99's own commit message says motivated it, one section over. The merged
tests cannot fail on any of the three (no bold-decimal fixture, no CLOSED row,
no dash-Built row) — a detector that cannot fail on the known defect.

*Test design / kill criterion — pre-registered.* Fix: `^\*\*(\d+)\.\s`; skip
(or relocate, per triage's call) ✅ CLOSED rows; count whichever Built grammar
triage pins — **the grammar decision is triage's, flagged to today's 16:00Z
run; this row must not decide queue grammar.** Negative controls: a fixture
carrying a line-start `**13.5h**`, a ✅ CLOSED row, and a dash-Built row must
fail the merged parser on all three counts and pass the fixed one; the
odd-fence-count latent from the 08-13 review may ride as a third test. **Kill
criterion: if the strict regex changes any current section count other than
removing the two known spurious Open matches, stop and re-derive — do not
ship.** Zero registry rows, zero DSR debt.
