docs: pre-v0.32.0 — fill [Unreleased] CHANGELOG + repair README drift gate#1448
Merged
Conversation
…rift gate Two related preparation steps for the v0.32.0 cut decision: ## CHANGELOG Fill out the empty `[Unreleased]` section with today's session body of work (238 commits since v0.31.2): - **CPU/GPU output parity contract** (jidoka armor): `apr-cpu-vs-gpu-output-parity-v1` v1.0.0 → v1.5.0 ACTIVE with **5/5 falsifiers DISCHARGED** in a single 2-PR cycle (#1445 + #1446) — first contract in the SHIP-TWO program to reach complete-evidence terminal state. CUDA + wgpu fallback log prefixes + inline cosine parity gate. - **`apr trace --save-tensor`** — new flag for SHIP-007 layer-0 oracle bisection; `apr-cli-trace-save-tensor-v1` v1.4.0 FUNCTIONAL. - **HF FP16 oracle bisection** — pinpoints SHIP-007 to layer-0 attn_out (cos=0.99999995 attn_norm → 0.9966 attn_out). - **Distillation training contract** — 9/9 falsifiers algorithm-bound. - **MoE expert dispatch parallelized** — 2× speedup (#1396). - **APR file mmap** — unblocks `apr diff --values` on 7B (#1058). - **M32d numerical-parity bundle** — Q/K RMSNorm + rope_theta + chat template (#1228). - **150+ contract algorithm-bind sweep** — record cycle, kernel + format + training + GPU-backend + CLI families flipped from `unbound` to `PARTIAL_ALGORITHM_LEVEL`. ## README drift gate repair `bash scripts/check_readme_claims.sh` was FAILING: - README claimed 1096 contracts, filesystem has 1105 - README claimed 79 CLI commands, `apr --help` lists 80 Fixed both numbers in the contract-backed table AND the prose references. Drift gate now PASS 4/4. Five Whys: 1. Why was the gate failing? README contract counts and CLI counts are stale. 2. Why are they stale? 9 new contracts and 1 new CLI command merged since the last README update. 3. Why didn't the gate catch it earlier? It's a script — not yet wired into CI as a hard gate (FALSIFY-README-001..004 are PARTIAL_ALGORITHM_LEVEL, the shell wrapper is documented in the contract but doesn't fail PRs). 4. Why isn't it a CI gate yet? `readme-claims-v1` is recent (2026-04-24), wired to `bash scripts/check_readme_claims.sh` but not to a workflow step. 5. Why fix it now? Pre-release hygiene — releases must ship green drift gates per `feedback_post_publish_qa_required.md`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 task
noahgift
added a commit
that referenced
this pull request
May 4, 2026
…cision (#1449) After §45 landed the 5/5 DISCHARGE milestone for `apr-cpu-vs-gpu-output-parity-v1`, the natural follow-up question is whether the 238 commits accumulated since v0.31.2 (2026-04-19) warrant a `cargo publish` cut today. ## Verdict: HOLD The release-readiness audit found exactly one load-bearing blocker — SHIP-007 layer-0 attention divergence is empirically pinpointed (cos=0.99999995 attn_norm → 0.9966 attn_out per memory `2026-05-03 SHIP-007 finding`) but **not yet fixed**, so cutting v0.32.0 today would crates.io-ship a binary where `apr run` on a 7B GPU teacher still emits gibberish unless the user passes `--no-gpu`. The §41-§45 jidoka armor makes the failure visible + fail-closed (which is shippable behaviour), but a user-facing `## [0.32.0]` headline that reads "5/5 DISCHARGE on apr-cpu-vs-gpu-output-parity-v1" implies the GPU correctness hole is closed when in truth it is only contained. Per `feedback_fix_root_cause_never_route_around.md`: route-around-via-fallback is acceptable as a *temporary jidoka layer*, but it is muda to ship a release whose headline claims a fix that doesn't exist. ## What §46 records | Subsection | Content | |---|---| | 46.1 | What's accumulated since v0.31.2 (8-row headline table) | | 46.2 | Release-readiness gate audit (6-gate verdict table) | | 46.3 | Why SHIP-007 is the load-bearing blocker | | 46.4 | Pre-flight artifacts shipped alongside this decision (PR #1448) | | 46.5 | **Pre-conditions for the v0.32.0 cut** — 5 falsifiable gates | | 46.6 | Five Whys (why hold / why now / why §46 not extend §45) | | 46.7 | Net effects + ranked open follow-ups | | 46.8 | Spec amendment cadence preserved | ## Pre-conditions (§46.5) for the future v0.32.0 cut 1. SHIP-007 layer-0 attention divergence FIXED (cos ≥ 0.999 at every sub-stage) 2. PR #1448 merged (CHANGELOG `[Unreleased]` populated; README drift gate GREEN) 3. Workspace version bumped 0.31.2 → 0.32.0; `## [0.32.0] - <date>` heading 4. Post-publish QA: `cargo install aprender --force` + /dogfood GO verdict (per `feedback_post_publish_qa_required.md` — v0.31.1 was yanked for skipping) 5. Drift gates GREEN: `check_readme_claims.sh` + `pv validate` + `cargo deny` ## Net effects - Spec v2.90.0 → **v2.91.0** - MODEL-1 ship %: unchanged at 91% (this is metadata, not a falsifier flip) - MODEL-2 ship %: unchanged at 57% - Coverage tally: unchanged (no PARTIAL → DISCHARGED in this cycle) - Single highest-leverage next-session deliverable: SHIP-007 layer-0 attention bisection using `apr trace --save-tensor` + HF FP16 oracle from PR #1423 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 task
noahgift
added a commit
that referenced
this pull request
May 4, 2026
…pre-existing capture gaps (QPostRope + KPostRope) (#1452) Records pre-implementation research for FALSIFY-ATTN-SUB-002 (`trace-attn-sub-stages-v1.yaml` v1.1.0). ## What this evidence pins While researching where to wire AttnScores + AttnSoftmax in `forward_traced_with_plan` (per the v1.1.0 contract), discovered that QPostRope + KPostRope variants exist in the SaveTensorStage enum (lines 47-50) but have **no `emit()` call** in `forward_traced_with_plan`. The RoPE-rotated tensors q_all + k_all are computed at lines 130-131 but never captured. The parent contract `apr-cli-trace-save-tensor-v1.yaml` v1.4.0 (FUNCTIONAL) silently overstates coverage for these 2 stages. ## What FALSIFY-ATTN-SUB-002 will wire When #1451 lands, the next PR will wire 4 capture points (not 2): | Stage | Source line | Existed in enum? | |---|---|---| | QPostRope | post line 133 | YES (gap) | | KPostRope | post line 133 | YES (gap) | | AttnScores | line 152 (per head, accumulator) | NEW (#1451) | | AttnSoftmax | line 160 (per head, accumulator) | NEW (#1451) | ## Why an evidence file, not a 5th stacked PR Four PRs (#1448-#1451) already in flight. A 5th stacked PR would slow CI throughput. Recording the implementation plan here so the next loop iteration can spawn the impl PR off main once #1451 merges. ## Five Whys + cross-references In `evidence/ship-007-layer0-attn-bisection-2026-05-04/forward-traced-research.md`: - Five Whys for scope (4 stages, not 2) - Wire-plan with insertion points - Backward-compat test plan - Next-iteration deliverables checklist ## Net effects - Evidence file lands; no code change in this PR - MODEL-1 ship %: unchanged at 91% - MODEL-2 ship %: unchanged at 57% - Unblocks the next loop iteration's atomic PR 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related preparation steps for the v0.32.0 cut decision:
[Unreleased]CHANGELOG section with today's session body of work (238 commits since v0.31.2)bash scripts/check_readme_claims.sh) — README claimed 1096 contracts / 79 CLI commands, filesystem has 1105 / 80What's in the CHANGELOG entry
apr-cpu-vs-gpu-output-parity-v1v1.5.0 ACTIVE — first contract in SHIP-TWO program to reach complete-evidence terminal state (PRs #1427-#1442, #1445, #1446)apr trace --save-tensorapr-cli-trace-save-tensor-v1v1.4.0 FUNCTIONALattn_out(cos=0.99999995 attn_norm → 0.9966 attn_out) (#1423, #1426)apr diff --valueson 7B (#1058)README drift gate repair
Five Whys (README drift)
readme-claims-v1is recent (2026-04-24), wired tobash scripts/check_readme_claims.shbut not to a workflow step.feedback_post_publish_qa_required.md.Test plan
bash scripts/check_readme_claims.shreturns 4× PASS🤖 Generated with Claude Code