Skip to content

Freeze the live corpus as wic-50 v2 - #6

Merged
devYRPauli merged 3 commits into
mainfrom
feat/freeze-wic-50-v2
Oct 14, 2026
Merged

devYRPauli merged 3 commits into
mainfrom
feat/freeze-wic-50-v2

Conversation

@devYRPauli

Copy link
Copy Markdown
Owner

Problem

A run of the embedded scenarios records its corpus as custom. Only wic-50 v1 is frozen, and the live scenario set no longer matches v1. The site then shows "catalog unavailable" for every row of a fresh run.

This PR is stacked on #4. Merge #4 first.

Fix

  • crates/wic-core/catalogs/wic-50-v2.json freezes the live set as wic-50 revision v2. Its hash is sha256:9661db2f98e15d84a5191948478bace511572fc5d6f24ca3102025b28eccdfe5.
  • The runner and the site match a corpus hash against every frozen catalog, not only v1.
  • A guard test fails when the embedded scenarios differ from v2. A scenario edit therefore needs a new frozen revision.

Testing

  • cargo fmt --check and cargo clippy --workspace --all-targets -- -D warnings are clean.
  • cargo test --workspace: 154 tests pass. Fix the three Codex findings on #2 #4 has 150.
  • site_joins_a_wic_50_v2_result_to_the_frozen_v2_catalog gives the site a result that names wic-50 v2. The test checks for the scenario description and for no "catalog unavailable" marker in appendix.html and results.json.
  • Each new test fails under its mutant:
    • The runner from Fix the three Codex findings on #2 #4: the embedded run records custom, not wic-50.
    • select_catalog searches only the first frozen catalog: the later-catalog test fails.
    • load() keeps only the first frozen catalog: the v2 site test fails.
    • One embedded scenario edited: the guard test fails.
  • A run recorded on Fix the three Codex findings on #2 #4 gives 200 "catalog unavailable" markers in the site. With this branch, the same result gives 0.
  • willitcall site --results results/ gives output that is byte-identical to Fix the three Codex findings on #2 #4.
  • The tools unittest and the redaction ledger check pass.

This PR and the Windows model path PR change the same import block in site/data.rs. The second one to merge needs main merged in first. The merged state of both passes all 155 tests.

devYRPauli and others added 3 commits October 13, 2026 18:24
A run of the embedded scenarios recorded the corpus as custom, because
only wic-50 v1 was frozen and the live set no longer matches it. The site
then showed "catalog unavailable" for every row of a fresh run.

Freeze the live set as wic-50-v2.json. The runner and the site now match
a corpus hash against every frozen catalog. A guard test fails when the
embedded scenarios drift from v2, so an edit must freeze a new revision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The guard test checks the catalog list, but no test proved that
load() gives the v2 catalog to the site. A result that names wic-50
v2 now must render its scenario description and no "catalog
unavailable" marker in appendix.html and results.json. With load()
limited to the first frozen catalog, the test fails.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@devYRPauli
devYRPauli merged commit fcddb84 into main Oct 14, 2026
8 checks passed
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