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 }