Skip to content

Freeze and publish v0.4.0: the expanded-breadth release on four analyzers - #74

Merged
DavidBakerEffendi merged 6 commits into
mainfrom
dave/v0.4.0-freeze
Aug 25, 2026
Merged

Freeze and publish v0.4.0: the expanded-breadth release on four analyzers#74
DavidBakerEffendi merged 6 commits into
mainfrom
dave/v0.4.0-freeze

Conversation

@DavidBakerEffendi

Copy link
Copy Markdown
Collaborator

Summary

Freezes and publishes v0.4.0 — the first expanded-breadth snapshot: all 13 core kernels at their preregistered challenge-tier denominators, all 42 normalized reports re-run at one fixture revision (13a11ff4…) on Bifrost v0.10.6 (build 18d09c57), CodeQL 2.26.3, Joern 4.0.610, Semgrep CE 1.174.0. 744 frozen cases, 2452 scored case results, revision pinned to the v0.4.0 tag.

The saturation story is over — nobody is perfect on the expanded kernels:

  • Bifrost 0.10.6: smoke 115/118 (only Ruby's pair + the modeled-external calibration non-decisive); 222 of 227 decisive core assertions correct with the challenge strata beginning to decide (33 decided, all 33 correct); the rest declined honestly. Published defects, upstream-tracked: the five-language element-object crash (#2639), Rust gap_contract (#2638), Ruby's fully-inconclusive kernel (#2637) — plus an observed instability (java-direct-positive reached in smoke, not-reached in the kernel at the same build) published as observed, not re-run to agreement.
  • CodeQL: first challenge evidence across eleven languages — 509/626, zero incomplete outcomes; deep-relay-chain and recursive-carry 22/22, dynamic dispatch the systematic miss (all 16 reflective-invocation positives missed).
  • Joern: 270/344, reproducing the wave evidence case-for-case, Ruby depth-6 departure preserved.
  • Semgrep: 154 scored (132 correct) / 468 preregistered declines — the bounded profile held exactly.

Publication layer: docs/releases/v0.4.0.md, CITATION → v0.4.0, site snapshot with v0.3.0 archived (evidence pinned to cd572c4), /current → v0-4-0, landing page verified with four vendors (2×2 vendor grids, Semgrep's bounded profile annotated so 14-of-58 reads as declared scope, dialog panels fixed at four-up). Adapter READMEs renarrated against the fresh reports — every "pending the v0.4.0 re-run" deferral replaced with the measured outcome, several stale hashes/timings corrected, and the release-notes issue mapping fixed (#2637 Ruby / #2638 gap_contract / #2639 element-object).

Validation

cargo fmt --check · cargo test (106) · validate (744) · validate-reports (42) · validate-freeze · generate-results --check · npm run check (0) · npm run build (26 pages; /current redirect and archived v0.3.0 evidence links spot-checked against the pinned commit).

🤖 Generated with Claude Code

DavidBakerEffendi and others added 6 commits August 26, 2026 00:35
All 42 normalized reports regenerated at one fixture revision over the
expanded populations: Bifrost v0.10.6 (build 18d09c57) across the pinned
118-case smoke slice and thirteen kernels, CodeQL 2.26.3 across eleven,
Joern 4.0.610 across six, and Semgrep CE 1.174.0 across eleven.

Bifrost v0.10.6 headlines: the smoke slice decides 115/118 (Ruby's pair and
the modeled-external calibration are the only non-decisive results); the
expanded kernels carry zero decisive mismatches outside Java (37/38) and
Kotlin (25/28), with the challenge strata beginning to decide (Java,
JavaScript, Python, and TypeScript each gain challenge decisions). The
element-object internal_invariant crash reproduces in five languages and
Ruby remains fully inconclusive — both tracked upstream (#2637, #2639).

CodeQL's first challenge-tier evidence spans all eleven covered languages:
509/626 overall with zero incomplete outcomes; challenge strata score 14-21
of 26 (strong on containers and depth, consistently missing dynamic
dispatch). Joern and Semgrep reproduce their retained distributions
case-for-case.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
All forty-two normalized reports — Bifrost v0.10.6 smoke plus thirteen
kernels, CodeQL 2.26.3 eleven kernels, Joern 4.0.610 six kernels, and
Semgrep CE 1.174.0 eleven kernels — bound at one fixture revision over the
expanded challenge-tier populations under the v0.4.0 tag.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ships the publication layer for the already-committed v0.4.0 freeze
(manifest 91b0008a…, revision 306211a, tag v0.4.0): forty-two reports
covering Bifrost v0.10.6, CodeQL 2.26.3, Joern 4.0.610, and Semgrep CE
1.174.0 over the first expanded-breadth core — all thirteen kernels
carrying the preregistered challenge-tier templates.

- Release notes at docs/releases/v0.4.0.md, following the v0.3.0 format:
  freeze identity, the forty-two bound reports with digests, per-kernel
  correct decisions with the challenge stratum shown separately, and the
  reproduction and immutability contracts. Every number derives from
  results/results.json and reports/freeze.json, and no expanded-core number
  is compared with a 16-template v0.3.0 one.
- Site: v0.3.0's results model archived under docs/src/data/archive/ with
  its evidenceRef pinned to release commit cd572c4; new /snapshots/v0-4-0/
  pages; /current and the sidebar point at v0.4.0, v0.3.0 listed as
  archived.
- LandingResults picks up Joern and Semgrep from the model without a vendor
  list edit, but three presentation issues came with four analyzers: cards
  now state the decided fraction beside the population fraction, so a
  declared-capability decline no longer reads as a wrong answer; four
  vendors lay out as a 2×2 grid on the card and a fixed-width grid in the
  dialog rather than one stretched trailing panel; and the per-language core
  sizes are enumerated instead of rendered as a misleading range. The
  hand-written verdict is rewritten for this snapshot.
- CITATION.cff bumped to v0.4.0; docs/milestones.md gains a factual
  expanded-breadth status section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The v0.4.0 freeze re-ran all forty-two reports on Bifrost v0.10.6 (build
18d09c57), CodeQL 2.26.3, Joern 4.0.610, and Semgrep CE 1.174.0 at one
fixture revision over the expanded populations, but the Bifrost and CodeQL
adapter READMEs still narrated the pre-freeze state. Every number below is
derived from the committed reports on this tree, never carried over.

- Bifrost: heading and build identity moved to v0.10.6 / 18d09c57, and the
  seven "pending the v0.4.0 freeze-prep re-run" language deferrals (Python, Kotlin,
  TypeScript, C#, Go, C, Rust) replaced with the runs' actual outcomes —
  Python 36/58, Kotlin 25/58, TypeScript 34/58, C# 3/58, Go 14/58, C 2/48,
  Rust 2/54 — each with its challenge-stratum decisive set and diagnostic
  split. The Java kernel section now reports 37/58 with its classic half at
  31/32, and the smoke section states the published
  dfb-taint-java-direct-positive instability the same way the release notes
  do: reached in the smoke population, not-reached in the java kernel, same
  build and same fixture revision, neither re-run to agreement. A C++
  paragraph is added for the one kernel that had no evidence prose. The
  closing paragraph no longer claims v0.10.2-era smoke inconclusives that
  this build decides.
- CodeQL: the nine deferrals replaced with the expanded results (JavaScript,
  TypeScript, Python, Java 48/58; C# 47/58; Kotlin 46/58; Go 45/58; Rust
  44/54; C++ 42/56; C 41/48), each split classic/challenge with its stratum
  A-D breakdown; the JavaScript configuration hash and the Rust and Ruby
  timings corrected against the reports; and the contradictory duplicate C++
  selection paragraph (56 in one sentence, 32 in the next) collapsed.
- Joern and Semgrep reproduced identically, so they only needed the
  version-context fix: both narrated a per-language table of wave-era
  fixture revisions, which the whole-adapter re-run replaced with the single
  v0.4.0 revision 13a11ff4.
- Upstream trackers cross-referenced where the prose discusses the crashes
  and gaps: bifrost-dev #2637 (Ruby), #2638 (Rust gap_contract), #2639
  (element-object), #2640 (nested-callable roots).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Ruby's coverage gap is bifrost-dev #2637; the element-object crash is
#2639 and the Rust gap_contract crash is #2638. The notes had the first
two swapped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DavidBakerEffendi
DavidBakerEffendi merged commit 86a29e0 into main Aug 25, 2026
2 checks passed
@DavidBakerEffendi
DavidBakerEffendi deleted the dave/v0.4.0-freeze branch August 25, 2026 23:09
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