[CloudCraft Integration] Runtime evidence chain & 2D/3D parity verifier (#2469) - #2479
Draft
OuroborosCollective wants to merge 2 commits into
Draft
[CloudCraft Integration] Runtime evidence chain & 2D/3D parity verifier (#2469)#2479OuroborosCollective wants to merge 2 commits into
OuroborosCollective wants to merge 2 commits into
Conversation
CloudCraft integration #2469: prove runtime evidence and 2D/3D parity for the integrated CloudCraft slices. Build-only success is NOT runtime success — the evidence chain enforces this distinction. Shared package: - Add RuntimeEvidenceChain.ts: minimal evidence chain (Unit -> Guard -> Build -> Browser -> Snapshot/Hash-Readback). buildEvidenceChain() reports 'build-only' if no runtime layer has passed, 'pass' only when a runtime layer (browser or snapshot-hash-readback) passes, 'fail' if any entry fails. - Add OverlayRendererParityContract + verifyParity(): proves 2D/3D consume the same WorldOverlayModel, derive from the same shared derivation, and use server-snapshot as truth source. Display may differ, but truth must not. - Add EXPECTED_PARITY_CONTRACTS for client-2d and client-3d. - Add RUNTIME_EVIDENCE_LAYERS + isRuntimeEvidenceLayer() to distinguish runtime evidence from build-only evidence. Tests: - Add RuntimeEvidenceChain.test.ts (11 tests): prove evidence chain status logic (fail/build-only/pass), runtime layer identification, parity verification (pass/fail cases), and contract freezing. Documentation: - Add docs/CLOUDCRAFT_RUNTIME_EVIDENCE.md: full evidence chain per slice (#2465/#2464/#2466/#2468), readback points (revision, snapshot, hash), 2D/3D parity contract, build-only vs runtime classification, and pending runtime evidence (browser smoke, hash readback). Co-authored-by: openhands <openhands@all-hands.dev>
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Adds 2 new tests to RuntimeEvidenceChain.test.ts: - requires both renderers to reject local-invented truth: asserts that both EXPECTED_PARITY_CONTRACTS (client-2d and client-3d) use server-snapshot as truth source, consume WorldOverlayModel, and derive from the shared derivation. - runtime evidence layers are disjoint from build-only layers: asserts that runtime layers (browser, snapshot-hash-readback) do not overlap with build-only layers (unit, guard, build), proving the evidence chain distinguishes build success from runtime success. Co-authored-by: openhands <openhands@all-hands.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CloudCraft integration #2469 (concluding slice): prove runtime evidence and 2D/3D parity for the integrated CloudCraft slices. Build-only success is NOT runtime success — the evidence chain enforces this distinction.
Problem
The CloudCraft integration slices (#2465, #2464, #2466, #2468) had unit tests and builds, but no structured evidence chain that distinguishes build-only success from runtime success. There was no parity verifier proving that 2D and 3D derive truth from the same
WorldOverlayModelcontract.What changed
Shared package (
packages/shared/src/world/RuntimeEvidenceChain.ts)buildEvidenceChain()captures Unit → Guard → Build → Browser → Snapshot/Hash-Readback layers. Reportsbuild-onlyif no runtime layer passed,passonly when a runtime layer (browser or snapshot-hash-readback) passes,failif any entry fails.OverlayRendererParityContract+verifyParity()proves 2D/3D consume the sameWorldOverlayModel, derive from the same shared derivation, and use server-snapshot as truth source. Display may differ, but truth must not.EXPECTED_PARITY_CONTRACTSfor client-2d and client-3d.RUNTIME_EVIDENCE_LAYERS+isRuntimeEvidenceLayer()distinguish runtime evidence from build-only evidence.Tests (
RuntimeEvidenceChain.test.ts, 11 tests)Documentation (
docs/CLOUDCRAFT_RUNTIME_EVIDENCE.md)main @ 9490f589, snapshot endpoint:GET /api/gameplay/snapshot, revisionHash, revisionSequence).Rules honored (from issue)
buildEvidenceChainenforces.verifyParityenforces.Acceptance criteria
buildEvidenceChainenforcesWhat could not be validated
/api/gameplay/snapshotrevisionHash readback against a running server requires the server to be running. Tracked in §7.Remaining risks
build-onlyfor the integrated slices because browser and snapshot-hash-readback layers are pending. This is honest — the chain does not claim runtime success until runtime evidence is captured.CloudCraft integration series summary
All slices follow the prime directive: no fake progress, no fake truth, server-authoritative truth path, honest degradation.
This PR was created by an AI agent (OpenHands) on behalf of the user.
@OuroborosCollective can click here to continue refining the PR