Problem
scripts/context_panel_surface_manifest/ imports scripts/context_panel_expected_build.py at module top level (core.py, artifact.py, artifact_comparison.py). That module defines hash_parts, SURFACE_DIGEST_DOMAIN, and SIGNING_CLASSES, which the manifest uses to compute the project, contract, and render fingerprints.
Config/ContextPanelSurfacePolicy.json lists the sibling scripts/context_panel_comparison_schema.py and scripts/context_panel_surface_manifest/**/*.py as governed surface-tooling inputs, but not context_panel_expected_build.py. A change to how fingerprints are hashed in that file therefore does not move the contract fingerprint, even though it changes what every fingerprint means.
Found during review of #709 by computing the real import closure of scripts/context-panel-surface-manifest.py. That PR's CI gate already treats the file as a build input; this issue is only about the surface policy.
Why this is not a one-line fix
Adding the path to the policy changes a contract input, moves contractFingerprint, and makes the current replay bundle stale. It should be done deliberately, at a point where regenerating the bundle is acceptable, not as a side effect of another change.
Acceptance criteria
State
Governance was approved by the recorded Owner decision on 2026-09-20. Implementation remains not started and is scheduled immediately before the next validation train, not during one. See Current Status for the CP-710-D1 timing wait and recovery action.
Current Status
State: Waiting; governance approved, implementation not started. CP-710-D1 stopped before claim/code on 2026-10-03.
Next action: Coordinate the policy change, import-closure check and required replay regeneration with the release-owning session immediately before the next validation train, per the recorded 2026-09-20 Owner decision.
Blocked by: No native issue blocker. The Owner decision explicitly excludes making this fingerprint change during a train; #722 records unfinished 1.0.69 companion delivery/validation work.
Waiting for: The approved between-train preparation point and explicit private replay-root bindings. No new governance decision is needed.
Last verified: 2026-10-03; full #710 and linked #709 read, related #695 history checked; no recorded #710 claim, open implementation PR or local task worktree found. #722's recorded status was checked; no live release system or installed runtime was validated. No release dispatch is authorized by this trial.
Problem
scripts/context_panel_surface_manifest/importsscripts/context_panel_expected_build.pyat module top level (core.py,artifact.py,artifact_comparison.py). That module defineshash_parts,SURFACE_DIGEST_DOMAIN, andSIGNING_CLASSES, which the manifest uses to compute the project, contract, and render fingerprints.Config/ContextPanelSurfacePolicy.jsonlists the siblingscripts/context_panel_comparison_schema.pyandscripts/context_panel_surface_manifest/**/*.pyas governedsurface-toolinginputs, but notcontext_panel_expected_build.py. A change to how fingerprints are hashed in that file therefore does not move the contract fingerprint, even though it changes what every fingerprint means.Found during review of #709 by computing the real import closure of
scripts/context-panel-surface-manifest.py. That PR's CI gate already treats the file as a build input; this issue is only about the surface policy.Why this is not a one-line fix
Adding the path to the policy changes a contract input, moves
contractFingerprint, and makes the current replay bundle stale. It should be done deliberately, at a point where regenerating the bundle is acceptable, not as a side effect of another change.Acceptance criteria
scripts/context_panel_expected_build.pyis a governedsurface-toolinginput. If not, record why indocs/.scripts/that the policy does not govern, so the list cannot drift again.Tests/ScriptsTests/test_ci_change_scope.pyin ci: skip product builds when a pull request cannot affect them #709 has an import-closure probe that can be reused.State
Governance was approved by the recorded Owner decision on 2026-09-20. Implementation remains not started and is scheduled immediately before the next validation train, not during one. See Current Status for the CP-710-D1 timing wait and recovery action.
Current Status
State: Waiting; governance approved, implementation not started. CP-710-D1 stopped before claim/code on 2026-10-03.
Next action: Coordinate the policy change, import-closure check and required replay regeneration with the release-owning session immediately before the next validation train, per the recorded 2026-09-20 Owner decision.
Blocked by: No native issue blocker. The Owner decision explicitly excludes making this fingerprint change during a train; #722 records unfinished 1.0.69 companion delivery/validation work.
Waiting for: The approved between-train preparation point and explicit private replay-root bindings. No new governance decision is needed.
Last verified: 2026-10-03; full #710 and linked #709 read, related #695 history checked; no recorded #710 claim, open implementation PR or local task worktree found. #722's recorded status was checked; no live release system or installed runtime was validated. No release dispatch is authorized by this trial.