Skip to content

v0.7.0 freeze-prep: re-pin Semgrep CE 1.176.0, Joern 4.0.617, OpenTaint analyzer/2026.09.03 and re-run all 33 slices - #150

Merged
DavidBakerEffendi merged 7 commits into
mainfrom
dave/v070-pin-bumps
Sep 4, 2026
Merged

DavidBakerEffendi merged 7 commits into
mainfrom
dave/v070-pin-bumps

Conversation

@DavidBakerEffendi

@DavidBakerEffendi DavidBakerEffendi commented Sep 4, 2026 •

Copy link
Copy Markdown
Collaborator

Follows #146 (rebased onto it after its merge). Takes the three remaining bump-or-hold decisions of the v0.7.0 freeze-prep against the 2026-09-03 survey: Semgrep CE 1.175.0 → 1.176.0, Joern 4.0.614 → 4.0.617, OpenTaint analyzer/2026.08.27.17eb0fe → analyzer/2026.09.03.9752bd2, each re-run across every slice at the unchanged fixture revision. With #146 every gapped pin in the survey is current.

Refs #138 (closed by #146); refs #144.

Commits, in freeze-prep order

  1. Re-pin — declarations for all three move; the pin-currency review entry in docs/adapters.md records the witnessed bases (Semgrep --version; Joern console banner from the SHA-512-verified v4.0.617 macOS distribution; OpenTaint jar db3a6163… and models 8746b959…, matching the release API's digests and re-witnessed by the runner before every case). The vendored Semgrep rules snapshot is held per policy. The Semgrep modeling-matrix anchor moves with the heading in the rule comment and the three native provenance files, as the v0.6.0 review did.
  2. Evidence — all 33 populations (Joern 6 kernels + 3 modeling + 3 native; Semgrep 11 + 3 + 3; OpenTaint 2 + 1 + 1), 1,278 results.
  3. Development-scope freeze over the same 82 reports. After Re-bind the development freeze to a surviving revision, and refuse to freeze one the squash merge discards #149 landed, main was merged in and the manifest recut bound to main's tip (9dba9a72), the commit this PR's squash commit will have as its parent — the shape Re-bind the development freeze to a surviving revision, and refuse to freeze one the squash merge discards #149 requires so the recorded revision survives the merge. The digests bind the regenerated evidence; validate-freeze and generate-results --check pass on the branch.
  4. Regenerated results/ — generate-results --check passes; no staleness caveat anywhere.

OpenTaint: still driven through the jar, CLI switch recorded as owed

The hidden --entry-points flag on opentaint scan merged in seqra/opentaint#395 on 2026-09-03 (closing #390), but it has not shipped: the CLI's latest release is v0.4.5 (2026-07-10) and the dated analyzer/* releases carry only the jar and models. A CLI built from main would have no release identity to witness, so the invocation is unchanged here and the review entry dates the switch as owed on the first CLI release that includes #395.

Outcome deltas

None. All 33 populations reproduce every committed outcome:

Adapter Populations Results Moves Kernel diagnostics
Joern 4.0.617 12 486 0 byte-identical
Semgrep CE 1.176.0 17 678 0 byte-identical
OpenTaint 2026.09.03 4 152 0 byte-identical

Kernel configuration hashes are all byte-identical to the superseded reports (the #141 guard confirming no query/rule/semantics file moved); the seven native hashes move with the witnessed identity by construction, plus the Semgrep JavaScript modeling hash and native provenance files via the anchor edit. The only textual change in retained evidence is in the tool-native decline rationales: the re-run embeds today's partition constants, so Joern's category-S cells now carry the A26 scan-bundle grounds and Semgrep's Java/JavaScript cells the A27-confirmed wording, where the v0.6.0-era reports carried the earlier text — the amendment convention's re-witness-never-patch rule.

Machine cleanup (per request)

Removed the superseded Joern 4.0.610/4.0.614 distributions, the 4.0.432 system install under /opt/joern and its /usr/local/bin/joern symlink, the 2026-08-27 OpenTaint assets, a stale pyre-check 0.9.25 venv, and the redundant Infer archive. scripts/probe-joern-scan-native.sh keeps naming joern-v4.0.614 as the distribution A26 probed; that is a record, not a live path.

Verification

cargo fmt --check · cargo test (217 passed) · cargo run -- validate (852 cases) · cargo run -- validate-reports (82 reports, 66 hashes checked, 0 known-stale) · validate-freeze reports/freeze.json · generate-results … --check (current).

🤖 Generated with Claude Code

DavidBakerEffendi and others added 7 commits September 4, 2026 10:55
…yzer/2026.09.03.9752bd2

The three remaining gapped rows of the 2026-09-03 survey, each bumped
because no hold reason was on record. Every declaration moves; the
pin-currency review entry records the bases, holds the vendored Semgrep
rules snapshot, and records the OpenTaint CLI switch as owed: the hidden
`--entry-points` flag (seqra/opentaint#395) is on main but not in any
released CLI. Retained-evidence descriptions keep naming the build they
were measured on.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… pins

All thirty-three populations at the unchanged fixture revision: Joern
4.0.617, Semgrep CE 1.176.0, OpenTaint analyzer/2026.09.03.9752bd2 (jar
db3a6163…, models 8746b959…). No outcome moves.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…elopment scope

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…elopment scope

Bound to main's tip, the revision this branch's squash commit will have as
its parent, so the recorded revision survives the merge (docs/freeze.md);
the manifest digests bind the regenerated evidence.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@DavidBakerEffendi
DavidBakerEffendi merged commit e11d9e0 into main Sep 4, 2026
3 checks passed
@DavidBakerEffendi
DavidBakerEffendi deleted the dave/v070-pin-bumps branch September 4, 2026 09:32
DavidBakerEffendi added a commit that referenced this pull request Sep 4, 2026
#150 re-pinned Semgrep CE to 1.176.0, Joern to 4.0.617 and the OpenTaint
analyzer to analyzer/2026.09.03.9752bd2, and re-ran all 33 slices. The pin
strings it edited in `src/main.rs` now live in five modules, so each is
re-applied where it belongs: `pinned_identity` in `src/adapters/mod.rs`, the
two release-asset digests and the release tag in
`src/adapters/opentaint.rs`, the Scala coverage note in
`src/adapters/bifrost.rs`, and the partition and amendment rows in
`src/modeling.rs` and `src/native.rs` — including the four
`semgrep-ce--11760---oss-only` anchor slugs that moved with the version.

`cargo test` runs the same 222 tests by the same names as `origin/main`,
`cargo clippy --all-targets` reports the same warnings, and `validate`,
`validate-reports` and `generate-results --check` all pass.

Refs #130

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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