Skip to content

Corpus delivery: current 38-case pre-1.0 and 80-case beta qualification tracks #456

Closed as not planned
5 of 5 issues completed
Closed as not planned

Description

@pengfei-threemoonslab

Current delivery contract — 2026-09-08

This remains the cross-release data/evidence parent, not an additional release gate. #572 owns the v1.0 go/no-go and sequencing. The policy approved in #519 is implemented; this issue owns delivery against it, not a new policy.

Track Live requirement Delivery
Optional 0.x 38 cases: 14 passed / 14 review-required / 10 blocked, 21 strata, at least 16 qualifying origins Verify any #508 frozen-data handoff; #509 produces/validates exact receipts and promotion evidence
1.0, including prerelease tags 80-case beta: 30 passed / 20 review-required / 30 blocked, 21 weighted strata, at least 32 qualifying origins #512 human primary labels and final-wheel evidence → #509 independent signing/promotion → #510 exact-candidate rehearsal

Both keep κ≥0.80, per-stratum holdout≥20%, zero unsafe auto-passes and the approved exact-outcome floors. Actual insufficient-evidence remains a coverage miss; it is not a ground-truth class. Current qualification results are v6, corpus/index v4; #569 coordinates the deliberate report 1.0 compatibility change before final v1.0 receipts.

Beta sourcing starts now, in parallel with engineering. Neither a v0.16 publication nor completed pre-1.0 qualification is a prerequisite for 1.0. Do not promote agent-produced pre-1.0 labels into beta human labels, or count the old miner labels as an adjudicated corpus.

Remaining work

#508 is closed, but a closed issue is not the frozen-data handoff. Private label material is intentionally ignored by Git; verify its hashes, adjudication, exposure and admissibility when using that track. Do not infer either absence or completion of private work from repository visibility alone.

Standing constraints

Fixtures, historical miner labels, beta primary labels, candidate receipts and pilot outcomes answer different questions. Holdout eligibility is a fact about exposure; a fix prompted by a case makes that case tuning material. Scope must be reviewed before reading candidate outcomes; no fabricated effects, authority or deployment bindings. #563/#564's failed historical catch bars and #559/#567 integrity repairs remain release prerequisites under #572.

The original sourcing and restructuring record remains below as history. Its 56/100 counts, expected-IE class and “0.x first” sequence are superseded, not active instructions.

Historical plan — superseded counts and sequencing; retained for rationale

Follows the decision in #341 (Route 2, recorded by Pengfei Hu on 2026-08-29 in
docs/release-evidence-policy-decision.md),
with the labeling protocol fixed by Amendment 1 (#476).
The policy is approved and enforced; this issue is the data work.

Restructured 2026-09-03. The original checklist mixed tag-blocking work with
1.0-track work in one list, which made "is #456 done?" unanswerable and left
1.0 items sitting in the v0.16.0 milestone. The work is now five sub-issues,
split by what blocks it rather than by checkbox. This issue is the tracking
parent and holds no work of its own.

It is deliberately unmilestoned: the three sub-issues that block the tag carry
v0.16.0, so that milestone closes when the tag can ship. This parent outlives it —
it is not done until #512 retires the pre_1_0 tier — and putting it in a release
milestone would keep that milestone open until 1.0, which is the defect this
restructure exists to remove.

What the deliverable is

A signed safety-qualification.json that says how the engine scored on 56 adjudicated,
receipt-bound cases — exactly two in each of the 28 profile × decision strata
— bound
to the exact release wheel. Until it exists, the release pipeline fails closed at
Verify production qualification and exact wheel binding, and v0.16.0 cannot publish.

Two cases per cell rather than the production weighting scaled down: a zero-count cell
deletes a profile/outcome pair's only evidence, which is a strictness reduction. It also
stops a good average from hiding a profile the engine is useless on.

Requirement Value
Cases 56 — 14 each passed / review_required / insufficient_evidence / blocked
Strata 2 per (profile, decision), all 28 non-empty
Split ≥ 1 holdout per stratum, computed as ceil(2 × 0.20). A floor: marking both holdout is accepted
Origins ≥ 23 real_history / rejected_or_reverted / design_partner
Cohen's κ ≥ 0.80 across the two blind primary labels
Unsafe auto-passes 0, per profile and overall
Receipts one terminal verify receipt per case, unique digest, report schema 0.43

The exact shape is in benchmark/safety-qualification/README.md, and
tests/test_safety_qualification.py::test_a_conforming_56_case_corpus_qualifies_a_0_x_wheel
builds a machine-checkable reference corpus of exactly this shape.

Blocking the v0.16.0 tag

Sub-issue State
Cut C #508 — produce and freeze the 56 × 2 blind labels Owner-gated: two rater sessions on different model families, owner adjudicates and is never a rater. Four preconditions still open
Cut D #509 — receipts, the signed artifact, the promotion variables Blocked on #508
Gate #510 — rehearse the release gate against an artifact that misses the bar Actionable today; depends on neither labels nor receipts

Not blocking the tag

Sub-issue Why it is here
Gate 2 #511 — participant validation of the frozen corpus Non-gating by decision. Cannot start before receipts exist
Deliverable 2 #512 — the 100-case beta corpus Required for 1.0, not for 0.x. No promotion shortcut: pre_1_0 evidence cannot qualify a 1.0 tag, by construction

Done — the sourcing, in four merged PRs

Sourcing is finished. Nothing in the inventory needs mining before Cut C.

Standing constraints, for whoever picks this up

Done when

Activity

  1. added
    P1Picked up inside the current milestone window; keep about 15 open
    area:benchmarkLabeled corpus, accuracy measurement
    area:releaseRelease pipeline, packaging, and safety qualification
    on Aug 29, 2026
  2. added this to the v0.16.0 milestone on Aug 31, 2026
  3. pengfei-threemoonslab commented on Aug 31, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    Milestone: attached to v0.16.0 — by this issue's own summary it is the tag's blocking work.

  4. pengfei-threemoonslab commented on Aug 31, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    Cut C is unblocked: the labeling protocol is decided and recorded as Amendment 1 (#476) — two independent agent sessions on different model families, owner adjudicates every disagreement, six admissibility conditions including archived per-label transcripts. A new non-gating Gate 2 (participant validation) sends each real-history case's author/reviewer a case card after receipts exist; its five pre-registered rules are in the amendment and the card/template/log live in benchmark/safety-qualification/participant-validation.md. Body updated accordingly; execution order is now Cut A (inventory) → Cut B (mining) → calibration round → labels → freeze → receipts → Gate 2 outreach.

  5. 11 remaining items

  6. pengfei-threemoonslab commented on Sep 3, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    Restructured into five sub-issues (#508, #509, #510, #511, #512), split by what blocks each rather than by checkbox. The old checklist mixed tag-blocking work with 1.0-track work, which is why "is this done?" had no clean answer — and why v0.16.0 was the only milestone, holding an item (Deliverable 2) that by definition cannot be finished before 1.0.

    Blocking v0.16.0: #508 (labels) → #509 (receipts + signed artifact + variables), plus #510, which is actionable today and depends on neither.

    Not blocking: #511 (non-gating by decision, and cannot start before receipts exist) and #512 (required for 1.0; no promotion shortcut from pre_1_0 evidence). Both are unmilestoned — there is no 1.0 milestone in this repository, and creating one is a product decision rather than bookkeeping.

    One thing worth flagging: the release rehearsal was orphaned, not merely unstarted. #341 is closed and delegates it to #355; #355 was closed on 2026-08-18 with this criterion still unticked — "At least one deliberate mismatch/failure path is rehearsed and shown to fail closed before publication" — and release-rehearsal.yml has run 0 times. So the gate has only ever been exercised in the direction that passes. That is now #510, rather than a pointer at two closed issues.

  7. removed this from the v0.16.0 milestone on Sep 3, 2026
  8. pengfei-threemoonslab commented on Sep 4, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    From #520: insufficient_evidence leaves the ground-truth vocabulary, so "exactly two in each of the 28 profile × decision strata" becomes 21 strata, and the 56 needs restating (21 × 2 = 42, or 56 by raising the per-cell count). The three real decisions' floors are unchanged. Also see the note on #508 about the 12 shipped-sample slots that have no base//head/ form.

  9. changed the title [-]corpus delivery: build the 56-case pre-1.0 qualification artifact (and the 100-case 1.0 bar)[/-] [+]Corpus delivery: current 38-case pre-1.0 and 80-case beta qualification tracks[/+] on Sep 8, 2026
  10. pengfei-threemoonslab commented on Sep 10, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    Deferred historical-exposure follow-up from #512 / merged PR #624 (main e004e2ae3edf8a184a55e732ebe865e9cbfcd449): the beta inventory now preserves public calibration/development exposure from #256 (all ten W26 subjects) and #582 (ADK #1975/#1977), including cases whose derived fixtures have generic names. Their old Cut A rows can still say either because the older register and literal tests/src detector did not capture those records.

    This is concrete input to this parent's existing exposure/admissibility audit and #509's handoff validation, not a new qualification policy or a new v1.0 prerequisite. Before any optional pre-1.0 handoff is reused, reconcile those known facts against the proposed split and record the resulting shortfall/replacement requirement; do not infer a clean holdout history from an absent source-code reference. Preserve historical label/receipt bytes and require accountable re-freeze if an actual frozen handoff is affected. The current beta register is corrected; no private corpus has been inspected or relabeled here.

    The related ADK #125/#2148 graph/reimplementation must also retain its family/split obligation. #624 records it without asserting independent diversity or human admission. This residual audit stays deferred under the existing corpus/handoff issues rather than opening a duplicate or silently changing the optional historical track.

  11. added
    workstream:qualificationQualified-gate evidence and attribution; distinct from advisory readiness.
    status:deferredExplicitly deferred or conditional; remains unresolved and is not ready for pickup.
    on Oct 2, 2026
  12. pengfei-threemoonslab commented on Oct 7, 2026

    @pengfei-threemoonslab
    ContributorAuthor

    Closing: #572 is the single qualified-gate ledger over the same children (#509–#512). Standing constraints and the 2026-09-10 exposure-audit comment stay linked from #512.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Picked up inside the current milestone window; keep about 15 openarea:benchmarkLabeled corpus, accuracy measurementarea:releaseRelease pipeline, packaging, and safety qualificationepicTracking issue coordinating a group of related issuesstatus:deferredExplicitly deferred or conditional; remains unresolved and is not ready for pickup.workstream:qualificationQualified-gate evidence and attribution; distinct from advisory readiness.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions