# BTB-1 — "0 of 889 Russell-1000 names hard-to-borrow" is false at its own registration date (the true count was 2), and it is the stated basis for two pinned design decisions in three registered documents, one of them hash-frozen

status: open · raised panel run 22 (2026-09-14, frontier-WATCH catch; a records/trust correction, **not** a research or capture proposal — it does NOT reset the scout's 8-week cadence clock) · class: C0, registration hygiene (G5) — a pinned basis the shop's own store contradicts · effort ~0.25 pd (owner ruling) + ~0.1 pd (the two editable sites) · horizon: no deadline, but it should land **before** the shortability stream's own 60-trading-day test reads a panel everyone believes is all-zeros (~2026-10-20)

---

**Plain-language summary for an owner reading one paragraph.** Three
registered documents say the binary hard-to-borrow flag is "degenerate" on
the Russell-1000 universe — that **0 of 889** names were hard to borrow at
the shortability capture's registration. That number is wrong. On the
registration date itself, 2026-07-26, **two** names were hard to borrow
(PSKY and TER), and across the 33 snapshots captured since, the flag fires
on **24 of 33 days**, one to eight names, mean about 1.5. **This changes no
conclusion** — a one-to-two-name, non-persistent positive class still cannot
power the hard-versus-easy separation test that was dropped, and the
replacement (days-to-cover deciles) is the right instrument either way. What
is wrong is the *stated reason*: "degenerate" and "empty positive class
in-universe" are claims about the universe, and the universe does not
support them. The shop's rule is that a decision traces to a criterion, and
a criterion resting on a false measurement is the failure mode the external
review's F1 finding named three months ago in a different file.

## Ground truth — measured this run, twice, independently

The frontier lens swept the store; the adversarial reviewer re-derived it
from scratch without reading that result first. Both agree.

Method: every `data/shortability/*.parquet` (33 files), inner-joined on
`data/universe.csv`, counting `borrow_status == "hard_to_borrow"`. No
returns were touched; this is a universe-coverage count of the same class
`CAPTURES.md` already publishes.

- **Registration date 2026-07-26: 889 in-universe names, 2 hard to borrow —
  PSKY (Paramount Skydance cl.B) and TER (Teradyne).** Both also carry
  `shortable=False` and `easy_to_borrow=False`, so the count is 2 under
  every definition available in the schema, not an artifact of which column
  is read.
- Across all 33 sessions 2026-07-26 → 2026-09-11: **24 days with at least
  one** HTB name, range 1–8, mean ≈1.5, zero on 9 days. Peak 2026-09-08
  (8 names). **CPB recurs on 8 separate sessions**, including 4 of the last
  6 — so the positive class is not even uniformly transient.
- Latest session 2026-09-11: 2 of 885 (CPB, OKE).

## Where the false claim is load-bearing

| site | text | editable? |
|---|---|---|
| `research/2026-08-01_b4_skew_activation_pin.md:43-46` | "That flag is **degenerate on this universe** — 0 of 889 Russell-1000 names were hard-to-borrow at the shortability registration" — the stated reason B4 replaced binary-flag conditioning with days-to-cover deciles | **NO — hash-frozen pin.** A post-hoc edit is exactly the C0 breach the freeze exists to prevent. This needs a dated append or an owner ruling, never a correction in place. |
| `CAPTURES.md:148` | "the binary borrow flag is degenerate here — 0/889 R1000 names HTB" | yes |
| `research/2026-08-01_quant_panel_suggestions.md:43` | B2's "the pinned hard-vs-easy separation test **CANNOT RUN** (empty positive class in-universe)" | yes (a dated report; correct by append, not rewrite) |
| `research/2026-08-01_quant_panel_suggestions.md:90` | "0/889 hard-to-borrow **at rest**" | yes |
| `research/2026-08-01_quant_panel_suggestions.md:121` | "the binary borrow flag is degenerate on the flagship universe (0/889)" | yes |
| `research/RESEARCH_QUEUE.md:2332` | a 2026-08-06 triple-kill of the weekly-option-availability candidate cites "the same degeneracy that **killed the binary borrow flag**" as one of its three legs | **NO — frozen pre-migration archive** (read for prior-art, never written). Correction by pointer only. |

The archive line is why this is worth an owner's ten minutes rather than a
footnote: the false measurement has already been spent once as a **kill
justification** for a different candidate. That kill survives on its other
two legs, so nothing reopens — but a wrong number that has begun laundering
into unrelated decisions is the compounding kind.

Note line 90's hedge — *"at rest"* — is the only place the original panel
qualified the number, and it is the one phrasing that did **not** survive
into either binding document. The pin and `CAPTURES.md` both carry it as a
flat property of the universe. That is the specific way the claim hardened.

## Why file it rather than fix it

Because the panel cannot fix the site that matters. `2026-08-01_b4_skew_activation_pin.md`
is hash-frozen and this row's whole point is that quietly editing a frozen
registration is worse than the error it would correct. The owner's ruling is
needed on one question: **does this correction land as a dated append to the
pin (leaving the frozen text intact and visibly wrong), or does the pin's
hash get re-cut with a recorded reason?** The two editable sites should be
corrected either way, and should point at whatever the owner rules.

What must NOT happen, stated here so a later reader cannot mistake this row
for an opening: **this is not a reopening of B2 or B4.** The separation test
still cannot run at n≈1.5 non-persistent names; the days-to-cover
replacement stands; nothing about the B4 activation pin's thresholds, dates
or primary statistic is in question. Only the sentence explaining why.

## Pre-registered kill criterion

This row is **wrong and closes unbuilt** if a re-run of the sweep above over
`data/shortability/*.parquet` ∩ `data/universe.csv` returns **0**
`hard_to_borrow` rows on 2026-07-26. One command, no judgement. (It returns
2 today: PSKY, TER.)

It is **overtaken and closes** if the owner rules that the frozen pin's
sentence stands as written with the correction recorded elsewhere — that is
a legitimate answer to the question this row asks, not a failure of it.

It is **done** when: the two editable sites state the measured figures, and
the frozen pin either carries a dated append or is recorded as
deliberately-left-standing with a pointer to the correction.

## Effort · horizon

~0.25 person-days, almost all of it the owner's ruling on the frozen site.
No code. No registry row and no DSR debt — this is a records correction, not
a trial. No hard deadline; the natural one is the shortability stream's own
pre-registered 60-trading-day read (~2026-10-20), which should not be
interpreted by someone holding a false prior about the panel it reads.

---

## Triage note — 2026-09-14 (annotation only; the body above is untouched)

**Kill criterion re-run independently this run; it does not kill the row.**
Sweeping all 33 `data/shortability/*.parquet` inner-joined on
`data/universe.csv`, counting `borrow_status == "hard_to_borrow"`:

- **2026-07-26 (registration date): 889 in-universe names, 2 hard to borrow —
  PSKY and TER.** The criterion required 0.
- **25 of 33 sessions carry at least one** HTB name, mean **1.58**, max **8**.
  (The body says 24 and ~1.5; the one-day difference is a universe-snapshot
  artifact and is immaterial.) Latest session 2026-09-11: 2 of 885 — CPB, OKE.

Text sites confirmed verbatim: `CAPTURES.md:147-148` and
`research/2026-08-01_b4_skew_activation_pin.md:42-46`.

**Why triage is ranking this above its own P4/P5 substance: it is the premise of
a forward clock that binds in five weeks.** `CAPTURES.md:347-352` pins the
shortability stream's minimum accrual at **60 trading days** plus the
pre-registered hypothesis *"excluding HTB names from the momentum top-50 changes
selection ≥1 name/month"*, measured BEFORE any return is looked at, with the
explicit vacuity escape *"if the screen never binds on R1000 names, the test is
vacuous and the stream stays capture-only."*

Counted from the accrued files this run: day zero **2026-07-27** (07-26 was a
forced Saturday shakedown), 32 trading-day captures on the books through 09-11,
so the 60th trading day lands **2026-10-19**. **This row's measurement is the
input that vacuity escape turns on** — a flag that fires on 25 of 33 days is not
a flag that "never binds". Whoever reads that test in five weeks will read it
against a panel three registered documents describe as all-zeros.

**The ruling is the item.** A routine must not edit the hash-frozen pin
(`2026-08-01_b4_skew_activation_pin.md`) or the frozen archive
(`research/RESEARCH_QUEUE.md:2332`, where the false figure was already spent
once as one of three kill legs for an unrelated candidate). The single question
is whether the correction lands as a **dated append** or the pin's hash is
**re-cut with a recorded reason**. The two editable sites (`CAPTURES.md`,
`2026-08-01_quant_panel_suggestions.md` x3) are ~0.1 pd once that is answered.
