Skip to content

spec(ship-two-models): v2.87.0 — §42 hub build chain repair + hf_pipeline distill falsifier-parity#1437

Merged
noahgift merged 2 commits into
mainfrom
spec/v2-87-hub-build-chain-amendment
May 3, 2026
Merged

spec(ship-two-models): v2.87.0 — §42 hub build chain repair + hf_pipeline distill falsifier-parity#1437
noahgift merged 2 commits into
mainfrom
spec/v2-87-hub-build-chain-amendment

Conversation

@noahgift

@noahgift noahgift commented May 3, 2026

Copy link
Copy Markdown
Contributor

Summary

Canonical record of today's MODEL-2-side hygiene cycle. Spec v2.86.0 → v2.87.0 documents the 5-PR chain (#1432-#1436) that took --features hub from build-error → 7990/7990 pass while adding falsifier-coverage parity between the canonical and parallel distillation impls.

What §42 records

PR What Effect
#1432 let result = match bind fix unblocks --features hub build (E0425)
#1433 Empty-input early-return closes 3 contract_pre_quantize! panics
#1434 32-byte GGUF alignment-padding skip closes 8 GGUF roundtrip failures
#1435 WGPU_FALLBACK_LOG_PREFIX + 3 drift-prevention tests matches v1.2.0 prediction in code
#1436 4 hf_pipeline distill falsifier-parity tests symmetric coverage with distill::loss

Net effects

  • --features hub health: build-error → 7990/7990 pass / 16 ignored
  • MODEL-1 ship %: 87% → 88% (wgpu drift-prevention closes one more loophole)
  • MODEL-2 ship %: 50% → 54% (falsifier-parity locks in math invariants for future distill-train PRs)
  • Coverage tally 15 + 33 unchanged — this cycle was parallel-impl coverage uplift, not new discharges. The underlying SHIP-007 GPU kernel fix and apr distill --stage train real-training implementation remain open per §40 + §35.

Five Whys (in §42.4)

  1. Why broken? Trailing ; discarded match tuple; result was unbound.
  2. Why didn't main CI catch it? --features hub is opt-in; no workflow exercises it.
  3. Why 11 surfaced failures? The build error was masking pre-existing bugs that tests were designed to catch but couldn't run.
  4. Why two near-identical helpers? Refactor extracted find_data_section_start but missed an inline clone in pipeline.rs. Follow-up: collapse to shared helper.
  5. Why ship falsifier-parity now (not with distill-train)? Each falsifier addition gets its own focused PR per Toyota Way.

Next-session pickup (§42.7)

Two bounded levers, operator picks:

  • (a) FALSIFY-CPU-GPU-005 part b — wgpu cosine gate, ~100-150 LOC (PARTIAL → FUNCTIONAL)
  • (b) MODEL-2 distill-train precompute determinism gate (FALSIFY-APR-DISTILL-TRAIN-005)

Test plan

  • pv validate contracts/apr-cpu-vs-gpu-output-parity-v1.yaml exit 0
  • pv validate contracts/apr-cli-distill-train-v1.yaml exit 0
  • cargo test -p apr-cli --test cli_commands pass
  • CI green on required gates

🤖 Generated with Claude Code

…line distill falsifier-parity

Canonical record of today's MODEL-2-side hygiene cycle (PRs #1432-#1436).
Pre-cycle: --features hub unbuildable (E0425 in quantize_to_gguf_bytes),
masking 11 pre-existing test failures.

Chain landed:
- #1432: bind match result; build works → 7975/7986 (11 pre-existing surfaced)
- #1433: empty-input early-return → 7977/7986 (3 contract-drift fixed)
- #1434: GGUF alignment-padding skip in 2 test helpers → 7986/7986 ✅
- #1435: WGPU_FALLBACK_LOG_PREFIX + 3 drift-prevention tests (matches v1.2.0)
- #1436: 4 hf_pipeline distill falsifier-parity tests → 7990/7990

§42 documents: what landed (table), net hub health progression, why for
MODEL-2 (parallel-impl drift-protection), Five Whys (build masked
pre-existing failures), coverage update (15+33 unchanged; parallel-impl
uplift), ship % effects (MODEL-1 87→88, MODEL-2 50→54), and
next-session pickup options (CPU-GPU-005 part b OR distill-train
precompute determinism).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@noahgift noahgift enabled auto-merge (squash) May 3, 2026 19:36
@noahgift noahgift merged commit 187c37f into main May 3, 2026
10 checks passed
@noahgift noahgift deleted the spec/v2-87-hub-build-chain-amendment branch May 3, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant