rhi

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

operator_contract.v1.json (37890B)


      1 {
      2   "schema": "radroots.rhi.operator-contract.v1",
      3   "contract_version": 1,
      4   "decision_state": "reserved_preimplementation",
      5   "service": "rhi",
      6   "shared_host_contract": {
      7     "repository": "https://github.com/radrootslabs/lib",
      8     "path": "contracts/architecture/decisions/services_hardening_host.v1.json",
      9     "schema": "radroots.services-hardening.host-decisions.v1",
     10     "contract_version": 1
     11   },
     12   "admin": {
     13     "transport": "http_1_1_over_unix_domain_socket",
     14     "base_path": "/v1",
     15     "route_inventory_closed": true,
     16     "routes": [
     17       { "method": "GET", "path": "/v1/status", "operation_id": "radroots.rhi.status.get.v1", "request_model": "empty", "response_model": "service_status_v1", "mutation": false },
     18       { "method": "GET", "path": "/v1/config/effective", "operation_id": "radroots.rhi.config.effective.get.v1", "request_model": "empty", "response_model": "effective_config_v1", "mutation": false },
     19       { "method": "GET", "path": "/v1/identity/status", "operation_id": "radroots.rhi.identity.status.get.v1", "request_model": "identity_status_query_v1", "response_model": "identity_status_v1", "mutation": false },
     20       { "method": "GET", "path": "/v1/identity/public", "operation_id": "radroots.rhi.identity.public.get.v1", "request_model": "identity_public_query_v1", "response_model": "identity_public_v1", "mutation": false },
     21       { "method": "GET", "path": "/v1/state/status", "operation_id": "radroots.rhi.state.status.get.v1", "request_model": "empty", "response_model": "state_status_v1", "mutation": false },
     22       { "method": "POST", "path": "/v1/state/backup", "operation_id": "radroots.rhi.state.backup.create.v1", "request_model": "state_backup_request_v1", "response_model": "state_backup_receipt_v1", "mutation": true },
     23       { "method": "GET", "path": "/v1/metrics/snapshot", "operation_id": "radroots.rhi.metrics.snapshot.get.v1", "request_model": "empty", "response_model": "metrics_snapshot_v1", "mutation": false },
     24       { "method": "GET", "path": "/v1/reconciliation/status", "operation_id": "radroots.rhi.reconciliation.status.get.v1", "request_model": "empty", "response_model": "reconciliation_status_v1", "mutation": false },
     25       { "method": "GET", "path": "/v1/reconciliation/jobs", "operation_id": "radroots.rhi.reconciliation.jobs.list.v1", "request_model": "reconciliation_jobs_query_v1", "response_model": "reconciliation_jobs_page_v1", "mutation": false },
     26       { "method": "POST", "path": "/v1/reconciliation/refresh", "operation_id": "radroots.rhi.reconciliation.refresh.v1", "request_model": "reconciliation_refresh_request_v1", "response_model": "reconciliation_refresh_receipt_v1", "mutation": true },
     27       { "method": "GET", "path": "/v1/sources", "operation_id": "radroots.rhi.sources.list.v1", "request_model": "sources_query_v1", "response_model": "sources_page_v1", "mutation": false },
     28       { "method": "GET", "path": "/v1/trades/{trade_id}/projection", "operation_id": "radroots.rhi.trade.projection.get.v1", "request_model": "empty", "response_model": "trade_projection_v1", "mutation": false },
     29       { "method": "GET", "path": "/v1/trades/{trade_id}/reports/current", "operation_id": "radroots.rhi.trade.report.current.get.v1", "request_model": "empty", "response_model": "report_detail_v1", "mutation": false },
     30       { "method": "GET", "path": "/v1/trades/{trade_id}/reports", "operation_id": "radroots.rhi.trade.reports.list.v1", "request_model": "reports_query_v1", "response_model": "reports_page_v1", "mutation": false },
     31       { "method": "GET", "path": "/v1/publication/backlog", "operation_id": "radroots.rhi.publication.backlog.list.v1", "request_model": "publication_backlog_query_v1", "response_model": "publication_backlog_page_v1", "mutation": false },
     32       { "method": "GET", "path": "/v1/publication/targets", "operation_id": "radroots.rhi.publication.targets.list.v1", "request_model": "publication_targets_query_v1", "response_model": "publication_targets_page_v1", "mutation": false },
     33       { "method": "POST", "path": "/v1/publication/retry", "operation_id": "radroots.rhi.publication.retry.v1", "request_model": "publication_retry_request_v1", "response_model": "publication_retry_receipt_v1", "mutation": true },
     34       { "method": "GET", "path": "/v1/presence/desired", "operation_id": "radroots.rhi.presence.desired.get.v1", "request_model": "empty", "response_model": "presence_desired_v1", "mutation": false },
     35       { "method": "POST", "path": "/v1/presence/render", "operation_id": "radroots.rhi.presence.render.v1", "request_model": "presence_render_request_v1", "response_model": "presence_render_receipt_v1", "mutation": true },
     36       { "method": "POST", "path": "/v1/presence/refresh", "operation_id": "radroots.rhi.presence.refresh.v1", "request_model": "presence_refresh_request_v1", "response_model": "presence_refresh_receipt_v1", "mutation": true }
     37     ],
     38     "model_wire_contract": {
     39       "encoding": "utf8_json",
     40       "object_unknown_fields": "reject",
     41       "duplicate_fields": "reject",
     42       "null": "forbidden",
     43       "optional_field_representation": "absent",
     44       "integer_representation": "exact_json_integer",
     45       "utc_time_unit": "signed_integer_unix_seconds",
     46       "string_length_unit": "utf8_bytes",
     47       "array_order": "preserved_unless_type_declares_canonical_sort",
     48       "response_body_max_utf8_bytes": 1048576
     49     },
     50     "identity_contract": {
     51       "roles": [
     52         { "id": "service", "required": true, "disabled_allowed": false, "providers": ["encrypted_file"] }
     53       ],
     54       "rotation_mode": "offline_create_new_configuration_apply_restart",
     55       "live_rekey_route": false,
     56       "live_replace_route": false
     57     },
     58     "types": {
     59       "rhi_literal": { "kind": "literal", "value": "rhi" },
     60       "rhi_config_schema_literal": { "kind": "literal", "value": "radroots.rhi.config" },
     61       "contract_version_literal": { "kind": "literal", "value": 1 },
     62       "bool": { "kind": "boolean" },
     63       "u64": { "kind": "integer", "minimum": 0, "maximum": 18446744073709551615 },
     64       "positive_u32": { "kind": "integer", "minimum": 1, "maximum": 4294967295 },
     65       "utc_seconds": { "kind": "integer", "unit": "unix_seconds", "minimum": 0, "maximum": 9223372036854775807 },
     66       "bounded_id": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 128, "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$" },
     67       "stable_id": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 64, "pattern": "^[a-z][a-z0-9_-]*$" },
     68       "operation_id": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 128 },
     69       "reason_code": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 64, "pattern": "^[a-z][a-z0-9_]*$" },
     70       "reason_codes": { "kind": "array", "items": "reason_code", "maximum_items": 32, "unique": true, "canonical_sort": "ascending_utf8" },
     71       "sha256_hex": { "kind": "string", "utf8_bytes": 64, "pattern": "^[0-9a-f]{64}$" },
     72       "public_key_hex": { "kind": "string", "utf8_bytes": 64, "pattern": "^[0-9a-f]{64}$" },
     73       "trade_id": { "kind": "string", "utf8_bytes": 32, "pattern": "^[0-9a-f]{32}$" },
     74       "mutation_id": { "kind": "alias", "target": "sha256_hex" },
     75       "event_id": { "kind": "alias", "target": "sha256_hex" },
     76       "report_id": { "kind": "alias", "target": "sha256_hex" },
     77       "report_contract_literal": { "kind": "literal", "value": "radroots.rhi.evidence_attestation.v1" },
     78       "attestation_method_literal": { "kind": "literal", "value": "signed_evidence_snapshot" },
     79       "absolute_path": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 4096, "pattern": "^/" },
     80       "confirmation": { "kind": "literal", "value": "confirm" },
     81       "identity_role": { "kind": "enum", "values": ["service"] },
     82       "identity_provider_kind": { "kind": "enum", "values": ["encrypted_file"] },
     83       "service_phase": { "kind": "enum", "values": ["starting", "ready", "degraded", "unready", "stopping", "failed"] },
     84       "uptime_millis": { "kind": "integer", "minimum": 0, "maximum": 18446744073709551615, "unit": "milliseconds_from_injected_monotonic_clock" },
     85       "integrity_state": { "kind": "enum", "values": ["verified", "verification_required", "failed"] },
     86       "writer_lock_state": { "kind": "enum", "values": ["held_by_daemon", "free", "conflict"] },
     87       "configuration_source": { "kind": "enum", "values": ["explicit_config", "derived_repo_local"] },
     88       "configuration_identity": { "kind": "closed_object", "fields": { "schema": "rhi_config_schema_literal", "schema_version": "contract_version_literal", "digest": "sha256_hex", "source": "configuration_source" } },
     89       "persistence_health": { "kind": "enum", "values": ["ready", "read_only", "repair_required", "unavailable"] },
     90       "persistence_state": { "kind": "closed_object", "fields": { "health": "persistence_health", "schema_version": "positive_u32", "generation": "u64", "integrity": "integrity_state", "reason_codes": "reason_codes" } },
     91       "provider_health": { "kind": "enum", "values": ["ready", "degraded", "unavailable"] },
     92       "identity_health": { "kind": "closed_object", "fields": { "configured": "bool", "available": "bool", "reason_codes": "reason_codes" } },
     93       "provider_state": { "kind": "closed_object", "fields": { "health": "provider_health", "identity": "identity_health", "reason_codes": "reason_codes" } },
     94       "transport_health": { "kind": "enum", "values": ["ready", "degraded", "unavailable"] },
     95       "transport_state": { "kind": "closed_object", "fields": { "health": "transport_health", "required_sources_ready": "bool", "subscriber_active": "bool", "configured_source_count": "u64", "reachable_source_count": "u64", "reason_codes": "reason_codes" } },
     96       "coverage": { "kind": "enum", "values": ["Missing", "Partial", "ScopeSatisfied", "Unsupported"] },
     97       "outcome": { "kind": "enum", "values": ["Valid", "Invalid", "Indeterminate"] },
     98       "job_state": { "kind": "enum", "values": ["pending", "leased", "retry_scheduled", "completed", "failed"] },
     99       "source_completion": { "kind": "enum", "values": ["complete", "incomplete_timeout", "incomplete_unavailable", "incomplete_resource_limit", "incomplete_unknown", "unsupported"] },
    100       "publication_state": { "kind": "enum", "values": ["disabled", "pending", "submitted", "accepted", "rejected", "rate_limited", "auth_required", "failed", "unknown"] },
    101       "presence_state": { "kind": "enum", "values": ["disabled", "dirty", "committed", "pending", "submitted", "accepted", "rejected", "failed", "unknown"] },
    102       "page_limit": { "kind": "integer", "minimum": 1, "maximum": 200 },
    103       "page_cursor": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 512, "encoding": "canonical_base64url_no_padding", "integrity": "server_authenticated" },
    104       "safe_code": { "kind": "string", "minimum_utf8_bytes": 1, "maximum_utf8_bytes": 64, "pattern": "^[a-z][a-z0-9_]*$" },
    105       "safe_counts": { "kind": "map", "key": "safe_code", "value": "u64", "maximum_entries": 128, "canonical_sort": "ascending_key_utf8" },
    106       "stable_metrics": { "kind": "map", "key": "safe_code", "value": "u64", "maximum_entries": 256, "high_cardinality_values_forbidden": true, "canonical_sort": "ascending_key_utf8" },
    107       "config_provenance": { "kind": "map", "key": "safe_code", "value": "config_provenance_value", "maximum_entries": 512, "canonical_sort": "ascending_key_utf8" },
    108       "config_provenance_value": { "kind": "enum", "values": ["bootstrap_cli", "toml", "safe_default", "derived_path"] },
    109       "redacted_config": { "kind": "canonical_json_object", "schema": "radroots.rhi.config@1", "maximum_utf8_bytes": 786432, "protected_material": "redacted_or_omitted" },
    110       "build_info": { "kind": "closed_object", "fields": { "version": "bounded_id", "revision": "git_revision", "toolchain": "bounded_id", "contract_versions": "safe_counts" } },
    111       "git_revision": { "kind": "string", "utf8_bytes": 40, "pattern": "^[0-9a-f]{40}$" },
    112       "reconciliation_status": { "kind": "closed_object", "fields": { "pending": "u64", "leased": "u64", "exhausted": "u64", "oldest_pending_at_utc": "optional_utc_seconds" } },
    113       "publication_status": { "kind": "closed_object", "fields": { "pending": "u64", "unknown": "u64", "oldest_pending_at_utc": "optional_utc_seconds" } },
    114       "presence_status": { "kind": "closed_object", "fields": { "pending": "u64", "unknown": "u64" } },
    115       "rhi_status": { "kind": "closed_object", "fields": { "identity": "identity_health", "reconciliation": "reconciliation_status", "publication": "publication_status", "presence": "presence_status" } },
    116       "optional_utc_seconds": { "kind": "optional", "representation": "absent_parent_field", "value": "utc_seconds" },
    117       "optional_event_id": { "kind": "optional", "representation": "absent_parent_field", "value": "event_id" },
    118       "optional_report_id": { "kind": "optional", "representation": "absent_parent_field", "value": "report_id" },
    119       "evidence_cursor": { "kind": "closed_object", "fields": { "created_at_unix_seconds": "utc_seconds", "event_id_lowercase_hex": "event_id" } },
    120       "optional_evidence_cursor": { "kind": "optional", "representation": "absent_parent_field", "value": "evidence_cursor" },
    121       "job_summaries": { "kind": "array", "items": "job_summary", "maximum_items": 200, "ordered": true },
    122       "job_summary": { "kind": "closed_object", "fields": { "job_id": "bounded_id", "trade_id": "trade_id", "state": "job_state", "dirty_generation": "u64", "attempt_count": "u64", "scheduled_at_utc": "utc_seconds", "lease_expires_at_utc": "optional_utc_seconds", "reason_codes": "reason_codes" } },
    123       "source_summaries": { "kind": "array", "items": "source_summary", "maximum_items": 200, "ordered": true },
    124       "source_summary": { "kind": "closed_object", "fields": { "source_id": "stable_id", "required": "bool", "completion": "source_completion", "cursor": "optional_evidence_cursor", "last_attempt_at_utc": "optional_utc_seconds", "reason_codes": "reason_codes" } },
    125       "report_summaries": { "kind": "array", "items": "report_summary", "maximum_items": 200, "ordered": true },
    126       "report_summary": { "kind": "closed_object", "fields": { "report_id": "report_id", "trade_id": "trade_id", "claim_mutation_id": "mutation_id", "coverage": "coverage", "outcome": "outcome", "observed_at_utc": "utc_seconds", "attestation_event_id": "event_id", "supersedes_report_id": "optional_report_id" } },
    127       "publication_items": { "kind": "array", "items": "publication_item", "maximum_items": 200, "ordered": true },
    128       "publication_item": { "kind": "closed_object", "fields": { "workflow_id": "bounded_id", "report_id": "report_id", "event_id": "event_id", "exact_bytes_digest": "sha256_hex", "state": "publication_state", "attempt_count": "u64", "next_attempt_at_utc": "optional_utc_seconds", "reason_codes": "reason_codes" } },
    129       "publication_target_items": { "kind": "array", "items": "publication_target_item", "maximum_items": 200, "ordered": true },
    130       "publication_target_item": { "kind": "closed_object", "fields": { "workflow_id": "bounded_id", "target_id": "stable_id", "state": "publication_state", "attempt_count": "u64", "last_attempt_at_utc": "optional_utc_seconds", "reason_codes": "reason_codes" } },
    131       "document_digests": { "kind": "map", "key": "bounded_id", "value": "sha256_hex", "maximum_entries": 16, "canonical_sort": "ascending_key_utf8" },
    132       "target_count": { "kind": "integer", "minimum": 0, "maximum": 64 }
    133     },
    134     "models": {
    135       "empty": { "fields": {} },
    136       "service_status_v1": { "fields": { "contract_version": { "type": "contract_version_literal", "presence": "required" }, "service": { "type": "rhi_literal", "presence": "required" }, "instance": { "type": "bounded_id", "presence": "required" }, "phase": { "type": "service_phase", "presence": "required" }, "ready": { "type": "bool", "presence": "required" }, "uptime_millis": { "type": "uptime_millis", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" }, "build_info": { "type": "build_info", "presence": "required" }, "configuration": { "type": "configuration_identity", "presence": "required" }, "persistence": { "type": "persistence_state", "presence": "required" }, "provider": { "type": "provider_state", "presence": "required" }, "transport": { "type": "transport_state", "presence": "required" }, "rhi": { "type": "rhi_status", "presence": "required" } } },
    137       "effective_config_v1": { "fields": { "schema": { "type": "rhi_config_schema_literal", "presence": "required" }, "schema_version": { "type": "contract_version_literal", "presence": "required" }, "provenance": { "type": "config_provenance", "presence": "required" }, "redacted_config": { "type": "redacted_config", "presence": "required" }, "config_digest": { "type": "sha256_hex", "presence": "required" }, "policy_digest": { "type": "sha256_hex", "presence": "required" } } },
    138       "identity_status_query_v1": { "fields": { "role": { "type": "identity_role", "presence": "required" } } },
    139       "identity_status_v1": { "fields": { "role": { "type": "identity_role", "presence": "required" }, "provider": { "type": "identity_provider_kind", "presence": "required" }, "configured": { "type": "bool", "presence": "required" }, "available": { "type": "bool", "presence": "required" }, "generation": { "type": "u64", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" }, "public_key": { "type": "public_key_hex", "presence": "optional" } } },
    140       "identity_public_query_v1": { "fields": { "role": { "type": "identity_role", "presence": "required" } } },
    141       "identity_public_v1": { "fields": { "role": { "type": "identity_role", "presence": "required" }, "public_key": { "type": "public_key_hex", "presence": "required" }, "generation": { "type": "u64", "presence": "required" } } },
    142       "state_status_v1": { "fields": { "schema_version": { "type": "positive_u32", "presence": "required" }, "generation": { "type": "u64", "presence": "required" }, "integrity": { "type": "integrity_state", "presence": "required" }, "writer_lock": { "type": "writer_lock_state", "presence": "required" }, "backup_eligible": { "type": "bool", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" } } },
    143       "state_backup_request_v1": { "fields": { "target_path": { "type": "absolute_path", "presence": "required" }, "expected_generation": { "type": "u64", "presence": "required" }, "confirmation": { "type": "confirmation", "presence": "required" } } },
    144       "state_backup_receipt_v1": { "fields": { "operation_id": { "type": "operation_id", "presence": "required" }, "manifest_digest": { "type": "sha256_hex", "presence": "required" }, "snapshot_generation": { "type": "u64", "presence": "required" }, "completed_at_utc": { "type": "utc_seconds", "presence": "required" } } },
    145       "metrics_snapshot_v1": { "fields": { "captured_at_utc": { "type": "utc_seconds", "presence": "required" }, "metrics": { "type": "stable_metrics", "presence": "required" } } },
    146       "reconciliation_status_v1": { "fields": { "dirty_trade_count": { "type": "u64", "presence": "required" }, "job_counts": { "type": "safe_counts", "presence": "required" }, "oldest_pending_at_utc": { "type": "optional_utc_seconds", "presence": "optional" }, "required_source_failures": { "type": "u64", "presence": "required" }, "policy_digest": { "type": "sha256_hex", "presence": "required" } } },
    147       "reconciliation_jobs_query_v1": { "fields": { "limit": { "type": "page_limit", "presence": "required" }, "cursor": { "type": "page_cursor", "presence": "optional" }, "state": { "type": "job_state", "presence": "optional" }, "trade_id": { "type": "trade_id", "presence": "optional" } } },
    148       "reconciliation_jobs_page_v1": { "fields": { "snapshot_generation": { "type": "u64", "presence": "required" }, "items": { "type": "job_summaries", "presence": "required" }, "next_cursor": { "type": "page_cursor", "presence": "optional" } } },
    149       "reconciliation_refresh_request_v1": { "fields": { "trade_id": { "type": "trade_id", "presence": "required" }, "expected_dirty_generation": { "type": "u64", "presence": "required" } } },
    150       "reconciliation_refresh_receipt_v1": { "fields": { "operation_id": { "type": "operation_id", "presence": "required" }, "trade_id": { "type": "trade_id", "presence": "required" }, "job_id": { "type": "bounded_id", "presence": "required" }, "dirty_generation": { "type": "u64", "presence": "required" } } },
    151       "sources_query_v1": { "fields": { "limit": { "type": "page_limit", "presence": "required" }, "cursor": { "type": "page_cursor", "presence": "optional" }, "required": { "type": "bool", "presence": "optional" }, "completion": { "type": "source_completion", "presence": "optional" } } },
    152       "sources_page_v1": { "fields": { "snapshot_generation": { "type": "u64", "presence": "required" }, "items": { "type": "source_summaries", "presence": "required" }, "next_cursor": { "type": "page_cursor", "presence": "optional" } } },
    153       "trade_projection_v1": { "fields": { "trade_id": { "type": "trade_id", "presence": "required" }, "dirty_generation": { "type": "u64", "presence": "required" }, "policy_digest": { "type": "sha256_hex", "presence": "required" }, "manifest_digest": { "type": "sha256_hex", "presence": "required" }, "projection_digest": { "type": "sha256_hex", "presence": "required" }, "coverage": { "type": "coverage", "presence": "required" }, "outcome": { "type": "outcome", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" }, "observed_at_utc": { "type": "utc_seconds", "presence": "required" } } },
    154       "report_detail_v1": { "fields": { "contract_id": { "type": "report_contract_literal", "presence": "required" }, "contract_version": { "type": "contract_version_literal", "presence": "required" }, "report_id": { "type": "report_id", "presence": "required" }, "issuer_pubkey": { "type": "public_key_hex", "presence": "required" }, "trade_id": { "type": "trade_id", "presence": "required" }, "trade_generation": { "type": "u64", "presence": "required" }, "claim_mutation_id": { "type": "mutation_id", "presence": "required" }, "evidence_policy_digest": { "type": "sha256_hex", "presence": "required" }, "evidence_manifest_digest": { "type": "sha256_hex", "presence": "required" }, "reducer_contract_id": { "type": "bounded_id", "presence": "required" }, "reducer_contract_version": { "type": "positive_u32", "presence": "required" }, "projection_digest": { "type": "sha256_hex", "presence": "required" }, "statement_digest": { "type": "sha256_hex", "presence": "required" }, "attestation_method": { "type": "attestation_method_literal", "presence": "required" }, "coverage": { "type": "coverage", "presence": "required" }, "outcome": { "type": "outcome", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" }, "observed_at_unix_s": { "type": "utc_seconds", "presence": "required" }, "attestation_event_id": { "type": "event_id", "presence": "required" }, "supersedes_report_id": { "type": "report_id", "presence": "optional" }, "supersedes_event_id": { "type": "event_id", "presence": "optional" } } },
    155       "reports_query_v1": { "fields": { "limit": { "type": "page_limit", "presence": "required" }, "cursor": { "type": "page_cursor", "presence": "optional" }, "outcome": { "type": "outcome", "presence": "optional" } } },
    156       "reports_page_v1": { "fields": { "snapshot_generation": { "type": "u64", "presence": "required" }, "items": { "type": "report_summaries", "presence": "required" }, "next_cursor": { "type": "page_cursor", "presence": "optional" } } },
    157       "publication_backlog_query_v1": { "fields": { "limit": { "type": "page_limit", "presence": "required" }, "cursor": { "type": "page_cursor", "presence": "optional" }, "state": { "type": "publication_state", "presence": "optional" } } },
    158       "publication_backlog_page_v1": { "fields": { "snapshot_generation": { "type": "u64", "presence": "required" }, "items": { "type": "publication_items", "presence": "required" }, "next_cursor": { "type": "page_cursor", "presence": "optional" } } },
    159       "publication_targets_query_v1": { "fields": { "limit": { "type": "page_limit", "presence": "required" }, "cursor": { "type": "page_cursor", "presence": "optional" }, "workflow_id": { "type": "bounded_id", "presence": "optional" }, "state": { "type": "publication_state", "presence": "optional" } } },
    160       "publication_targets_page_v1": { "fields": { "snapshot_generation": { "type": "u64", "presence": "required" }, "items": { "type": "publication_target_items", "presence": "required" }, "next_cursor": { "type": "page_cursor", "presence": "optional" } } },
    161       "publication_retry_request_v1": { "fields": { "workflow_id": { "type": "bounded_id", "presence": "required" }, "expected_generation": { "type": "u64", "presence": "required" } } },
    162       "publication_retry_receipt_v1": { "fields": { "operation_id": { "type": "operation_id", "presence": "required" }, "workflow_id": { "type": "bounded_id", "presence": "required" }, "generation": { "type": "u64", "presence": "required" }, "exact_bytes_digest": { "type": "sha256_hex", "presence": "required" }, "target_count": { "type": "target_count", "presence": "required" } } },
    163       "presence_desired_v1": { "fields": { "generation": { "type": "u64", "presence": "required" }, "state": { "type": "presence_state", "presence": "required" }, "document_digests": { "type": "document_digests", "presence": "required" }, "reason_codes": { "type": "reason_codes", "presence": "required" } } },
    164       "presence_render_request_v1": { "fields": { "expected_generation": { "type": "u64", "presence": "required" } } },
    165       "presence_render_receipt_v1": { "fields": { "operation_id": { "type": "operation_id", "presence": "required" }, "generation": { "type": "u64", "presence": "required" }, "document_digests": { "type": "document_digests", "presence": "required" } } },
    166       "presence_refresh_request_v1": { "fields": { "expected_generation": { "type": "u64", "presence": "required" } } },
    167       "presence_refresh_receipt_v1": { "fields": { "operation_id": { "type": "operation_id", "presence": "required" }, "generation": { "type": "u64", "presence": "required" }, "state": { "type": "presence_state", "presence": "required" }, "document_digests": { "type": "document_digests", "presence": "required" }, "target_count": { "type": "target_count", "presence": "required" } } }
    168     },
    169     "path_parameters": {
    170       "trade_id": { "type": "trade_id", "source": "percent_decoded_single_path_segment", "slash_allowed": false }
    171     },
    172     "report_contract": {
    173       "content_contract": "radroots.rhi.evidence_attestation.v1",
    174       "report_id_equals_statement_digest": true,
    175       "supersession_reference_presence": "supersedes_report_id_and_supersedes_event_id_both_or_neither",
    176       "current_selection": ["trade_generation_descending", "observed_at_unix_s_descending", "statement_digest_descending"],
    177       "relay_arrival_order_authoritative": false
    178     },
    179     "pagination": {
    180       "cursor_type": "page_cursor",
    181       "limit_min": 1,
    182       "limit_max": 200,
    183       "terminal_page": "next_cursor_field_absent",
    184       "cursor_reuse": "same_route_same_filters_only",
    185       "filter_or_route_mismatch": "invalid_cursor",
    186       "jobs_order": ["scheduled_at_utc_ascending", "job_id_ascending"],
    187       "jobs_snapshot": "maximum_job_sequence_fixed_by_first_page_cursor",
    188       "sources_order": ["source_id_ascending"],
    189       "sources_snapshot": "configuration_generation_fixed_by_first_page_cursor",
    190       "reports_order": ["observed_at_utc_descending", "report_id_descending"],
    191       "reports_snapshot": "maximum_report_sequence_fixed_by_first_page_cursor",
    192       "publication_backlog_order": ["next_attempt_at_utc_ascending_nulls_first", "workflow_id_ascending"],
    193       "publication_backlog_snapshot": "maximum_publication_sequence_fixed_by_first_page_cursor",
    194       "publication_targets_order": ["workflow_id_ascending", "target_id_ascending"],
    195       "publication_targets_snapshot": "maximum_publication_target_sequence_fixed_by_first_page_cursor"
    196     },
    197     "mutation_contract": {
    198       "request_envelope_required_fields": ["contract_version", "operation_id", "request"],
    199       "request_envelope_optional_fields": ["correlation_id"],
    200       "effective_correlation_id_required_in_response": true,
    201       "identical_operation_id_reuse": "return_original_committed_result",
    202       "different_request_operation_id_reuse": { "admin_error_code": "operation_id_conflict", "cli_exit": 5 },
    203       "success_visibility": "response_only_after_local_authoritative_commit",
    204       "relay_submission_or_delivery_required_for_success": false,
    205       "committed_effects": {
    206         "radroots.rhi.state.backup.create.v1": "verified_snapshot_manifest_digest_and_operation_audit",
    207         "radroots.rhi.reconciliation.refresh.v1": "generation_fenced_durable_job_schedule_and_operation_audit",
    208         "radroots.rhi.publication.retry.v1": "same_committed_exact_bytes_existing_target_set_retry_schedule_and_operation_audit",
    209         "radroots.rhi.presence.render.v1": "deterministic_desired_documents_exact_bytes_digests_generation_and_operation_audit",
    210         "radroots.rhi.presence.refresh.v1": "same_committed_presence_bytes_immutable_targets_retry_schedule_and_operation_audit"
    211       }
    212     }
    213   },
    214   "cli_dispatch": {
    215     "parse_count": 1,
    216     "primary_authorities": ["daemon", "offline", "live_unix_admin"],
    217     "live_direct_sqlite_access": false,
    218     "live_command_offline_fallback": false,
    219     "commands": [
    220       { "command": "run", "primary_authority": "daemon" },
    221       { "command": "config init", "primary_authority": "offline", "offline_operation": "config" },
    222       { "command": "config validate", "primary_authority": "offline", "offline_operation": "config" },
    223       { "command": "config show", "primary_authority": "live_unix_admin", "admin_route": "/v1/config/effective" },
    224       { "command": "config schema", "primary_authority": "offline", "offline_operation": "config" },
    225       { "command": "config apply", "primary_authority": "offline", "offline_operation": "config" },
    226       { "command": "state init", "primary_authority": "offline", "offline_operation": "state_exclusive" },
    227       { "command": "state status", "primary_authority": "live_unix_admin", "admin_route": "/v1/state/status" },
    228       { "command": "state backup", "primary_authority": "live_unix_admin", "admin_route": "/v1/state/backup" },
    229       { "command": "state restore", "primary_authority": "offline", "offline_operation": "state_exclusive" },
    230       { "command": "state verify", "primary_authority": "offline", "offline_operation": "state_exclusive" },
    231       { "command": "state migrate", "primary_authority": "offline", "offline_operation": "state_exclusive" },
    232       { "command": "identity init", "primary_authority": "offline", "offline_operation": "identity_exclusive" },
    233       { "command": "identity status", "primary_authority": "live_unix_admin", "admin_route": "/v1/identity/status" },
    234       { "command": "identity export-public", "primary_authority": "live_unix_admin", "admin_route": "/v1/identity/public" },
    235       { "command": "status", "primary_authority": "live_unix_admin", "admin_route": "/v1/status" },
    236       { "command": "metrics snapshot", "primary_authority": "live_unix_admin", "admin_route": "/v1/metrics/snapshot" },
    237       { "command": "reconciliation status", "primary_authority": "live_unix_admin", "admin_route": "/v1/reconciliation/status" },
    238       { "command": "reconciliation jobs", "primary_authority": "live_unix_admin", "admin_route": "/v1/reconciliation/jobs" },
    239       { "command": "reconciliation refresh", "primary_authority": "live_unix_admin", "admin_route": "/v1/reconciliation/refresh" },
    240       { "command": "sources list", "primary_authority": "live_unix_admin", "admin_route": "/v1/sources" },
    241       { "command": "trade projection", "primary_authority": "live_unix_admin", "admin_route": "/v1/trades/{trade_id}/projection" },
    242       { "command": "trade report-current", "primary_authority": "live_unix_admin", "admin_route": "/v1/trades/{trade_id}/reports/current" },
    243       { "command": "trade reports", "primary_authority": "live_unix_admin", "admin_route": "/v1/trades/{trade_id}/reports" },
    244       { "command": "publication backlog", "primary_authority": "live_unix_admin", "admin_route": "/v1/publication/backlog" },
    245       { "command": "publication targets", "primary_authority": "live_unix_admin", "admin_route": "/v1/publication/targets" },
    246       { "command": "publication retry", "primary_authority": "live_unix_admin", "admin_route": "/v1/publication/retry" },
    247       { "command": "presence desired", "primary_authority": "live_unix_admin", "admin_route": "/v1/presence/desired" },
    248       { "command": "presence render", "primary_authority": "live_unix_admin", "admin_route": "/v1/presence/render" },
    249       { "command": "presence refresh", "primary_authority": "live_unix_admin", "admin_route": "/v1/presence/refresh" },
    250       { "command": "doctor", "primary_authority": "offline", "offline_operation": "doctor" }
    251     ]
    252   },
    253   "doctor": {
    254     "shared_schema": "radroots.service.doctor.v1",
    255     "contract_version": 1,
    256     "execution": "ordered",
    257     "pass_requires_all_scope": true,
    258     "probe_future_cancellation": "drop_stops_or_owns_cleanup",
    259     "detached_probe_work": false,
    260     "statuses": ["pass", "fail", "timeout", "skipped"],
    261     "aggregate_statuses": ["pass", "degraded", "fail"],
    262     "required_skipped": "forbidden",
    263     "summary_max_utf8_bytes": 256,
    264     "report_max_utf8_bytes": 8192,
    265     "raw_error_or_path_allowed": false,
    266     "required_fail_or_timeout_exit": 6,
    267     "checks": [
    268       { "id": "paths_permissions", "required": true, "deadline_ms": 2000, "remediation_code": "correct_path_policy", "scope": ["resolved_path_containment", "owner", "type", "mode"] },
    269       { "id": "writer_lock", "required": true, "deadline_ms": 2000, "remediation_code": "release_writer_lock", "scope": ["state_directory_binding", "writer_lock_state"] },
    270       { "id": "sqlite_schema", "required": true, "deadline_ms": 5000, "remediation_code": "repair_schema", "scope": ["metadata_identity", "migration_history", "schema_catalog"] },
    271       { "id": "sqlite_integrity", "required": true, "deadline_ms": 15000, "remediation_code": "restore_verified_state", "scope": ["integrity_check", "foreign_key_check"] },
    272       { "id": "sqlite_free_space", "required": true, "deadline_ms": 2000, "remediation_code": "free_state_disk_space", "scope": ["state_filesystem_capacity", "minimum_free_bytes"] },
    273       { "id": "identity_binding", "required": true, "deadline_ms": 2000, "remediation_code": "restore_identity_binding", "scope": ["envelope_contract", "credential_reference", "public_identity"] },
    274       { "id": "admin_bind_policy", "required": true, "deadline_ms": 2000, "remediation_code": "correct_admin_bind_policy", "scope": ["unix_socket_path", "socket_mode", "peer_authorization"] },
    275       { "id": "operations_bind_policy", "required": true, "deadline_ms": 2000, "remediation_code": "correct_operations_bind_policy", "scope": ["enabled_posture", "listen_address", "bind_policy"] },
    276       { "id": "network_policy", "required": true, "deadline_ms": 2000, "remediation_code": "correct_network_policy", "scope": ["dns_policy", "tls_policy", "relay_url_policy"] },
    277       { "id": "required_sources", "required": true, "deadline_ms": 15000, "remediation_code": "restore_required_sources", "scope": ["required_source_inventory", "reachability", "source_deadline"] },
    278       { "id": "cursor_checkpoint", "required": true, "deadline_ms": 5000, "remediation_code": "repair_cursor_checkpoint", "scope": ["selector_binding", "cursor_plausibility", "completion_evidence"] },
    279       { "id": "reconciliation_leases", "required": true, "deadline_ms": 5000, "remediation_code": "repair_reconciliation_leases", "scope": ["lease_ownership", "lease_expiry", "retry_state"] },
    280       { "id": "reconciliation_backlog", "required": true, "deadline_ms": 5000, "remediation_code": "reduce_reconciliation_backlog", "scope": ["queue_bound", "attempt_bound", "schedule_plausibility"] },
    281       { "id": "publication_invariants", "required": true, "deadline_ms": 5000, "remediation_code": "repair_publication_state", "scope": ["exact_signed_bytes", "target_inventory", "outbox_schedule"] },
    282       { "id": "clock_skew", "required": false, "deadline_ms": 5000, "remediation_code": "correct_clock", "scope": ["wall_clock_skew"] }
    283     ]
    284   },
    285   "exit_codes": [
    286     { "code": 0, "name": "success", "meaning": "successful command or completed graceful first-signal shutdown" },
    287     { "code": 1, "name": "unexpected_internal", "meaning": "unexpected invariant, critical task, or internal failure" },
    288     { "code": 2, "name": "input_or_configuration", "meaning": "CLI, config, validation, or unsupported contract input" },
    289     { "code": 3, "name": "service_or_dependency_unavailable", "meaning": "daemon, required provider, relay, source, or local dependency unavailable" },
    290     { "code": 4, "name": "state_or_identity_unavailable", "meaning": "state, schema, lock, credential, or identity unavailable" },
    291     { "code": 5, "name": "operation_rejected_or_conflict", "meaning": "authorization rejection, idempotency conflict, stale generation, or domain conflict" },
    292     { "code": 6, "name": "doctor_required_check_failed", "meaning": "one or more required doctor checks failed or timed out" }
    293   ],
    294   "tcp_operations": {
    295     "routes": [
    296       { "method": "GET", "path": "/livez", "source": "cached_supervisor_state" },
    297       { "method": "GET", "path": "/readyz", "source": "cached_readiness_state" },
    298       { "method": "GET", "path": "/metrics", "source": "cached_bounded_metrics_snapshot" }
    299     ],
    300     "active_probe_per_request": false,
    301     "additional_routes": false
    302   }
    303 }