@marinjursic/prc-linux-arm64 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/DISCLOSURE +21 -0
  2. package/README.md +5 -1
  3. package/bin/catalog/assertions/core-repository.yaml +28 -28
  4. package/bin/catalog/control-check-bindings.json.gz +0 -0
  5. package/bin/catalog/control-check-programs.json.gz +0 -0
  6. package/bin/catalog/control-contracts.json.gz +0 -0
  7. package/bin/catalog/control-id-registry.json.gz +0 -0
  8. package/bin/fixtures/benchmarks/core-native/suite-comprehensive.yaml +10 -1
  9. package/bin/fixtures/benchmarks/core-native/suite.yaml +13 -2
  10. package/bin/packs/core-foundation.yaml +4 -4
  11. package/bin/packs/core-native.yaml +10 -10
  12. package/bin/prc +0 -0
  13. package/bin/schemas/adapter-execution-v0.3.schema.json +145 -0
  14. package/bin/schemas/authoritative-evidence-bundle.schema.json +38 -0
  15. package/bin/schemas/authoritative-evidence-set.schema.json +38 -0
  16. package/bin/schemas/authoritative-evidence-verification.schema.json +54 -0
  17. package/bin/schemas/automatic-coverage.schema.json +49 -0
  18. package/bin/schemas/control-check-bindings.schema.json +119 -0
  19. package/bin/schemas/control-check-evidence-v0.1.schema.json +244 -0
  20. package/bin/schemas/control-check-evidence.schema.json +244 -0
  21. package/bin/schemas/control-check-program-catalog.schema.json +160 -0
  22. package/bin/schemas/control-check-program-definitions.schema.json +139 -0
  23. package/bin/schemas/control-check-program.schema.json +298 -0
  24. package/bin/schemas/control-classification-final.schema.json +64 -0
  25. package/bin/schemas/control-classification-review.schema.json +161 -0
  26. package/bin/schemas/control-classification-skeptic-review.schema.json +96 -0
  27. package/bin/schemas/control-classification-strength-review.schema.json +90 -0
  28. package/bin/schemas/control-contracts.schema.json +101 -12
  29. package/bin/schemas/control-review-output-v0.2.schema.json +66 -0
  30. package/bin/schemas/control-review-output.schema.json +22 -3
  31. package/bin/schemas/evidence-requirements.schema.json +144 -0
  32. package/bin/schemas/evidence-set-verification.schema.json +65 -0
  33. package/bin/schemas/provider-capabilities.schema.json +26 -0
  34. package/bin/schemas/run-result-v0.10.schema.json +5 -5
  35. package/bin/schemas/run-result-v0.11.schema.json +5 -5
  36. package/bin/schemas/run-result-v0.12.schema.json +270 -0
  37. package/bin/schemas/run-result.schema.json +166 -16
  38. package/bin/schemas/signature-verification.schema.json +8 -1
  39. package/bin/schemas/signature.schema.json +8 -1
  40. package/bin/schemas/trust-store.schema.json +8 -1
  41. package/manifest.json +1144 -5
  42. package/package.json +8 -3
  43. package/bin/LICENSE +0 -21
  44. package/bin/README.md +0 -335
  45. package/bin/catalog/control-contracts.json +0 -1
  46. package/bin/catalog/control-id-registry.json +0 -110470
  47. package/bin/docs/architecture/adapters.md +0 -380
  48. package/bin/docs/architecture/agent-providers.md +0 -188
  49. package/bin/docs/architecture/applicability.md +0 -80
  50. package/bin/docs/architecture/catalog-integrity.md +0 -85
  51. package/bin/docs/architecture/evidence-and-results.md +0 -154
  52. package/bin/docs/architecture/execution-plans.md +0 -61
  53. package/bin/docs/architecture/product-contract.md +0 -76
  54. package/bin/docs/architecture/publisher-trust.md +0 -68
  55. package/bin/docs/architecture/remediation-contract.md +0 -113
  56. package/bin/docs/architecture/trust-model.md +0 -95
  57. package/bin/docs/assets/hero.svg +0 -37
  58. package/bin/docs/assets/logo.svg +0 -13
  59. package/bin/docs/assets/production-readiness-scan-demo-poster.png +0 -0
  60. package/bin/docs/assets/production-readiness-scan-demo.gif +0 -0
  61. package/bin/docs/assets/production-readiness-scan-demo.mp4 +0 -0
  62. package/bin/docs/assets/social-card.png +0 -0
  63. package/bin/docs/assets/social-card.svg +0 -40
  64. package/bin/docs/engineering/source-manifest.md +0 -479
  65. package/bin/docs/guides/ai-assisted-review.md +0 -61
  66. package/bin/docs/guides/getting-started.md +0 -78
  67. package/bin/docs/index.md +0 -66
  68. package/bin/docs/prompts/evidence-challenge.md +0 -26
  69. package/bin/docs/prompts/full-readiness-review.md +0 -34
  70. package/bin/docs/prompts/release-diff-review.md +0 -31
  71. package/bin/docs/records/evidence-record.md +0 -42
  72. package/bin/docs/records/go-no-go-decision.md +0 -63
  73. package/bin/docs/records/release-assessment.md +0 -124
  74. package/bin/docs/records/risk-exception.md +0 -64
  75. package/bin/docs/references.md +0 -52
  76. package/bin/docs/scanner/ai-control-review.md +0 -208
  77. package/bin/docs/scanner/benchmarks.md +0 -122
  78. package/bin/docs/scanner/cli-contract.md +0 -130
  79. package/bin/docs/scanner/configuration.md +0 -101
  80. package/bin/docs/scanner/control-contracts.md +0 -47
  81. package/bin/docs/scanner/core-repository.md +0 -62
  82. package/bin/docs/scanner/diff-and-invalidation.md +0 -79
  83. package/bin/docs/scanner/doctor.md +0 -71
  84. package/bin/docs/scanner/getting-started.md +0 -355
  85. package/bin/docs/scanner/go-http-timeouts.md +0 -96
  86. package/bin/docs/scanner/infrastructure-policy.md +0 -64
  87. package/bin/docs/scanner/kubernetes-workloads.md +0 -63
  88. package/bin/docs/scanner/mcp-agent-integration.md +0 -138
  89. package/bin/docs/scanner/openapi-contracts.md +0 -75
  90. package/bin/docs/scanner/private-key-armor.md +0 -44
  91. package/bin/docs/scanner/releases.md +0 -160
  92. package/bin/docs/scanner/remediation.md +0 -273
  93. package/bin/docs/scanner/risk-exceptions.md +0 -52
  94. package/bin/docs/scanner/security-walkthrough.md +0 -236
  95. package/bin/docs/scanner/state-and-history.md +0 -113
  96. package/bin/docs/scanner/supply-chain.md +0 -132
  97. package/bin/docs/scanner/test-discovery.md +0 -60
  98. package/bin/docs/stylesheets/extra.css +0 -183
@@ -6,7 +6,7 @@
6
6
  "additionalProperties": false,
7
7
  "required": ["schema_version", "task_id", "reviews"],
8
8
  "properties": {
9
- "schema_version": {"const": "prc.control-review-output/v0.1"},
9
+ "schema_version": {"const": "prc.control-review-output/v0.3"},
10
10
  "task_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
11
11
  "reviews": {
12
12
  "type": "array",
@@ -15,14 +15,33 @@
15
15
  "items": {
16
16
  "type": "object",
17
17
  "additionalProperties": false,
18
- "required": ["control_id", "assessment_candidate", "applicability_candidate", "confidence", "reason", "advice", "evidence", "limitations"],
18
+ "required": ["control_id", "assessment_candidate", "applicability_candidate", "confidence", "priority", "root_cause", "root_cause_key", "effort", "blast_radius", "reason", "challenge", "risk_if_ignored", "advice", "remediation_steps", "verification_steps", "evidence_needed", "evidence", "limitations"],
19
19
  "properties": {
20
20
  "control_id": {"type": "string", "pattern": "^(PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
21
21
  "assessment_candidate": {"enum": ["advisory_pass_candidate", "advisory_fail_candidate", "needs_evidence", "not_applicable_candidate"]},
22
22
  "applicability_candidate": {"enum": ["applicable", "not_applicable", "undetermined"]},
23
23
  "confidence": {"enum": ["low", "medium", "high"]},
24
+ "priority": {"enum": ["critical", "high", "medium", "low", "none"]},
25
+ "root_cause": {"type": "string", "minLength": 1, "maxLength": 4096},
26
+ "root_cause_key": {"type": "string", "pattern": "^[a-z0-9][a-z0-9-]{2,79}$"},
27
+ "effort": {"enum": ["small", "medium", "large", "unknown"]},
28
+ "blast_radius": {"enum": ["local", "component", "system", "organization", "unknown"]},
24
29
  "reason": {"type": "string", "minLength": 1, "maxLength": 16384},
25
- "advice": {"type": "string", "maxLength": 16384},
30
+ "challenge": {"type": "string", "minLength": 1, "maxLength": 16384},
31
+ "risk_if_ignored": {"type": "string", "minLength": 1, "maxLength": 16384},
32
+ "advice": {"type": "string", "minLength": 1, "maxLength": 16384},
33
+ "remediation_steps": {
34
+ "type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true,
35
+ "items": {"type": "string", "minLength": 1, "maxLength": 16384}
36
+ },
37
+ "verification_steps": {
38
+ "type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true,
39
+ "items": {"type": "string", "minLength": 1, "maxLength": 16384}
40
+ },
41
+ "evidence_needed": {
42
+ "type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true,
43
+ "items": {"type": "string", "minLength": 1, "maxLength": 16384}
44
+ },
26
45
  "evidence": {
27
46
  "type": "array",
28
47
  "maxItems": 256,
@@ -0,0 +1,144 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/evidence-requirements.schema.json",
4
+ "title": "Production Readiness Evidence Requirements v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version", "catalog_sha256", "registry_sha256", "binding_catalog_sha256",
9
+ "exact_control_count", "exact_clause_count", "selected_control_count", "selected_clause_count",
10
+ "built_in_collector_count", "missing_collector_count", "signed_import_route_count",
11
+ "selection", "authorities", "requirements"
12
+ ],
13
+ "properties": {
14
+ "schema_version": {"const": "prc.evidence-requirements/v0.1"},
15
+ "catalog_sha256": {"$ref": "#/$defs/digest"},
16
+ "registry_sha256": {"$ref": "#/$defs/digest"},
17
+ "binding_catalog_sha256": {"$ref": "#/$defs/digest"},
18
+ "exact_control_count": {"type": "integer", "minimum": 1},
19
+ "exact_clause_count": {"type": "integer", "minimum": 1},
20
+ "selected_control_count": {"type": "integer", "minimum": 1},
21
+ "selected_clause_count": {"type": "integer", "minimum": 1},
22
+ "built_in_collector_count": {"type": "integer", "minimum": 0},
23
+ "missing_collector_count": {"type": "integer", "minimum": 0},
24
+ "signed_import_route_count": {"type": "integer", "minimum": 0},
25
+ "selection": {"$ref": "#/$defs/selection"},
26
+ "authorities": {
27
+ "type": "array",
28
+ "minItems": 1,
29
+ "maxItems": 6,
30
+ "items": {"$ref": "#/$defs/authority_summary"}
31
+ },
32
+ "requirements": {
33
+ "type": "array",
34
+ "minItems": 1,
35
+ "maxItems": 765,
36
+ "items": {"$ref": "#/$defs/requirement"}
37
+ }
38
+ },
39
+ "$defs": {
40
+ "digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
41
+ "control_id": {"type": "string", "pattern": "^(?:PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
42
+ "authority": {
43
+ "enum": ["artifact", "environment", "executed", "external_registry", "repository", "structured_record"]
44
+ },
45
+ "fact_type": {
46
+ "enum": [
47
+ "identity", "schema", "digest", "state", "string", "boolean", "number", "time", "string_set",
48
+ "identity_map", "schema_map", "digest_map", "state_map", "string_map", "boolean_map", "number_map",
49
+ "time_map", "directed_graph"
50
+ ]
51
+ },
52
+ "selection": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": ["authority", "control_id", "collector_status"],
56
+ "properties": {
57
+ "authority": {"type": "string", "pattern": "^(?:|artifact|environment|executed|external_registry|repository|structured_record)$"},
58
+ "control_id": {"type": "string", "pattern": "^(?:|PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
59
+ "collector_status": {"enum": ["all", "built_in", "missing"]}
60
+ }
61
+ },
62
+ "authority_summary": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": [
66
+ "name", "selected_clause_count", "built_in_collector_count",
67
+ "missing_collector_count", "signed_import_route_count"
68
+ ],
69
+ "properties": {
70
+ "name": {"$ref": "#/$defs/authority"},
71
+ "selected_clause_count": {"type": "integer", "minimum": 1},
72
+ "built_in_collector_count": {"type": "integer", "minimum": 0},
73
+ "missing_collector_count": {"type": "integer", "minimum": 0},
74
+ "signed_import_route_count": {"type": "integer", "minimum": 0}
75
+ }
76
+ },
77
+ "fact": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "required": ["id", "type", "raw_value_semantics", "source_requirement", "complete_required"],
81
+ "properties": {
82
+ "id": {"type": "string", "pattern": "^[A-Za-z0-9_.-]{3,128}$"},
83
+ "type": {"$ref": "#/$defs/fact_type"},
84
+ "raw_value_semantics": {"type": "string", "minLength": 1, "maxLength": 4096},
85
+ "source_requirement": {"type": "string", "minLength": 1, "maxLength": 12000},
86
+ "complete_required": {"type": "boolean"}
87
+ }
88
+ },
89
+ "parameter": {
90
+ "type": "object",
91
+ "additionalProperties": false,
92
+ "required": ["id", "type", "origin", "source_requirement"],
93
+ "properties": {
94
+ "id": {"type": "string", "pattern": "^[A-Za-z0-9_.-]{3,128}$"},
95
+ "type": {"$ref": "#/$defs/fact_type"},
96
+ "origin": {
97
+ "enum": ["scanner_inventory", "independently_authenticated_policy", "independently_authenticated_context"]
98
+ },
99
+ "source_requirement": {"type": "string", "minLength": 1, "maxLength": 12000}
100
+ }
101
+ },
102
+ "requirement": {
103
+ "type": "object",
104
+ "additionalProperties": false,
105
+ "required": [
106
+ "template_id", "control_id", "control_revision", "clause_id", "clause_ordinal", "clause_statement",
107
+ "checker_family", "authority", "implementation_id", "implementation_contract_sha256", "collector_id",
108
+ "collector_status", "signed_import_supported", "required_sources", "inventory_contract",
109
+ "normalization_contract", "completeness_contract", "freshness_contract", "facts", "parameters",
110
+ "requires_inventory_input", "requires_authenticated_policy_input", "requires_authenticated_context_input",
111
+ "missing_evidence_result"
112
+ ],
113
+ "properties": {
114
+ "template_id": {"$ref": "#/$defs/digest"},
115
+ "control_id": {"$ref": "#/$defs/control_id"},
116
+ "control_revision": {"type": "integer", "minimum": 1},
117
+ "clause_id": {"$ref": "#/$defs/digest"},
118
+ "clause_ordinal": {"type": "integer", "minimum": 1, "maximum": 50},
119
+ "clause_statement": {"type": "string", "minLength": 1, "maxLength": 12000},
120
+ "checker_family": {"type": "string", "pattern": "^[a-z][a-z0-9_]{2,63}$"},
121
+ "authority": {"$ref": "#/$defs/authority"},
122
+ "implementation_id": {"type": "string", "pattern": "^prc\\.check\\.[a-z0-9-]+@[0-9]+\\.[0-9]+$"},
123
+ "implementation_contract_sha256": {"$ref": "#/$defs/digest"},
124
+ "collector_id": {"type": "string", "pattern": "^prc\\.collect\\.[a-z0-9.-]+@[0-9]+\\.[0-9]+$"},
125
+ "collector_status": {"enum": ["built_in", "missing"]},
126
+ "signed_import_supported": {"type": "boolean"},
127
+ "required_sources": {
128
+ "type": "array", "minItems": 1, "maxItems": 64,
129
+ "items": {"type": "string", "minLength": 1, "maxLength": 12000}
130
+ },
131
+ "inventory_contract": {"type": "string", "minLength": 1, "maxLength": 12000},
132
+ "normalization_contract": {"type": "string", "minLength": 1, "maxLength": 12000},
133
+ "completeness_contract": {"type": "string", "minLength": 1, "maxLength": 12000},
134
+ "freshness_contract": {"type": "string", "minLength": 1, "maxLength": 12000},
135
+ "facts": {"type": "array", "minItems": 1, "maxItems": 512, "items": {"$ref": "#/$defs/fact"}},
136
+ "parameters": {"type": "array", "maxItems": 512, "items": {"$ref": "#/$defs/parameter"}},
137
+ "requires_inventory_input": {"type": "boolean"},
138
+ "requires_authenticated_policy_input": {"type": "boolean"},
139
+ "requires_authenticated_context_input": {"type": "boolean"},
140
+ "missing_evidence_result": {"const": "blocked"}
141
+ }
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/evidence-set-verification.schema.json",
4
+ "title": "Production Readiness Evidence Set Verification v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version", "verified_at", "catalog_sha256", "inventory_sha256",
9
+ "cryptographically_verified", "bundle_count", "entry_count", "outcomes", "authorities"
10
+ ],
11
+ "properties": {
12
+ "schema_version": {"const": "prc.evidence-set-verification/v0.1"},
13
+ "verified_at": {"type": "string", "format": "date-time"},
14
+ "catalog_sha256": {"$ref": "#/$defs/digest"},
15
+ "inventory_sha256": {"$ref": "#/$defs/digest"},
16
+ "cryptographically_verified": {"const": true},
17
+ "bundle_count": {"type": "integer", "minimum": 1, "maximum": 6},
18
+ "entry_count": {"type": "integer", "minimum": 1, "maximum": 765},
19
+ "outcomes": {"$ref": "#/$defs/outcomes"},
20
+ "authorities": {
21
+ "type": "array",
22
+ "minItems": 1,
23
+ "maxItems": 6,
24
+ "items": {"$ref": "#/$defs/authority"}
25
+ }
26
+ },
27
+ "$defs": {
28
+ "digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
29
+ "identifier": {"type": "string", "minLength": 1, "maxLength": 256},
30
+ "outcomes": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["passed", "failed", "not_applicable", "blocked"],
34
+ "properties": {
35
+ "passed": {"type": "integer", "minimum": 0},
36
+ "failed": {"type": "integer", "minimum": 0},
37
+ "not_applicable": {"type": "integer", "minimum": 0},
38
+ "blocked": {"type": "integer", "minimum": 0}
39
+ }
40
+ },
41
+ "authority": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": [
45
+ "authority", "bundle_id", "bundle_sha256", "policy_sha256", "entry_count", "outcomes",
46
+ "policy_key_id", "evidence_key_id", "trust_store_id", "trust_store_sha256", "signatures_verified"
47
+ ],
48
+ "properties": {
49
+ "authority": {
50
+ "enum": ["artifact", "environment", "executed", "external_registry", "repository", "structured_record"]
51
+ },
52
+ "bundle_id": {"$ref": "#/$defs/identifier"},
53
+ "bundle_sha256": {"$ref": "#/$defs/digest"},
54
+ "policy_sha256": {"$ref": "#/$defs/digest"},
55
+ "entry_count": {"type": "integer", "minimum": 1, "maximum": 765},
56
+ "outcomes": {"$ref": "#/$defs/outcomes"},
57
+ "policy_key_id": {"$ref": "#/$defs/identifier"},
58
+ "evidence_key_id": {"$ref": "#/$defs/identifier"},
59
+ "trust_store_id": {"$ref": "#/$defs/identifier"},
60
+ "trust_store_sha256": {"$ref": "#/$defs/digest"},
61
+ "signatures_verified": {"const": true}
62
+ }
63
+ }
64
+ }
65
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/provider-capabilities.schema.json",
4
+ "title": "Shipped deterministic evidence providers v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "capabilities"],
8
+ "properties": {
9
+ "schema_version": {"const": "prc.provider-capabilities/v0.1"},
10
+ "capabilities": {
11
+ "type": "array",
12
+ "maxItems": 765,
13
+ "items": {
14
+ "type": "object",
15
+ "additionalProperties": false,
16
+ "required": ["collector_id", "control_id", "clause_ordinal", "authority"],
17
+ "properties": {
18
+ "collector_id": {"type": "string", "pattern": "^prc\\.collect\\.[a-z0-9.-]+@[0-9]+\\.[0-9]+$"},
19
+ "control_id": {"type": "string", "pattern": "^(PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
20
+ "clause_ordinal": {"type": "integer", "minimum": 1, "maximum": 50},
21
+ "authority": {"enum": ["repository", "artifact", "executed", "environment", "external_registry", "structured_record"]}
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -10,11 +10,11 @@
10
10
  "run_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
11
11
  "started_at": {"type": "string", "format": "date-time"},
12
12
  "completed_at": {"type": "string", "format": "date-time"},
13
- "plan": {"$ref": "plan.schema.json"},
14
- "inventory": {"$ref": "inventory.schema.json"},
15
- "adapter_executions": {"type": "array", "items": {"$ref": "adapter-execution.schema.json"}},
13
+ "plan": {"$ref": "plan-v0.6.schema.json"},
14
+ "inventory": {"$ref": "inventory-v0.3.schema.json"},
15
+ "adapter_executions": {"type": "array", "items": {"$ref": "adapter-execution-v0.3.schema.json"}},
16
16
  "results": {"type": "array", "items": {"$ref": "#/$defs/assertion_result"}},
17
- "findings": {"type": "array", "items": {"$ref": "finding.schema.json"}},
17
+ "findings": {"type": "array", "items": {"$ref": "finding-v0.1.schema.json"}},
18
18
  "terminal_state": {"$ref": "#/$defs/terminal_state"}
19
19
  },
20
20
  "$defs": {
@@ -33,7 +33,7 @@
33
33
  "summary": {"type": "string"},
34
34
  "locations": {"type": "array", "maxItems": 4096, "uniqueItems": true, "items": {"$ref": "#/$defs/location"}},
35
35
  "evidence_required": {"type": "array", "items": {"$ref": "#/$defs/evidence_requirement"}},
36
- "evidence_observed": {"type": "array", "items": {"$ref": "evidence.schema.json"}},
36
+ "evidence_observed": {"type": "array", "items": {"$ref": "evidence-v0.1.schema.json"}},
37
37
  "remediation_class": {"enum": ["R0", "R1", "R2", "R3", "R4", "R5", "R6"]}
38
38
  }
39
39
  },
@@ -10,14 +10,14 @@
10
10
  "run_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
11
11
  "started_at": {"type": "string", "format": "date-time"},
12
12
  "completed_at": {"type": "string", "format": "date-time"},
13
- "plan": {"$ref": "plan.schema.json"},
14
- "inventory": {"$ref": "inventory.schema.json"},
15
- "adapter_executions": {"type": "array", "items": {"$ref": "adapter-execution.schema.json"}},
13
+ "plan": {"$ref": "plan-v0.6.schema.json"},
14
+ "inventory": {"$ref": "inventory-v0.3.schema.json"},
15
+ "adapter_executions": {"type": "array", "items": {"$ref": "adapter-execution-v0.3.schema.json"}},
16
16
  "results": {
17
17
  "type": "array",
18
18
  "items": {"$ref": "#/$defs/assertion_result"}
19
19
  },
20
- "findings": {"type": "array", "items": {"$ref": "finding.schema.json"}},
20
+ "findings": {"type": "array", "items": {"$ref": "finding-v0.1.schema.json"}},
21
21
  "control_catalog": {"$ref": "#/$defs/control_catalog"},
22
22
  "control_results": {
23
23
  "type": "array",
@@ -113,7 +113,7 @@
113
113
  "type": "array",
114
114
  "items": {"$ref": "#/$defs/evidence_requirement"}
115
115
  },
116
- "evidence_observed": {"type": "array", "items": {"$ref": "evidence.schema.json"}},
116
+ "evidence_observed": {"type": "array", "items": {"$ref": "evidence-v0.1.schema.json"}},
117
117
  "remediation_class": {"enum": ["R0", "R1", "R2", "R3", "R4", "R5", "R6"]}
118
118
  }
119
119
  },
@@ -0,0 +1,270 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/run-result-v0.12.schema.json",
4
+ "title": "Production Readiness Run Result v0.12",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "run_id", "started_at", "completed_at", "plan", "inventory", "adapter_executions", "results", "findings", "terminal_state"],
8
+ "properties": {
9
+ "schema_version": {"const": "prc.run/v0.12"},
10
+ "run_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
11
+ "started_at": {"type": "string", "format": "date-time"},
12
+ "completed_at": {"type": "string", "format": "date-time"},
13
+ "plan": {"$ref": "plan-v0.6.schema.json"},
14
+ "inventory": {"$ref": "inventory-v0.3.schema.json"},
15
+ "adapter_executions": {"type": "array", "items": {"$ref": "adapter-execution-v0.3.schema.json"}},
16
+ "results": {
17
+ "type": "array",
18
+ "items": {"$ref": "#/$defs/assertion_result"}
19
+ },
20
+ "findings": {"type": "array", "items": {"$ref": "finding-v0.1.schema.json"}},
21
+ "control_catalog": {"$ref": "#/$defs/control_catalog"},
22
+ "control_results": {
23
+ "type": "array",
24
+ "maxItems": 100000,
25
+ "items": {"$ref": "#/$defs/control_result"}
26
+ },
27
+ "deterministic_evidence": {
28
+ "type": "array",
29
+ "maxItems": 100000,
30
+ "items": {"$ref": "control-check-evidence-v0.1.schema.json"}
31
+ },
32
+ "terminal_state": {"$ref": "#/$defs/terminal_state"}
33
+ },
34
+ "$defs": {
35
+ "control_catalog": {
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "required": ["schema_version", "registry_version", "registry_sha256", "source_sha256", "contract_schema_version", "contract_generator_id", "contract_sha256", "classification_methodology_sha256", "classification_summary_sha256", "classification_corpus_sha256", "control_check_bindings_schema_version", "control_check_bindings_sha256", "control_check_programs_schema_version", "control_check_programs_sha256", "control_check_programs_catalog_sha256", "control_check_definition_schema_sha256", "control_check_definition_corpus_sha256", "control_count", "active_control_count", "contract_count", "generated_contract_count", "agent_reviewed_contract_count", "reviewed_deterministic_count", "reviewed_nondeterministic_count", "deterministic_binding_count", "deterministic_program_template_count", "deterministic_program_blocked_count", "profile_terminal_state"],
39
+ "properties": {
40
+ "schema_version": {"const": "prc.control-catalog-summary/v0.1"},
41
+ "registry_version": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"},
42
+ "registry_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
43
+ "source_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
44
+ "contract_schema_version": {"const": "prc.control-contracts/v0.2"},
45
+ "contract_generator_id": {"const": "prc.control-contracts@0.2"},
46
+ "contract_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
47
+ "classification_methodology_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
48
+ "classification_summary_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
49
+ "classification_corpus_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
50
+ "control_check_bindings_schema_version": {"const": "prc.control-check-bindings/v0.1"},
51
+ "control_check_bindings_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
52
+ "control_check_programs_schema_version": {"const": "prc.control-check-program-catalog/v0.4"},
53
+ "control_check_programs_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
54
+ "control_check_programs_catalog_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
55
+ "control_check_definition_schema_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
56
+ "control_check_definition_corpus_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
57
+ "control_count": {"type": "integer", "minimum": 1, "maximum": 100000},
58
+ "active_control_count": {"type": "integer", "minimum": 0, "maximum": 100000},
59
+ "contract_count": {"type": "integer", "minimum": 1, "maximum": 100000},
60
+ "generated_contract_count": {"type": "integer", "minimum": 0, "maximum": 100000},
61
+ "agent_reviewed_contract_count": {"type": "integer", "minimum": 0, "maximum": 100000},
62
+ "reviewed_deterministic_count": {"type": "integer", "minimum": 1, "maximum": 100000},
63
+ "reviewed_nondeterministic_count": {"type": "integer", "minimum": 1, "maximum": 100000},
64
+ "deterministic_binding_count": {"type": "integer", "minimum": 1, "maximum": 100000},
65
+ "deterministic_program_template_count": {"type": "integer", "minimum": 1, "maximum": 100000},
66
+ "deterministic_program_blocked_count": {"type": "integer", "minimum": 0, "maximum": 100000},
67
+ "deterministic_program_executed_count": {"type": "integer", "minimum": 0, "maximum": 100000},
68
+ "deterministic_program_pass_count": {"type": "integer", "minimum": 0, "maximum": 100000},
69
+ "deterministic_program_fail_count": {"type": "integer", "minimum": 0, "maximum": 100000},
70
+ "deterministic_program_not_applicable_count": {"type": "integer", "minimum": 0, "maximum": 100000},
71
+ "profile_terminal_state": {"$ref": "#/$defs/terminal_state"},
72
+ "ai_review_provider": {"enum": ["codex", "claude"]},
73
+ "ai_review_model": {"type": "string"},
74
+ "ai_review_depth": {"enum": ["standard", "deep"]},
75
+ "ai_review_state": {"enum": ["complete", "focused", "partial"]},
76
+ "ai_reviewed_count": {"type": "integer", "minimum": 0, "maximum": 100000},
77
+ "ai_advisory_fail_count": {"type": "integer", "minimum": 0, "maximum": 100000}
78
+ }
79
+ },
80
+ "deterministic_clause_result": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": ["template_id", "collector_id", "clause_id", "clause_ordinal", "implementation_id", "implementation_contract_sha256", "required_authority", "status", "evaluated_at"],
84
+ "properties": {
85
+ "template_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
86
+ "collector_id": {"type": "string", "pattern": "^prc\\.collect\\.[a-z0-9.-]+@[0-9]+\\.[0-9]+$"},
87
+ "clause_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
88
+ "clause_ordinal": {"type": "integer", "minimum": 1, "maximum": 50},
89
+ "implementation_id": {"type": "string", "pattern": "^prc\\.check\\.[a-z0-9-]+@[0-9]+\\.[0-9]+$"},
90
+ "implementation_contract_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
91
+ "required_authority": {"enum": ["repository", "artifact", "executed", "environment", "external_registry", "structured_record"]},
92
+ "provider_id": {"type": "string", "minLength": 1, "maxLength": 4096},
93
+ "program_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
94
+ "evidence_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
95
+ "status": {"enum": ["passed", "failed", "not_applicable", "blocked_binding", "blocked_provider_unregistered", "blocked_provider_authority", "blocked_collection", "blocked_evidence", "blocked_canceled"]},
96
+ "outcome": {"enum": ["pass", "fail", "blocked", "not_applicable"]},
97
+ "reason_code": {"type": "string", "minLength": 1, "maxLength": 128},
98
+ "evaluated_at": {"type": "string", "format": "date-time"}
99
+ },
100
+ "allOf": [
101
+ {
102
+ "if": {"properties": {"status": {"enum": ["passed", "failed", "not_applicable", "blocked_evidence"]}}},
103
+ "then": {"required": ["provider_id", "program_sha256", "evidence_sha256", "outcome", "reason_code"]}
104
+ }
105
+ ]
106
+ },
107
+ "control_result": {
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "required": ["control_id", "revision", "statement", "source", "contract_sha256", "contract_status", "classification", "classification_route", "classification_decision_basis", "classification_row_sha256", "canonical_control_id", "evaluation_class", "automation_class", "applicability_class", "atomicity", "complete_inventory_required", "negative_condition", "project_thresholds_required", "evidence_authorities", "not_applicable_proof", "disposition", "coverage", "authority", "assertion_ids", "executed_assertion_ids", "summary"],
111
+ "properties": {
112
+ "control_id": {"type": "string", "pattern": "^(PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
113
+ "revision": {"type": "integer", "minimum": 1},
114
+ "statement": {"type": "string", "minLength": 1, "maxLength": 16384},
115
+ "source": {"$ref": "#/$defs/control_source"},
116
+ "contract_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
117
+ "contract_status": {"const": "reviewed"},
118
+ "classification": {"enum": ["deterministic", "nondeterministic"]},
119
+ "classification_route": {"enum": ["local_static", "artifact_verification", "bounded_execution", "external_readonly_query", "structured_record_validation", "deterministic_composite", "contextual_judgment", "accountable_human_decision", "specialist_or_legal_judgment", "empirical_protocol_undefined", "contract_incomplete", "mixed", "unbounded_claim"]},
120
+ "classification_decision_basis": {"enum": ["primary_nondeterministic", "skeptically_rejected", "strength_audit_confirmed", "strength_audit_reclassified"]},
121
+ "classification_row_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
122
+ "deterministic_binding_id": {"type": "string", "pattern": "^(PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})@[1-9][0-9]*$"},
123
+ "deterministic_binding_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
124
+ "deterministic_program_template_count": {"type": "integer", "minimum": 1, "maximum": 50},
125
+ "deterministic_program_status": {"enum": ["blocked_provider_unregistered", "blocked_program_incomplete", "blocked_evidence", "executed_pass", "executed_fail", "executed_not_applicable"]},
126
+ "deterministic_clause_results": {"type": "array", "minItems": 1, "maxItems": 50, "items": {"$ref": "#/$defs/deterministic_clause_result"}},
127
+ "canonical_control_id": {"type": "string", "pattern": "^(PRC-[0-9]{2}-[0-9]{3}|USEQ-[A-F0-9]{8})$"},
128
+ "evaluation_class": {"enum": ["repository", "environment", "human_external", "mixed", "unclassified"]},
129
+ "automation_class": {"enum": ["deterministic_candidate", "ai_advisory_candidate", "environment_evidence_required", "human_or_external_required", "mixed_evidence_required"]},
130
+ "applicability_class": {"enum": ["conditional", "scope_required"]},
131
+ "atomicity": {"enum": ["apparently_atomic", "compound_review_required"]},
132
+ "complete_inventory_required": {"type": "boolean"},
133
+ "negative_condition": {"type": "boolean"},
134
+ "project_thresholds_required": {"type": "boolean"},
135
+ "evidence_authorities": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"enum": ["declared", "repository", "artifact", "executed", "environment", "external_registry", "structured_record", "human"]}},
136
+ "not_applicable_proof": {"type": "string", "minLength": 1, "maxLength": 1000},
137
+ "disposition": {"enum": ["confirmed_failure", "verified_pass", "not_applicable", "blocked", "partially_verified", "needs_review", "retired"]},
138
+ "coverage": {"enum": ["deterministic_program_provider_unregistered", "deterministic_program_partial", "deterministic_program_complete", "nondeterministic_advisory"]},
139
+ "authority": {"enum": ["none", "deterministic_partial", "deterministic_exact"]},
140
+ "assertion_ids": {"type": "array", "uniqueItems": true, "items": {"type": "string"}},
141
+ "executed_assertion_ids": {"type": "array", "uniqueItems": true, "items": {"type": "string"}},
142
+ "summary": {"type": "string", "minLength": 1},
143
+ "ai_review": {"$ref": "#/$defs/ai_control_review"}
144
+ },
145
+ "allOf": [
146
+ {
147
+ "if": {"properties": {"classification": {"const": "deterministic"}}},
148
+ "then": {
149
+ "required": ["deterministic_binding_id", "deterministic_binding_sha256", "deterministic_program_template_count", "deterministic_program_status"],
150
+ "properties": {
151
+ "classification_route": {"enum": ["local_static", "artifact_verification", "bounded_execution", "external_readonly_query", "structured_record_validation", "deterministic_composite"]},
152
+ "classification_decision_basis": {"const": "strength_audit_confirmed"},
153
+ "disposition": {"enum": ["confirmed_failure", "verified_pass", "not_applicable", "blocked"]},
154
+ "coverage": {"enum": ["deterministic_program_provider_unregistered", "deterministic_program_partial", "deterministic_program_complete"]}
155
+ }
156
+ },
157
+ "else": {
158
+ "not": {"anyOf": [{"required": ["deterministic_binding_id"]}, {"required": ["deterministic_binding_sha256"]}, {"required": ["deterministic_program_template_count"]}, {"required": ["deterministic_program_status"]}, {"required": ["deterministic_clause_results"]}]},
159
+ "properties": {
160
+ "classification_route": {"enum": ["contextual_judgment", "accountable_human_decision", "specialist_or_legal_judgment", "empirical_protocol_undefined", "contract_incomplete", "mixed", "unbounded_claim"]},
161
+ "classification_decision_basis": {"enum": ["primary_nondeterministic", "skeptically_rejected", "strength_audit_reclassified"]},
162
+ "disposition": {"const": "needs_review"},
163
+ "coverage": {"const": "nondeterministic_advisory"},
164
+ "authority": {"const": "none"}
165
+ }
166
+ }
167
+ },
168
+ {
169
+ "if": {"properties": {"deterministic_program_status": {"const": "executed_pass"}}, "required": ["deterministic_program_status"]},
170
+ "then": {"required": ["deterministic_clause_results"], "properties": {"disposition": {"const": "verified_pass"}, "coverage": {"const": "deterministic_program_complete"}, "authority": {"const": "deterministic_exact"}}}
171
+ },
172
+ {
173
+ "if": {"properties": {"deterministic_program_status": {"const": "executed_fail"}}, "required": ["deterministic_program_status"]},
174
+ "then": {"required": ["deterministic_clause_results"], "properties": {"disposition": {"const": "confirmed_failure"}, "authority": {"const": "deterministic_exact"}}}
175
+ },
176
+ {
177
+ "if": {"properties": {"deterministic_program_status": {"const": "executed_not_applicable"}}, "required": ["deterministic_program_status"]},
178
+ "then": {"required": ["deterministic_clause_results"], "properties": {"disposition": {"const": "not_applicable"}, "coverage": {"const": "deterministic_program_complete"}, "authority": {"const": "deterministic_exact"}}}
179
+ }
180
+ ]
181
+ },
182
+ "control_source": {
183
+ "type": "object",
184
+ "additionalProperties": false,
185
+ "required": ["path", "line"],
186
+ "properties": {
187
+ "path": {"type": "string", "pattern": "^docs/(checklists|engineering)/.+\\.md$"},
188
+ "line": {"type": "integer", "minimum": 1}
189
+ }
190
+ },
191
+ "ai_control_review": {
192
+ "type": "object",
193
+ "additionalProperties": false,
194
+ "required": ["provider", "review_depth", "assessment_candidate", "applicability_candidate", "confidence", "priority", "reason", "challenge", "risk_if_ignored", "advice", "remediation_steps", "verification_steps", "evidence_needed", "evidence", "limitations", "task_id"],
195
+ "properties": {
196
+ "provider": {"enum": ["codex", "claude"]},
197
+ "model": {"type": "string"},
198
+ "review_depth": {"enum": ["standard", "deep"]},
199
+ "assessment_candidate": {"enum": ["advisory_pass_candidate", "advisory_fail_candidate", "needs_evidence", "not_applicable_candidate"]},
200
+ "applicability_candidate": {"enum": ["applicable", "not_applicable", "undetermined"]},
201
+ "confidence": {"enum": ["low", "medium", "high"]},
202
+ "priority": {"enum": ["critical", "high", "medium", "low", "none"]},
203
+ "reason": {"type": "string", "minLength": 1, "maxLength": 16384},
204
+ "challenge": {"type": "string", "minLength": 1, "maxLength": 16384},
205
+ "risk_if_ignored": {"type": "string", "minLength": 1, "maxLength": 16384},
206
+ "advice": {"type": "string", "minLength": 1, "maxLength": 16384},
207
+ "remediation_steps": {"type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true, "items": {"type": "string", "minLength": 1, "maxLength": 16384}},
208
+ "verification_steps": {"type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true, "items": {"type": "string", "minLength": 1, "maxLength": 16384}},
209
+ "evidence_needed": {"type": "array", "minItems": 1, "maxItems": 12, "uniqueItems": true, "items": {"type": "string", "minLength": 1, "maxLength": 16384}},
210
+ "evidence": {"type": "array", "maxItems": 256, "items": {"$ref": "#/$defs/location"}},
211
+ "limitations": {"type": "array", "minItems": 1, "maxItems": 256, "uniqueItems": true, "items": {"type": "string", "minLength": 1, "maxLength": 16384}},
212
+ "citation_verification": {"enum": ["not_cited", "snapshot_location_validated"]},
213
+ "claim_verification": {"const": "advisory_unverified"},
214
+ "task_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
215
+ }
216
+ },
217
+ "assertion_result": {
218
+ "type": "object",
219
+ "additionalProperties": false,
220
+ "required": ["assertion_id", "control_ids", "applicability", "execution", "assessment", "severity", "gate", "summary", "evidence_required", "evidence_observed", "remediation_class"],
221
+ "properties": {
222
+ "assertion_id": {"type": "string"},
223
+ "control_ids": {"type": "array", "items": {"type": "string"}},
224
+ "applicability": {"enum": ["applicable", "not_applicable", "undetermined"]},
225
+ "execution": {"enum": ["not_run", "completed", "blocked", "error"]},
226
+ "assessment": {"enum": ["pass", "fail", "unknown", "manual_review", "not_applicable", "stale", "conflicting"]},
227
+ "severity": {"enum": ["info", "low", "medium", "high", "critical"]},
228
+ "gate": {"enum": ["advisory", "required", "no-go"]},
229
+ "summary": {"type": "string"},
230
+ "locations": {
231
+ "type": "array",
232
+ "maxItems": 4096,
233
+ "uniqueItems": true,
234
+ "items": {"$ref": "#/$defs/location"}
235
+ },
236
+ "evidence_required": {
237
+ "type": "array",
238
+ "items": {"$ref": "#/$defs/evidence_requirement"}
239
+ },
240
+ "evidence_observed": {"type": "array", "items": {"$ref": "evidence-v0.1.schema.json"}},
241
+ "remediation_class": {"enum": ["R0", "R1", "R2", "R3", "R4", "R5", "R6"]}
242
+ }
243
+ },
244
+ "terminal_state": {
245
+ "enum": ["profile_satisfied", "machine_work_complete_manual_evidence_remaining", "assessment_incomplete", "no_go", "policy_stopped", "budget_exhausted", "environment_blocked"]
246
+ },
247
+ "location": {
248
+ "type": "object",
249
+ "additionalProperties": false,
250
+ "required": ["path"],
251
+ "properties": {
252
+ "path": {"type": "string", "minLength": 1},
253
+ "line": {"type": "integer", "minimum": 0},
254
+ "column": {"type": "integer", "minimum": 0}
255
+ }
256
+ },
257
+ "evidence_requirement": {
258
+ "type": "object",
259
+ "additionalProperties": false,
260
+ "required": ["kind", "minimum_authority", "description"],
261
+ "properties": {
262
+ "kind": {"type": "string", "pattern": "^[a-z0-9-]+$"},
263
+ "minimum_authority": {
264
+ "enum": ["declared", "repository", "executed", "artifact", "environment", "human"]
265
+ },
266
+ "description": {"type": "string", "minLength": 1}
267
+ }
268
+ }
269
+ }
270
+ }