Skip to content

Claimify-stage losses are silent: 78% of kept candidates never became claims and no ledger row says why #161

Description

@fazpu

Funnel evidence from the glm-4.7-flash arm (conv-26, 2026-07-27; store dumped at /root/store-dumps/flash-20260727/):

  • Selection kept 264 flagged candidates (plain keeps are not ledgered — unknown denominator). 207 of 264 (78%) have claim_id NULL — the kept span grounded no claim, including both adoption-agency gold spans for qa/0003 (selection_keep_flagged on "I took the first step towards becoming a mom - I applied to adoption agencies!" with no claim row).
  • It is NOT span-copy failure at Selection: 206/207 dead spans are verbatim substrings of the rendered documents (checked against .benchmark-runs/v4-glm2/documents/conv-26/*.md).
  • It is NOT wholesale omission: the 103 decontextualize calls averaged 791 output tokens (min 7, max 6290) yet only 168 claims landed (~1.6/call). The model writes claims; they die after the fact.
  • The death happens inside workers/e2.py where _grounded_claim has three silent return None gates (span not verbatim-findable at anchor; span outside kept ranges — "Selection is enforced, not advisory"; added_context not verbatim in its bundle element), and Claimify-level omission is equally unledgered. _link_flagged_decisions documents the NULL-claim_id invariant but nothing records WHICH gate fired or whether the model simply omitted the span.

Ask: ledger the losses. New decision types (e.g. claimify_omitted, grounding_rejected with a gate/reason enum) written per kept span that produces no claim, so the decision transcript accounts for every keep end-to-end. This extends #147 (candidate coverage) one stage deeper — without it, cross-model extraction comparisons can show THAT a stronger model lands more claims but not WHY, and prompt-vs-code fixes stay guesswork (e.g. tolerant span matching vs Claimify prompt changes).

Sequencing note: wanted BEFORE the next extraction-arm run (glm-5.2-max comparison) so the arm diff explains itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions