@dailephd/my-dev-kit-lab 0.4.5 → 0.4.6

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 (231) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +37 -3
  3. package/dist/scripts/cli.js +9 -0
  4. package/dist/src/audits/core/typescriptJavaScriptAnalyzer.js +30 -12
  5. package/dist/src/cli/help.js +300 -0
  6. package/dist/src/cli/index.js +2 -0
  7. package/dist/src/cli/runLabCli.js +229 -0
  8. package/dist/src/commands/runAuditCommand.js +132 -0
  9. package/dist/src/commands/runControlledExperimentCommand.js +7 -3
  10. package/dist/{scripts/experiments/describeExperiment.js → src/commands/runExperimentDescribeCommand.js} +14 -10
  11. package/dist/{scripts/experiments/listExperiments.js → src/commands/runExperimentListCommand.js} +3 -6
  12. package/dist/{scripts/experiments/runExperiment.js → src/commands/runExperimentRunCommand.js} +80 -22
  13. package/dist/src/commands/runFinalDemoCommand.js +2 -3
  14. package/dist/src/commands/runSecurityValidationCommand.js +271 -0
  15. package/dist/src/runtime/index.js +3 -0
  16. package/dist/src/runtime/labExecutionContext.js +22 -0
  17. package/dist/src/runtime/packageResource.js +22 -0
  18. package/dist/src/runtime/packageRoot.js +37 -0
  19. package/dist/src/securityValidation/packageChecks/requiredPackageContents.js +14 -1
  20. package/package.json +7 -7
  21. package/dist/scripts/audits/runAudit.js +0 -135
  22. package/dist/scripts/build-gallery.js +0 -3
  23. package/dist/scripts/capture-demo-report.js +0 -3
  24. package/dist/scripts/evaluate-token-savings.js +0 -2
  25. package/dist/scripts/generate-experiment-plots.js +0 -3
  26. package/dist/scripts/generate-prompt-variants.js +0 -2
  27. package/dist/scripts/render-experiment-report.js +0 -2
  28. package/dist/scripts/report-context-integrity-smoke.js +0 -70
  29. package/dist/scripts/run-agent-prompt.js +0 -2
  30. package/dist/scripts/run-controlled-experiment.js +0 -2
  31. package/dist/scripts/run-lab-demo.js +0 -5
  32. package/dist/scripts/run-visualization-demos.js +0 -3
  33. package/dist/scripts/security/resolveToolRoot.js +0 -16
  34. package/dist/scripts/security/runCodeql.js +0 -58
  35. package/dist/scripts/security/runDependencyChecks.js +0 -58
  36. package/dist/scripts/security/runFuzzSmoke.js +0 -29
  37. package/dist/scripts/security/runPackageChecks.js +0 -57
  38. package/dist/scripts/security/runSemgrep.js +0 -64
  39. package/dist/scripts/security/validate.js +0 -266
  40. package/dist/scripts/verify-benchmarks.js +0 -202
  41. package/examples/demo-report-input.json +0 -78
  42. package/examples/lab-demo-cases.json +0 -35
  43. package/examples/real-agent-campaign-cases.json +0 -118
  44. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/debug/res/xml/ambiguous_backup_rules.xml +0 -4
  45. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/main/res/xml/ambiguous_backup_rules.xml +0 -4
  46. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/main/res/xml/backup_rules.xml +0 -5
  47. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/main/res/xml/broad_backup_rules.xml +0 -4
  48. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/main/res/xml/data_extraction_rules.xml +0 -10
  49. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-a/src/main/res/xml/unsupported_domain_rules.xml +0 -4
  50. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-b/src/main/res/xml/malformed_backup_rules.xml +0 -4
  51. package/tests/fixtures/android/advanced-security-fixtures/backup-configuration/module-b/src/main/res/xml/unsupported_root.xml +0 -4
  52. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/debug/res/xml/ambiguous_config.xml +0 -4
  53. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/ambiguous_config.xml +0 -4
  54. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/base_cleartext_false.xml +0 -8
  55. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/broad_and_duplicate_domains.xml +0 -8
  56. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/empty_domain.xml +0 -6
  57. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/malformed_pin.xml +0 -11
  58. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-a/src/main/res/xml/network_security_config.xml +0 -26
  59. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-b/src/main/res/xml/malformed_network_security_config.xml +0 -6
  60. package/tests/fixtures/android/advanced-security-fixtures/network-security/module-b/src/main/res/xml/unsupported_root.xml +0 -4
  61. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/groovy-release-debuggable-dynamic.gradle +0 -7
  62. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/groovy-release-debuggable-false.gradle +0 -9
  63. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/groovy-release-debuggable-true.gradle +0 -13
  64. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/kotlin-release-debuggable-false.gradle.kts +0 -7
  65. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/kotlin-release-debuggable-true.gradle.kts +0 -10
  66. package/tests/fixtures/android/advanced-security-fixtures/release-configuration/missing-release-build-type.gradle.kts +0 -7
  67. package/tests/fixtures/android/advanced-security-fixtures/resource-resolution/module-a/src/debug/res/xml/network_security_config.xml +0 -8
  68. package/tests/fixtures/android/advanced-security-fixtures/resource-resolution/module-a/src/main/res/xml/backup_rules.xml +0 -4
  69. package/tests/fixtures/android/advanced-security-fixtures/resource-resolution/module-a/src/main/res/xml/network_security_config.xml +0 -8
  70. package/tests/fixtures/android/advanced-security-fixtures/resource-resolution/module-b/src/main/res/xml/malformed_network_security_config.xml +0 -7
  71. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/SampleActivity.java +0 -8
  72. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/SampleActivity.kt +0 -9
  73. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/build.gradle +0 -11
  74. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/build.gradle.kts +0 -11
  75. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/google-services.json +0 -16
  76. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates/local.properties +0 -3
  77. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates-bounds/module/binary.properties +0 -0
  78. package/tests/fixtures/android/advanced-security-fixtures/secret-candidates-bounds/module/oversized.json +0 -1
  79. package/tests/fixtures/android/advanced-security-fixtures/signing-configuration/app/fake-release-keystore.jks +0 -1
  80. package/tests/fixtures/android/advanced-security-fixtures/signing-configuration/build/generated-fake.keystore +0 -1
  81. package/tests/fixtures/android/compose-app/app/build.gradle.kts +0 -21
  82. package/tests/fixtures/android/compose-app/app/src/main/AndroidManifest.xml +0 -22
  83. package/tests/fixtures/android/compose-app/app/src/main/java/com/example/composeapp/MainActivity.kt +0 -11
  84. package/tests/fixtures/android/compose-app/build.gradle.kts +0 -4
  85. package/tests/fixtures/android/compose-app/gradle/wrapper/gradle-wrapper.properties +0 -4
  86. package/tests/fixtures/android/compose-app/settings.gradle.kts +0 -2
  87. package/tests/fixtures/android/gradle-metadata-fixtures/catalog-only-plugin/build.gradle.kts +0 -3
  88. package/tests/fixtures/android/gradle-metadata-fixtures/catalog-only-plugin/gradle/libs.versions.toml +0 -5
  89. package/tests/fixtures/android/gradle-metadata-fixtures/comment-safety.gradle.kts +0 -21
  90. package/tests/fixtures/android/gradle-metadata-fixtures/dynamic-values.gradle.kts +0 -17
  91. package/tests/fixtures/android/gradle-metadata-fixtures/groovy-literal.gradle +0 -23
  92. package/tests/fixtures/android/gradle-metadata-fixtures/wrapper-malformed.properties +0 -4
  93. package/tests/fixtures/android/gradle-metadata-fixtures/wrapper-missing-url.properties +0 -3
  94. package/tests/fixtures/android/gradle-metadata-fixtures/wrapper-with-checksum.properties +0 -5
  95. package/tests/fixtures/android/java-app/app/build.gradle +0 -16
  96. package/tests/fixtures/android/java-app/app/src/main/AndroidManifest.xml +0 -19
  97. package/tests/fixtures/android/java-app/app/src/main/java/com/example/javaapp/MainActivity.java +0 -4
  98. package/tests/fixtures/android/java-app/build.gradle +0 -3
  99. package/tests/fixtures/android/java-app/gradle/wrapper/gradle-wrapper.properties +0 -4
  100. package/tests/fixtures/android/java-app/settings.gradle +0 -2
  101. package/tests/fixtures/android/library/build.gradle.kts +0 -3
  102. package/tests/fixtures/android/library/gradle/wrapper/gradle-wrapper.properties +0 -4
  103. package/tests/fixtures/android/library/mylibrary/build.gradle.kts +0 -13
  104. package/tests/fixtures/android/library/mylibrary/src/main/AndroidManifest.xml +0 -2
  105. package/tests/fixtures/android/library/settings.gradle.kts +0 -2
  106. package/tests/fixtures/android/manifest-audit-fixtures/incomplete-intent-filter.xml +0 -14
  107. package/tests/fixtures/android/manifest-audit-fixtures/malformed-exported.xml +0 -10
  108. package/tests/fixtures/android/manifest-audit-fixtures/malformed.xml +0 -5
  109. package/tests/fixtures/android/manifest-audit-fixtures/missing-application.xml +0 -7
  110. package/tests/fixtures/android/manifest-audit-fixtures/missing-component-name.xml +0 -11
  111. package/tests/fixtures/android/manifest-audit-fixtures/permission-coverage.xml +0 -29
  112. package/tests/fixtures/android/manifest-audit-fixtures/risky-components.xml +0 -62
  113. package/tests/fixtures/android/manifest-audit-fixtures/risky-deep-links.xml +0 -45
  114. package/tests/fixtures/android/manifest-audit-fixtures/unresolved-placeholder.xml +0 -14
  115. package/tests/fixtures/android/manifest-audit-fixtures/unusual-namespace-prefix.xml +0 -11
  116. package/tests/fixtures/android/multi-module/app/build.gradle.kts +0 -22
  117. package/tests/fixtures/android/multi-module/app/src/androidTest/java/com/example/multimodule/app/ExampleInstrumentedTest.kt +0 -3
  118. package/tests/fixtures/android/multi-module/app/src/main/AndroidManifest.xml +0 -11
  119. package/tests/fixtures/android/multi-module/app/src/test/java/com/example/multimodule/app/ExampleUnitTest.kt +0 -3
  120. package/tests/fixtures/android/multi-module/build.gradle.kts +0 -5
  121. package/tests/fixtures/android/multi-module/core/build.gradle.kts +0 -14
  122. package/tests/fixtures/android/multi-module/core/src/main/AndroidManifest.xml +0 -2
  123. package/tests/fixtures/android/multi-module/feature-login/build.gradle.kts +0 -18
  124. package/tests/fixtures/android/multi-module/feature-login/src/main/AndroidManifest.xml +0 -2
  125. package/tests/fixtures/android/multi-module/gradle/libs.versions.toml +0 -8
  126. package/tests/fixtures/android/multi-module/gradle/wrapper/gradle-wrapper.properties +0 -4
  127. package/tests/fixtures/android/multi-module/settings.gradle.kts +0 -4
  128. package/tests/fixtures/android/non-android-gradle/build.gradle.kts +0 -3
  129. package/tests/fixtures/android/non-android-gradle/core/build.gradle.kts +0 -3
  130. package/tests/fixtures/android/non-android-gradle/core/src/main/java/com/example/core/Core.java +0 -4
  131. package/tests/fixtures/android/non-android-gradle/gradle/wrapper/gradle-wrapper.properties +0 -4
  132. package/tests/fixtures/android/non-android-gradle/settings.gradle.kts +0 -2
  133. package/tests/fixtures/android/partial/app/build.gradle.kts +0 -7
  134. package/tests/fixtures/android/partial/settings.gradle.kts +0 -2
  135. package/tests/fixtures/android/xml-view-app/app/build.gradle.kts +0 -17
  136. package/tests/fixtures/android/xml-view-app/app/src/main/AndroidManifest.xml +0 -31
  137. package/tests/fixtures/android/xml-view-app/app/src/main/kotlin/com/example/xmlviewapp/MainActivity.kt +0 -7
  138. package/tests/fixtures/android/xml-view-app/app/src/main/res/layout/activity_main.xml +0 -4
  139. package/tests/fixtures/android/xml-view-app/build.gradle.kts +0 -4
  140. package/tests/fixtures/android/xml-view-app/gradle/wrapper/gradle-wrapper.properties +0 -4
  141. package/tests/fixtures/android/xml-view-app/settings.gradle.kts +0 -2
  142. package/tests/fixtures/audits/mixed-language/mixed-docs-claims/README.md +0 -16
  143. package/tests/fixtures/audits/mixed-language/mixed-docs-claims/build.gradle.kts +0 -4
  144. package/tests/fixtures/audits/mixed-language/mixed-docs-claims/src/main/java/com/example/Widget.java +0 -7
  145. package/tests/fixtures/audits/mixed-language/mixed-docs-claims/src/main/kotlin/com/example/Gadget.kt +0 -7
  146. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/README.md +0 -10
  147. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/build/Main.class +0 -1
  148. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/dist/index.js +0 -1
  149. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/generated/schema.ts +0 -1
  150. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/src/index.ts +0 -3
  151. package/tests/fixtures/audits/mixed-language/mixed-generated-vendor/vendor/lib.py +0 -2
  152. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/README.md +0 -10
  153. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/build.gradle.kts +0 -8
  154. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/settings.gradle.kts +0 -1
  155. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/src/main/java/com/example/FooService.java +0 -7
  156. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/src/main/kotlin/com/example/BarService.kt +0 -7
  157. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/src/test/java/com/example/FooServiceTest.java +0 -8
  158. package/tests/fixtures/audits/mixed-language/mixed-java-kotlin/src/test/kotlin/com/example/BarServiceTest.kt +0 -8
  159. package/tests/fixtures/audits/mixed-language/mixed-python-ts/README.md +0 -8
  160. package/tests/fixtures/audits/mixed-language/mixed-python-ts/src/app.py +0 -7
  161. package/tests/fixtures/audits/mixed-language/mixed-python-ts/src/index.ts +0 -3
  162. package/tests/fixtures/audits/mixed-language/mixed-python-ts/tests/test_app.py +0 -5
  163. package/tests/fixtures/audits/mixed-language/mixed-ts-js/README.md +0 -7
  164. package/tests/fixtures/audits/mixed-language/mixed-ts-js/src/helper.js +0 -5
  165. package/tests/fixtures/audits/mixed-language/mixed-ts-js/src/index.ts +0 -3
  166. package/tests/fixtures/audits/mixed-language/mixed-ts-js/tests/index.sample.ts +0 -5
  167. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/README.md +0 -10
  168. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/build.gradle.kts +0 -4
  169. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/pytests/test_app.py +0 -5
  170. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/src/app.py +0 -2
  171. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/src/helper.js +0 -5
  172. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/src/index.ts +0 -3
  173. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/src/main/java/com/example/Multiplier.java +0 -7
  174. package/tests/fixtures/audits/mixed-language/mixed-ts-python-jvm/src/main/kotlin/com/example/Divider.kt +0 -7
  175. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/corrected-replay/derived/run-integrity-evidence.json +0 -99
  176. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/corrected-replay/producer/implementation-audit.json +0 -1585
  177. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/corrected-replay/producer/implementation-capsule.json +0 -11455
  178. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/00-request.txt +0 -1
  179. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/architecture-context-packet.txt +0 -82
  180. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/behavior-model.txt +0 -104
  181. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/final-report.txt +0 -41
  182. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/implementation-context-packet.txt +0 -114
  183. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/implementation-report.txt +0 -92
  184. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/judge-report.txt +0 -34
  185. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/pseudocode-packet.txt +0 -244
  186. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/request-brief.txt +0 -40
  187. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/test-context-packet.txt +0 -93
  188. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/test-implementation-report.txt +0 -69
  189. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/test-strategy-packet.txt +0 -354
  190. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/artifacts/verification-report.txt +0 -85
  191. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/derived/run-integrity-evidence.json +0 -98
  192. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/architecture-audit.json +0 -1169
  193. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/architecture-request.json +0 -29
  194. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/implementation-audit.json +0 -1494
  195. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/implementation-capsule.json +0 -11364
  196. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/implementation-request.json +0 -33
  197. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/producer/test-request.json +0 -74
  198. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/reports/architecture-context-retrieval-report.txt +0 -58
  199. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/reports/implementation-context-retrieval-report.txt +0 -75
  200. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/reports/test-context-retrieval-report.txt +0 -84
  201. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/run.json +0 -62
  202. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/tool-versions/my-dev-kit-version.txt +0 -1
  203. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/failed-run/tool-versions/orchestrator-version.txt +0 -1
  204. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/manifests/corrected-replay-manifest.json +0 -19
  205. package/tests/fixtures/ecosystem/context-integrity/v0.4.5/manifests/failed-run-manifest.json +0 -56
  206. package/tests/fixtures/fake-adversarial-cli.js +0 -152
  207. package/tests/fixtures/fake-my-dev-kit-cli.js +0 -83
  208. package/tests/fixtures/full-workflow-library/complete-v1.0.0.json +0 -24
  209. package/tests/fixtures/full-workflow-library/future-minor-v1.1.0-additive.json +0 -25
  210. package/tests/fixtures/stage-context-expectations/complete-v1.0.0.json +0 -230
  211. package/tests/fixtures/stage-context-expectations/future-minor-v1.1.0-additive.json +0 -232
  212. package/tests/fixtures/stage-context-expectations/invalid/malformed-json.txt +0 -1
  213. package/tests/fixtures/stage-context-expectations/invalid/non-object-root.json +0 -1
  214. package/tests/fixtures/stage-context-expectations/minimal-v1.0.0.json +0 -18
  215. package/tests/fixtures/upstream-artifacts/invalid/malformed-json.txt +0 -1
  216. package/tests/fixtures/upstream-artifacts/invalid/non-object-root.json +0 -1
  217. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/context-capsule/complete-v1.0.0.json +0 -504
  218. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/context-capsule/future-minor-v1.1.0-additive.json +0 -955
  219. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/retrieval-audit-record/complete-v1.0.0.json +0 -190
  220. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.2/retrieval-audit-record/future-minor-v1.1.0-additive.json +0 -327
  221. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.4/PROVENANCE.txt +0 -18
  222. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.4/context-capsule/complete-v1.0.0.json +0 -556
  223. package/tests/fixtures/upstream-artifacts/my-dev-kit/1.10.4/retrieval-audit-record/complete-v1.0.0.json +0 -238
  224. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/PROVENANCE.txt +0 -13
  225. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/context-capsule.json +0 -7874
  226. package/tests/fixtures/upstream-artifacts/my-dev-kit-1.10.2-identity/retrieval-audit-record.json +0 -1076
  227. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.1/workflow-instruction-packet/complete-v1.0.0.json +0 -160
  228. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.1/workflow-instruction-packet/future-minor-v1.1.0-additive.json +0 -186
  229. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.3/run-integrity/PROVENANCE.txt +0 -31
  230. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.3/run-integrity/ready-pass-final-pass.json +0 -132
  231. package/tests/fixtures/upstream-artifacts/my-dev-kit-orchestrator/1.2.3/run-integrity/refresh-required-need-context.json +0 -146
@@ -1,160 +0,0 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "catalogSchemaVersion": "1.0.0",
4
- "catalogVersion": "1.0.0",
5
- "workflowId": "workflow.feature",
6
- "stageId": "stage.feature.implementation",
7
- "primaryEntry": {
8
- "id": "stage.feature.implementation",
9
- "kind": "stage",
10
- "title": "Implementation stage",
11
- "description": "Implement the requested feature.",
12
- "workflowRef": "workflow.feature",
13
- "stageName": "implementation",
14
- "commandRefs": ["command.repo.build"],
15
- "ruleRefs": ["rule.quality.no-dead-code"],
16
- "optionalCommandRefs": ["command.repo.lint"],
17
- "optionalRuleRefs": ["rule.quality.prefer-tests"],
18
- "reportContractRef": "report.implementation-summary",
19
- "taskInstructions": "Implement the feature and keep behavior backward compatible.",
20
- "validationRequirements": ["Run the build.", "Run the test suite."],
21
- "stopConditions": ["Stop if the build fails."]
22
- },
23
- "resolvedCommands": [
24
- {
25
- "id": "command.repo.build",
26
- "kind": "command",
27
- "title": "Build the repository",
28
- "description": "Compiles all TypeScript sources.",
29
- "owner": "repo",
30
- "command": "npm run build",
31
- "purpose": "Confirm the project compiles.",
32
- "sideEffect": "read-only",
33
- "included": "required"
34
- },
35
- {
36
- "id": "command.repo.lint",
37
- "kind": "command",
38
- "title": "Lint the repository",
39
- "description": "Runs the linter.",
40
- "owner": "repo",
41
- "command": "npm run lint",
42
- "purpose": "Confirm style conformance.",
43
- "sideEffect": "read-only",
44
- "included": "optional"
45
- }
46
- ],
47
- "resolvedRules": [
48
- {
49
- "id": "rule.quality.no-dead-code",
50
- "kind": "rule",
51
- "title": "No dead code",
52
- "description": "Do not leave unreachable code behind.",
53
- "category": "quality",
54
- "instruction": "Remove unreachable code before finishing the stage.",
55
- "ruleRefs": [],
56
- "included": "required",
57
- "depth": 0
58
- },
59
- {
60
- "id": "rule.quality.prefer-tests",
61
- "kind": "rule",
62
- "title": "Prefer tests",
63
- "description": "Prefer covering new behavior with tests.",
64
- "category": "quality",
65
- "instruction": "Add or update tests for new behavior.",
66
- "ruleRefs": ["rule.quality.no-dead-code"],
67
- "included": "optional",
68
- "depth": 1
69
- }
70
- ],
71
- "reportContract": {
72
- "id": "report.implementation-summary",
73
- "kind": "report-contract",
74
- "title": "Implementation summary report",
75
- "description": "Summarizes the implementation stage outcome.",
76
- "artifactKind": "implementation-summary",
77
- "purpose": "Give reviewers a concise implementation summary.",
78
- "requiredOutputCategory": "summary"
79
- },
80
- "validationRequirements": ["Run the build.", "Run the test suite."],
81
- "stopConditions": ["Stop if the build fails."],
82
- "resolutionProvenance": [
83
- {
84
- "rootWorkflowId": "workflow.feature",
85
- "rootStageId": "stage.feature.implementation",
86
- "sourceEntryId": "stage.feature.implementation",
87
- "referenceField": "commandRefs",
88
- "referencedEntryId": "command.repo.build",
89
- "inclusionReason": "required command reference",
90
- "depth": 0
91
- },
92
- {
93
- "rootWorkflowId": "workflow.feature",
94
- "rootStageId": "stage.feature.implementation",
95
- "sourceEntryId": "stage.feature.implementation",
96
- "referenceField": "ruleRefs",
97
- "referencedEntryId": "rule.quality.no-dead-code",
98
- "inclusionReason": "required rule reference",
99
- "depth": 0
100
- }
101
- ],
102
- "budget": {
103
- "findings": [
104
- {
105
- "limitName": "maxCommands",
106
- "declaredLimit": 20,
107
- "used": 2,
108
- "available": 18,
109
- "overLimit": false,
110
- "amountExceeded": 0,
111
- "affectedEntryIds": []
112
- },
113
- {
114
- "limitName": "maxRuleDepth",
115
- "declaredLimit": null,
116
- "used": 1,
117
- "available": null,
118
- "overLimit": false,
119
- "amountExceeded": 0,
120
- "affectedEntryIds": []
121
- }
122
- ],
123
- "overLimit": false,
124
- "adequate": true,
125
- "totalCharacters": 3200,
126
- "perEntryCharacters": {
127
- "stage.feature.implementation": 1800,
128
- "command.repo.build": 200,
129
- "rule.quality.no-dead-code": 150
130
- }
131
- },
132
- "truncation": {
133
- "truncated": false,
134
- "records": [
135
- {
136
- "rootOptionalEntryId": "command.repo.lint",
137
- "affectedEntryIds": ["command.repo.lint"],
138
- "limitingField": "maxCommands",
139
- "declaredLimit": 20,
140
- "usedBefore": 1,
141
- "attemptedAfter": 2,
142
- "reason": "included within budget"
143
- }
144
- ],
145
- "droppedOptionalCommandIds": [],
146
- "droppedOptionalRuleIds": [],
147
- "droppedOptionalDependencyIds": [],
148
- "warnings": []
149
- },
150
- "adequacy": {
151
- "status": "adequate",
152
- "reasons": [],
153
- "requiredContentComplete": true,
154
- "requiredBudgetSatisfied": true,
155
- "optionalContentDropped": false,
156
- "affectedEntryIds": []
157
- },
158
- "unresolvedReferences": ["command.repo.unresolved-example"],
159
- "warnings": []
160
- }
@@ -1,186 +0,0 @@
1
- {
2
- "schemaVersion": "1.1.0",
3
- "catalogSchemaVersion": "1.0.0",
4
- "catalogVersion": "1.0.0",
5
- "workflowId": "workflow.feature",
6
- "stageId": "stage.feature.implementation",
7
- "primaryEntry": {
8
- "id": "stage.feature.implementation",
9
- "kind": "stage",
10
- "title": "Implementation stage",
11
- "description": "Implement the requested feature.",
12
- "workflowRef": "workflow.feature",
13
- "stageName": "implementation",
14
- "commandRefs": [
15
- "command.repo.build"
16
- ],
17
- "ruleRefs": [
18
- "rule.quality.no-dead-code"
19
- ],
20
- "optionalCommandRefs": [
21
- "command.repo.lint"
22
- ],
23
- "optionalRuleRefs": [
24
- "rule.quality.prefer-tests"
25
- ],
26
- "reportContractRef": "report.implementation-summary",
27
- "taskInstructions": "Implement the feature and keep behavior backward compatible.",
28
- "validationRequirements": [
29
- "Run the build.",
30
- "Run the test suite."
31
- ],
32
- "stopConditions": [
33
- "Stop if the build fails."
34
- ]
35
- },
36
- "resolvedCommands": [
37
- {
38
- "id": "command.repo.build",
39
- "kind": "command",
40
- "title": "Build the repository",
41
- "description": "Compiles all TypeScript sources.",
42
- "owner": "repo",
43
- "command": "npm run build",
44
- "purpose": "Confirm the project compiles.",
45
- "sideEffect": "read-only",
46
- "included": "required"
47
- },
48
- {
49
- "id": "command.repo.lint",
50
- "kind": "command",
51
- "title": "Lint the repository",
52
- "description": "Runs the linter.",
53
- "owner": "repo",
54
- "command": "npm run lint",
55
- "purpose": "Confirm style conformance.",
56
- "sideEffect": "read-only",
57
- "included": "optional"
58
- }
59
- ],
60
- "resolvedRules": [
61
- {
62
- "id": "rule.quality.no-dead-code",
63
- "kind": "rule",
64
- "title": "No dead code",
65
- "description": "Do not leave unreachable code behind.",
66
- "category": "quality",
67
- "instruction": "Remove unreachable code before finishing the stage.",
68
- "ruleRefs": [],
69
- "included": "required",
70
- "depth": 0
71
- },
72
- {
73
- "id": "rule.quality.prefer-tests",
74
- "kind": "rule",
75
- "title": "Prefer tests",
76
- "description": "Prefer covering new behavior with tests.",
77
- "category": "quality",
78
- "instruction": "Add or update tests for new behavior.",
79
- "ruleRefs": [
80
- "rule.quality.no-dead-code"
81
- ],
82
- "included": "optional",
83
- "depth": 1
84
- }
85
- ],
86
- "reportContract": {
87
- "id": "report.implementation-summary",
88
- "kind": "report-contract",
89
- "title": "Implementation summary report",
90
- "description": "Summarizes the implementation stage outcome.",
91
- "artifactKind": "implementation-summary",
92
- "purpose": "Give reviewers a concise implementation summary.",
93
- "requiredOutputCategory": "summary",
94
- "futureNestedField": "preserved"
95
- },
96
- "validationRequirements": [
97
- "Run the build.",
98
- "Run the test suite."
99
- ],
100
- "stopConditions": [
101
- "Stop if the build fails."
102
- ],
103
- "resolutionProvenance": [
104
- {
105
- "rootWorkflowId": "workflow.feature",
106
- "rootStageId": "stage.feature.implementation",
107
- "sourceEntryId": "stage.feature.implementation",
108
- "referenceField": "commandRefs",
109
- "referencedEntryId": "command.repo.build",
110
- "inclusionReason": "required command reference",
111
- "depth": 0
112
- },
113
- {
114
- "rootWorkflowId": "workflow.feature",
115
- "rootStageId": "stage.feature.implementation",
116
- "sourceEntryId": "stage.feature.implementation",
117
- "referenceField": "ruleRefs",
118
- "referencedEntryId": "rule.quality.no-dead-code",
119
- "inclusionReason": "required rule reference",
120
- "depth": 0
121
- }
122
- ],
123
- "budget": {
124
- "findings": [
125
- {
126
- "limitName": "maxCommands",
127
- "declaredLimit": 20,
128
- "used": 2,
129
- "available": 18,
130
- "overLimit": false,
131
- "amountExceeded": 0,
132
- "affectedEntryIds": []
133
- },
134
- {
135
- "limitName": "maxRuleDepth",
136
- "declaredLimit": null,
137
- "used": 1,
138
- "available": null,
139
- "overLimit": false,
140
- "amountExceeded": 0,
141
- "affectedEntryIds": []
142
- }
143
- ],
144
- "overLimit": false,
145
- "adequate": true,
146
- "totalCharacters": 3200,
147
- "perEntryCharacters": {
148
- "stage.feature.implementation": 1800,
149
- "command.repo.build": 200,
150
- "rule.quality.no-dead-code": 150
151
- }
152
- },
153
- "truncation": {
154
- "truncated": false,
155
- "records": [
156
- {
157
- "rootOptionalEntryId": "command.repo.lint",
158
- "affectedEntryIds": [
159
- "command.repo.lint"
160
- ],
161
- "limitingField": "maxCommands",
162
- "declaredLimit": 20,
163
- "usedBefore": 1,
164
- "attemptedAfter": 2,
165
- "reason": "included within budget"
166
- }
167
- ],
168
- "droppedOptionalCommandIds": [],
169
- "droppedOptionalRuleIds": [],
170
- "droppedOptionalDependencyIds": [],
171
- "warnings": []
172
- },
173
- "adequacy": {
174
- "status": "adequate",
175
- "reasons": [],
176
- "requiredContentComplete": true,
177
- "requiredBudgetSatisfied": true,
178
- "optionalContentDropped": false,
179
- "affectedEntryIds": []
180
- },
181
- "unresolvedReferences": [
182
- "command.repo.unresolved-example"
183
- ],
184
- "warnings": [],
185
- "futureMinorRootField": "preserved"
186
- }
@@ -1,31 +0,0 @@
1
- Artifact source: hand-built fixtures derived from the local my-dev-kit-orchestrator v1.2.3
2
- readiness-candidate run-integrity contract (not a byte-for-byte real-run capture; the
3
- orchestrator computes these as in-memory TypeScript results plus one real JSON file
4
- [artifact-state.json record shape], not one combined JSON artifact -- this fixture bundles
5
- them under one lab-owned envelope per Batch 3 section 14.1).
6
- Producer repository: Z:/Users/newuser/Projects/my-dev-kit-orchestrator
7
- Producer branch: fix/v1.2.3-run-integrity
8
- Producer candidate commit: 2cb82f09ed423be8defd8277f28608c8a17eae3e
9
- Producer contract files inspected: src/runIntegrityGate.ts, src/judgeIntegrity.ts,
10
- src/artifactLifecycle.ts, src/correctionRouter.ts, src/judgeParser.ts
11
- Bundled schema versions: RUN_INTEGRITY_GATE_SCHEMA_VERSION "1.0.0",
12
- JUDGE_INTEGRITY_SCHEMA_VERSION "1.0.0" (both reused for the envelope's own "schemaVersion").
13
- Nested implementationContext/testContext/primaryBlocker reuse the exact upstream
14
- ContextReadinessResult / ContextReadinessBlockerSummary shape already mirrored by Batch 1's
15
- orchestratorContextReadinessResultV1.ts -- validated through the existing
16
- validateOrchestratorContextReadinessResultV1() rather than a second reader.
17
-
18
- Fixtures in this directory:
19
- - ready-pass-final-pass.json: the "everything agrees" positive chain (section 29.1) --
20
- producer/readiness ready, prompt normal (implied by contextReady + no blockedStageNames),
21
- expected/actual judge PASS, no correction route, final-report eligible/present/PASS,
22
- lifecycle all complete.
23
- - refresh-required-need-context.json: the "correctly blocked" positive chain (section 29.2)
24
- -- readiness refresh-required, expected/actual judge NEED_CONTEXT, correction route active
25
- to the canonical recommended stage, final report ineligible/absent, implementation stage
26
- lifecycle forced to "blocked" by the gate.
27
-
28
- Copy policy: hand-authored fixtures; edit directly when the mirrored contract changes, and
29
- update this file's "Producer contract files inspected" list to match. These are bounded
30
- Batch 3 contract fixtures, not the complete Batch 4 frozen ecosystem regression fixture (no
31
- hash manifest, no byte-exact real-run provenance, no full negative matrix).
@@ -1,132 +0,0 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "runFolder": "Z:/fixture/project/.my-dev-kit-orchestrator/runs/run-fixture-001",
4
- "gate": {
5
- "schemaVersion": "1.0.0",
6
- "mode": "feature",
7
- "contextRequired": true,
8
- "applicableContextKinds": ["implementation", "test"],
9
- "implementationContext": {
10
- "schemaVersion": "1.0.0",
11
- "kind": "implementation",
12
- "role": "implementation",
13
- "decision": "ready",
14
- "classification": "ready",
15
- "stageId": "stage.feature.implementation",
16
- "packetPath": "artifacts/implementation-context-packet.txt",
17
- "reportPath": "reports/implementation-context-retrieval-report.txt",
18
- "issues": [],
19
- "warnings": [],
20
- "blockingIssueCodes": [],
21
- "affectedResponsibilityIds": [],
22
- "evaluatedFreshness": "fresh",
23
- "evaluatedAdequacy": "sufficient",
24
- "requiredEvidenceTruncated": "no",
25
- "readyWithAssumptions": false,
26
- "provenanceSummary": "resolved from populated packet/report pair",
27
- "indexIdentity": "Z:/fixture/project"
28
- },
29
- "testContext": {
30
- "schemaVersion": "1.0.0",
31
- "kind": "test",
32
- "role": "test-implementation",
33
- "decision": "ready",
34
- "classification": "ready",
35
- "stageId": "stage.feature.test-implementation",
36
- "packetPath": "artifacts/test-context-packet.txt",
37
- "reportPath": "reports/test-context-retrieval-report.txt",
38
- "issues": [],
39
- "warnings": [],
40
- "blockingIssueCodes": [],
41
- "affectedResponsibilityIds": [],
42
- "evaluatedFreshness": "fresh",
43
- "evaluatedAdequacy": "sufficient",
44
- "requiredEvidenceTruncated": "no",
45
- "readyWithAssumptions": false,
46
- "provenanceSummary": "resolved from populated packet/report pair",
47
- "indexIdentity": "Z:/fixture/project"
48
- },
49
- "contextReady": true,
50
- "readinessClassification": "ready",
51
- "blockedStageNames": [],
52
- "blockingCodes": [],
53
- "recommendedCorrectionStage": null,
54
- "expectedJudgeVerdict": "PASS",
55
- "warnings": []
56
- },
57
- "judgeIntegrity": {
58
- "schemaVersion": "1.0.0",
59
- "judgeArtifactPresent": true,
60
- "judgeVerdictParseStatus": "parsed",
61
- "authoredJudgeVerdict": "PASS",
62
- "expectedJudgeVerdict": "PASS",
63
- "judgeVerdictMatchesExpected": true,
64
- "judgeVerdictAccepted": true,
65
- "correctionRequired": false,
66
- "correctionBlocked": false,
67
- "acceptedCorrectionStage": null,
68
- "finalReportEligible": true,
69
- "blockingCodes": [],
70
- "acceptedCorrectionRoute": null
71
- },
72
- "finalReportEligibility": {
73
- "eligible": true,
74
- "contextReady": true,
75
- "priorArtifactsValid": true,
76
- "judgeIntegrity": {
77
- "schemaVersion": "1.0.0",
78
- "judgeArtifactPresent": true,
79
- "judgeVerdictParseStatus": "parsed",
80
- "authoredJudgeVerdict": "PASS",
81
- "expectedJudgeVerdict": "PASS",
82
- "judgeVerdictMatchesExpected": true,
83
- "judgeVerdictAccepted": true,
84
- "correctionRequired": false,
85
- "correctionBlocked": false,
86
- "acceptedCorrectionStage": null,
87
- "finalReportEligible": true,
88
- "blockingCodes": [],
89
- "acceptedCorrectionRoute": null
90
- },
91
- "blockingCodes": []
92
- },
93
- "finalArtifactPresent": true,
94
- "finalArtifactVerdict": "PASS",
95
- "lifecycle": [
96
- {
97
- "artifactFile": "artifacts/architecture-context.txt",
98
- "stageName": "architecture-context",
99
- "fileExists": true,
100
- "manualRecord": null,
101
- "resolvedState": "complete"
102
- },
103
- {
104
- "artifactFile": "artifacts/implementation.txt",
105
- "stageName": "implementation",
106
- "fileExists": true,
107
- "manualRecord": null,
108
- "resolvedState": "complete"
109
- },
110
- {
111
- "artifactFile": "artifacts/test-implementation.txt",
112
- "stageName": "test-implementation",
113
- "fileExists": true,
114
- "manualRecord": null,
115
- "resolvedState": "complete"
116
- },
117
- {
118
- "artifactFile": "artifacts/verification.txt",
119
- "stageName": "verification",
120
- "fileExists": true,
121
- "manualRecord": { "state": "complete", "updatedAt": "2026-07-31T00:00:00.000Z", "source": "cli" },
122
- "resolvedState": "complete"
123
- },
124
- {
125
- "artifactFile": "artifacts/final-report.txt",
126
- "stageName": "final-report",
127
- "fileExists": true,
128
- "manualRecord": null,
129
- "resolvedState": "complete"
130
- }
131
- ]
132
- }
@@ -1,146 +0,0 @@
1
- {
2
- "schemaVersion": "1.0.0",
3
- "runFolder": "Z:/fixture/project/.my-dev-kit-orchestrator/runs/run-fixture-002",
4
- "gate": {
5
- "schemaVersion": "1.0.0",
6
- "mode": "feature",
7
- "contextRequired": true,
8
- "applicableContextKinds": ["implementation", "test"],
9
- "implementationContext": {
10
- "schemaVersion": "1.0.0",
11
- "kind": "implementation",
12
- "role": "implementation",
13
- "decision": "refresh-required",
14
- "classification": "required-evidence-truncated",
15
- "stageId": "stage.feature.implementation",
16
- "packetPath": "artifacts/implementation-context-packet.txt",
17
- "reportPath": "reports/implementation-context-retrieval-report.txt",
18
- "issues": [],
19
- "warnings": [],
20
- "blockingIssueCodes": ["CONTEXT_REQUIRED_EVIDENCE_TRUNCATED"],
21
- "primaryIssue": {
22
- "code": "CONTEXT_REQUIRED_EVIDENCE_TRUNCATED",
23
- "severity": "error",
24
- "message": "Required implementation evidence was truncated.",
25
- "priority": 1,
26
- "correctiveAction": "Refresh implementation context.",
27
- "evidenceTarget": "implementation-context-packet",
28
- "stageId": "stage.feature.implementation",
29
- "contextKind": "implementation"
30
- },
31
- "blockerSummary": {
32
- "contextKind": "implementation",
33
- "primaryCode": "CONTEXT_REQUIRED_EVIDENCE_TRUNCATED",
34
- "primaryReason": "Required implementation evidence was truncated.",
35
- "correctiveAction": "Refresh implementation context.",
36
- "evidenceTarget": "implementation-context-packet",
37
- "blockingIssueCodes": ["CONTEXT_REQUIRED_EVIDENCE_TRUNCATED"],
38
- "supportingIssueCodes": []
39
- },
40
- "affectedResponsibilityIds": [],
41
- "evaluatedFreshness": "fresh",
42
- "evaluatedAdequacy": "insufficient",
43
- "requiredEvidenceTruncated": "yes",
44
- "readyWithAssumptions": false,
45
- "provenanceSummary": "resolved from populated packet/report pair",
46
- "indexIdentity": "Z:/fixture/project"
47
- },
48
- "contextReady": false,
49
- "readinessClassification": "refresh-required",
50
- "blockedStageNames": ["implementation"],
51
- "blockingCodes": ["CONTEXT_REQUIRED_EVIDENCE_TRUNCATED"],
52
- "primaryBlocker": {
53
- "contextKind": "implementation",
54
- "primaryCode": "CONTEXT_REQUIRED_EVIDENCE_TRUNCATED",
55
- "primaryReason": "Required implementation evidence was truncated.",
56
- "correctiveAction": "Refresh implementation context.",
57
- "evidenceTarget": "implementation-context-packet",
58
- "blockingIssueCodes": ["CONTEXT_REQUIRED_EVIDENCE_TRUNCATED"],
59
- "supportingIssueCodes": []
60
- },
61
- "recommendedCorrectionStage": "implementation",
62
- "expectedJudgeVerdict": "NEED_CONTEXT",
63
- "warnings": []
64
- },
65
- "judgeIntegrity": {
66
- "schemaVersion": "1.0.0",
67
- "judgeArtifactPresent": true,
68
- "judgeVerdictParseStatus": "parsed",
69
- "authoredJudgeVerdict": "NEED_CONTEXT",
70
- "expectedJudgeVerdict": "NEED_CONTEXT",
71
- "judgeVerdictMatchesExpected": true,
72
- "judgeVerdictAccepted": true,
73
- "correctionRequired": true,
74
- "correctionBlocked": false,
75
- "acceptedCorrectionStage": "implementation",
76
- "finalReportEligible": false,
77
- "blockingCodes": [],
78
- "acceptedCorrectionRoute": {
79
- "verdict": "NEED_CONTEXT",
80
- "recommendedStage": "implementation",
81
- "routedStage": "implementation",
82
- "routeStatus": "correction_required",
83
- "warnings": [],
84
- "errors": [],
85
- "isBlocked": false,
86
- "strictFail": false
87
- }
88
- },
89
- "finalReportEligibility": {
90
- "eligible": false,
91
- "contextReady": false,
92
- "priorArtifactsValid": false,
93
- "judgeIntegrity": {
94
- "schemaVersion": "1.0.0",
95
- "judgeArtifactPresent": true,
96
- "judgeVerdictParseStatus": "parsed",
97
- "authoredJudgeVerdict": "NEED_CONTEXT",
98
- "expectedJudgeVerdict": "NEED_CONTEXT",
99
- "judgeVerdictMatchesExpected": true,
100
- "judgeVerdictAccepted": true,
101
- "correctionRequired": true,
102
- "correctionBlocked": false,
103
- "acceptedCorrectionStage": "implementation",
104
- "finalReportEligible": false,
105
- "blockingCodes": [],
106
- "acceptedCorrectionRoute": {
107
- "verdict": "NEED_CONTEXT",
108
- "recommendedStage": "implementation",
109
- "routedStage": "implementation",
110
- "routeStatus": "correction_required",
111
- "warnings": [],
112
- "errors": [],
113
- "isBlocked": false,
114
- "strictFail": false
115
- }
116
- },
117
- "blockingCodes": ["FINAL_REPORT_PRIOR_ARTIFACTS_INCOMPLETE"],
118
- "primaryReason": "A required prior native artifact is not yet complete."
119
- },
120
- "finalArtifactPresent": false,
121
- "finalArtifactVerdict": null,
122
- "lifecycle": [
123
- {
124
- "artifactFile": "artifacts/architecture-context.txt",
125
- "stageName": "architecture-context",
126
- "fileExists": true,
127
- "manualRecord": null,
128
- "resolvedState": "complete"
129
- },
130
- {
131
- "artifactFile": "artifacts/implementation.txt",
132
- "stageName": "implementation",
133
- "fileExists": true,
134
- "manualRecord": null,
135
- "resolvedState": "blocked",
136
- "blockingReason": "Required implementation evidence was truncated."
137
- },
138
- {
139
- "artifactFile": "artifacts/final-report.txt",
140
- "stageName": "final-report",
141
- "fileExists": false,
142
- "manualRecord": null,
143
- "resolvedState": "missing"
144
- }
145
- ]
146
- }