perttool 0.6.0 → 0.7.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 (240) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/README.md +97 -32
  3. package/dist/application/advance-history.d.ts +2 -0
  4. package/dist/application/advance-history.d.ts.map +1 -1
  5. package/dist/application/advance-history.js +21 -12
  6. package/dist/application/advance-history.js.map +1 -1
  7. package/dist/application/contract7-assurance.d.ts +57 -0
  8. package/dist/application/contract7-assurance.d.ts.map +1 -0
  9. package/dist/application/contract7-assurance.js +248 -0
  10. package/dist/application/contract7-assurance.js.map +1 -0
  11. package/dist/application/contract7-mermaid.d.ts +9 -0
  12. package/dist/application/contract7-mermaid.d.ts.map +1 -0
  13. package/dist/application/contract7-mermaid.js +73 -0
  14. package/dist/application/contract7-mermaid.js.map +1 -0
  15. package/dist/application/contract7-mutation.d.ts +21 -0
  16. package/dist/application/contract7-mutation.d.ts.map +1 -0
  17. package/dist/application/contract7-mutation.js +181 -0
  18. package/dist/application/contract7-mutation.js.map +1 -0
  19. package/dist/application/contract7-project.d.ts +10 -0
  20. package/dist/application/contract7-project.d.ts.map +1 -0
  21. package/dist/application/contract7-project.js +29 -0
  22. package/dist/application/contract7-project.js.map +1 -0
  23. package/dist/application/contract7-projection.d.ts +9 -0
  24. package/dist/application/contract7-projection.d.ts.map +1 -0
  25. package/dist/application/contract7-projection.js +100 -0
  26. package/dist/application/contract7-projection.js.map +1 -0
  27. package/dist/application/contract7-source.d.ts +24 -0
  28. package/dist/application/contract7-source.d.ts.map +1 -0
  29. package/dist/application/contract7-source.js +54 -0
  30. package/dist/application/contract7-source.js.map +1 -0
  31. package/dist/application/contract7-unit-migration.d.ts +13 -0
  32. package/dist/application/contract7-unit-migration.d.ts.map +1 -0
  33. package/dist/application/contract7-unit-migration.js +13 -0
  34. package/dist/application/contract7-unit-migration.js.map +1 -0
  35. package/dist/application/init.d.ts +1 -1
  36. package/dist/application/init.js +3 -3
  37. package/dist/application/mutate.d.ts +5 -1
  38. package/dist/application/mutate.d.ts.map +1 -1
  39. package/dist/application/mutate.js +2 -2
  40. package/dist/application/mutate.js.map +1 -1
  41. package/dist/application/target-actuals-analysis.d.ts +5 -4
  42. package/dist/application/target-actuals-analysis.d.ts.map +1 -1
  43. package/dist/application/target-actuals-analysis.js +18 -11
  44. package/dist/application/target-actuals-analysis.js.map +1 -1
  45. package/dist/application/target-actuals-mutation.d.ts +5 -3
  46. package/dist/application/target-actuals-mutation.d.ts.map +1 -1
  47. package/dist/application/target-actuals-mutation.js +16 -8
  48. package/dist/application/target-actuals-mutation.js.map +1 -1
  49. package/dist/application/target-assurance-advance-history.d.ts +19 -0
  50. package/dist/application/target-assurance-advance-history.d.ts.map +1 -0
  51. package/dist/application/target-assurance-advance-history.js +61 -0
  52. package/dist/application/target-assurance-advance-history.js.map +1 -0
  53. package/dist/application/target-assurance-analysis.d.ts +34 -0
  54. package/dist/application/target-assurance-analysis.d.ts.map +1 -0
  55. package/dist/application/target-assurance-analysis.js +103 -0
  56. package/dist/application/target-assurance-analysis.js.map +1 -0
  57. package/dist/application/target-assurance-inspection.d.ts +38 -0
  58. package/dist/application/target-assurance-inspection.d.ts.map +1 -0
  59. package/dist/application/target-assurance-inspection.js +356 -0
  60. package/dist/application/target-assurance-inspection.js.map +1 -0
  61. package/dist/application/target-assurance-write.d.ts +22 -0
  62. package/dist/application/target-assurance-write.d.ts.map +1 -0
  63. package/dist/application/target-assurance-write.js +73 -0
  64. package/dist/application/target-assurance-write.js.map +1 -0
  65. package/dist/application/target-governance-init.d.ts +3 -3
  66. package/dist/application/target-governance-init.d.ts.map +1 -1
  67. package/dist/application/target-governance-init.js +14 -10
  68. package/dist/application/target-governance-init.js.map +1 -1
  69. package/dist/application/target-governance-project.d.ts +6 -4
  70. package/dist/application/target-governance-project.d.ts.map +1 -1
  71. package/dist/application/target-governance-project.js +18 -4
  72. package/dist/application/target-governance-project.js.map +1 -1
  73. package/dist/application/target-mutate.d.ts +7 -1
  74. package/dist/application/target-mutate.d.ts.map +1 -1
  75. package/dist/application/target-mutate.js +50 -3
  76. package/dist/application/target-mutate.js.map +1 -1
  77. package/dist/application/target-project-history.d.ts +4 -4
  78. package/dist/application/target-project-history.d.ts.map +1 -1
  79. package/dist/application/target-project-history.js +1 -1
  80. package/dist/application/target-project-history.js.map +1 -1
  81. package/dist/application/target-unit-migration-candidate.d.ts +29 -6
  82. package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
  83. package/dist/application/target-unit-migration-candidate.js +204 -3
  84. package/dist/application/target-unit-migration-candidate.js.map +1 -1
  85. package/dist/application/target-unit-migration-result.d.ts +2 -2
  86. package/dist/application/target-unit-migration-result.d.ts.map +1 -1
  87. package/dist/application/target-unit-migration-result.js +4 -2
  88. package/dist/application/target-unit-migration-result.js.map +1 -1
  89. package/dist/application/target-velocity-observation.d.ts +1 -1
  90. package/dist/application/target-velocity-observation.js +1 -1
  91. package/dist/assurance/advance.d.ts +45 -0
  92. package/dist/assurance/advance.d.ts.map +1 -0
  93. package/dist/assurance/advance.js +507 -0
  94. package/dist/assurance/advance.js.map +1 -0
  95. package/dist/assurance/authority.d.ts +86 -0
  96. package/dist/assurance/authority.d.ts.map +1 -0
  97. package/dist/assurance/authority.js +269 -0
  98. package/dist/assurance/authority.js.map +1 -0
  99. package/dist/assurance/canonical.d.ts +13 -0
  100. package/dist/assurance/canonical.d.ts.map +1 -0
  101. package/dist/assurance/canonical.js +320 -0
  102. package/dist/assurance/canonical.js.map +1 -0
  103. package/dist/assurance/compatibility.d.ts +62 -0
  104. package/dist/assurance/compatibility.d.ts.map +1 -0
  105. package/dist/assurance/compatibility.js +163 -0
  106. package/dist/assurance/compatibility.js.map +1 -0
  107. package/dist/assurance/evaluate.d.ts +4 -0
  108. package/dist/assurance/evaluate.d.ts.map +1 -0
  109. package/dist/assurance/evaluate.js +631 -0
  110. package/dist/assurance/evaluate.js.map +1 -0
  111. package/dist/assurance/governance.d.ts +42 -0
  112. package/dist/assurance/governance.d.ts.map +1 -0
  113. package/dist/assurance/governance.js +95 -0
  114. package/dist/assurance/governance.js.map +1 -0
  115. package/dist/assurance/mermaid.d.ts +40 -0
  116. package/dist/assurance/mermaid.d.ts.map +1 -0
  117. package/dist/assurance/mermaid.js +401 -0
  118. package/dist/assurance/mermaid.js.map +1 -0
  119. package/dist/assurance/mutation.d.ts +96 -0
  120. package/dist/assurance/mutation.d.ts.map +1 -0
  121. package/dist/assurance/mutation.js +757 -0
  122. package/dist/assurance/mutation.js.map +1 -0
  123. package/dist/assurance/source.d.ts +20 -0
  124. package/dist/assurance/source.d.ts.map +1 -0
  125. package/dist/assurance/source.js +313 -0
  126. package/dist/assurance/source.js.map +1 -0
  127. package/dist/assurance/types.d.ts +166 -0
  128. package/dist/assurance/types.d.ts.map +1 -0
  129. package/dist/assurance/types.js +3 -0
  130. package/dist/assurance/types.js.map +1 -0
  131. package/dist/cli.js +356 -60
  132. package/dist/cli.js.map +1 -1
  133. package/dist/command/assurance-discovery.d.ts +17 -0
  134. package/dist/command/assurance-discovery.d.ts.map +1 -0
  135. package/dist/command/assurance-discovery.js +287 -0
  136. package/dist/command/assurance-discovery.js.map +1 -0
  137. package/dist/command/assurance-usage.d.ts +20 -0
  138. package/dist/command/assurance-usage.d.ts.map +1 -0
  139. package/dist/command/assurance-usage.js +66 -0
  140. package/dist/command/assurance-usage.js.map +1 -0
  141. package/dist/conversion/mermaid.d.ts +2 -1
  142. package/dist/conversion/mermaid.d.ts.map +1 -1
  143. package/dist/conversion/mermaid.js +2 -2
  144. package/dist/conversion/mermaid.js.map +1 -1
  145. package/dist/formatter/source-formatter.d.ts +1 -1
  146. package/dist/formatter/source-formatter.d.ts.map +1 -1
  147. package/dist/formatter/source-formatter.js +56 -4
  148. package/dist/formatter/source-formatter.js.map +1 -1
  149. package/dist/formatter/target-source-formatter.d.ts +2 -1
  150. package/dist/formatter/target-source-formatter.d.ts.map +1 -1
  151. package/dist/formatter/target-source-formatter.js +18 -2
  152. package/dist/formatter/target-source-formatter.js.map +1 -1
  153. package/dist/help/assurance-guide.d.ts +10 -0
  154. package/dist/help/assurance-guide.d.ts.map +1 -0
  155. package/dist/help/assurance-guide.js +115 -0
  156. package/dist/help/assurance-guide.js.map +1 -0
  157. package/dist/help/guide.d.ts +1 -1
  158. package/dist/help/guide.d.ts.map +1 -1
  159. package/dist/history/advance-history.d.ts +4 -2
  160. package/dist/history/advance-history.d.ts.map +1 -1
  161. package/dist/history/advance-history.js +47 -1
  162. package/dist/history/advance-history.js.map +1 -1
  163. package/dist/history/project-history.d.ts +14 -5
  164. package/dist/history/project-history.d.ts.map +1 -1
  165. package/dist/history/project-history.js +25 -18
  166. package/dist/history/project-history.js.map +1 -1
  167. package/dist/index.d.ts +31 -27
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +12 -15
  170. package/dist/index.js.map +1 -1
  171. package/dist/io/target-safe-write.d.ts +4 -1
  172. package/dist/io/target-safe-write.d.ts.map +1 -1
  173. package/dist/io/target-safe-write.js +19 -1
  174. package/dist/io/target-safe-write.js.map +1 -1
  175. package/dist/migration/grammar-boundary.d.ts +1 -1
  176. package/dist/migration/grammar-boundary.d.ts.map +1 -1
  177. package/dist/migration/grammar-boundary.js +7 -3
  178. package/dist/migration/grammar-boundary.js.map +1 -1
  179. package/dist/model/declaration-fields.d.ts +12 -0
  180. package/dist/model/declaration-fields.d.ts.map +1 -1
  181. package/dist/model/declaration-fields.js +45 -0
  182. package/dist/model/declaration-fields.js.map +1 -1
  183. package/dist/model/syntax.d.ts +17 -1
  184. package/dist/model/syntax.d.ts.map +1 -1
  185. package/dist/model/syntax.js.map +1 -1
  186. package/dist/mutation/actuals.js +1 -1
  187. package/dist/mutation/actuals.js.map +1 -1
  188. package/dist/mutation/advance.d.ts +18 -1
  189. package/dist/mutation/advance.d.ts.map +1 -1
  190. package/dist/mutation/advance.js +20 -0
  191. package/dist/mutation/advance.js.map +1 -1
  192. package/dist/mutation/project.d.ts +2 -1
  193. package/dist/mutation/project.d.ts.map +1 -1
  194. package/dist/mutation/project.js +21 -0
  195. package/dist/mutation/project.js.map +1 -1
  196. package/dist/parser/document-parser.d.ts +7 -0
  197. package/dist/parser/document-parser.d.ts.map +1 -1
  198. package/dist/parser/document-parser.js +227 -12
  199. package/dist/parser/document-parser.js.map +1 -1
  200. package/dist/recommendation/override-types.d.ts +2 -2
  201. package/dist/recommendation/override.d.ts +2 -2
  202. package/dist/recommendation/override.d.ts.map +1 -1
  203. package/dist/recommendation/override.js +13 -5
  204. package/dist/recommendation/override.js.map +1 -1
  205. package/dist/schema/registry.d.ts +1 -1
  206. package/dist/schema/registry.d.ts.map +1 -1
  207. package/dist/schema/registry.js +8 -7
  208. package/dist/schema/registry.js.map +1 -1
  209. package/dist/semantic/target-validator.d.ts +12 -1
  210. package/dist/semantic/target-validator.d.ts.map +1 -1
  211. package/dist/semantic/target-validator.js +47 -2
  212. package/dist/semantic/target-validator.js.map +1 -1
  213. package/dist/semantic/validator.d.ts +1 -0
  214. package/dist/semantic/validator.d.ts.map +1 -1
  215. package/dist/semantic/validator.js +304 -0
  216. package/dist/semantic/validator.js.map +1 -1
  217. package/dist/version.d.ts +1 -1
  218. package/dist/version.js +1 -1
  219. package/package.json +1 -1
  220. package/schemas/{Perttool.AdvanceResult.v1.schema.json → Perttool.AdvanceResult.v2.schema.json} +85 -5
  221. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
  222. package/schemas/{Perttool.AnalysisResult.v4.schema.json → Perttool.AnalysisResult.v5.schema.json} +10 -6
  223. package/schemas/{Perttool.CheckResult.v3.schema.json → Perttool.CheckResult.v4.schema.json} +14 -6
  224. package/schemas/Perttool.CliError.v1.schema.json +1 -1
  225. package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
  226. package/schemas/Perttool.Common.v1.schema.json +300 -4
  227. package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
  228. package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
  229. package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
  230. package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
  231. package/schemas/Perttool.InitResult.v1.schema.json +1 -1
  232. package/schemas/{Perttool.MutationResult.v3.schema.json → Perttool.MutationResult.v4.schema.json} +16 -5
  233. package/schemas/{Perttool.NextResult.v5.schema.json → Perttool.NextResult.v6.schema.json} +53 -8
  234. package/schemas/Perttool.OverrideDecision.v1.schema.json +1 -1
  235. package/schemas/Perttool.PlanAssuranceResult.v1.schema.json +77 -0
  236. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
  237. package/schemas/{Perttool.ProjectResult.v3.schema.json → Perttool.ProjectResult.v4.schema.json} +15 -7
  238. package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
  239. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +5 -3
  240. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/mako10k/perttool/schemas/Perttool.AdvanceResult.v1.schema.json",
4
- "title": "Perttool.AdvanceResult.v1",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.AdvanceResult.v2.schema.json",
4
+ "title": "Perttool.AdvanceResult.v2",
5
5
  "type": "object",
6
6
  "required": [
7
7
  "schema_version",
@@ -24,14 +24,15 @@
24
24
  "governance",
25
25
  "lifecycle",
26
26
  "advance",
27
- "history_guard"
27
+ "history_guard",
28
+ "assurance_guard"
28
29
  ],
29
30
  "properties": {
30
31
  "schema_version": {
31
- "const": "Perttool.AdvanceResult.v1"
32
+ "const": "Perttool.AdvanceResult.v2"
32
33
  },
33
34
  "cli_contract_version": {
34
- "const": 6
35
+ "const": 7
35
36
  },
36
37
  "tool_version": {
37
38
  "type": "string"
@@ -103,6 +104,8 @@
103
104
  "removed_gate_ids",
104
105
  "removed_milestone_ids",
105
106
  "removed_work_event_ids",
107
+ "removed_assurance_record_ids",
108
+ "updated_assurance_receipt_ids",
106
109
  "frontier_before",
107
110
  "frontier_after",
108
111
  "ready_before",
@@ -121,6 +124,12 @@
121
124
  "removed_work_event_ids": {
122
125
  "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
123
126
  },
127
+ "removed_assurance_record_ids": {
128
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
129
+ },
130
+ "updated_assurance_receipt_ids": {
131
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
132
+ },
124
133
  "frontier_before": {
125
134
  "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
126
135
  },
@@ -248,6 +257,77 @@
248
257
  "type": "null"
249
258
  }
250
259
  ]
260
+ },
261
+ "assurance_guard": {
262
+ "oneOf": [
263
+ {
264
+ "type": "object",
265
+ "required": [
266
+ "model_version",
267
+ "status",
268
+ "cause",
269
+ "crossing_producer_task_ids",
270
+ "created_receipt_ids",
271
+ "updated_receipt_ids",
272
+ "removed_receipt_ids",
273
+ "retained_basis_checks"
274
+ ],
275
+ "properties": {
276
+ "model_version": { "const": 1 },
277
+ "status": {
278
+ "enum": ["not_applicable", "passed", "blocked"]
279
+ },
280
+ "cause": {
281
+ "enum": [
282
+ "not_enabled",
283
+ "no_change",
284
+ "basis_preserved",
285
+ "crossing_commitment_unavailable",
286
+ "changed_outcome_not_accepted",
287
+ "retained_receipt_unavailable",
288
+ "retained_basis_changed"
289
+ ]
290
+ },
291
+ "crossing_producer_task_ids": {
292
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
293
+ },
294
+ "created_receipt_ids": {
295
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
296
+ },
297
+ "updated_receipt_ids": {
298
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
299
+ },
300
+ "removed_receipt_ids": {
301
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray"
302
+ },
303
+ "retained_basis_checks": {
304
+ "type": "array",
305
+ "items": {
306
+ "type": "object",
307
+ "required": [
308
+ "task_id",
309
+ "before_basis_hash",
310
+ "after_basis_hash",
311
+ "equal"
312
+ ],
313
+ "properties": {
314
+ "task_id": { "type": "string" },
315
+ "before_basis_hash": {
316
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
317
+ },
318
+ "after_basis_hash": {
319
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest"
320
+ },
321
+ "equal": { "type": "boolean" }
322
+ },
323
+ "additionalProperties": false
324
+ }
325
+ }
326
+ },
327
+ "additionalProperties": false
328
+ },
329
+ { "type": "null" }
330
+ ]
251
331
  }
252
332
  },
253
333
  "additionalProperties": false
@@ -451,7 +451,7 @@
451
451
  "const": "Perttool.AgentGuidanceResult.v1"
452
452
  },
453
453
  "cli_contract_version": {
454
- "const": 6
454
+ "const": 7
455
455
  },
456
456
  "guidance_interface_version": {
457
457
  "const": 1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/mako10k/perttool/schemas/Perttool.AnalysisResult.v4.schema.json",
4
- "title": "Perttool.AnalysisResult.v4",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.AnalysisResult.v5.schema.json",
4
+ "title": "Perttool.AnalysisResult.v5",
5
5
  "$defs": {
6
6
  "taskStatus": {
7
7
  "enum": [
@@ -657,14 +657,15 @@
657
657
  "precision",
658
658
  "precedence",
659
659
  "resource",
660
- "temporal"
660
+ "temporal",
661
+ "assurance"
661
662
  ],
662
663
  "properties": {
663
664
  "schema_version": {
664
- "const": "Perttool.AnalysisResult.v4"
665
+ "const": "Perttool.AnalysisResult.v5"
665
666
  },
666
667
  "cli_contract_version": {
667
- "const": 6
668
+ "const": 7
668
669
  },
669
670
  "tool_version": {
670
671
  "type": "string"
@@ -696,7 +697,7 @@
696
697
  "null"
697
698
  ],
698
699
  "minimum": 1,
699
- "maximum": 5
700
+ "maximum": 6
700
701
  },
701
702
  "task_actuals": {
702
703
  "type": "array",
@@ -784,6 +785,9 @@
784
785
  "type": "null"
785
786
  }
786
787
  ]
788
+ },
789
+ "assurance": {
790
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullablePlanAssuranceProjection"
787
791
  }
788
792
  },
789
793
  "additionalProperties": false
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/mako10k/perttool/schemas/Perttool.CheckResult.v3.schema.json",
4
- "title": "Perttool.CheckResult.v3",
3
+ "$id": "https://github.com/mako10k/perttool/schemas/Perttool.CheckResult.v4.schema.json",
4
+ "title": "Perttool.CheckResult.v4",
5
5
  "type": "object",
6
6
  "required": [
7
7
  "schema_version",
@@ -17,14 +17,16 @@
17
17
  "grammar_version",
18
18
  "summary",
19
19
  "temporal_inputs",
20
- "actuals_inputs"
20
+ "actuals_inputs",
21
+ "assurance",
22
+ "assurance_state_counts"
21
23
  ],
22
24
  "properties": {
23
25
  "schema_version": {
24
- "const": "Perttool.CheckResult.v3"
26
+ "const": "Perttool.CheckResult.v4"
25
27
  },
26
28
  "cli_contract_version": {
27
- "const": 6
29
+ "const": 7
28
30
  },
29
31
  "tool_version": {
30
32
  "type": "string"
@@ -56,7 +58,7 @@
56
58
  "null"
57
59
  ],
58
60
  "minimum": 1,
59
- "maximum": 5
61
+ "maximum": 6
60
62
  },
61
63
  "summary": {
62
64
  "type": "object",
@@ -197,6 +199,12 @@
197
199
  }
198
200
  },
199
201
  "additionalProperties": false
202
+ },
203
+ "assurance": {
204
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/nullablePlanAssuranceProjection"
205
+ },
206
+ "assurance_state_counts": {
207
+ "$ref": "Perttool.Common.v1.schema.json#/$defs/planAssuranceStateCounts"
200
208
  }
201
209
  },
202
210
  "additionalProperties": false
@@ -16,7 +16,7 @@
16
16
  "const": "Perttool.CliError.v1"
17
17
  },
18
18
  "cli_contract_version": {
19
- "const": 6
19
+ "const": 7
20
20
  },
21
21
  "tool_version": {
22
22
  "type": "string"
@@ -19,7 +19,7 @@
19
19
  "const": "Perttool.CommandHelpResult.v1"
20
20
  },
21
21
  "cli_contract_version": {
22
- "const": 6
22
+ "const": 7
23
23
  },
24
24
  "tool_version": {
25
25
  "type": "string"
@@ -90,7 +90,7 @@
90
90
  ],
91
91
  "properties": {
92
92
  "cli_contract_version": {
93
- "const": 6
93
+ "const": 7
94
94
  },
95
95
  "path": {
96
96
  "type": "array",
@@ -1689,6 +1689,301 @@
1689
1689
  }
1690
1690
  ]
1691
1691
  },
1692
+ "planAssuranceCause": {
1693
+ "type": "object",
1694
+ "required": [
1695
+ "kind",
1696
+ "direct",
1697
+ "root_task_id",
1698
+ "affected_task_id",
1699
+ "path_task_ids"
1700
+ ],
1701
+ "properties": {
1702
+ "kind": {
1703
+ "enum": [
1704
+ "unknown_model",
1705
+ "task_contract_changed",
1706
+ "planning_relation_changed",
1707
+ "predecessor_commitment_changed",
1708
+ "predecessor_unavailable",
1709
+ "frontier_commitment_changed",
1710
+ "accepted_seal_inconsistent",
1711
+ "outcome_missing",
1712
+ "outcome_basis_mismatch",
1713
+ "outcome_invalid",
1714
+ "changed_outcome"
1715
+ ]
1716
+ },
1717
+ "direct": { "type": "boolean" },
1718
+ "root_task_id": { "type": "string" },
1719
+ "affected_task_id": { "type": "string" },
1720
+ "path_task_ids": { "$ref": "#/$defs/stringArray" }
1721
+ },
1722
+ "additionalProperties": false
1723
+ },
1724
+ "acceptedPlanningInput": {
1725
+ "type": "object",
1726
+ "required": [
1727
+ "predecessor_task_id",
1728
+ "relation_mode",
1729
+ "assurance_hash"
1730
+ ],
1731
+ "properties": {
1732
+ "predecessor_task_id": { "type": "string" },
1733
+ "relation_mode": {
1734
+ "enum": ["both", "planning_only"]
1735
+ },
1736
+ "assurance_hash": { "$ref": "#/$defs/digest" }
1737
+ },
1738
+ "additionalProperties": false
1739
+ },
1740
+ "planAssuranceTaskResult": {
1741
+ "type": "object",
1742
+ "required": [
1743
+ "task_id",
1744
+ "status",
1745
+ "outcome_status",
1746
+ "contract_hash",
1747
+ "computed_basis_hash",
1748
+ "accepted_basis_hash",
1749
+ "computed_inputs",
1750
+ "exported_assurance_hash",
1751
+ "direct_causes",
1752
+ "inherited_causes"
1753
+ ],
1754
+ "properties": {
1755
+ "task_id": { "type": "string" },
1756
+ "status": {
1757
+ "enum": [
1758
+ "not_applicable",
1759
+ "unsealed",
1760
+ "conditional",
1761
+ "verified",
1762
+ "review_required",
1763
+ "unavailable"
1764
+ ]
1765
+ },
1766
+ "outcome_status": {
1767
+ "enum": ["unfinished", "conformant", "changed", "unavailable"]
1768
+ },
1769
+ "contract_hash": { "$ref": "#/$defs/nullableDigest" },
1770
+ "computed_basis_hash": { "$ref": "#/$defs/nullableDigest" },
1771
+ "accepted_basis_hash": { "$ref": "#/$defs/nullableDigest" },
1772
+ "computed_inputs": {
1773
+ "type": "array",
1774
+ "items": { "$ref": "#/$defs/acceptedPlanningInput" }
1775
+ },
1776
+ "exported_assurance_hash": { "$ref": "#/$defs/nullableDigest" },
1777
+ "direct_causes": {
1778
+ "type": "array",
1779
+ "items": { "$ref": "#/$defs/planAssuranceCause" }
1780
+ },
1781
+ "inherited_causes": {
1782
+ "type": "array",
1783
+ "items": { "$ref": "#/$defs/planAssuranceCause" }
1784
+ }
1785
+ },
1786
+ "additionalProperties": false
1787
+ },
1788
+ "planAssuranceRequiredAction": {
1789
+ "type": "object",
1790
+ "required": ["kind", "root_task_ids", "affected_task_ids"],
1791
+ "properties": {
1792
+ "kind": {
1793
+ "enum": [
1794
+ "initial_seal",
1795
+ "replan_and_reseal",
1796
+ "restore_assurance_evidence"
1797
+ ]
1798
+ },
1799
+ "root_task_ids": { "$ref": "#/$defs/stringArray" },
1800
+ "affected_task_ids": { "$ref": "#/$defs/stringArray" }
1801
+ },
1802
+ "additionalProperties": false
1803
+ },
1804
+ "planAssuranceProjection": {
1805
+ "type": "object",
1806
+ "required": [
1807
+ "model_version",
1808
+ "hash_model_version",
1809
+ "coverage",
1810
+ "task_results",
1811
+ "direct_mismatch_task_ids",
1812
+ "inherited_mismatch_task_ids",
1813
+ "replan_required_task_ids",
1814
+ "active_attention_required_task_ids",
1815
+ "required_actions"
1816
+ ],
1817
+ "properties": {
1818
+ "model_version": { "type": ["integer", "null"] },
1819
+ "hash_model_version": { "type": ["integer", "null"] },
1820
+ "coverage": {
1821
+ "enum": ["not_enabled", "unsealed", "partial", "complete"]
1822
+ },
1823
+ "task_results": {
1824
+ "type": "array",
1825
+ "items": { "$ref": "#/$defs/planAssuranceTaskResult" }
1826
+ },
1827
+ "direct_mismatch_task_ids": { "$ref": "#/$defs/stringArray" },
1828
+ "inherited_mismatch_task_ids": { "$ref": "#/$defs/stringArray" },
1829
+ "replan_required_task_ids": { "$ref": "#/$defs/stringArray" },
1830
+ "active_attention_required_task_ids": { "$ref": "#/$defs/stringArray" },
1831
+ "required_actions": {
1832
+ "type": "array",
1833
+ "items": { "$ref": "#/$defs/planAssuranceRequiredAction" }
1834
+ }
1835
+ },
1836
+ "additionalProperties": false
1837
+ },
1838
+ "nullablePlanAssuranceProjection": {
1839
+ "oneOf": [
1840
+ { "$ref": "#/$defs/planAssuranceProjection" },
1841
+ { "type": "null" }
1842
+ ]
1843
+ },
1844
+ "planAssuranceStateCounts": {
1845
+ "type": "object",
1846
+ "required": ["task", "outcome"],
1847
+ "properties": {
1848
+ "task": {
1849
+ "type": "object",
1850
+ "required": [
1851
+ "not_applicable",
1852
+ "unsealed",
1853
+ "conditional",
1854
+ "verified",
1855
+ "review_required",
1856
+ "unavailable"
1857
+ ],
1858
+ "properties": {
1859
+ "not_applicable": { "type": "integer", "minimum": 0 },
1860
+ "unsealed": { "type": "integer", "minimum": 0 },
1861
+ "conditional": { "type": "integer", "minimum": 0 },
1862
+ "verified": { "type": "integer", "minimum": 0 },
1863
+ "review_required": { "type": "integer", "minimum": 0 },
1864
+ "unavailable": { "type": "integer", "minimum": 0 }
1865
+ },
1866
+ "additionalProperties": false
1867
+ },
1868
+ "outcome": {
1869
+ "type": "object",
1870
+ "required": ["unfinished", "conformant", "changed", "unavailable"],
1871
+ "properties": {
1872
+ "unfinished": { "type": "integer", "minimum": 0 },
1873
+ "conformant": { "type": "integer", "minimum": 0 },
1874
+ "changed": { "type": "integer", "minimum": 0 },
1875
+ "unavailable": { "type": "integer", "minimum": 0 }
1876
+ },
1877
+ "additionalProperties": false
1878
+ }
1879
+ },
1880
+ "additionalProperties": false
1881
+ },
1882
+ "planAssuranceEvaluation": {
1883
+ "type": "object",
1884
+ "required": [
1885
+ "ok",
1886
+ "model_version",
1887
+ "hash_model_version",
1888
+ "coverage",
1889
+ "effective_dependencies",
1890
+ "task_results",
1891
+ "direct_mismatch_task_ids",
1892
+ "inherited_mismatch_task_ids",
1893
+ "replan_required_task_ids",
1894
+ "unavailable_task_ids",
1895
+ "diagnostics"
1896
+ ],
1897
+ "properties": {
1898
+ "ok": { "type": "boolean" },
1899
+ "model_version": { "type": ["integer", "null"] },
1900
+ "hash_model_version": { "type": ["integer", "null"] },
1901
+ "coverage": {
1902
+ "enum": ["not_enabled", "unsealed", "partial", "complete", null]
1903
+ },
1904
+ "effective_dependencies": {
1905
+ "type": "array",
1906
+ "items": {
1907
+ "type": "object",
1908
+ "required": [
1909
+ "relation_id",
1910
+ "predecessor_task_id",
1911
+ "successor_task_id",
1912
+ "mode",
1913
+ "explicit"
1914
+ ],
1915
+ "properties": {
1916
+ "relation_id": { "$ref": "#/$defs/nullableString" },
1917
+ "predecessor_task_id": { "type": "string" },
1918
+ "successor_task_id": { "type": "string" },
1919
+ "mode": {
1920
+ "enum": ["both", "execution_only", "planning_only"]
1921
+ },
1922
+ "explicit": { "type": "boolean" }
1923
+ },
1924
+ "additionalProperties": false
1925
+ }
1926
+ },
1927
+ "task_results": {
1928
+ "type": "array",
1929
+ "items": { "$ref": "#/$defs/planAssuranceTaskResult" }
1930
+ },
1931
+ "direct_mismatch_task_ids": { "$ref": "#/$defs/stringArray" },
1932
+ "inherited_mismatch_task_ids": { "$ref": "#/$defs/stringArray" },
1933
+ "replan_required_task_ids": { "$ref": "#/$defs/stringArray" },
1934
+ "unavailable_task_ids": { "$ref": "#/$defs/stringArray" },
1935
+ "diagnostics": {
1936
+ "type": "array",
1937
+ "items": {
1938
+ "type": "object",
1939
+ "required": ["code", "message", "entity_id", "data"],
1940
+ "properties": {
1941
+ "code": { "enum": ["PTASSURE-101", "PTASSURE-102"] },
1942
+ "message": { "type": "string" },
1943
+ "entity_id": { "$ref": "#/$defs/nullableString" },
1944
+ "data": { "$ref": "#/$defs/jsonObject" }
1945
+ },
1946
+ "additionalProperties": false
1947
+ }
1948
+ }
1949
+ },
1950
+ "additionalProperties": false
1951
+ },
1952
+ "planAssuranceImpact": {
1953
+ "type": "object",
1954
+ "required": [
1955
+ "model_version",
1956
+ "affected_task_ids",
1957
+ "before",
1958
+ "after",
1959
+ "projection"
1960
+ ],
1961
+ "properties": {
1962
+ "model_version": { "const": 1 },
1963
+ "affected_task_ids": { "$ref": "#/$defs/stringArray" },
1964
+ "before": { "$ref": "#/$defs/planAssuranceEvaluation" },
1965
+ "after": { "$ref": "#/$defs/planAssuranceEvaluation" },
1966
+ "projection": {
1967
+ "type": "object",
1968
+ "required": [
1969
+ "model_version",
1970
+ "affected_task_ids",
1971
+ "before",
1972
+ "after",
1973
+ "diagnostics"
1974
+ ],
1975
+ "properties": {
1976
+ "model_version": { "const": 1 },
1977
+ "affected_task_ids": { "$ref": "#/$defs/stringArray" },
1978
+ "before": { "$ref": "#/$defs/nullablePlanAssuranceProjection" },
1979
+ "after": { "$ref": "#/$defs/nullablePlanAssuranceProjection" },
1980
+ "diagnostics": { "$ref": "#/$defs/diagnostics" }
1981
+ },
1982
+ "additionalProperties": false
1983
+ }
1984
+ },
1985
+ "additionalProperties": false
1986
+ },
1692
1987
  "governanceDecision": {
1693
1988
  "type": "object",
1694
1989
  "required": [
@@ -1709,16 +2004,16 @@
1709
2004
  ],
1710
2005
  "properties": {
1711
2006
  "schema_version": {
1712
- "const": "Perttool.GovernanceDecision.v1"
2007
+ "const": "Perttool.GovernanceDecision.v2"
1713
2008
  },
1714
2009
  "governance_interface_version": {
1715
- "const": 1
2010
+ "const": 2
1716
2011
  },
1717
2012
  "governance_source_contract_version": {
1718
2013
  "const": 1
1719
2014
  },
1720
2015
  "governance_semantics_version": {
1721
- "const": 1
2016
+ "const": 2
1722
2017
  },
1723
2018
  "source_digest": {
1724
2019
  "$ref": "#/$defs/digest"
@@ -1775,7 +2070,8 @@
1775
2070
  "scope": {
1776
2071
  "enum": [
1777
2072
  "goal",
1778
- "dag"
2073
+ "dag",
2074
+ "plan_assurance"
1779
2075
  ]
1780
2076
  },
1781
2077
  "required_owner": {
@@ -29,7 +29,7 @@
29
29
  "const": "Perttool.ExportResult.v1"
30
30
  },
31
31
  "cli_contract_version": {
32
- "const": 6
32
+ "const": 7
33
33
  },
34
34
  "tool_version": {
35
35
  "type": "string"
@@ -27,7 +27,7 @@
27
27
  "const": "Perttool.FormatResult.v1"
28
28
  },
29
29
  "cli_contract_version": {
30
- "const": 6
30
+ "const": 7
31
31
  },
32
32
  "tool_version": {
33
33
  "type": "string"
@@ -25,7 +25,7 @@
25
25
  "const": "Perttool.GuideResult.v1"
26
26
  },
27
27
  "cli_contract_version": {
28
- "const": 6
28
+ "const": 7
29
29
  },
30
30
  "tool_version": {
31
31
  "type": "string"
@@ -29,7 +29,7 @@
29
29
  "const": "Perttool.ImportResult.v1"
30
30
  },
31
31
  "cli_contract_version": {
32
- "const": 6
32
+ "const": 7
33
33
  },
34
34
  "tool_version": {
35
35
  "type": "string"
@@ -24,7 +24,7 @@
24
24
  "const": "Perttool.InitResult.v1"
25
25
  },
26
26
  "cli_contract_version": {
27
- "const": 6
27
+ "const": 7
28
28
  },
29
29
  "tool_version": {
30
30
  "type": "string"