@marinjursic/prc-windows-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.exe +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
package/DISCLOSURE ADDED
@@ -0,0 +1,21 @@
1
+ Production Readiness Checklist is a defensive, read-only assessment tool for
2
+ software projects that the user owns or is authorized to inspect.
3
+
4
+ The scanner includes security-related capabilities that can resemble dual-use
5
+ security tooling. It can identify exposed-secret patterns with bundled,
6
+ version-pinned Gitleaks rules. With an explicit verify-local capability grant,
7
+ it can invoke pinned Gitleaks, Syft, Grype, or Checkov container images against
8
+ local project files. It can also prepare bounded project context for an
9
+ explicitly selected Codex or Claude review. These features are intended to help
10
+ maintainers find production-readiness gaps in their own software.
11
+
12
+ The default scan does not change project files, install project dependencies,
13
+ run project lifecycle scripts, exploit a target, upload project contents, or
14
+ contact external analyzers. External adapters are opt-in, use exact manifests
15
+ and pinned inputs, and are designed to run without network access. AI review is
16
+ opt-in and advisory; it cannot create a verified pass.
17
+
18
+ The package contains no exploit payloads and is not intended for unauthorized
19
+ access, credential collection, persistence, evasion, or harm. Users are
20
+ responsible for scanning only projects and systems they are authorized to
21
+ assess.
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
1
  # Production Readiness Checklist native package
2
2
 
3
- This internal platform package is installed automatically by `@marinjursic/prc`. Install and invoke the launcher package instead of depending on this package directly.
3
+ This is one operating-system and CPU build of the native `prc` scanner. It is an internal package installed automatically by `@marinjursic/prc`; install and invoke the launcher instead of depending on this package directly.
4
+
5
+ The package has no npm dependencies and no install, update, or lifecycle scripts. It does not download a binary after installation. The launcher selects the exact package for the current machine, verifies the release-bound manifest, checks the SHA-256 and size of the native executable and every runtime support file, and fails closed if anything is missing or changed.
6
+
7
+ A normal scan reads a user-selected project and writes a private report outside that project. It does not fix project files, install project dependencies, or run project scripts. Security analyzers and Codex or Claude review require explicit opt-in. See the launcher package and project documentation for installation, supported commands, the dual-use disclosure, checksums, SBOM, and provenance information.
@@ -2,16 +2,16 @@ schema_version: prc.assertions/v0.1
2
2
  catalog_version: 1.0.0
3
3
  assertions:
4
4
  - id: PRC-A-CORE-001
5
- revision: 2
5
+ revision: 3
6
6
  control_ids: [USEQ-FDCA6C71]
7
7
  title: README is present
8
- statement: A nonempty README file exists at the repository root.
8
+ statement: A README file containing non-whitespace UTF-8 text exists at the repository root.
9
9
  applicability: "true"
10
10
  evidence_required:
11
11
  - kind: repository-file
12
12
  minimum_authority: repository
13
- description: A nonempty root README file from the scanned commit.
14
- implementation_id: prc.native.file-present@0.1
13
+ description: A root README containing non-whitespace UTF-8 text from the scanned commit.
14
+ implementation_id: prc.native.file-present@0.2
15
15
  parameters:
16
16
  paths: [README.md, README.rst, README.txt]
17
17
  minimum_bytes: 1
@@ -19,16 +19,16 @@ assertions:
19
19
  gate: required
20
20
  remediation_class: R2
21
21
  - id: PRC-A-CORE-002
22
- revision: 1
22
+ revision: 2
23
23
  control_ids: [USEQ-6497B434]
24
24
  title: License is present
25
- statement: A nonempty license file exists at the repository root.
25
+ statement: A license file containing non-whitespace UTF-8 text exists at the repository root.
26
26
  applicability: "true"
27
27
  evidence_required:
28
28
  - kind: repository-file
29
29
  minimum_authority: repository
30
- description: A nonempty root license file from the scanned commit.
31
- implementation_id: prc.native.file-present@0.1
30
+ description: A root license file containing non-whitespace UTF-8 text from the scanned commit.
31
+ implementation_id: prc.native.file-present@0.2
32
32
  parameters:
33
33
  paths: [LICENSE, LICENSE.md, LICENSE.txt, COPYING]
34
34
  minimum_bytes: 1
@@ -36,16 +36,16 @@ assertions:
36
36
  gate: required
37
37
  remediation_class: R0
38
38
  - id: PRC-A-CORE-003
39
- revision: 1
39
+ revision: 2
40
40
  control_ids: [USEQ-89F5E97A]
41
41
  title: Contribution guidance is present
42
- statement: A nonempty contribution guide exists at the repository root.
42
+ statement: A contribution guide containing non-whitespace UTF-8 text exists at the repository root.
43
43
  applicability: "true"
44
44
  evidence_required:
45
45
  - kind: repository-file
46
46
  minimum_authority: repository
47
- description: A nonempty root contribution guide from the scanned commit.
48
- implementation_id: prc.native.file-present@0.1
47
+ description: A root contribution guide containing non-whitespace UTF-8 text from the scanned commit.
48
+ implementation_id: prc.native.file-present@0.2
49
49
  parameters:
50
50
  paths: [CONTRIBUTING.md, CONTRIBUTING.rst]
51
51
  minimum_bytes: 1
@@ -53,16 +53,16 @@ assertions:
53
53
  gate: advisory
54
54
  remediation_class: R0
55
55
  - id: PRC-A-CORE-004
56
- revision: 1
56
+ revision: 2
57
57
  control_ids: [USEQ-AC6AC548]
58
58
  title: Security policy is present
59
- statement: A nonempty security policy exists at the repository root.
59
+ statement: A security policy containing non-whitespace UTF-8 text exists at the repository root.
60
60
  applicability: "true"
61
61
  evidence_required:
62
62
  - kind: repository-file
63
63
  minimum_authority: repository
64
- description: A nonempty root security policy from the scanned commit.
65
- implementation_id: prc.native.file-present@0.1
64
+ description: A root security policy containing non-whitespace UTF-8 text from the scanned commit.
65
+ implementation_id: prc.native.file-present@0.2
66
66
  parameters:
67
67
  paths: [SECURITY.md, docs/SECURITY.md]
68
68
  minimum_bytes: 1
@@ -70,16 +70,16 @@ assertions:
70
70
  gate: required
71
71
  remediation_class: R0
72
72
  - id: PRC-A-CORE-005
73
- revision: 1
73
+ revision: 2
74
74
  control_ids: [USEQ-D73106BF]
75
75
  title: Code of conduct is present
76
- statement: A nonempty code-of-conduct document exists at the repository root.
76
+ statement: A code-of-conduct document containing non-whitespace UTF-8 text exists at the repository root.
77
77
  applicability: "true"
78
78
  evidence_required:
79
79
  - kind: repository-file
80
80
  minimum_authority: repository
81
- description: A nonempty root code-of-conduct document from the scanned commit.
82
- implementation_id: prc.native.file-present@0.1
81
+ description: A root code-of-conduct document containing non-whitespace UTF-8 text from the scanned commit.
82
+ implementation_id: prc.native.file-present@0.2
83
83
  parameters:
84
84
  paths: [CODE_OF_CONDUCT.md, CODE_OF_CONDUCT.rst]
85
85
  minimum_bytes: 1
@@ -87,16 +87,16 @@ assertions:
87
87
  gate: advisory
88
88
  remediation_class: R0
89
89
  - id: PRC-A-CORE-006
90
- revision: 1
90
+ revision: 2
91
91
  control_ids: [USEQ-CA602113]
92
92
  title: Code ownership is declared
93
- statement: A nonempty CODEOWNERS file exists in a supported repository location.
93
+ statement: A CODEOWNERS file containing non-whitespace UTF-8 text exists in a supported repository location.
94
94
  applicability: "true"
95
95
  evidence_required:
96
96
  - kind: repository-file
97
97
  minimum_authority: repository
98
- description: A nonempty CODEOWNERS file from the scanned commit.
99
- implementation_id: prc.native.file-present@0.1
98
+ description: A CODEOWNERS file containing non-whitespace UTF-8 text from the scanned commit.
99
+ implementation_id: prc.native.file-present@0.2
100
100
  parameters:
101
101
  paths: [.github/CODEOWNERS, CODEOWNERS, docs/CODEOWNERS]
102
102
  minimum_bytes: 1
@@ -244,16 +244,16 @@ assertions:
244
244
  gate: required
245
245
  remediation_class: R0
246
246
  - id: PRC-A-CORE-016
247
- revision: 1
247
+ revision: 2
248
248
  control_ids: [PRC-36-011]
249
249
  title: Dependency updates are configured
250
- statement: A supported dependency-update automation configuration is present.
250
+ statement: A supported dependency-update automation configuration containing non-whitespace UTF-8 text is present.
251
251
  applicability: inventory.package_ecosystems.size() > 0
252
252
  evidence_required:
253
253
  - kind: repository-file
254
254
  minimum_authority: repository
255
- description: A nonempty supported dependency-update configuration.
256
- implementation_id: prc.native.file-present@0.1
255
+ description: A supported dependency-update configuration containing non-whitespace UTF-8 text.
256
+ implementation_id: prc.native.file-present@0.2
257
257
  parameters:
258
258
  paths: [.github/dependabot.yml, .github/dependabot.yaml, renovate.json, renovate.json5, .renovaterc, .renovaterc.json]
259
259
  minimum_bytes: 1
@@ -1,5 +1,5 @@
1
1
  schema_version: prc.benchmark-suite/v0.2
2
- id: prc.benchmark.core-native@1.0
2
+ id: prc.benchmark.core-native@1.1
3
3
  title: Comprehensive core native assertion benchmark
4
4
  profile_id: prc/core-repository
5
5
  cases:
@@ -78,6 +78,15 @@ cases:
78
78
  target: targets/readme-missing
79
79
  expectations:
80
80
  - {assertion_id: PRC-A-CORE-001, assessment: fail, execution: completed}
81
+ - id: readme-whitespace
82
+ target: targets/baseline
83
+ setup:
84
+ - operation: replace_text
85
+ path: README.md
86
+ find: "# Benchmark baseline\n\nThis fixture exercises repository, inapplicable, manual, and blocked outcomes.\n"
87
+ replace: "\uFEFF\u00A0\u2003\n"
88
+ expectations:
89
+ - {assertion_id: PRC-A-CORE-001, assessment: fail, execution: completed}
81
90
  - id: test-declaration-valid
82
91
  target: targets/test-declaration-valid
83
92
  expectations:
@@ -1,5 +1,5 @@
1
- schema_version: prc.benchmark-suite/v0.1
2
- id: prc.benchmark.core-native@0.1
1
+ schema_version: prc.benchmark-suite/v0.2
2
+ id: prc.benchmark.core-native@0.2
3
3
  title: Core native assertion benchmark
4
4
  profile_id: prc/core-repository
5
5
  cases:
@@ -39,6 +39,17 @@ cases:
39
39
  - assertion_id: PRC-A-CORE-001
40
40
  assessment: fail
41
41
  execution: completed
42
+ - id: readme-whitespace
43
+ target: targets/baseline
44
+ setup:
45
+ - operation: replace_text
46
+ path: README.md
47
+ find: "# Benchmark baseline\n\nThis fixture exercises repository, inapplicable, manual, and blocked outcomes.\n"
48
+ replace: "\uFEFF\u00A0\u2003\n"
49
+ expectations:
50
+ - assertion_id: PRC-A-CORE-001
51
+ assessment: fail
52
+ execution: completed
42
53
  - id: workflow-malformed
43
54
  target: targets/workflow-malformed
44
55
  expectations:
@@ -1,5 +1,5 @@
1
1
  schema_version: prc.pack/v0.1
2
- id: prc.pack.core-foundation@0.1
2
+ id: prc.pack.core-foundation@0.2
3
3
  title: Core repository validated foundation
4
4
  description: A small, measured foundation of deterministic repository checks.
5
5
  publisher_id: prc-project
@@ -8,7 +8,7 @@ engine_apis: [prc.engine/v0.1]
8
8
  profile_ids: [prc/core-repository]
9
9
  assertions:
10
10
  - assertion_id: PRC-A-CORE-001
11
- implementation_id: prc.native.file-present@0.1
11
+ implementation_id: prc.native.file-present@0.2
12
12
  validated_outcomes: [pass, fail]
13
13
  - assertion_id: PRC-A-CORE-007
14
14
  implementation_id: prc.native.dependency-lock@0.1
@@ -17,9 +17,9 @@ assertions:
17
17
  implementation_id: prc.native.github-workflow-valid@0.1
18
18
  validated_outcomes: [pass, not_applicable, error]
19
19
  benchmark:
20
- suite_id: prc.benchmark.core-native@0.1
20
+ suite_id: prc.benchmark.core-native@0.2
21
21
  suite_path: fixtures/benchmarks/core-native/suite.yaml
22
- suite_sha256: 208c180313d0bd0b13d09eaca040eb967fb6664f205b283841f386b9cacd2e7d
22
+ suite_sha256: 06a20e9bf344e4a1684043f6a90a1aed714eca4efc59a015d84e890e5acd5395
23
23
  limitations:
24
24
  - The pack covers only three native assertions and is not the complete core profile.
25
25
  - The initial fixtures do not establish cross-platform or large-repository performance.
@@ -1,5 +1,5 @@
1
1
  schema_version: prc.pack/v0.1
2
- id: prc.pack.core-native@1.0
2
+ id: prc.pack.core-native@1.1
3
3
  title: Core native assertion pack
4
4
  description: Catalog-wide deterministic checks measured against the comprehensive core fixture corpus.
5
5
  publisher_id: prc-project
@@ -7,12 +7,12 @@ maintenance: active
7
7
  engine_apis: [prc.engine/v0.1]
8
8
  profile_ids: [prc/core-repository, prc/api, prc/kubernetes]
9
9
  assertions:
10
- - {assertion_id: PRC-A-CORE-001, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
11
- - {assertion_id: PRC-A-CORE-002, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
12
- - {assertion_id: PRC-A-CORE-003, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
13
- - {assertion_id: PRC-A-CORE-004, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
14
- - {assertion_id: PRC-A-CORE-005, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
15
- - {assertion_id: PRC-A-CORE-006, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail]}
10
+ - {assertion_id: PRC-A-CORE-001, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
11
+ - {assertion_id: PRC-A-CORE-002, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
12
+ - {assertion_id: PRC-A-CORE-003, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
13
+ - {assertion_id: PRC-A-CORE-004, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
14
+ - {assertion_id: PRC-A-CORE-005, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
15
+ - {assertion_id: PRC-A-CORE-006, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail]}
16
16
  - {assertion_id: PRC-A-CORE-007, implementation_id: prc.native.dependency-lock@0.1, validated_outcomes: [pass, fail, not_applicable]}
17
17
  - {assertion_id: PRC-A-CORE-008, implementation_id: prc.native.github-action-pin@0.1, validated_outcomes: [pass, fail, not_applicable]}
18
18
  - {assertion_id: PRC-A-CORE-009, implementation_id: prc.native.ci-present@0.1, validated_outcomes: [pass, fail]}
@@ -22,7 +22,7 @@ assertions:
22
22
  - {assertion_id: PRC-A-CORE-013, implementation_id: prc.native.analysis-evidence@0.1, validated_outcomes: [blocked]}
23
23
  - {assertion_id: PRC-A-CORE-014, implementation_id: prc.native.final-newline@0.1, validated_outcomes: [pass, fail]}
24
24
  - {assertion_id: PRC-A-CORE-015, implementation_id: prc.native.git-revision@0.1, validated_outcomes: [pass, fail]}
25
- - {assertion_id: PRC-A-CORE-016, implementation_id: prc.native.file-present@0.1, validated_outcomes: [pass, fail, not_applicable]}
25
+ - {assertion_id: PRC-A-CORE-016, implementation_id: prc.native.file-present@0.2, validated_outcomes: [pass, fail, not_applicable]}
26
26
  - {assertion_id: PRC-A-CORE-017, implementation_id: prc.native.github-workflow-valid@0.1, validated_outcomes: [pass, not_applicable, error]}
27
27
  - {assertion_id: PRC-A-CORE-018, implementation_id: prc.native.github-workflow-jobs@0.1, validated_outcomes: [pass, fail, not_applicable, error]}
28
28
  - {assertion_id: PRC-A-CORE-019, implementation_id: prc.native.github-workflow-timeouts@0.1, validated_outcomes: [pass, fail, not_applicable, error]}
@@ -48,9 +48,9 @@ assertions:
48
48
  - {assertion_id: PRC-A-K8S-003, implementation_id: prc.native.kubernetes-capabilities@0.1, validated_outcomes: [pass, fail, not_applicable]}
49
49
  - {assertion_id: PRC-A-K8S-004, implementation_id: prc.native.kubernetes-seccomp@0.1, validated_outcomes: [pass, fail, not_applicable]}
50
50
  benchmark:
51
- suite_id: prc.benchmark.core-native@1.0
51
+ suite_id: prc.benchmark.core-native@1.1
52
52
  suite_path: fixtures/benchmarks/core-native/suite-comprehensive.yaml
53
- suite_sha256: 1035fef3034185344a18bbf3e308143418f1b0bbd7f1fdd0a71a8adc138c9968
53
+ suite_sha256: 532a5828a6e283d38ddcdbae71fdbbfd03159128067e5a8037dac3f6a36ac4b3
54
54
  limitations:
55
55
  - Manual-review and adapter-backed assertions are validated only in their fail-closed manual or blocked states.
56
56
  - OpenAPI operation checks cover direct path and webhook operations; referenced Path Items, callbacks, multi-document descriptions, and referenced responses require a future bounded resolver or adapter.
package/bin/prc.exe CHANGED
Binary file
@@ -0,0 +1,145 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/adapter-execution-v0.3.schema.json",
4
+ "title": "Bound Production Readiness Adapter Execution v0.3",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "execution_id", "adapter_run_id", "adapter_id", "manifest_sha256", "image", "resolution", "data_inputs", "subject", "started_at", "completed_at", "duration_ms", "diagnostics_sha256", "diagnostics_bytes", "transcript"],
8
+ "properties": {
9
+ "schema_version": {"const": "prc.adapter-execution/v0.3"},
10
+ "execution_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
11
+ "adapter_run_id": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
12
+ "adapter_id": {"type": "string", "pattern": "^prc\\.adapter\\.[a-z0-9.-]+@[0-9]+\\.[0-9]+$"},
13
+ "manifest_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
14
+ "image": {"type": "string", "pattern": "^.+@sha256:[0-9a-f]{64}$"},
15
+ "resolution": {"$ref": "#/$defs/resolution"},
16
+ "data_inputs": {
17
+ "type": "array",
18
+ "maxItems": 16,
19
+ "items": {"$ref": "#/$defs/data_input"}
20
+ },
21
+ "subject": {"$ref": "#/$defs/subject"},
22
+ "started_at": {"type": "string", "format": "date-time"},
23
+ "completed_at": {"type": "string", "format": "date-time"},
24
+ "duration_ms": {"type": "integer", "minimum": 0},
25
+ "diagnostics_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
26
+ "diagnostics_bytes": {"type": "integer", "minimum": 0},
27
+ "transcript": {"$ref": "#/$defs/transcript"}
28
+ },
29
+ "$defs": {
30
+ "data_input": {
31
+ "type": "object",
32
+ "additionalProperties": false,
33
+ "required": ["name", "destination", "sha256", "files", "bytes"],
34
+ "properties": {
35
+ "name": {"type": "string", "pattern": "^[a-z0-9][a-z0-9.-]{0,127}$"},
36
+ "destination": {"type": "string", "pattern": "^/prc-inputs/[a-z0-9][a-z0-9.-]{0,127}$"},
37
+ "sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
38
+ "files": {"type": "integer", "minimum": 1},
39
+ "bytes": {"type": "integer", "minimum": 1}
40
+ }
41
+ },
42
+ "resolution": {
43
+ "type": "object",
44
+ "additionalProperties": false,
45
+ "required": ["source", "publisher_id", "trust"],
46
+ "properties": {
47
+ "source": {"enum": ["explicit-local", "registry"]},
48
+ "publisher_id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9.-]{0,127}$"},
49
+ "trust": {"enum": ["local-explicit", "first-party-sandboxed", "verified-community", "unverified-community", "local"]},
50
+ "registry_id": {"type": "string", "pattern": "^prc\\.adapter-registry\\.[a-z0-9.-]+@[0-9]+\\.[0-9]+$"},
51
+ "registry_revision": {"type": "integer", "minimum": 1},
52
+ "registry_digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
53
+ },
54
+ "allOf": [
55
+ {
56
+ "if": {"properties": {"source": {"const": "registry"}}},
57
+ "then": {
58
+ "required": ["registry_id", "registry_revision", "registry_digest"],
59
+ "properties": {"trust": {"enum": ["first-party-sandboxed", "verified-community", "unverified-community", "local"]}}
60
+ },
61
+ "else": {
62
+ "properties": {"trust": {"const": "local-explicit"}},
63
+ "not": {"anyOf": [{"required": ["registry_id"]}, {"required": ["registry_revision"]}, {"required": ["registry_digest"]}]}
64
+ }
65
+ }
66
+ ]
67
+ },
68
+ "subject": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["target_name", "inventory_digest"],
72
+ "properties": {
73
+ "target_name": {"type": "string", "minLength": 1},
74
+ "target_commit": {"type": "string", "pattern": "^[0-9a-f]{40,64}$"},
75
+ "inventory_digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
76
+ }
77
+ },
78
+ "location": {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": ["path"],
82
+ "properties": {
83
+ "path": {"type": "string", "minLength": 1},
84
+ "line": {"type": "integer", "minimum": 0},
85
+ "column": {"type": "integer", "minimum": 0}
86
+ }
87
+ },
88
+ "observation": {
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "required": ["id", "kind", "outcome", "summary", "locations"],
92
+ "properties": {
93
+ "id": {"type": "string", "minLength": 1},
94
+ "kind": {"type": "string", "minLength": 1},
95
+ "outcome": {"enum": ["found", "not_found", "value", "unsupported"]},
96
+ "summary": {"type": "string", "minLength": 1},
97
+ "locations": {"type": "array", "items": {"$ref": "#/$defs/location"}},
98
+ "data": {"type": "object"}
99
+ }
100
+ },
101
+ "artifact": {
102
+ "type": "object",
103
+ "additionalProperties": false,
104
+ "required": ["id", "media_type", "digest", "size"],
105
+ "properties": {
106
+ "id": {"type": "string", "minLength": 1},
107
+ "media_type": {"type": "string", "minLength": 1},
108
+ "digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
109
+ "size": {"type": "integer", "minimum": 0},
110
+ "path": {"type": "string", "minLength": 1}
111
+ }
112
+ },
113
+ "log": {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": ["level", "message"],
117
+ "properties": {
118
+ "level": {"enum": ["debug", "info", "warning", "error"]},
119
+ "message": {"type": "string", "minLength": 1}
120
+ }
121
+ },
122
+ "summary": {
123
+ "type": "object",
124
+ "additionalProperties": false,
125
+ "required": ["status", "counts"],
126
+ "properties": {
127
+ "status": {"enum": ["completed", "partial", "unsupported", "configuration_error", "execution_error", "timeout", "parse_error"]},
128
+ "counts": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}},
129
+ "reason": {"type": "string", "minLength": 1}
130
+ },
131
+ "allOf": [{"if": {"properties": {"status": {"not": {"const": "completed"}}}}, "then": {"required": ["reason"]}}]
132
+ },
133
+ "transcript": {
134
+ "type": "object",
135
+ "additionalProperties": false,
136
+ "required": ["logs", "observations", "artifacts", "summary"],
137
+ "properties": {
138
+ "logs": {"type": "array", "items": {"$ref": "#/$defs/log"}},
139
+ "observations": {"type": "array", "items": {"$ref": "#/$defs/observation"}},
140
+ "artifacts": {"type": "array", "items": {"$ref": "#/$defs/artifact"}},
141
+ "summary": {"$ref": "#/$defs/summary"}
142
+ }
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/authoritative-evidence-bundle.schema.json",
4
+ "title": "Production Readiness Authoritative Evidence Bundle v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "id", "catalog_sha256", "inventory_sha256", "authority", "entries"],
8
+ "properties": {
9
+ "schema_version": {"const": "prc.authoritative-evidence-bundle/v0.1"},
10
+ "id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9./@_-]{0,255}$"},
11
+ "catalog_sha256": {"$ref": "#/$defs/digest"},
12
+ "inventory_sha256": {"$ref": "#/$defs/digest"},
13
+ "authority": {"$ref": "#/$defs/authority"},
14
+ "entries": {
15
+ "type": "array",
16
+ "minItems": 1,
17
+ "maxItems": 765,
18
+ "items": {"$ref": "#/$defs/entry"}
19
+ }
20
+ },
21
+ "$defs": {
22
+ "digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
23
+ "authority": {
24
+ "enum": ["repository", "artifact", "executed", "environment", "external_registry", "structured_record"]
25
+ },
26
+ "entry": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["template_id", "provider_id", "program", "evidence"],
30
+ "properties": {
31
+ "template_id": {"$ref": "#/$defs/digest"},
32
+ "provider_id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9._/@:-]{0,255}$"},
33
+ "program": {"$ref": "control-check-program.schema.json"},
34
+ "evidence": {"$ref": "control-check-evidence.schema.json"}
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/authoritative-evidence-set.schema.json",
4
+ "title": "Production Readiness Authoritative Evidence Set v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "trust_store_file", "bundles"],
8
+ "properties": {
9
+ "schema_version": {"const": "prc.authoritative-evidence-set/v0.1"},
10
+ "trust_store_file": {"$ref": "#/$defs/file_name"},
11
+ "bundles": {
12
+ "type": "array",
13
+ "minItems": 1,
14
+ "maxItems": 6,
15
+ "items": {"$ref": "#/$defs/bundle"}
16
+ }
17
+ },
18
+ "$defs": {
19
+ "file_name": {
20
+ "type": "string",
21
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$"
22
+ },
23
+ "authority": {
24
+ "enum": ["artifact", "environment", "executed", "external_registry", "repository", "structured_record"]
25
+ },
26
+ "bundle": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["authority", "bundle_file", "policy_signature_file", "evidence_signature_file"],
30
+ "properties": {
31
+ "authority": {"$ref": "#/$defs/authority"},
32
+ "bundle_file": {"$ref": "#/$defs/file_name"},
33
+ "policy_signature_file": {"$ref": "#/$defs/file_name"},
34
+ "evidence_signature_file": {"$ref": "#/$defs/file_name"}
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/authoritative-evidence-verification.schema.json",
4
+ "title": "Production Readiness Authoritative Evidence Verification v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version", "bundle_id", "bundle_sha256", "policy_sha256", "catalog_sha256", "inventory_sha256",
9
+ "authority", "entry_count", "entries", "policy_signature", "evidence_signature"
10
+ ],
11
+ "properties": {
12
+ "schema_version": {"const": "prc.authoritative-evidence-verification/v0.1"},
13
+ "bundle_id": {"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9./@_-]{0,255}$"},
14
+ "bundle_sha256": {"$ref": "#/$defs/digest"},
15
+ "policy_sha256": {"$ref": "#/$defs/digest"},
16
+ "catalog_sha256": {"$ref": "#/$defs/digest"},
17
+ "inventory_sha256": {"$ref": "#/$defs/digest"},
18
+ "authority": {
19
+ "enum": ["repository", "artifact", "executed", "environment", "external_registry", "structured_record"]
20
+ },
21
+ "entry_count": {"type": "integer", "minimum": 1, "maximum": 765},
22
+ "entries": {
23
+ "type": "array",
24
+ "minItems": 1,
25
+ "maxItems": 765,
26
+ "items": {"$ref": "#/$defs/entry"}
27
+ },
28
+ "policy_signature": {"$ref": "signature-verification.schema.json"},
29
+ "evidence_signature": {"$ref": "signature-verification.schema.json"}
30
+ },
31
+ "$defs": {
32
+ "digest": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
33
+ "entry": {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": ["template_id", "provider_id", "program", "evidence_sha256", "outcome", "reason_code"],
37
+ "properties": {
38
+ "template_id": {"$ref": "#/$defs/digest"},
39
+ "provider_id": {"type": "string", "pattern": "^[a-z0-9][a-z0-9._/@:-]{0,255}$"},
40
+ "program": {"$ref": "control-check-program.schema.json"},
41
+ "evidence_sha256": {"$ref": "#/$defs/digest"},
42
+ "outcome": {"enum": ["pass", "fail", "blocked", "not_applicable"]},
43
+ "reason_code": {
44
+ "enum": [
45
+ "passed", "predicate_false", "not_applicable", "invalid_program", "invalid_evidence",
46
+ "evidence_binding_mismatch", "wrong_authority", "evidence_stale", "evidence_from_future",
47
+ "evidence_incomplete", "evidence_conflicting", "applicability_unknown",
48
+ "not_applicable_disallowed", "applicability_proof_missing", "fact_missing", "fact_type_mismatch"
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://marinjursic.github.io/production-readiness-checklist/schemas/automatic-coverage.schema.json",
4
+ "title": "Production Readiness Automatic Coverage v0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version", "control_count", "reviewed_routing_control_count",
9
+ "deterministic_control_count", "nondeterministic_control_count", "advisory_ai_review_control_count", "exact_clause_count",
10
+ "exact_predicate_clause_count", "built_in_collector_clause_count",
11
+ "signed_import_supported_clause_count", "authorities"
12
+ ],
13
+ "properties": {
14
+ "schema_version": {"const": "prc.automatic-coverage/v0.1"},
15
+ "control_count": {"type": "integer", "minimum": 1},
16
+ "reviewed_routing_control_count": {"type": "integer", "minimum": 0},
17
+ "deterministic_control_count": {"type": "integer", "minimum": 0},
18
+ "nondeterministic_control_count": {"type": "integer", "minimum": 0},
19
+ "advisory_ai_review_control_count": {"type": "integer", "minimum": 0},
20
+ "exact_clause_count": {"type": "integer", "minimum": 0},
21
+ "exact_predicate_clause_count": {"type": "integer", "minimum": 0},
22
+ "built_in_collector_clause_count": {"type": "integer", "minimum": 0},
23
+ "signed_import_supported_clause_count": {"type": "integer", "minimum": 0},
24
+ "authorities": {
25
+ "type": "array",
26
+ "minItems": 1,
27
+ "maxItems": 6,
28
+ "items": {"$ref": "#/$defs/authority"}
29
+ }
30
+ },
31
+ "$defs": {
32
+ "authority": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": [
36
+ "name", "exact_clause_count", "built_in_collector_clause_count",
37
+ "signed_import_supported_clause_count"
38
+ ],
39
+ "properties": {
40
+ "name": {
41
+ "enum": ["artifact", "environment", "executed", "external_registry", "repository", "structured_record"]
42
+ },
43
+ "exact_clause_count": {"type": "integer", "minimum": 0},
44
+ "built_in_collector_clause_count": {"type": "integer", "minimum": 0},
45
+ "signed_import_supported_clause_count": {"type": "integer", "minimum": 0}
46
+ }
47
+ }
48
+ }
49
+ }