Retain verified recovery proof independently and bind the protected point
All checks were successful
CCR intake gate / gate (push) Successful in 12s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a17f16-d99c-7ea3-95f0-8212897fba6b
This commit is contained in:
codex 2026-10-29 22:49:33 +01:00
parent e1918b3f88
commit 09f4fd33cb
7 changed files with 257 additions and 11 deletions

View file

@ -20,7 +20,7 @@ from application_recovery_identities import (
private_directory,
private_json,
)
from application_recovery_kit import PROJECT, download
from application_recovery_kit import PROJECT, download, protect_receipt
from application_recovery_resources import API, s3, status
@ -133,6 +133,7 @@ class Drill:
"--output", str(self.root / "application-receipt.json")]))
app = json.loads(app)
baseline = json.loads((contents / "application-recovery.json").read_text())
point = json.loads((contents / "primary-receipt.json").read_text())
for key in ("actual_pages_rendered_through_view", "same_tenant_ungranted_page_denials", "content_files_unchanged"):
if app.get(key) != baseline.get(key):
raise Refused("kit_application_baseline_differs")
@ -143,11 +144,16 @@ class Drill:
"recovery_seconds": round(time.monotonic() - began, 3), "protected_kit": self.reference,
"kit_members_verified": len(manifest["files"]) + 1, "application": "coulomb-social",
"captured_at": manifest["captured_at"], "application_restore_verified": True,
"all_data_images_and_tools_from_independent_provider_kit": True,
"application_data_images_and_recovery_tools_from_provider_kit": True,
"bootstrap_api_client_preinstalled": True,
"age_identity_from_separate_provider_escrow": True, "original_node_or_plaintext_used": False,
"personal_session_used": False, "registry_pulls_performed": False, "fresh_docker_daemon": False,
"operator_account_recovery_time_included": False, "real_browser_journey_verified": False,
"unpack": unpacked, "restore": restored, "application_checks": app, "timers_activated": False}
result.update({k: point[k] for k in ("object_key", "version_id", "ciphertext_sha256", "ciphertext_bytes",
"image", "age_recipient", "database_sha256", "content_sha256")})
result["protected_recovery_proof"] = protect_receipt(
s3(private_json(self.directory / "custodian-pair.json"), PROJECT), reader, result)
checkpoint(self.root / "recovery-receipt.json", result)
return result