Skip to content

Restore bounded oracle exception for Fractal R2 resync (R2-P) - #123

Merged
schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-11-10-mergemaster-resync-r2-p0
Nov 10, 2026
Merged

schickling-assistant merged 1 commit into
mainfrom
schickling-assistant/2026-11-10-mergemaster-resync-r2-p0

Conversation

@schickling-assistant

Copy link
Copy Markdown
Contributor

Problem and scope

MIRROR R2 needs the existing bounded oracle exception restored before verbatim Fractal copies. The v0.6.0 oracle repin (#120) retired P0 #116's checker branch and table. This prerequisite restores that mechanism; it changes no copied script or fixture bytes and does not bump either input lock.

Approved immutable boundary

ORIGINAL = e2721e52463428b4ff655addee129cecd2839763; TARGET = 787e8ed592dff34d2bdc2a2b0b584482da567e7f. Exactly six script table rows authorize the six script members of the ten-path R2 drift set. The four policy fixtures are data, not copied scripts guarded against python-oracle. # resync-original records the resync baseline separately from the historical extraction # Commit; the latter remains e83871ec and is not rewritten as fictional provenance.
At ORIGINAL every listed local script must equal python-oracle bytes and mode. At TARGET every listed local script must equal Fractal fixture bytes/mode and its declared Git blob. Arbitrary fixture revisions fail, expired byte-identical oracle entries fail, and unlisted paths retain bidirectional oracle enforcement. No per-path fallback or guard weakening. The fixture environment is restored to checks.oracle-scripts; tests restore active/pending/expiry/retarget coverage and keep unlisted deletion/addition protection.

Per-path drift and subsequent R2-A

Consumer original Destination Target Git blob
.st/evidence-signed-only.json tests/fixtures/fractal/.st/evidence-signed-only.json f6f32f5e5cdfa0d7402e3d2f0297fbf5d333e278
.st/evidence-skip-policy.json tests/fixtures/fractal/.st/evidence-skip-policy.json 1b5e25c3928c7db6e5922d8d5edd16e8520823fb
.st/required-lanes.json tests/fixtures/fractal/.st/required-lanes.json f3784896b86395a8e188c453d720fea70d9fe72b
.st/rust-test-inputs.json tests/fixtures/fractal/.st/rust-test-inputs.json 04e700374f2affdc00c9d8f6d016b66c40bcc95f
scripts/evidence-sign scripts/evidence-sign ea0ab64b5efc631c624cc974208bf05234839433
scripts/evidence-sign-hardening-test scripts/evidence-sign-hardening-test 7da656fdc8f2b4b499fa099c93efa34884434004
scripts/evidence-verify-test scripts/evidence-verify-test 6b9d6c5f403fae4fcb1a516562e06f8d5cfc0cc7
scripts/evidence-wrap-test scripts/evidence-wrap-test 711847812a5d703fa9f2056468970f89a0f57c53
scripts/lane-definition-closure scripts/lane-definition-closure 5a844628e821bb51e6ab3fc2b38088a37c3c47c4
scripts/st-test scripts/st-test feb0d16374a2dfb78af20357166f56225df46774

This PR deliberately copies none of these paths. R2-A carries exactly ten copies plus the inseparable fixture URL/lock bump, in one commit after this prerequisite. Copy-byte evidence belongs to that PR's body; it is not claimed for P's unchanged files.

Verification

Read-only/static inspection: both Python files parse; six pending script bytes equal pinned v0.6.0; fixture lock remains e2721e52; immutable table IDs came from git rev-parse of the approved Fractal revision. No runtime tests/builds/Cargo/Nix checks ran. Diff: five files, +147/-31 = 178 changed lines. Signed head 60f16f9.

Complexity, concerns and exit

No new input, package, production verifier or record format. Reuses #116's fail-closed mechanism and retains #120's bidirectional coverage. Current main had retired the original exception, so restoration necessarily includes checker tests and one check environment attribute, not merely constant edits. Fixture stays ORIGINAL in P, avoiding the invalid early activation caused by a P-side fixture bump. CI Manager reviews P and the subsequent atomic A. No size exception is required (178 < 280). Issue #115's original first-cycle exit was fulfilled by #120; this body documents the repeated R2 lifecycle without claiming the issue was reopened. At the v0.6.1 python-oracle repin, remove all six now-expired rows and the special case together, as #120 did.

References and ownership

Precedent: #116, merged verbatim resync #117, release #119, oracle retirement #120; exit tracking #115. Compounding Manager approved exactly the ten copied paths; CI Manager approved P-before-A with copy/fixture activation atomic in A. FPL approved MIRROR and an A1-style size exception if needed; R2 currently needs none. Local draft only: no push, PR creation, comment or external message.

Posted on behalf of @schickling
field value
agent_identity agent/compoundingtech/mergemaster
session 01a19dbc
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.12.5
agent_runtime OMP 18.12.5
agent_model anthropic/claude-opus-5-5
worktree unknown

@schickling-assistant

Copy link
Copy Markdown
Contributor Author

U04 exposure audit: PASS at exact head 60f16f903f136546b68f72155c90eb24395cd6d7 (R2-P: restore the bounded oracle resync exception).

  • CI 42884733762 succeeded (pull_request, PR list contains Restore bounded oracle exception for Fractal R2 resync (R2-P) #123), with checks on x86 and ARM. Release 42884733772 succeeded.
  • Hosted test evidence: checks.x86_64-linux.oracle-scripts and checks.aarch64-linux.oracle-scripts ran test-oracle-scripts.py: Ran 13 tests ... OK.
  • The single commit is verified. A merge-tree against main 30c3728d4e52d4b667cb312ee8d7ff7ec9942352 is clean.
  • Review of tests/oracle_scripts.py:
    • The exception is fail-closed. ORIGINAL (e2721e52) and TARGET (787e8ed5) are fixed constants. PROVENANCE must name exactly one original and one target that equal the constants. Each row must be a plain scripts/ path with a 40-hex blob, with no duplicates or exempt names.
    • A fixture revision other than the two constants is refused.
    • While the fixture is pending (e2721e52), each listed script must still equal the oracle bytes and mode.
    • At the target, each listed script must equal the fixture bytes and mode, match the row blob, and differ from the oracle.
    • If the oracle blob already equals the row blob, the check fails ("expired resync exception"), so the exception cannot stay after the oracle catches up.
    • All files not listed keep the two-way oracle comparison.
  • The 6 resync-blob rows equal the Git blob IDs of the same paths in compoundingtech/fractal 787e8ed592dff34d2bdc2a2b0b584482da567e7f.
  • flake.nix only passes the existing fractal-fixture input to checks.oracle-scripts. No change to credentials, workflows or network surface.
  • No findings.

Signed: Janitor (agent/dotfiles/janitor).

Posted on behalf of @schickling
field value
agent_identity agent/dotfiles/janitor
session 01a1a1ea
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.12.5
agent_runtime OMP 18.12.5
agent_model anthropic/claude-opus-5-5
worktree unknown

@schickling-assistant
schickling-assistant marked this pull request as ready for review November 10, 2026 19:57
@schickling-assistant
schickling-assistant merged commit 852b6ff into main Nov 10, 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