Propose shared corpus revision 1.0.1-proposal-1: war_v3 deterministic War resolver - #11
erinepshovel-code wants to merge 1 commit into
Conversation
Successor proposal to the sealed calibration-family 1.0.0-proposal-1: - Predecessor digest b05cba2c...e5e0 (sealed, merged via PR #5) recorded. - Re-grades exactly two scenarios after the canonical deterministic War resolver: occupied_target_collision and dual_target_collision lose their standing_override UNRESOLVED; notes describe war_v3 outcomes. - Proposed canonical digest f83c96d0...; corpus file digest 28028d51... - All other 33 scenarios unchanged; adoption procedure documented. - Sealed corpus and frozen build SHAs untouched.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1932a3e81e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| from pathlib import Path | ||
| from typing import Any | ||
|
|
||
| from .scenarios import SCENARIOS, TILES, UNITS |
There was a problem hiding this comment.
Import scenarios from a module that exists
When the documented generator is invoked with python3 -m ahbg.deepseek.corpus_revision, this import raises ModuleNotFoundError because the reviewed commit contains no ahbg/deepseek/scenarios.py anywhere in its tree. As a result, maintainers cannot regenerate or verify any of the three committed proposal artifacts; load the scenarios and board data from the existing corpus JSON or add the intended source module.
Useful? React with 👍 / 👎.
| if entry.get("id") in WAR_SCENARIO_IDS: | ||
| entry.pop("standing_override", None) | ||
| entry["note"] = WAR_NOTE |
There was a problem hiding this comment.
Update the collision descriptions to match war_v3
When these two scenarios are re-graded, this transformation changes only standing_override and note, leaving both old descriptions saying the collisions “fail closed (War resolver hmmm).” That is directly false for dual_target_collision, where war_v3 now moves the smallest-unit_id contender, and makes the proposed corpus internally contradictory for adopters that use the descriptions to understand the expected experiment.
Useful? React with 👍 / 👎.
| "proposal_version": REVISION_VERSION, | ||
| "status": "proposal", | ||
| "proposed_by": "DeepCode", | ||
| "proposed_build_sha": _head_sha(), |
There was a problem hiding this comment.
Pin the proposed build SHA instead of reading HEAD
When this generator is run from the reviewed commit or any later checkout, _head_sha() replaces the committed proposal's bcd7cb6… build identity with the checkout's unrelated stack HEAD. Because that value is inside the hashed JSON, regeneration also changes CORPUS_REVISION.sha256 and the documented digest, silently rewriting the proposal's provenance instead of reproducing it; accept the build SHA explicitly or pin the intended war_v3 build.
Useful? React with 👍 / 👎.
| def build_revision() -> dict[str, Any]: | ||
| scenarios = revised_scenarios() | ||
| scenarios_digest = hashlib.sha256(canonical_json(scenarios).encode("utf-8")).hexdigest() | ||
| return { |
There was a problem hiding this comment.
Preserve the common smoke subset in the revision envelope
When an adopter points the existing Grok corpus runner at this successor, the missing common_smoke_subset key makes run_common_corpus.py record an empty list via corpus.get("common_smoke_subset", []), even though the predecessor designates four scenarios and this revision specifically re-grades two of them. This corrupts the run manifest's subset metadata and makes cross-revision smoke-run comparisons misleading; carry the predecessor's unchanged subset into the returned corpus object.
Useful? React with 👍 / 👎.
| "all other 33 scenarios and their fields are unchanged", | ||
| ], | ||
| "board": { | ||
| "authority": "UCNS mobius_seed band centers (research/ucns/src/ucns/mobius_seed.py)", |
There was a problem hiding this comment.
Point the board authority at the canonical UCNS view
In the reviewed tree, research/ucns/src/ucns/mobius_seed.py does not exist; the stack manifest identifies libs/ucns/ as the pinned canonical UCNS view, and the implementation is at libs/ucns/src/ucns/mobius_seed.py. Leaving the nonexistent research path in the successor's machine-readable provenance prevents adopters from following or verifying the claimed board authority, so update it to the manifest-backed canonical location.
AGENTS.md reference: AGENTS.md:L8-L10
Useful? React with 👍 / 👎.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Superseded by #15
The useful concept in this PR — a successor
calibration-family/1.0.1-proposal-1that resolves the two War collision scenarios under deterministic war_v3 — is preserved in #15.This branch is not retained as an integration surface because its generator has known reproducibility defects: missing scenario import, stale collision descriptions, mutable HEAD-derived provenance, dropped common-smoke metadata, and a stale/nonexistent UCNS authority path.
#15 now owns the consolidated repair path:
libs/ucns/;Closing #11 removes the duplicate/broken publication route without discarding the successor-corpus concept.
hmmm
Formal corpus sealing still requires the other builders to record the successor canonical scenarios digest or reject it explicitly.