From 4a55f40908074bde85eec83ebe7c56f7276ca1e6 Mon Sep 17 00:00:00 2001 From: Jake Date: Thu, 13 Aug 2026 15:30:05 -0400 Subject: [PATCH] Record public explanation production observation --- governance/harnesses/falsification.js | 14 +- .../ledger/checkpoints/checkpoint-000012.json | 72 +++++ ...ublic-explanation-production-observed.json | 246 ++++++++++++++++++ 3 files changed, 328 insertions(+), 4 deletions(-) create mode 100644 governance/ledger/checkpoints/checkpoint-000012.json create mode 100644 governance/ledger/events/deployment/000002-public-explanation-production-observed.json diff --git a/governance/harnesses/falsification.js b/governance/harnesses/falsification.js index b49c72a..99f56f2 100644 --- a/governance/harnesses/falsification.js +++ b/governance/harnesses/falsification.js @@ -36,10 +36,16 @@ mustFail('non-portable numeric payloads are rejected', (rows) => { rows[0].event.event_hash = L.eventHash(rows[0].event); }, 'canonical profile permits safe integers only'); mustFail('causal cycles are rejected', (rows) => { - rows[0].event.parents = [rows[1].event.event_id]; - rows[1].event.parents = [rows[0].event.event_id]; - rows[0].event.event_hash = L.eventHash(rows[0].event); - rows[1].event.event_hash = L.eventHash(rows[1].event); + const heads = new Map(); + for (const row of rows) { + const prior = heads.get(row.event.stream_id); + if (!prior || row.event.sequence > prior.event.sequence) heads.set(row.event.stream_id, row); + } + const [left, right] = [...heads.values()].slice(0, 2); + left.event.parents = [right.event.event_id]; + right.event.parents = [left.event.event_id]; + left.event.event_hash = L.eventHash(left.event); + right.event.event_hash = L.eventHash(right.event); }, 'causal cycle prevents deterministic replay'); { diff --git a/governance/ledger/checkpoints/checkpoint-000012.json b/governance/ledger/checkpoints/checkpoint-000012.json new file mode 100644 index 0000000..f27d4b2 --- /dev/null +++ b/governance/ledger/checkpoints/checkpoint-000012.json @@ -0,0 +1,72 @@ +{ + "schema_version": "2.0.0", + "checkpoint_id": "checkpoint-000012", + "recorded_at": "2026-08-13T19:29:00Z", + "previous_checkpoint_root": "809270d463e2be7c8fb5c48bc04679a8f8ede1a6533a32522f0841b64f1dbc20", + "event_count": 16, + "event_file_hash_basis": "SHA-256 of UTF-8 event JSON with CRLF normalized to LF.", + "event_files": { + "governance/ledger/events/deployment/000001-wp0-production-observation.json": "34bde4ec2eb4d1bfb70b8d44df6439cb295bd1dc1293df0ae47490193ad3fa97", + "governance/ledger/events/deployment/000002-public-explanation-production-observed.json": "4917a927727e3b0cc03cd057100a698ccc18e51751f69dd33f5bed14344fa24f", + "governance/ledger/events/feedback/000001-public-researcher-comment.json": "ba6c14fee16552d485c8343e07fe29aa5bfee295bdd854367a44dc27904183ed", + "governance/ledger/events/governance/000001-wp0-authority-freeze.json": "8179bbd5216dfaf91e7b5dd10a04722f4928fd8a9ae9ff2acd834f904ebdc337", + "governance/ledger/events/governance/000002-public-metadata-release-acceptance.json": "b42cf6d6da3ae197e8726d8809887c941109a7e25b359a3b775d1be114f519f3", + "governance/ledger/events/governance/000003-stp-v1-2-public-reproduction-authorized.json": "16c2f324bb63a671963f38eaab92a22fb8ec0b055cf4107e67d6e14db158d25f", + "governance/ledger/events/governance/000004-six-signal-public-method-authorized.json": "a60602c90396b34081da5896079e3721197147226ecde63e0a3377ad6fec3cfb", + "governance/ledger/events/governance/000005-six-signal-release-binding-corrected.json": "25a825fa2be627ce6a0eb36bff6242f4f39b388b0eaf5a4e2cef5548771d01a5", + "governance/ledger/events/governance/000006-git-pages-source-hardening-authorized.json": "b3110e7aded56cc4c3a49902ef6fcb97a27c386ab442e8a7c0e66de6de242954", + "governance/ledger/events/governance/000007-atlas-foundational-repair-source-review.json": "00ed4f2dcfb92e58bc7f37927bae36a0cfba263ddc64a4e5a3f6dc4382cd7906", + "governance/ledger/events/governance/000008-atlas-data-sync-portability-corrected.json": "9ea2836edcb4e6bf9008977b96be5d72bc3e697a7958b66d6d10444417b955d1", + "governance/ledger/events/governance/000009-atlas-navigation-history-corrected.json": "52ed487051c53256262c9293a19102b7dbb4621d141882a1bec2d90f7b076b83", + "governance/ledger/events/governance/000010-public-explanation-surfaces-prepared.json": "0f04bbd6b8cf08180365363d040f95c6d0cd1053ab8bfa1f4996d527df3de865", + "governance/ledger/events/publication/000001-stp-v1-2-public-release-observed.json": "c505f5ea075344f29e67540a9f3178a6e7e5bec7e1e079cf132ab2b0fbae5bc6", + "governance/ledger/events/research/000001-wp0-artifact-search.json": "f9997b300db7ac4181bcc2755c872c206fbab838c3012c26930cb469a4afee29", + "governance/ledger/events/semantics/000001-status-vocabulary-boundary.json": "407c36c1c412f1c3d6f8eecda2bcd1a9ddcf5069f2e5febb9d0dacee70415fe5" + }, + "streams": { + "deployment": { + "sequence": 2, + "event_id": "evt_deployment_public_explanation_production_observed_0002", + "event_hash": "636df04813901f3168bc62366e496a152e14096c27683a668c441b5488cc80a3" + }, + "feedback": { + "sequence": 1, + "event_id": "evt_feedback_public_researcher_comment_0001", + "event_hash": "d30d65d43a51491bb51d08538d8e6e5ba7621a0461cc65f7ff633b4393774435" + }, + "governance": { + "sequence": 10, + "event_id": "evt_governance_public_explanation_surfaces_prepared_0010", + "event_hash": "a63fb75269ffc54da67e0bf31601c77d70dc7b60fd745c929c3a4e339f5a4841" + }, + "publication": { + "sequence": 1, + "event_id": "evt_publication_stp_v1_2_release_0001", + "event_hash": "91cb238abfda22b2fdea65f56f0e4515e1b8df8c9a512569d9302c59a0901534" + }, + "research": { + "sequence": 1, + "event_id": "evt_research_wp0_artifact_register_0001", + "event_hash": "b8661fda03f6da05e89507eb632c81a42bbdbe287c507ef66b9b8cb4074d105a" + }, + "semantics": { + "sequence": 1, + "event_id": "evt_semantics_status_vocabulary_boundary_0001", + "event_hash": "cca5be5a16d815990fd23a1006d731e9704e9db16bbeacb76bedc0e45916ff96" + } + }, + "capability_policies": { + "governance/ledger/policy/capabilities.v1.json": "8d144987a039561ccf80f6c8c703901150b32061843db2f48d9dcde2c78cd2d4", + "governance/ledger/policy/capabilities.v2.json": "3d6d25510d489e295a3321298c0ca6b46495393fc558f108afb5988a68d8a696" + }, + "projection_root": "22852b5a3025d4ed7ee1d26cc4efcd51ae2e3e02ba2a20332c2a09827d6462ca", + "witnesses": [ + { + "kind": "git_commit_or_release", + "status": "NOT_OBSERVED", + "locator": null, + "limit": "The checkpoint is internally sealed but has not yet been anchored by a protected signed ref or independent witness." + } + ], + "checkpoint_root": "a58ddf0b75e3d1c9ddd5a454e01503edc017263ac67d098c58b2a7eb211464cf" +} diff --git a/governance/ledger/events/deployment/000002-public-explanation-production-observed.json b/governance/ledger/events/deployment/000002-public-explanation-production-observed.json new file mode 100644 index 0000000..e329c72 --- /dev/null +++ b/governance/ledger/events/deployment/000002-public-explanation-production-observed.json @@ -0,0 +1,246 @@ +{ + "schema_version": "2.0.0", + "status_vocabulary": "stp-v1.1-status-axes", + "capability_policy_ref": "governance/ledger/policy/capabilities.v2.json", + "event_id": "evt_deployment_public_explanation_production_observed_0002", + "stream_id": "deployment", + "sequence": 2, + "event_type": "deployment.production_observed", + "occurred_at": "2026-08-13T19:21:46Z", + "recorded_at": "2026-08-13T19:21:46Z", + "actor": { + "id": "adapter:codex", + "role": "agent_observer", + "auth_basis": "evt_governance_public_explanation_surfaces_prepared_0010" + }, + "classification": "PUBLIC", + "consequence_class": "C1", + "parents": [ + "evt_governance_public_explanation_surfaces_prepared_0010" + ], + "prev_event_hash": "20c74580f8c1cdc436490d340105ff0e4918c0901c675bc46ab608d0206fda88", + "payload_hash": "eabeec0aedc41891ade743e46bc3d813ba03ce904f6f59fcf4d0061ae950e4a0", + "event_hash": "636df04813901f3168bc62366e496a152e14096c27683a668c441b5488cc80a3", + "read_set": [ + "github:JakeTOpenSource/Resilience-Ledger#10", + "git:commit:f08dd60e4c4070d2cd5a1d8f0b88d780fb67fff6", + "git:commit:637fdda30ed6a4775dc1b225dcff3d037f022d19", + "github-actions:run:31734497117", + "github-actions:run:31734551541", + "cloudflare-pages:deployment:b0c23e2d-32ae-46b8-9df8-787b416f44b2", + "https://resilience-eval-ai.pages.dev/", + "https://resilience-eval-ai.pages.dev/White-Paper" + ], + "write_set": [ + "governance/harnesses/falsification.js", + "governance/ledger/events/deployment/" + ], + "precondition_refs": [ + "evt_governance_public_explanation_surfaces_prepared_0010", + "github:JakeTOpenSource/Resilience-Ledger#10", + "git:commit:637fdda30ed6a4775dc1b225dcff3d037f022d19" + ], + "evidence_refs": [ + { + "ref_id": "public-explanation-preparation-event-0010", + "kind": "governance_event", + "classification": "PUBLIC", + "sha256": "0f04bbd6b8cf08180365363d040f95c6d0cd1053ab8bfa1f4996d527df3de865", + "source_locator": "governance/ledger/events/governance/000010-public-explanation-surfaces-prepared.json" + }, + { + "ref_id": "public-explanation-source-head-f08dd60", + "kind": "git_commit", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/commit/f08dd60e4c4070d2cd5a1d8f0b88d780fb67fff6" + }, + { + "ref_id": "public-explanation-merge-637fdda", + "kind": "git_commit", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/commit/637fdda30ed6a4775dc1b225dcff3d037f022d19" + }, + { + "ref_id": "public-explanation-pr-10", + "kind": "pull_request", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/pull/10" + }, + { + "ref_id": "public-explanation-pr-gates-31734497117", + "kind": "ci_run", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/actions/runs/31734497117" + }, + { + "ref_id": "public-explanation-main-gates-31734551541", + "kind": "ci_run", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/actions/runs/31734551541" + }, + { + "ref_id": "public-explanation-cloudflare-production-b0c23e2d", + "kind": "provider_deployment", + "classification": "PUBLIC", + "sha256": null, + "source_locator": "https://b0c23e2d.resilience-eval-ai.pages.dev" + }, + { + "ref_id": "public-home-source-637fdda", + "kind": "git_blob_bytes", + "classification": "PUBLIC", + "sha256": "fa44d8d834598bb5e459bee99bace552571b00f68cbd80d4e1b04322546bd49b", + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/blob/637fdda30ed6a4775dc1b225dcff3d037f022d19/index.html" + }, + { + "ref_id": "public-guide-source-637fdda", + "kind": "git_blob_bytes", + "classification": "PUBLIC", + "sha256": "ae92595e4ab3515229c824a4ecaa5c2dc366088d11005e29328b1044019dfd55", + "source_locator": "https://github.com/JakeTOpenSource/Resilience-Ledger/blob/637fdda30ed6a4775dc1b225dcff3d037f022d19/White-Paper.html" + }, + { + "ref_id": "cross-stream-cycle-canary-maintenance-0001", + "kind": "verification_harness", + "classification": "PUBLIC", + "sha256": "9707f6555a0fb3b585d0ffb67889112e6b4d50dd679886bf15b090ae32afe8f8", + "source_locator": "governance/harnesses/falsification.js" + }, + { + "ref_id": "public-home-live-response-2026-08-13", + "kind": "http_response_bytes", + "classification": "PUBLIC", + "sha256": "5a2780014a43d86c9914d8b39c81d4bc1bdf135084290b2a4377dbd301dce89e", + "source_locator": "https://resilience-eval-ai.pages.dev/" + }, + { + "ref_id": "public-guide-live-response-2026-08-13", + "kind": "http_response_bytes", + "classification": "PUBLIC", + "sha256": "ea9da8cd5e26e0496dfe026bfe69b4b5523102c61c10ce6ce6abf1687ea05615", + "source_locator": "https://resilience-eval-ai.pages.dev/White-Paper" + } + ], + "authority_ref": "evt_governance_public_explanation_surfaces_prepared_0010", + "idempotency_key": "deployment:public-explanation-surfaces:production:b0c23e2d-32ae-46b8-9df8-787b416f44b2:637fdda30ed6a4775dc1b225dcff3d037f022d19", + "decision": "OBSERVE", + "status_axes": { + "evidence": "SUPPORTED", + "authority": "APPROVED", + "preparation": "READY", + "execution": "APPLIED", + "observation": "MATCHED", + "acceptance": "PRESERVED", + "outcome": "UNMEASURED" + }, + "effect": { + "kind": "NONE", + "target": null, + "reversible": true, + "recovery_ref": null + }, + "supersedes": [], + "correction_of": [], + "payload": { + "observation_id": "public-explanation-production-observation-0002", + "owner_action": { + "pull_request": 10, + "pull_request_state": "MERGED", + "source_head": "f08dd60e4c4070d2cd5a1d8f0b88d780fb67fff6", + "base_before_merge": "3e809fc1596491cb252723d3ba694e7b73047f71", + "merge_commit": "637fdda30ed6a4775dc1b225dcff3d037f022d19", + "merge_commit_signature": "GITHUB_VERIFIED_VALID", + "merge_parents_match_base_and_head": true + }, + "verification": { + "pull_request_gates_run": 31734497117, + "pull_request_gates_status": "PASS", + "main_push_gates_run": 31734551541, + "main_push_gates_status": "PASS" + }, + "deployment": { + "provider": "Cloudflare Pages", + "project": "resilience-eval-ai", + "deployment_id": "b0c23e2d-32ae-46b8-9df8-787b416f44b2", + "deployment_url": "https://b0c23e2d.resilience-eval-ai.pages.dev", + "environment": "production", + "trigger": "github:push", + "reported_branch": "main", + "reported_commit": "637fdda30ed6a4775dc1b225dcff3d037f022d19", + "reported_commit_dirty": false, + "provider_stage": "deploy", + "provider_status": "success", + "created_at": "2026-08-13T19:11:05.199189Z", + "completed_at": "2026-08-13T19:11:23.560189Z", + "source_commit_relationship": "EXACT" + }, + "http_observations": [ + { + "route": "/", + "canonical_url": "https://resilience-eval-ai.pages.dev/", + "status": 200, + "content_type": "text/html; charset=utf-8", + "cache_control": "public, max-age=0, must-revalidate", + "referrer_policy": "strict-origin-when-cross-origin", + "x_frame_options": "SAMEORIGIN", + "content_security_policy": "NOT_PRESENT", + "source_bytes": 94440, + "source_sha256": "fa44d8d834598bb5e459bee99bace552571b00f68cbd80d4e1b04322546bd49b", + "live_bytes": 94654, + "live_sha256": "5a2780014a43d86c9914d8b39c81d4bc1bdf135084290b2a4377dbd301dce89e", + "raw_byte_identity": "MISMATCHED", + "declared_transform_relationship": "MATCHED_SINGLE_CLOUDFLARE_PAGES_ANALYTICS_INSERTION" + }, + { + "route": "/White-Paper", + "canonical_url": "https://resilience-eval-ai.pages.dev/White-Paper", + "status": 200, + "content_type": "text/html; charset=utf-8", + "cache_control": "public, max-age=0, must-revalidate", + "referrer_policy": "strict-origin-when-cross-origin", + "x_frame_options": "SAMEORIGIN", + "content_security_policy": "NOT_PRESENT", + "source_bytes": 16581, + "source_sha256": "ae92595e4ab3515229c824a4ecaa5c2dc366088d11005e29328b1044019dfd55", + "live_bytes": 16795, + "live_sha256": "ea9da8cd5e26e0496dfe026bfe69b4b5523102c61c10ce6ce6abf1687ea05615", + "raw_byte_identity": "MISMATCHED", + "declared_transform_relationship": "MATCHED_SINGLE_CLOUDFLARE_PAGES_ANALYTICS_INSERTION" + } + ], + "response_transform": { + "inserted_bytes": 214, + "inserted_region_sha256": "c16454e41e87700ac6465d875af6aa2e06c992b887458162cf6ce2de32200aed", + "insertion_description": "One Cloudflare Pages Analytics script element inserted immediately before the final closing body and html bytes.", + "home_common_prefix_bytes": 94426, + "guide_common_prefix_bytes": 16567, + "common_suffix_bytes": 14, + "source_bytes_removed": 0 + }, + "browser_observation": { + "surface": "Chrome with the ChatGPT browser extension", + "live_home_and_guide_semantics": "MATCHED_DECLARED_CONTENT", + "navigation_sequence": "HOME_TO_GAP_TO_TRACER_TO_BACK_GAP_TO_BACK_HOME", + "navigation_result": "PASS", + "console_errors_observed": 0 + }, + "historical_relation": { + "prior_observation_event": "evt_deployment_wp0_production_observation_0001", + "prior_deployment_source_relationship": "UNKNOWN", + "current_deployment_source_relationship": "EXACT", + "historical_receipt_modified": false + }, + "harness_maintenance": { + "path": "governance/harnesses/falsification.js", + "reason": "The causal-cycle canary now selects the head of two distinct streams so adding a second event to one stream cannot mask the intended cycle with an unrelated previous-hash failure.", + "semantic_scope": "TEST_SELECTION_ONLY" + }, + "receipt_loop_policy": "This is an exception-triggered reconciliation of a prior source-identity gap. It does not require a receipt after every pull request or after this receipt's own publication.", + "claim_ceiling": "This event establishes only that the named owner merge, CI runs, Cloudflare production deployment metadata, two HTTP response byte observations, the declared single-insertion response transform, and one bounded Chrome navigation replay were observed at the recorded time. It does not establish every deployed asset, global edge convergence, installed-PWA cache state, accessibility, privacy, security, offline completeness, semantic truth, external validation, durability, user outcome, live health, or any future production state." + } +}