From 92fee471365bdb20079bdb1d3047971cc8de506a Mon Sep 17 00:00:00 2001 From: David Baker Effendi Date: Tue, 25 Aug 2026 21:31:59 +0200 Subject: [PATCH] Pin the active Bifrost candidate to v0.10.6 v0.10.6 carries the PHP static-property usage fix from bifrost-dev#2535, the usage-side half of the declaration work in #2416. Confirmed against the public mirror: push_member_hit reads `let start = node.start_byte();` at v0.10.6, so the sigil is no longer skipped and php-parity-static-property-access should report both usage ranges in full. The revision moves in the same five places as the previous bump, for the same reasons: reference-image.sh refuses to build when the candidate registry and the reference-environment manifest disagree, the reproduction contract and the freeze-shard test assert the exact pair, and the historical v1 page names the active candidate so readers know its own tables are older evidence. The v0.10.2 pin for candidates-v0.3.0.json is deliberately untouched; that registry belongs to a frozen release. The development page's caveat said every Bifrost measured since the PHP audit failed at least one of those cases. That stops being true here, so it now says no version contemporary with that run satisfied them and both pass from v0.10.6. Local behavioural verification did not complete. Runs against a staged corpus on this machine now report the analyzer unavailable for every language, and the same corpus scored 98 of 110 four days ago. The cause is local: v0.10.5 fails identically on the same staged corpus, the repository tree passes 142 cases under v0.10.6, and the corpora are byte-identical apart from caches a run writes itself. Work-dir reuse, stale caches, and disk pressure were each ruled out by reproduction. CI stages its own corpus per run and has produced a scored legacy report that way, so this does not implicate the pin -- but it does mean the numbers behind this bump are static checks, not a measured run. Co-Authored-By: Claude Opus 5 --- adapters/candidates.json | 4 ++-- containers/reference/v1/manifest.json | 4 ++-- .../content/docs/results/development-case-comparison.md | 9 +++++---- .../content/docs/results/evaluation-real-project-v1.md | 4 ++-- scripts/validate-reproduction-contract.sh | 4 ++-- tests/test_freeze_shards.py | 4 ++-- 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/adapters/candidates.json b/adapters/candidates.json index 9f389a0..1cd1bdb 100644 --- a/adapters/candidates.json +++ b/adapters/candidates.json @@ -5,9 +5,9 @@ "id": "bifrost", "runner": "bifrost", "name": "Bifrost", - "requestedVersion": "v0.10.5", + "requestedVersion": "v0.10.6", "source": "https://github.com/BrokkAi/bifrost", - "revision": "d775e3b4656f418c7025c06577ce707e1556da91", + "revision": "6624e883dc8b8268dd4c454c06f8eebea173308e", "advertised": true, "referenceRunner": "bifrost", "runtimeNetworking": "disabled", diff --git a/containers/reference/v1/manifest.json b/containers/reference/v1/manifest.json index 728c69c..9e52926 100644 --- a/containers/reference/v1/manifest.json +++ b/containers/reference/v1/manifest.json @@ -30,9 +30,9 @@ }, "analyzer": { "name": "bifrost", - "requestedVersion": "v0.10.5", + "requestedVersion": "v0.10.6", "source": "https://github.com/BrokkAi/bifrost", - "revision": "d775e3b4656f418c7025c06577ce707e1556da91" + "revision": "6624e883dc8b8268dd4c454c06f8eebea173308e" }, "toolchains": { "cargo": "cargo 1.96.0", diff --git a/docs/src/content/docs/results/development-case-comparison.md b/docs/src/content/docs/results/development-case-comparison.md index 8c9a3ae..597d687 100644 --- a/docs/src/content/docs/results/development-case-comparison.md +++ b/docs/src/content/docs/results/development-case-comparison.md @@ -23,10 +23,11 @@ every PHP case. That cannot describe the corpus as it stands. The PHP human ground-truth audit landed on 22 July 2026, two days before this run, and rewrote `php-property-access` and `php-parity-static-property-access` -to expect sigil-inclusive ranges (`$last`, `$sent`). Every Bifrost version -measured since has failed at least one of them: both under v0.10.1, and -`php-parity-static-property-access` alone under v0.10.5, which fixed the -declaration side but not the static usage side. +to expect sigil-inclusive ranges (`$last`, `$sent`). No Bifrost version +contemporary with this run satisfied them: both failed under v0.10.1, and +`php-parity-static-property-access` still failed under v0.10.5, which corrected +the declaration side but not the static usage side. Both pass from v0.10.6, +which is later than anything this page could describe. So this row reflects a corpus state from before that audit, or a shared denominator that excluded those two cases for a reason this page does not diff --git a/docs/src/content/docs/results/evaluation-real-project-v1.md b/docs/src/content/docs/results/evaluation-real-project-v1.md index f6a959c..e409eef 100644 --- a/docs/src/content/docs/results/evaluation-real-project-v1.md +++ b/docs/src/content/docs/results/evaluation-real-project-v1.md @@ -13,8 +13,8 @@ v1 and v2 prospective slices, the separately reviewed legacy core, controls, overflow, and remaining development cases. This page remains the detailed historical v1 result; it does not become a proxy for the other strata. -The active development candidate is public Bifrost v0.10.5 at immutable commit -`d775e3b4656f418c7025c06577ce707e1556da91`. No result for that release is +The active development candidate is public Bifrost v0.10.6 at immutable commit +`6624e883dc8b8268dd4c454c06f8eebea173308e`. No result for that release is published on this page: the tables below remain historical v0.2.0 evidence produced with Bifrost v0.8.8, and any upgraded result must be published as a subsequent snapshot or release with its own provenance. diff --git a/scripts/validate-reproduction-contract.sh b/scripts/validate-reproduction-contract.sh index 2b2f740..7f60b5a 100755 --- a/scripts/validate-reproduction-contract.sh +++ b/scripts/validate-reproduction-contract.sh @@ -70,8 +70,8 @@ jq -e ' jq -e ' [.candidates[] | select( .id == "bifrost" - and .requestedVersion == "v0.10.5" - and .revision == "d775e3b4656f418c7025c06577ce707e1556da91" + and .requestedVersion == "v0.10.6" + and .revision == "6624e883dc8b8268dd4c454c06f8eebea173308e" )] | length == 1 ' "$registry" >/dev/null diff --git a/tests/test_freeze_shards.py b/tests/test_freeze_shards.py index e3f303c..80cdf6c 100644 --- a/tests/test_freeze_shards.py +++ b/tests/test_freeze_shards.py @@ -57,10 +57,10 @@ def test_v030_registry_uses_public_native_bifrost_identity(self): active_bifrost = next(item for item in active["candidates"] if item["id"] == "bifrost") frozen_bifrost = next(item for item in frozen["candidates"] if item["id"] == "bifrost") self.assertEqual( - active_bifrost["requestedVersion"], "v0.10.5" + active_bifrost["requestedVersion"], "v0.10.6" ) self.assertEqual( - active_bifrost["revision"], "d775e3b4656f418c7025c06577ce707e1556da91" + active_bifrost["revision"], "6624e883dc8b8268dd4c454c06f8eebea173308e" ) self.assertEqual(frozen_bifrost["requestedVersion"], "v0.10.2") self.assertEqual(