rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

reconciliation_reducer.v1.json (2767B)


      1 {
      2   "schema": "radroots.rhi.reconciliation-reducer",
      3   "schema_version": 1,
      4   "contract_version": 1,
      5   "input": {
      6     "authority": "sealed_confirmed_reconciliation_manifest_only",
      7     "consumption": "owned_manifest_retained_inside_projection",
      8     "mutation_material": "private_canonical_content_bound_to_manifest_observations",
      9     "mutation_order": "mutation_id_ascending",
     10     "representative_event": "smallest_event_id_for_mutation",
     11     "maximum_mutations": 65536,
     12     "maximum_canonical_content_bytes": 134217728,
     13     "private_terms": "none_without_explicit_manifest_evidence",
     14     "prior_attestations": "none_without_explicit_manifest_evidence",
     15     "observed_time": "exact_manifest_observed_at_unix_seconds",
     16     "evidence_state": {
     17       "missing": "missing",
     18       "partial": "query_partial",
     19       "scope_satisfied": "complete",
     20       "unsupported": "unsupported_version"
     21     }
     22   },
     23   "shared_reducer": {
     24     "contract_id": "radroots.trade.reducer.v1",
     25     "contract_version": 1,
     26     "canonical_projection": "radroots_trade_projection_v1",
     27     "projection_digest": "shared_domain_separated_lowercase_hex_sha256"
     28   },
     29   "projection_digest": {
     30     "algorithm": "sha256",
     31     "domain_utf8_then_nul": "radroots.rhi.reconciliation_projection.v1",
     32     "ordered_fields": [
     33       "rhi_reducer_contract_version_u32_be",
     34       "shared_reducer_contract_id_length_u64_be",
     35       "shared_reducer_contract_id_utf8",
     36       "shared_reducer_contract_version_u16_be",
     37       "evidence_manifest_digest",
     38       "evidence_policy_digest",
     39       "shared_projection_digest"
     40     ]
     41   },
     42   "result": {
     43     "sealed": true,
     44     "caller_forgeable": false,
     45     "retains_manifest": true,
     46     "shared_projection_public_access": false,
     47     "shared_projection_retained_for_later_steps": true,
     48     "shared_projection_digest_available": "optional_fail_closed_for_outcome",
     49     "rhi_projection_digest_available": "optional_fail_closed_for_outcome",
     50     "outcome_owner": "reconciliation_outcome.v1.json",
     51     "debug": "counts_only_redacted",
     52     "errors": "crate_owned_source_free_redacted"
     53   },
     54   "effects": {
     55     "sqlite": false,
     56     "filesystem": false,
     57     "source_or_relay": false,
     58     "network": false,
     59     "task_spawn": false,
     60     "ambient_clock": false,
     61     "ambient_entropy": false
     62   },
     63   "forbidden": [
     64     "raw_manifest_constructor",
     65     "caller_supplied_mutation_material",
     66     "database_lookup",
     67     "source_or_relay_lookup",
     68     "arrival_order_selected_truth",
     69     "unbound_projection_digest",
     70     "caller_supplied_coverage_or_outcome",
     71     "projection_persistence",
     72     "report_or_attestation_construction"
     73   ],
     74   "deferred": [
     75     "generation_fenced_commit",
     76     "report_and_attestation",
     77     "manifest_and_projection_persistence",
     78     "publication",
     79     "job_finalization"
     80   ]
     81 }