release_manifest.json

55254 bytes
{
  "chain_id": "spacecash-devnet-1",
  "checks": {
    "candidate": {
      "audit": {
        "counts": {
          "batched_blocks": 0,
          "blocks": 3,
          "checkpoint_votes": 3,
          "legacy_unsigned_spends": 0,
          "mempool_pending": 0,
          "mempool_total": 1,
          "product_orders": 0,
          "signed_spends": 1,
          "spends": 1,
          "transactions": 3,
          "validators": 3,
          "versioned_blocks": 3,
          "wallets": 5
        },
        "valid": true,
        "warning_count": 0
      },
      "chain_id": "spacecash-devnet-1",
      "checkpoint_quorum": true,
      "checkpoint_votes": [
        "SCVOTE-CCCA99714F290B94B12ABF2B",
        "SCVOTE-10533F7F5CB4F79584FBB856",
        "SCVOTE-7CEC51AC27AA7010FAC1D13C"
      ],
      "db_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_candidate_4b1bee7c28cef9ef.sqlite3",
      "manifest": {
        "chain_digest": "A0725924585A26E8E455DF9916976E5C925FFCFD3AFFBED309FE2BFEF482282C",
        "height": 2,
        "tip_hash": "B6DB3AF9B75DB6FB2883AC13DBE3A72FA4CAE974D00EE22C8093E305D66A5729",
        "versioned_blocks": 3
      },
      "mined": {
        "block_height": 2,
        "mined_count": 1
      },
      "ok": true,
      "queued": {
        "accepted": true,
        "pending_id": "SCPX-53BD735D35BFC616DC99D8E1"
      },
      "readiness": {
        "automated_blockers": [],
        "automated_release_candidate": true,
        "mainnet_ready": false,
        "manual_blockers": [
          "public_testnet_complete",
          "external_security_review_complete",
          "legal_compliance_review_complete",
          "wallet_recovery_custody_policy_complete",
          "production_deployment_runbook_complete"
        ]
      },
      "recipient": "SPACE-E83BA31C2FE53AE82B453F3603C63A88",
      "validator": "SPACE-655C89E707E0D63D29ECBEF3DDA030F8",
      "validator_quorum": 2,
      "validators": [
        "SPACE-655C89E707E0D63D29ECBEF3DDA030F8",
        "SPACE-F4A368BA68C232B3830BB93CA9E4800B",
        "SPACE-9C8A699933FBC0CBBCC1EA1B74A02ED8"
      ]
    },
    "compile": {
      "compiled": [
        "app.py",
        "spacecash_core/__init__.py",
        "spacecash_core/ledger.py",
        "spacecash_core/protocol.py",
        "northstar_catalog/__init__.py",
        "northstar_catalog/catalog.py",
        "tools/spacecash_cli.py",
        "tools/spacecash_candidate.py",
        "tools/spacecash_consensus_spec.py",
        "tools/spacecash_daemon.py",
        "tools/spacecash_gate_evidence.py",
        "tools/spacecash_genesis_allocation.py",
        "tools/spacecash_genesis_plan.py",
        "tools/spacecash_handoff_index.py",
        "tools/spacecash_legal_compliance_evidence.py",
        "tools/spacecash_launch_status_report.py",
        "tools/spacecash_mainnet_decision.py",
        "tools/spacecash_manual_gate_workbench.py",
        "tools/spacecash_monetary_policy.py",
        "tools/spacecash_operator_onboarding.py",
        "tools/spacecash_production_deployment_evidence.py",
        "tools/spacecash_public_testnet_evidence.py",
        "tools/spacecash_release_bundle.py",
        "tools/spacecash_security_review_evidence.py",
        "tools/spacecash_resolve_blockers.py",
        "tools/spacecash_smoke.py",
        "tools/spacecash_security_review_packet.py",
        "tools/spacecash_testnet_plan.py",
        "tools/spacecash_testnet_rehearsal.py",
        "tools/spacecash_release_manifest.py",
        "tools/spacecash_wallet_custody_evidence.py",
        "tools/spacecash_wallet_policy.py",
        "tests/__init__.py",
        "tests/test_arcade_paperclip_resistance.py",
        "tests/test_arcade_precinct_404.py",
        "tests/test_cart_craft_lab.py",
        "tests/test_creative_board.py",
        "tests/test_creative_source_inventory.py",
        "tests/test_idc_anthology_packet.py",
        "tests/test_idr_bumper_proof_reel.py",
        "tests/test_image_creation_source_audit.py",
        "tests/test_production_automation_tools.py",
        "tests/test_recipe_card_image_queue.py",
        "tests/test_spacecash_candidate.py",
        "tests/test_spacecash_consensus_spec.py",
        "tests/test_spacecash_core.py",
        "tests/test_spacecash_daemon.py",
        "tests/test_spacecash_gate_evidence.py",
        "tests/test_spacecash_genesis_allocation.py",
        "tests/test_spacecash_genesis_plan.py",
        "tests/test_spacecash_handoff_index.py",
        "tests/test_spacecash_launch_handoffs.py",
        "tests/test_spacecash_launch_status_report.py",
        "tests/test_spacecash_legal_compliance_evidence.py",
        "tests/test_spacecash_mainnet_decision.py",
        "tests/test_spacecash_manual_gate_workbench.py",
        "tests/test_spacecash_monetary_policy.py",
        "tests/test_spacecash_operator_onboarding.py",
        "tests/test_spacecash_production_deployment_evidence.py",
        "tests/test_spacecash_public_testnet_evidence.py",
        "tests/test_spacecash_release_bundle.py",
        "tests/test_spacecash_resolve_blockers.py",
        "tests/test_spacecash_security_review_evidence.py",
        "tests/test_spacecash_security_review_packet.py",
        "tests/test_spacecash_testnet_plan.py",
        "tests/test_spacecash_testnet_rehearsal.py",
        "tests/test_spacecash_wallet_custody_evidence.py",
        "tests/test_spacecash_wallet_policy.py",
        "tests/test_vorath_tarot_v2_packet.py"
      ],
      "count": 69,
      "ok": true
    },
    "consensus_spec": {
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_consensus_spec_96b5ce13e4dc897a.json",
      "spec_hash": "02FC7BE0A5DDE8D5D95EDA14BD8D1F195BB680D1D853123ABD89F8BBDAF85E5B",
      "spec_id": "spacecash-devnet-consensus-v1",
      "spec_version": 1
    },
    "genesis_allocation": {
      "allocation_count": 0,
      "allocation_hash": "131ED3AD0536152AB3D6590D7804DCF614206617DEAE41D238905913E36944E1",
      "allocation_ready": false,
      "manual_gate_status": "not_complete",
      "mode": "spacecash-genesis-allocation-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_genesis_allocation_5cb5b3dcf4b3f898.json",
      "supply_cap_units": 1000000000000000,
      "total_units": 0,
      "warnings": [
        "allocation total does not match the supply cap."
      ]
    },
    "genesis_plan": {
      "devnet_history_carried_to_mainnet": false,
      "manual_gate_status": "not_complete",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_genesis_plan_27a666ef42e4ab31.json",
      "plan_hash": "55D62969DFEE8460989A8A36D59F37D78CFB8BAF48DE44BF7B991FE61DFEEC27",
      "plan_id": "spacecash-devnet-genesis-plan-v1",
      "plan_version": 1
    },
    "legal_compliance_evidence": {
      "approved_area_count": 0,
      "blockers": [
        "allocation_verifier_output_path_missing",
        "allocation_verifier_output_sha256_missing",
        "approved_use_case_missing",
        "consumer_protection_refunds_not_approved",
        "customer_support_not_approved",
        "engagement_letter_missing",
        "final_decision_decided_at_missing",
        "final_decision_not_approved",
        "final_decision_reviewer_statement_missing",
        "genesis_allocation_basis_not_approved",
        "genesis_allocation_hash_missing",
        "jurisdiction_availability_not_approved",
        "manual_gate_not_complete",
        "marketing_risk_disclosures_not_approved",
        "no_exchange_listing_claims_confirmed_not_confirmed",
        "no_investment_claims_confirmed_not_confirmed",
        "no_legal_tender_claims_confirmed_not_confirmed",
        "privacy_data_retention_not_approved",
        "privacy_policy_path_missing",
        "product_payment_reviewed_not_confirmed",
        "prohibited_use_cases_missing",
        "public_distribution_reviewed_not_confirmed",
        "real_money_use_authorized_not_confirmed",
        "refund_policy_path_missing",
        "release_bundle_sha256_missing",
        "required_disclosures_missing",
        "required_operational_controls_missing",
        "restricted_product_controls_not_approved",
        "restricted_product_policy_path_missing",
        "review_areas_not_approved",
        "reviewed_source_hash_missing",
        "reviewer_missing",
        "supply_distribution_treasury_not_approved",
        "tax_position_path_missing",
        "tax_reporting_not_approved",
        "terms_of_service_not_approved",
        "terms_path_missing",
        "token_payment_classification_not_approved",
        "treasury_controls_path_missing",
        "treasury_controls_reviewed_not_confirmed",
        "treasury_controls_sha256_missing"
      ],
      "legal_compliance_ready": false,
      "mode": "spacecash-legal-compliance-evidence-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_legal_compliance_evidence_979662cadd9fb998.json",
      "required_area_count": 11
    },
    "live_audit": {
      "chain_id": "spacecash-devnet-1",
      "checks": {
        "balances_match_transactions": true,
        "block_hash_chain": true,
        "checkpoint_votes_valid": true,
        "mempool_valid": true,
        "no_negative_balances": true,
        "supply_invariant": true
      },
      "counts": {
        "batched_blocks": 0,
        "blocks": 3,
        "checkpoint_votes": 3,
        "legacy_unsigned_spends": 0,
        "mempool_pending": 0,
        "mempool_total": 1,
        "product_orders": 0,
        "signed_spends": 1,
        "spends": 1,
        "transactions": 3,
        "validators": 3,
        "versioned_blocks": 3,
        "wallets": 5
      },
      "errors": [],
      "ok": true,
      "tip": {
        "hash": "9D0CBD31ED7BA3D7B68006A193859D74C372A468702B147660274DD17E81CC59",
        "height": 2
      },
      "warning_count": 0
    },
    "mainnet_decision": {
      "blockers": [
        "genesis_allocation_file_missing",
        "launch_authorization_approved_at_missing",
        "launch_authorization_approver_missing",
        "launch_authorization_not_approved",
        "launch_authorization_statement_missing",
        "legal_compliance_evidence_file_missing",
        "manual_gate_evidence_file_missing",
        "production_deployment_evidence_file_missing",
        "public_testnet_evidence_file_missing",
        "release_bundle_sha256s_file_missing",
        "reviewed_source_hash_missing",
        "security_review_evidence_file_missing",
        "wallet_custody_evidence_file_missing"
      ],
      "complete_gate_count": 0,
      "mainnet_decision_ready": false,
      "mode": "spacecash-mainnet-decision-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_mainnet_decision_30c2523ef54ad612.json",
      "required_artifact_count": 10,
      "required_gate_count": 7,
      "verified_artifact_count": 2
    },
    "manual_gate_evidence": {
      "artifact_count": 10,
      "blocker_gates": [
        "public_testnet_complete",
        "external_security_review_complete",
        "legal_compliance_review_complete",
        "wallet_recovery_custody_policy_complete",
        "production_deployment_runbook_complete"
      ],
      "complete_gates": [],
      "mainnet_manual_ready": false,
      "mode": "spacecash-mainnet-gate-evidence-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_manual_gate_evidence_1489a32d8f4334c4.json"
    },
    "monetary_policy": {
      "manual_gate_status": "not_complete",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_monetary_policy_be326de7e5c00cba.json",
      "policy_hash": "5C4C51D443B91EF950B0E3FCC2A653F14C650E2316CACF2D93740CE180496B64",
      "policy_id": "spacecash-devnet-monetary-policy-v1",
      "policy_version": 1,
      "supply_cap_units": 1000000000000000
    },
    "production_deployment_evidence": {
      "approved_decision_count": 0,
      "blockers": [
        "approved_genesis_allocation_not_approved",
        "approved_genesis_allocation_sha256_missing",
        "backup_restore_not_approved",
        "backup_restore_rehearsal_path_missing",
        "backup_restore_rehearsed_not_confirmed",
        "bootstrap_peer_plan_path_missing",
        "bootstrap_peers_missing",
        "deployment_decisions_not_approved",
        "deployment_runbook_path_missing",
        "deployment_target_missing",
        "final_approval_approved_at_missing",
        "final_approval_approver_missing",
        "final_approval_not_approved",
        "final_approval_statement_missing",
        "genesis_allocation_check_sha256_missing",
        "http_hardening_not_approved",
        "incident_contact_missing",
        "incident_response_not_approved",
        "incident_response_plan_path_missing",
        "launch_window_approved_not_confirmed",
        "legal_compliance_evidence_sha256_missing",
        "manual_gate_not_complete",
        "monitoring_alerting_not_approved",
        "monitoring_endpoints_missing",
        "monitoring_owner_confirmed_not_confirmed",
        "monitoring_plan_path_missing",
        "node_setup_instructions_path_missing",
        "node_setup_not_approved",
        "post_deploy_audit_not_approved",
        "post_deploy_audit_plan_path_missing",
        "production_domain_missing",
        "production_http_controls_path_missing",
        "public_testnet_evidence_sha256_missing",
        "release_artifacts_archived_not_confirmed",
        "release_bundle_archive_not_approved",
        "release_bundle_path_missing",
        "release_bundle_sha256_missing",
        "release_manifest_path_missing",
        "reviewed_source_hash_missing",
        "reviewer_missing",
        "rollback_owner_confirmed_not_confirmed",
        "rollback_plan_not_approved",
        "rollback_plan_path_missing",
        "security_review_evidence_sha256_missing",
        "security_review_packet_sha256_missing",
        "sha256sums_path_missing",
        "source_freeze_not_approved",
        "validator_count_invalid",
        "validator_quorum_invalid",
        "validator_rollout_not_approved",
        "validator_rollout_plan_path_missing",
        "wallet_custody_evidence_sha256_missing",
        "write_route_controls_approved_not_confirmed"
      ],
      "deployment_ready": false,
      "mode": "spacecash-production-deployment-evidence-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_production_deployment_evidence_0d438c1641ae4e63.json",
      "required_decision_count": 11
    },
    "public_testnet_evidence": {
      "blockers": [
        "checkpoint_quorum_not_passed",
        "duration_below_minimum",
        "final_report_not_approved",
        "guarded_import_not_passed",
        "incident_response_not_passed",
        "manual_gate_not_complete",
        "node_health_and_readiness_not_passed",
        "node_restart_recovery_not_passed",
        "nodes[0].not_independently_operated",
        "nodes[1].not_independently_operated",
        "nodes[2].not_independently_operated",
        "not_enough_independent_operators",
        "peer_gossip_not_passed",
        "product_payment_not_passed",
        "signed_transfer_not_passed",
        "sync_preview_not_passed"
      ],
      "mode": "spacecash-public-testnet-exit-evidence-v1",
      "node_count": 3,
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_public_testnet_evidence_4432de5bccd184b0.json",
      "public_testnet_ready": false,
      "scenario_count": 9
    },
    "security_packet": {
      "external_review_status": "packet_only_not_audit",
      "file_count": 59,
      "ok": true,
      "out_dir": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_security_review_packet_827dcccb7da311c8",
      "source_hash": "EDBB518F077F0B26281B2FB653E456AEDB268EC022522B021A57ACEB62ED45C6"
    },
    "security_review_evidence": {
      "blockers": [
        "auditor_missing",
        "checkpoint_quorum_not_closed",
        "closure_auditor_statement_missing",
        "closure_closed_at_missing",
        "closure_not_approved",
        "closure_not_closed",
        "consensus_spec_integrity_not_closed",
        "daemon_exposure_not_closed",
        "genesis_allocation_boundary_not_closed",
        "genesis_allocation_schema_not_closed",
        "ledger_supply_and_blocks_not_closed",
        "manual_gate_not_complete",
        "monetary_policy_integrity_not_closed",
        "nonce_and_mempool_replay_not_closed",
        "reviewed_source_hash_missing",
        "scope_topics_not_closed",
        "security_packet_sha256_missing",
        "signature_payload_binding_not_closed",
        "signed_scope_missing",
        "snapshot_sync_import_not_closed",
        "wallet_recovery_custody_boundary_not_closed"
      ],
      "external_security_review_ready": false,
      "finding_count": 0,
      "mode": "spacecash-external-security-review-evidence-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_security_review_evidence_e4b1bf3fd438d66d.json",
      "required_topic_count": 11,
      "reviewed_topic_count": 0
    },
    "smoke": {
      "alice": "SPACE-C70A037201C5312534D93C558128B5BE",
      "audit": {
        "blocks": 3,
        "transactions": 3,
        "valid": true,
        "validators": 1
      },
      "bob": "SPACE-0DA9879D8DEE4B8989611A8A7D0288E9",
      "checkpoint_quorum": true,
      "db_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_release_smoke_133f4c63439f5ed8.sqlite3",
      "gossip": {
        "added_count": 1,
        "discovered_url": "http://127.0.0.1:18217",
        "repeat_added_count": 0,
        "source_url": "http://127.0.0.1:23247"
      },
      "mined_block": 2,
      "ok": true
    },
    "testnet_plan": {
      "candidate": {
        "automated_blockers": [],
        "automated_release_candidate": true,
        "chain_digest": "EE0F0CBAFFB5E145508560F47506AE3CC6619F7FE3501EA6BB7B698C793FDAFB",
        "db": "spacecash_testnet_candidate.sqlite3",
        "mainnet_ready": false,
        "manual_blockers": [
          "public_testnet_complete",
          "external_security_review_complete",
          "legal_compliance_review_complete",
          "wallet_recovery_custody_policy_complete",
          "production_deployment_runbook_complete"
        ],
        "tip_hash": "97F723114C87FBB5E558F724DF50DA48F4E66BAC73ED260EC03E21D270DB1501"
      },
      "file_count": 57,
      "node_count": 3,
      "ok": true,
      "operator_packet": {
        "blockers": [
          "node-01.daily_reports_missing",
          "node-01.evidence_manifest_identity_incomplete",
          "node-01.evidence_manifest_not_approved",
          "node-01.node_reports_incomplete",
          "node-01.not_independent_operator",
          "node-01.operator_identity_incomplete",
          "node-01.operator_intake_not_approved",
          "node-01.preflight_incomplete",
          "node-01.scenario_artifacts_incomplete",
          "node-02.daily_reports_missing",
          "node-02.evidence_manifest_identity_incomplete",
          "node-02.evidence_manifest_not_approved",
          "node-02.node_reports_incomplete",
          "node-02.not_independent_operator",
          "node-02.operator_identity_incomplete",
          "node-02.operator_intake_not_approved",
          "node-02.preflight_incomplete",
          "node-02.scenario_artifacts_incomplete",
          "node-03.daily_reports_missing",
          "node-03.evidence_manifest_identity_incomplete",
          "node-03.evidence_manifest_not_approved",
          "node-03.node_reports_incomplete",
          "node-03.not_independent_operator",
          "node-03.operator_identity_incomplete",
          "node-03.operator_intake_not_approved",
          "node-03.preflight_incomplete",
          "node-03.scenario_artifacts_incomplete",
          "not_enough_independent_operators"
        ],
        "check_path": "operator_onboarding_check.json",
        "file_count": 13,
        "node_count": 3,
        "path": "operators",
        "ready": false,
        "status": "intake_template_only"
      },
      "out_dir": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_testnet_plan_6773502ab35951c4",
      "validator_quorum": 2,
      "validators": 3
    },
    "testnet_rehearsal": {
      "chain_digest": "8BC7D2AC90C4D291644A4D69ACA454E9A7C7BB1498C5EA9ED52204FC7FF8C353",
      "manual_gate_status": "local_rehearsal_only",
      "node_count": 3,
      "ok": true,
      "out_dir": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_testnet_rehearsal_de2c99701184cda1",
      "report_sha256": "0E0DA296344E2D67EDE1318239D1FA82CC224FEC95D9FCC8ECB5A5BA2AA88176",
      "validator_quorum": 2,
      "validators": 3
    },
    "units": {
      "errors": 0,
      "failures": 0,
      "ok": true,
      "output_tail": [
        "test_template_is_valid_but_not_ready (test_spacecash_mainnet_decision.MainnetDecisionTests.test_template_is_valid_but_not_ready) ... ok",
        "test_workbench_packet_writes_review_inputs_and_checksums (test_spacecash_manual_gate_workbench.SpaceCashManualGateWorkbenchTests.test_workbench_packet_writes_review_inputs_and_checksums) ... ok",
        "test_workbench_summarizes_all_manual_gates_without_approving_them (test_spacecash_manual_gate_workbench.SpaceCashManualGateWorkbenchTests.test_workbench_summarizes_all_manual_gates_without_approving_them) ... ok",
        "test_monetary_policy_is_deterministic_and_written (test_spacecash_monetary_policy.MonetaryPolicyTests.test_monetary_policy_is_deterministic_and_written) ... ok",
        "test_completed_operator_packet_passes_require_complete (test_spacecash_operator_onboarding.OperatorOnboardingTests.test_completed_operator_packet_passes_require_complete) ... ok",
        "test_generated_operator_packet_is_valid_but_not_ready (test_spacecash_operator_onboarding.OperatorOnboardingTests.test_generated_operator_packet_is_valid_but_not_ready) ... ok",
        "test_require_complete_rejects_template_packet (test_spacecash_operator_onboarding.OperatorOnboardingTests.test_require_complete_rejects_template_packet) ... ok",
        "test_complete_production_deployment_evidence_passes_require_complete (test_spacecash_production_deployment_evidence.ProductionDeploymentEvidenceTests.test_complete_production_deployment_evidence_passes_require_complete) ... ok",
        "test_production_deployment_template_is_valid_but_not_ready (test_spacecash_production_deployment_evidence.ProductionDeploymentEvidenceTests.test_production_deployment_template_is_valid_but_not_ready) ... ok",
        "test_production_deployment_workbench_writes_review_inputs_and_checksums (test_spacecash_production_deployment_evidence.ProductionDeploymentEvidenceTests.test_production_deployment_workbench_writes_review_inputs_and_checksums) ... ok",
        "test_require_complete_rejects_empty_template (test_spacecash_production_deployment_evidence.ProductionDeploymentEvidenceTests.test_require_complete_rejects_empty_template) ... ok",
        "test_validator_quorum_cannot_exceed_validator_count (test_spacecash_production_deployment_evidence.ProductionDeploymentEvidenceTests.test_validator_quorum_cannot_exceed_validator_count) ... ok",
        "test_complete_public_testnet_evidence_passes_require_complete (test_spacecash_public_testnet_evidence.PublicTestnetEvidenceTests.test_complete_public_testnet_evidence_passes_require_complete) ... ok",
        "test_public_testnet_template_is_valid_but_not_ready (test_spacecash_public_testnet_evidence.PublicTestnetEvidenceTests.test_public_testnet_template_is_valid_but_not_ready) ... ok",
        "test_public_testnet_workbench_writes_review_inputs_and_checksums (test_spacecash_public_testnet_evidence.PublicTestnetEvidenceTests.test_public_testnet_workbench_writes_review_inputs_and_checksums) ... ok",
        "test_require_complete_rejects_empty_template (test_spacecash_public_testnet_evidence.PublicTestnetEvidenceTests.test_require_complete_rejects_empty_template) ... ok",
        "test_release_bundle_writes_candidate_manifest_and_checksums (test_spacecash_release_bundle.ReleaseBundleTests.test_release_bundle_writes_candidate_manifest_and_checksums) ... ok",
        "test_build_resolution_creates_clean_candidate_without_promoting (test_spacecash_resolve_blockers.BlockerResolutionTests.test_build_resolution_creates_clean_candidate_without_promoting) ... ok",
        "test_complete_security_review_evidence_passes_require_complete (test_spacecash_security_review_evidence.SecurityReviewEvidenceTests.test_complete_security_review_evidence_passes_require_complete) ... ok",
        "test_open_high_finding_blocks_completion (test_spacecash_security_review_evidence.SecurityReviewEvidenceTests.test_open_high_finding_blocks_completion) ... ok",
        "test_require_complete_rejects_empty_template (test_spacecash_security_review_evidence.SecurityReviewEvidenceTests.test_require_complete_rejects_empty_template) ... ok",
        "test_security_review_template_is_valid_but_not_ready (test_spacecash_security_review_evidence.SecurityReviewEvidenceTests.test_security_review_template_is_valid_but_not_ready) ... ok",
        "test_security_review_packet_writes_review_inputs_and_checksums (test_spacecash_security_review_packet.SecurityReviewPacketTests.test_security_review_packet_writes_review_inputs_and_checksums) ... ok",
        "test_testnet_package_writes_nodes_evidence_and_checksums (test_spacecash_testnet_plan.TestnetPlanTests.test_testnet_package_writes_nodes_evidence_and_checksums) ... ok",
        "test_rehearsal_runs_nodes_and_writes_report (test_spacecash_testnet_rehearsal.TestnetRehearsalTests.test_rehearsal_runs_nodes_and_writes_report) ... ok",
        "test_complete_wallet_custody_evidence_passes_require_complete (test_spacecash_wallet_custody_evidence.WalletCustodyEvidenceTests.test_complete_wallet_custody_evidence_passes_require_complete) ... ok",
        "test_require_complete_rejects_empty_template (test_spacecash_wallet_custody_evidence.WalletCustodyEvidenceTests.test_require_complete_rejects_empty_template) ... ok",
        "test_server_private_key_storage_is_never_allowed (test_spacecash_wallet_custody_evidence.WalletCustodyEvidenceTests.test_server_private_key_storage_is_never_allowed) ... ok",
        "test_wallet_custody_template_is_valid_but_not_ready (test_spacecash_wallet_custody_evidence.WalletCustodyEvidenceTests.test_wallet_custody_template_is_valid_but_not_ready) ... ok",
        "test_wallet_custody_workbench_writes_review_inputs_and_checksums (test_spacecash_wallet_custody_evidence.WalletCustodyEvidenceTests.test_wallet_custody_workbench_writes_review_inputs_and_checksums) ... ok",
        "test_wallet_policy_is_deterministic_and_written (test_spacecash_wallet_policy.WalletPolicyTests.test_wallet_policy_is_deterministic_and_written) ... ok",
        "test_productization_route_surfaces_tarot_packet (test_vorath_tarot_v2_packet.VorathTarotV2PacketTests.test_productization_route_surfaces_tarot_packet) ... ok",
        "test_tarot_contact_proof_endpoint_serves_existing_pdf (test_vorath_tarot_v2_packet.VorathTarotV2PacketTests.test_tarot_contact_proof_endpoint_serves_existing_pdf) ... ok",
        "test_tarot_manifest_preserves_source_and_qa_status (test_vorath_tarot_v2_packet.VorathTarotV2PacketTests.test_tarot_manifest_preserves_source_and_qa_status) ... ok",
        "test_tarot_static_assets_are_served (test_vorath_tarot_v2_packet.VorathTarotV2PacketTests.test_tarot_static_assets_are_served) ... ok",
        "",
        "----------------------------------------------------------------------",
        "Ran 163 tests in 44.788s",
        "",
        "OK"
      ],
      "tests_run": 163
    },
    "wallet_custody_evidence": {
      "approved_decision_count": 0,
      "blockers": [
        "address_versioning_not_approved",
        "address_versioning_path_missing",
        "backup_passphrase_warning_approved_not_confirmed",
        "backup_rotation_not_approved",
        "backup_rotation_path_missing",
        "backup_verification_flow_path_missing",
        "compromised_key_procedure_not_approved",
        "compromised_key_procedure_path_missing",
        "development_key_exclusion_not_approved",
        "development_keys_excluded_not_confirmed",
        "final_approval_approved_at_missing",
        "final_approval_approver_missing",
        "final_approval_not_approved",
        "final_approval_statement_missing",
        "hardware_or_custody_plan_path_missing",
        "hardware_wallet_or_custody_not_approved",
        "lost_key_procedure_not_approved",
        "lost_key_procedure_path_missing",
        "lost_key_warning_approved_not_confirmed",
        "manual_gate_not_complete",
        "private_key_handling_not_approved",
        "private_key_handling_policy_path_missing",
        "recovery_standard_not_approved",
        "recovery_standard_path_missing",
        "release_bundle_sha256_missing",
        "reviewed_source_hash_missing",
        "reviewer_missing",
        "support_escalation_not_approved",
        "user_backup_verification_not_approved",
        "wallet_decisions_not_approved"
      ],
      "mode": "spacecash-wallet-recovery-custody-evidence-v1",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_wallet_custody_evidence_3da4c9d1816163a7.json",
      "required_decision_count": 10,
      "wallet_custody_ready": false
    },
    "wallet_policy": {
      "manual_gate_status": "not_complete",
      "ok": true,
      "out_path": "C:\\Users\\andre\\scripts\\the_workshop\\projects\\NORTHSTAR_PRIME\\_tmp\\spacecash_wallet_policy_408f1ea92b33d353.json",
      "policy_hash": "239750DE7AC4374A298EED8124925E8193B8D16FA966E0D6FBB256B873F422C8",
      "policy_id": "spacecash-devnet-wallet-policy-v1",
      "policy_version": 1
    }
  },
  "checks_ok": true,
  "files": [
    {
      "bytes": 621140,
      "path": "app.py",
      "sha256": "1A4E834FC744A258A2998CEE16676E7BC9BE69DEF4F8188FF9F76CF0829D0F85"
    },
    {
      "bytes": 4528,
      "path": "docs/spacecash/BLOCKER_CLEARANCE_ISSUES.md",
      "sha256": "D62589C6659FFB5A36C1E5F1FEA72F74E9CD055E0D82BB5113A9DC6E6BC65C67"
    },
    {
      "bytes": 7042,
      "path": "docs/spacecash/BLOCKER_ELIMINATION_PLAN.md",
      "sha256": "CECE6BFAE4F3F765DD170EA2D0A1FE7252B6800744BB2B1CACC57B77C5FFFE37"
    },
    {
      "bytes": 2193,
      "path": "docs/spacecash/CONSENSUS_SPEC.md",
      "sha256": "674FDE76A44EDFB728FA23CBB54D76D57652AA28065ABE2B8DBEFF9A8670B404"
    },
    {
      "bytes": 1532,
      "path": "docs/spacecash/CRYPTO_ISP_HANDOFF_2026-05-25.md",
      "sha256": "8A03784DD9B3EBBA22A1077C638FCDADDBAD49B682EE6DE732C940CBFF253432"
    },
    {
      "bytes": 925,
      "path": "docs/spacecash/CRYPTO_ISP_TASK_QUEUE_2026-05-25.md",
      "sha256": "B46595CC8F150A0FF57A1523D0523DAB8AD36A61ED159124A793B21964F04AD4"
    },
    {
      "bytes": 20679,
      "path": "docs/spacecash/DAEMON_ROADMAP.md",
      "sha256": "6F28EA8A73A134475F30A64A533623386384663DF99C51A772A8113F6D0CDAA7"
    },
    {
      "bytes": 1479,
      "path": "docs/spacecash/GENESIS_ALLOCATION.md",
      "sha256": "73BE7170EE1B48C066B70D0B0223319A616CF7B15D03D02C9D147F3D9B3211BA"
    },
    {
      "bytes": 1978,
      "path": "docs/spacecash/GENESIS_PLAN.md",
      "sha256": "92DCA82F39D36BB9FD40EEE13A1B35DB314599EC4290CE8B013E1C19E13F2936"
    },
    {
      "bytes": 4979,
      "path": "docs/spacecash/LAUNCH_READINESS_MAP.md",
      "sha256": "B9A4BD71BF143A5CEFB845B37BC26C05C5252F20CEF3D1646708B51BC423820E"
    },
    {
      "bytes": 2350,
      "path": "docs/spacecash/LEGAL_COMPLIANCE_GATE.md",
      "sha256": "3CE2BB8DB6721550792C21553CB70B00B7321788C5D448E27C025568BCC3198C"
    },
    {
      "bytes": 14595,
      "path": "docs/spacecash/MAINNET_GATE.md",
      "sha256": "C41DAD804A8461829733E15722B1939123E3E4F3D4BC18E2080D5E397C0DEAB0"
    },
    {
      "bytes": 6141,
      "path": "docs/spacecash/MANUAL_GATES.md",
      "sha256": "FFE1E93E26C1B2796B793E1B0C350A2F204581B875E51AF688CB5B1CD57CD3BA"
    },
    {
      "bytes": 1754,
      "path": "docs/spacecash/MONETARY_POLICY.md",
      "sha256": "E9BA6611C4AD180CD5B0CB47DE814E0A2CDF9E86694DAE1CB0293C0263C8C956"
    },
    {
      "bytes": 3690,
      "path": "docs/spacecash/PRODUCTION_DEPLOYMENT_RUNBOOK.md",
      "sha256": "20E41F3377AD31EC28BF4A48F0BE21D893D4A44AA0815C8787296D53D3C64A84"
    },
    {
      "bytes": 5137,
      "path": "docs/spacecash/PUBLIC_TESTNET_RUNBOOK.md",
      "sha256": "F77B1B586C1D62E8724FB1CECF34216AD5B79B4CF2433AB238B615444BBE07E2"
    },
    {
      "bytes": 7124,
      "path": "docs/spacecash/SECURITY_AUDIT_SCOPE.md",
      "sha256": "3BC3CAF657A57C49229933301BDD1FC9C2133A78F89BF4DF9D7E067478B0D8D3"
    },
    {
      "bytes": 2345,
      "path": "docs/spacecash/SYMBOLIC_VALUE.md",
      "sha256": "A788088BC1ED319CD02E410E19ADD96CA727E6C919F7417FDD1EC83301422B65"
    },
    {
      "bytes": 13417,
      "path": "docs/spacecash/THREAT_MODEL.md",
      "sha256": "AFD89190A4C0B763387E6358A242BBC047E2032568B64D6B792FD8715F77A46A"
    },
    {
      "bytes": 3190,
      "path": "docs/spacecash/WALLET_RECOVERY_CUSTODY_POLICY.md",
      "sha256": "40ED88D9B8CFDB202181F472D046075CF47EAD2296B3A968F68F3797733B66B0"
    },
    {
      "bytes": 206,
      "path": "northstar_catalog/__init__.py",
      "sha256": "6C2F566E1F01CE33C9B65A83D175B1F47455800D9454474C91B0AAE31B16D703"
    },
    {
      "bytes": 5879,
      "path": "northstar_catalog/catalog.py",
      "sha256": "AD4FB1502C34E32776A47B44C2881C26B2141AA1C4BEB92939E65F5A6373CB85"
    },
    {
      "bytes": 1759,
      "path": "spacecash_core/__init__.py",
      "sha256": "8AE901882BB113F6C7133795485712529BE423FE19BAF2AF77F37577A5A58EA1"
    },
    {
      "bytes": 199178,
      "path": "spacecash_core/ledger.py",
      "sha256": "6FE656254C0B590BBA5FEC3D8BC05C7576751C8360EE2F8036A7540667FF49FB"
    },
    {
      "bytes": 27223,
      "path": "spacecash_core/protocol.py",
      "sha256": "C1CC6980736F5B5D68478A2C9FEBDA00F00549056E4DA26CA63DC38C204AE349"
    },
    {
      "bytes": 36,
      "path": "tests/__init__.py",
      "sha256": "1763136ADE32357D3DF2EF2BBC7B85F1F77CF567901FB58A7BC130E8EFFBCD9C"
    },
    {
      "bytes": 7914,
      "path": "tests/test_arcade_paperclip_resistance.py",
      "sha256": "18E5AE9F0ED55461C14609178A2B1C409A9F6511CC4DAA347C8AB255F05746E2"
    },
    {
      "bytes": 10383,
      "path": "tests/test_arcade_precinct_404.py",
      "sha256": "EB47F3DE1FCF48429D8324EFAD91A75D927FF24432259748CA7304B4F25FB18A"
    },
    {
      "bytes": 3798,
      "path": "tests/test_cart_craft_lab.py",
      "sha256": "2F3B97D142811AE348741FA566290FCE1A81021EDF2CB95DB284619ADE999CFB"
    },
    {
      "bytes": 2276,
      "path": "tests/test_creative_board.py",
      "sha256": "DEBE192A50450ED1E5184EB5226AFAAE5F02E10D5DD1DDC75DBE41AC3C33B0E7"
    },
    {
      "bytes": 4846,
      "path": "tests/test_creative_source_inventory.py",
      "sha256": "90E899DCA868CE8A74F91491548ACBCD23BADDDD894301F201D7BE5FAF7C3AAA"
    },
    {
      "bytes": 2991,
      "path": "tests/test_idc_anthology_packet.py",
      "sha256": "DE72EAD9BF0A4A8E3C54CF3C13057D97ADCD020162373C887F1000D32EEE91FD"
    },
    {
      "bytes": 2442,
      "path": "tests/test_idr_bumper_proof_reel.py",
      "sha256": "BD0DADB352B5EE5A4DF741F8AFA31A5A79EAB92C0AAC69DBBF134B707A704935"
    },
    {
      "bytes": 23312,
      "path": "tests/test_image_creation_source_audit.py",
      "sha256": "6B4D69D63DCB104D9A8BB7E47820C80ECFDD6DEAAB369880FF33A0C5EE60C030"
    },
    {
      "bytes": 14966,
      "path": "tests/test_production_automation_tools.py",
      "sha256": "15A7EED6CF396ECA48DD38B12BF1CD7763AE08D6C36BDC61C005EB34E75129D6"
    },
    {
      "bytes": 6112,
      "path": "tests/test_recipe_card_image_queue.py",
      "sha256": "E641F76052EB8359CB90A89E6316783E5C49A4CC9C866E6F92AE66A6844D3337"
    },
    {
      "bytes": 2441,
      "path": "tests/test_spacecash_candidate.py",
      "sha256": "7E71CF9489308BEAA167D399AAB177FB8BA1619AC28E42598281D185136694F7"
    },
    {
      "bytes": 1495,
      "path": "tests/test_spacecash_consensus_spec.py",
      "sha256": "D9CFBED6128453AAB2A710E457E123278551FC55F0E1E22341627DD9AEAAEEAD"
    },
    {
      "bytes": 14405,
      "path": "tests/test_spacecash_core.py",
      "sha256": "620BEDE817E4F5F5AE044374F7A8B1850A5A179668DF8FD0442B00BC8CF9DBB5"
    },
    {
      "bytes": 12702,
      "path": "tests/test_spacecash_daemon.py",
      "sha256": "F3DB8A29F6E87E832C0403A91C6BBF6C500765AECA984DDD988E8E7FC58C85EE"
    },
    {
      "bytes": 2925,
      "path": "tests/test_spacecash_gate_evidence.py",
      "sha256": "134E7B63F0F175B0CEBBF4C88E45E7370CDFFB80E43AE0B5402CF63C991ADF4A"
    },
    {
      "bytes": 5019,
      "path": "tests/test_spacecash_genesis_allocation.py",
      "sha256": "314FE4ACEB0FB740F945ED376DE3D3F8C97E9980F53960A9F1C8AC0244D6E164"
    },
    {
      "bytes": 1544,
      "path": "tests/test_spacecash_genesis_plan.py",
      "sha256": "AC16AF1C7C133B2B93673592294B257D58B6534F97B53DC5757536511A4BC77C"
    },
    {
      "bytes": 10057,
      "path": "tests/test_spacecash_handoff_index.py",
      "sha256": "D1C7EB15BC00DCB13CFE776F8A2144450B400FD5231BB2553236062E90D01048"
    },
    {
      "bytes": 11244,
      "path": "tests/test_spacecash_launch_handoffs.py",
      "sha256": "4A79F87622F41000E178975C04625B09E45FD504E2321332D81492C8E94CE77F"
    },
    {
      "bytes": 3318,
      "path": "tests/test_spacecash_launch_status_report.py",
      "sha256": "9D7587176567E6BF4F470E25013325C282B2D802467A75D8E02A192039D8E97C"
    },
    {
      "bytes": 10267,
      "path": "tests/test_spacecash_legal_compliance_evidence.py",
      "sha256": "62F4F83AAC98F8FB2DB170532507811AEEAFBF3BA9E5888546E467020EE35FE1"
    },
    {
      "bytes": 24411,
      "path": "tests/test_spacecash_mainnet_decision.py",
      "sha256": "1798B00358F12826FE904E15376DC06B8AC71A170F80886AB4240DD13E02719B"
    },
    {
      "bytes": 3876,
      "path": "tests/test_spacecash_manual_gate_workbench.py",
      "sha256": "EF56B0AE084C56666E262FCDE6FB8E8BACD613349BED21D50C32B39020161D0E"
    },
    {
      "bytes": 1627,
      "path": "tests/test_spacecash_monetary_policy.py",
      "sha256": "E34977A2F34279420F3AC1A84D05143994AB76E8508CF753F4974E975C39C05A"
    },
    {
      "bytes": 6106,
      "path": "tests/test_spacecash_operator_onboarding.py",
      "sha256": "5EF7410CFDD32FAE0013479B1BCBD06227D8F0F4D228D1DCD51BCF442186CBF7"
    },
    {
      "bytes": 11248,
      "path": "tests/test_spacecash_production_deployment_evidence.py",
      "sha256": "D77B50272C0B1658C47213879DA41390AC700988FBCE57B4739044A3B0D38A7E"
    },
    {
      "bytes": 7351,
      "path": "tests/test_spacecash_public_testnet_evidence.py",
      "sha256": "8DA76759B3A9A65887EB1D40AF88B3AE306053CB6D30C763661C6C089500BF3F"
    },
    {
      "bytes": 27024,
      "path": "tests/test_spacecash_release_bundle.py",
      "sha256": "10406E0736DF23A1C43D916770B96948233ED3566D3F4954599B8202DA81C07C"
    },
    {
      "bytes": 2114,
      "path": "tests/test_spacecash_resolve_blockers.py",
      "sha256": "CACBF62827C17C1A88B2943BD1560D862C1A9B73EBA3A5BEB4B80FD05AC26AD5"
    },
    {
      "bytes": 5072,
      "path": "tests/test_spacecash_security_review_evidence.py",
      "sha256": "BCFC968362F77EE4114DC98E2977CB0090BF95D0D941BB78187938EB39E35A09"
    },
    {
      "bytes": 8912,
      "path": "tests/test_spacecash_security_review_packet.py",
      "sha256": "FDD4D4A72F977D775E20402930717304B2F35A0DABE635EE3770F15FD68FF068"
    },
    {
      "bytes": 5574,
      "path": "tests/test_spacecash_testnet_plan.py",
      "sha256": "25622016B502B0B87E5933FA53EAA2006281D369C3BBCF5567C586A39A12578B"
    },
    {
      "bytes": 2102,
      "path": "tests/test_spacecash_testnet_rehearsal.py",
      "sha256": "C4D7CD30E17D6D51F13E018F662614F908FF14CFD597207ECC1B22604677129F"
    },
    {
      "bytes": 9216,
      "path": "tests/test_spacecash_wallet_custody_evidence.py",
      "sha256": "729CF55B42B609D5B05C28744EFACBF6AF42EEECC703D989E2CAD02671678994"
    },
    {
      "bytes": 1588,
      "path": "tests/test_spacecash_wallet_policy.py",
      "sha256": "612DCAE8E547B1A3B6ED1D6A9522AE02DAA277296FB270220010C3F2C883E25E"
    },
    {
      "bytes": 3341,
      "path": "tests/test_vorath_tarot_v2_packet.py",
      "sha256": "FDA5963F901ACF38B36E12E8B887AF96AA2E4C73C69FFC8F1C7ED193237476FD"
    },
    {
      "bytes": 8450,
      "path": "tools/spacecash_candidate.py",
      "sha256": "226A7D073197C8F2B47217D9F64E9385EBF446101AFAE7EF9D97802FA25DFF93"
    },
    {
      "bytes": 29816,
      "path": "tools/spacecash_cli.py",
      "sha256": "5E1E5785C160D0790EC8ECE930E88177B3416E72BB7F7A3F2E2565E90C588FDD"
    },
    {
      "bytes": 1051,
      "path": "tools/spacecash_consensus_spec.py",
      "sha256": "A4A943E6121FFAB91E794F7350ADE54ACA8C171FD85288D671EB81068D301635"
    },
    {
      "bytes": 28986,
      "path": "tools/spacecash_daemon.py",
      "sha256": "4584A61CEF471C014874DA767D4E2504AE0B1DCD12B04645B897227DB712913B"
    },
    {
      "bytes": 12710,
      "path": "tools/spacecash_gate_evidence.py",
      "sha256": "CFF176551D91DA10D8B30A287A8C7C4942239D16F0BA99C056B593C7D1A08036"
    },
    {
      "bytes": 9926,
      "path": "tools/spacecash_genesis_allocation.py",
      "sha256": "DA2A8E88253D330649E391F271AA45B8A5E5CF5856581EB359C2F7F4ED68066F"
    },
    {
      "bytes": 1051,
      "path": "tools/spacecash_genesis_plan.py",
      "sha256": "CB02A44552A1383011071FE94A3C30FB12E445252F49E45748D0A04F70C86480"
    },
    {
      "bytes": 60122,
      "path": "tools/spacecash_handoff_index.py",
      "sha256": "B2834FE2C91EF5A4AF7EA20ADED7CD3ACB1143D5A35B469B806F8A9BEACCCB94"
    },
    {
      "bytes": 21504,
      "path": "tools/spacecash_launch_status_report.py",
      "sha256": "00B11F959BDA36A7B369F064CC618EA06B7BBE9FA5A56B9357F0AAF9A964449F"
    },
    {
      "bytes": 39036,
      "path": "tools/spacecash_legal_compliance_evidence.py",
      "sha256": "91EB1D6AB553BC27EB7BAFA584729D64ED6A2AB16D256A6DBD695F0526AB3A56"
    },
    {
      "bytes": 37897,
      "path": "tools/spacecash_mainnet_decision.py",
      "sha256": "75514C807FF1FAAF88D01675CA49753975AE52CDBF3128A735A11036D8097310"
    },
    {
      "bytes": 29075,
      "path": "tools/spacecash_manual_gate_workbench.py",
      "sha256": "B58A1CB7CB268A485B3E1D09AEC760C392CECF4B8F66DEE64904ADCFDC3C32E4"
    },
    {
      "bytes": 1041,
      "path": "tools/spacecash_monetary_policy.py",
      "sha256": "855483C27577E2C1465D563C40E935268724ED711F8509781EC52C0943E6BB20"
    },
    {
      "bytes": 13958,
      "path": "tools/spacecash_operator_onboarding.py",
      "sha256": "6FC2A7AFA0A8F9D24A38C99A546910606A8937A81E942728ED3F31B5A12313EE"
    },
    {
      "bytes": 36747,
      "path": "tools/spacecash_production_deployment_evidence.py",
      "sha256": "88F4FA70C5AA3C4BAC3AD484FCBD1DABD01F72E509C3C167ED66DA0DA0B9FB60"
    },
    {
      "bytes": 30020,
      "path": "tools/spacecash_public_testnet_evidence.py",
      "sha256": "4066AFB8CE2A851E389AC85F594F9E71ECE4DEAC8A05ECD9A0B74750C644E96A"
    },
    {
      "bytes": 44026,
      "path": "tools/spacecash_release_bundle.py",
      "sha256": "D1E235CF575B0D59DFE53DEA4FC73AB8575706AAD092A1E349C92851371C5DA6"
    },
    {
      "bytes": 42692,
      "path": "tools/spacecash_release_manifest.py",
      "sha256": "995228665B0EE70D100196BCA482BB155EC96A7B93A8875FB53387A478E266CA"
    },
    {
      "bytes": 7670,
      "path": "tools/spacecash_resolve_blockers.py",
      "sha256": "C9AAE20F0F3296AB4EDE1B4BF9D797E9E958CABA8BC58975080B7710E635A96D"
    },
    {
      "bytes": 19719,
      "path": "tools/spacecash_security_review_evidence.py",
      "sha256": "2F2A5186F62F6861937F159071F1EE185B1EAF99430CD0F961DB08C10899019C"
    },
    {
      "bytes": 32630,
      "path": "tools/spacecash_security_review_packet.py",
      "sha256": "E0E0406A6480ACD63DFB62CCE4D7F3957C4F1FBCB20D76A54FE66AF9106011C7"
    },
    {
      "bytes": 7199,
      "path": "tools/spacecash_smoke.py",
      "sha256": "28FC093CDEAB07A06B7F9400110A86B522B691DF3E721B46514954147AF28188"
    },
    {
      "bytes": 29077,
      "path": "tools/spacecash_testnet_plan.py",
      "sha256": "8A885FA0C69645FE7D856A5839F73A69CE9FA36DA67CEBED1140F7C9C91F048F"
    },
    {
      "bytes": 11664,
      "path": "tools/spacecash_testnet_rehearsal.py",
      "sha256": "5F99646E1051ED35FF01FD7B06346A564821703C6FD63CCDE0A3CF7394FD337E"
    },
    {
      "bytes": 30943,
      "path": "tools/spacecash_wallet_custody_evidence.py",
      "sha256": "805F1A197ACD10F37E9B87D6F92910D7B1D480E027F51AD288BCD1E8C62FE578"
    },
    {
      "bytes": 1069,
      "path": "tools/spacecash_wallet_policy.py",
      "sha256": "BACDF97B310D29558B1D51C04683CB91E95647A30280678B834E4931FF497D78"
    }
  ],
  "manifest_version": 1,
  "mode": "local signed devnet",
  "name": "spacecash-devnet-release-manifest",
  "protocol": {
    "address_version": 1,
    "block_version": 2,
    "consensus_spec_hash": "02FC7BE0A5DDE8D5D95EDA14BD8D1F195BB680D1D853123ABD89F8BBDAF85E5B",
    "consensus_spec_id": "spacecash-devnet-consensus-v1",
    "consensus_spec_version": 1,
    "decimals": 6,
    "fork_choice_policy": "spacecash-devnet-append-only-v1",
    "genesis_plan_hash": "55D62969DFEE8460989A8A36D59F37D78CFB8BAF48DE44BF7B991FE61DFEEC27",
    "genesis_plan_id": "spacecash-devnet-genesis-plan-v1",
    "genesis_plan_version": 1,
    "monetary_policy_hash": "5C4C51D443B91EF950B0E3FCC2A653F14C650E2316CACF2D93740CE180496B64",
    "monetary_policy_id": "spacecash-devnet-monetary-policy-v1",
    "monetary_policy_version": 1,
    "node_protocol_version": 1,
    "producer_policy_version": 1,
    "signed_payload_version": 1,
    "symbol": "SPACE",
    "validator_policy_version": 1,
    "wallet_export_cipher": "AES-256-GCM",
    "wallet_export_kdf": "PBKDF2-SHA256-250000",
    "wallet_export_version": 1,
    "wallet_policy_hash": "239750DE7AC4374A298EED8124925E8193B8D16FA966E0D6FBB256B873F422C8",
    "wallet_policy_id": "spacecash-devnet-wallet-policy-v1",
    "wallet_policy_version": 1
  },
  "readiness": {
    "audit": {
      "counts": {
        "batched_blocks": 0,
        "blocks": 3,
        "checkpoint_votes": 3,
        "legacy_unsigned_spends": 0,
        "mempool_pending": 0,
        "mempool_total": 1,
        "product_orders": 0,
        "signed_spends": 1,
        "spends": 1,
        "transactions": 3,
        "validators": 3,
        "versioned_blocks": 3,
        "wallets": 5
      },
      "tip": {
        "hash": "9D0CBD31ED7BA3D7B68006A193859D74C372A468702B147660274DD17E81CC59",
        "height": 2
      },
      "valid": true,
      "warning_count": 0
    },
    "automated_blockers": [],
    "automated_release_candidate": true,
    "mainnet_ready": false,
    "manual_blockers": [
      "public_testnet_complete",
      "external_security_review_complete",
      "legal_compliance_review_complete",
      "wallet_recovery_custody_policy_complete",
      "production_deployment_runbook_complete"
    ]
  },
  "recommended_checks": [
    "tools\\nsp_python.cmd -m py_compile app.py spacecash_core\\protocol.py spacecash_core\\ledger.py tools\\spacecash_cli.py tools\\spacecash_candidate.py tools\\spacecash_consensus_spec.py tools\\spacecash_daemon.py tools\\spacecash_gate_evidence.py tools\\spacecash_genesis_allocation.py tools\\spacecash_genesis_plan.py tools\\spacecash_handoff_index.py tools\\spacecash_legal_compliance_evidence.py tools\\spacecash_mainnet_decision.py tools\\spacecash_monetary_policy.py tools\\spacecash_operator_onboarding.py tools\\spacecash_production_deployment_evidence.py tools\\spacecash_public_testnet_evidence.py tools\\spacecash_release_bundle.py tools\\spacecash_smoke.py tools\\spacecash_security_review_evidence.py tools\\spacecash_security_review_packet.py tools\\spacecash_testnet_plan.py tools\\spacecash_testnet_rehearsal.py tools\\spacecash_release_manifest.py tools\\spacecash_wallet_custody_evidence.py tools\\spacecash_wallet_policy.py",
    "tools\\nsp_python.cmd -m unittest discover -s tests -v",
    "tools\\nsp_python.cmd tools\\spacecash_smoke.py",
    "tools\\nsp_python.cmd tools\\spacecash_consensus_spec.py --out _tmp\\spacecash_consensus_spec.json",
    "tools\\nsp_python.cmd tools\\spacecash_monetary_policy.py --out _tmp\\spacecash_monetary_policy.json",
    "tools\\nsp_python.cmd tools\\spacecash_genesis_plan.py --out _tmp\\spacecash_genesis_plan.json",
    "tools\\nsp_python.cmd tools\\spacecash_genesis_allocation.py --template-out _tmp\\spacecash_genesis_allocation_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_genesis_allocation.py --verify _tmp\\spacecash_genesis_allocation_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_gate_evidence.py --template-out _tmp\\spacecash_manual_gate_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_gate_evidence.py --verify _tmp\\spacecash_manual_gate_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_manual_gate_workbench.py --workbench-out-dir _tmp\\spacecash_manual_gate_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_handoff_index.py --out _tmp\\spacecash_handoff_index.json",
    "tools\\nsp_python.cmd tools\\spacecash_public_testnet_evidence.py --template-out _tmp\\spacecash_public_testnet_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_public_testnet_evidence.py --verify _tmp\\spacecash_public_testnet_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_public_testnet_evidence.py --workbench-out-dir _tmp\\spacecash_public_testnet_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_security_review_evidence.py --template-out _tmp\\spacecash_security_review_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_security_review_evidence.py --verify _tmp\\spacecash_security_review_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_legal_compliance_evidence.py --template-out _tmp\\spacecash_legal_compliance_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_legal_compliance_evidence.py --verify _tmp\\spacecash_legal_compliance_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_legal_compliance_evidence.py --workbench-out-dir _tmp\\spacecash_legal_compliance_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_wallet_custody_evidence.py --template-out _tmp\\spacecash_wallet_custody_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_wallet_custody_evidence.py --verify _tmp\\spacecash_wallet_custody_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_wallet_custody_evidence.py --workbench-out-dir _tmp\\spacecash_wallet_custody_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_production_deployment_evidence.py --template-out _tmp\\spacecash_production_deployment_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_production_deployment_evidence.py --verify _tmp\\spacecash_production_deployment_evidence_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_production_deployment_evidence.py --workbench-out-dir _tmp\\spacecash_production_deployment_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_mainnet_decision.py --template-out _tmp\\spacecash_mainnet_decision_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_mainnet_decision.py --verify _tmp\\spacecash_mainnet_decision_template.json",
    "tools\\nsp_python.cmd tools\\spacecash_mainnet_decision.py --workbench-out-dir _tmp\\spacecash_mainnet_decision_workbench --force",
    "tools\\nsp_python.cmd tools\\spacecash_wallet_policy.py --out _tmp\\spacecash_wallet_policy.json",
    "tools\\nsp_python.cmd tools\\spacecash_candidate.py --db _tmp\\spacecash_candidate.sqlite3 --validators 3 --quorum 2 --force",
    "tools\\nsp_python.cmd tools\\spacecash_testnet_plan.py --out-dir _tmp\\spacecash_testnet_plan --force",
    "tools\\nsp_python.cmd tools\\spacecash_operator_onboarding.py --verify _tmp\\spacecash_testnet_plan --out _tmp\\spacecash_testnet_plan\\operator_onboarding_check.json",
    "tools\\nsp_python.cmd tools\\spacecash_testnet_rehearsal.py --out-dir _tmp\\spacecash_testnet_rehearsal --force",
    "tools\\nsp_python.cmd tools\\spacecash_security_review_packet.py --out-dir _tmp\\spacecash_security_review_packet --force",
    "tools\\nsp_python.cmd tools\\spacecash_cli.py audit",
    "tools\\nsp_python.cmd tools\\spacecash_cli.py readiness",
    "tools\\nsp_python.cmd tools\\spacecash_release_manifest.py --check-compile --check-consensus-spec --check-monetary-policy --check-genesis-plan --check-genesis-allocation --check-manual-gate-evidence --check-public-testnet-evidence --check-security-review-evidence --check-legal-compliance-evidence --check-wallet-custody-evidence --check-production-deployment-evidence --check-mainnet-decision --check-wallet-policy --run-units --audit-live --include-readiness --run-smoke --run-candidate --run-testnet-plan --run-testnet-rehearsal --run-security-packet",
    "tools\\nsp_python.cmd tools\\spacecash_release_bundle.py --out-dir _tmp\\spacecash_release_bundle --force"
  ],
  "source_hash": "EDBB518F077F0B26281B2FB653E456AEDB268EC022522B021A57ACEB62ED45C6"
}