reconciliation_commit.v1.json (3159B)
1 { 2 "schema": "radroots.rhi.reconciliation-commit", 3 "schema_version": 1, 4 "contract_version": 1, 5 "state_schema_version": 6, 6 "authority": "sealed_reconciliation_attempt_repository", 7 "input": { 8 "lease": "exact_live_compare_and_swap_lease", 9 "attempt": "exact_claim_derived_attempt_plan", 10 "source_inventory": "exact_canonical_request_order_bounded_to_configured_count_plus_one", 11 "events": "signature_verified_admitted_replay_facts_only", 12 "time": "injected_source_result_milliseconds_only" 13 }, 14 "transaction": { 15 "mode": "one_short_sqlx_transaction", 16 "fences_before_mutation": [ 17 "exact_live_lease_row", 18 "exact_trade_dirty_generation", 19 "exact_evidence_policy_digest", 20 "exact_per_source_prior_checkpoint" 21 ], 22 "atomic_writes": [ 23 "canonical_mutations", 24 "signed_events", 25 "source_observations", 26 "immutable_attempt", 27 "immutable_source_results", 28 "exact_source_inventory_digests", 29 "at_most_one_dirty_generation_advance", 30 "eligible_source_checkpoints" 31 ], 32 "source_or_network_wait": false 33 }, 34 "checkpoint": { 35 "scope": [ 36 "source_id", 37 "trade_id", 38 "evidence_policy_digest", 39 "selector_digest" 40 ], 41 "advance_only_when": "completion_is_complete_and_candidate_is_strictly_newer_than_prior", 42 "forbidden_completion_classes": [ 43 "incomplete_timeout", 44 "incomplete_unavailable", 45 "incomplete_resource_limit", 46 "incomplete_unknown", 47 "unsupported" 48 ], 49 "public_evidence": "sealed_and_minted_only_after_durable_commit_confirmation" 50 }, 51 "dirty_generation": { 52 "advance_only_for": "newly_inserted_canonical_mutation_or_signed_event", 53 "advance_count_maximum_per_attempt": 1, 54 "observation_only_or_exact_replay": "no_advance" 55 }, 56 "idempotency": { 57 "key": "attempt_id", 58 "source_inventory_identity": "domain_separated_sha256_over_exact_ordered_persisted_facts_and_provenance", 59 "exact_committed_inventory": "reconciled_as_created_false", 60 "mismatch": "conflict", 61 "lost_success_retry": "checked_before_live_lease_and_generation_fences" 62 }, 63 "schema_objects": { 64 "tables": [ 65 "evidence_reconciliations", 66 "evidence_reconciliation_sources" 67 ], 68 "immutability": "no_update_and_no_delete_triggers", 69 "source_count_maximum": 16 70 }, 71 "diagnostics": "crate_owned_source_free_redacted", 72 "effects": { 73 "sqlite": true, 74 "filesystem": false, 75 "source_or_relay": false, 76 "network": false, 77 "task_spawn": false, 78 "ambient_clock": false, 79 "ambient_entropy": false 80 }, 81 "forbidden": [ 82 "caller_forged_cursor_evidence", 83 "raw_or_unverified_event_persistence", 84 "partial_attempt_commit", 85 "cursor_advance_for_incomplete_or_unsupported_result", 86 "cursor_advance_before_evidence_commit", 87 "dirty_advance_for_observation_only", 88 "stale_lease_commit", 89 "stale_generation_commit", 90 "stale_checkpoint_commit", 91 "unbounded_result_iterator", 92 "raw_sqlx_authority_escape" 93 ], 94 "deferred": [ 95 "evidence_manifest", 96 "lineage_reducer", 97 "attestation", 98 "publication", 99 "job_finalization" 100 ] 101 }