perttool 0.6.0 → 0.7.1

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 (242) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/README.md +113 -33
  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 +2 -2
  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 +297 -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 +227 -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 +27 -20
  166. package/dist/history/project-history.js.map +1 -1
  167. package/dist/history/velocity-observation.js +1 -1
  168. package/dist/history/velocity-observation.js.map +1 -1
  169. package/dist/index.d.ts +31 -27
  170. package/dist/index.d.ts.map +1 -1
  171. package/dist/index.js +12 -15
  172. package/dist/index.js.map +1 -1
  173. package/dist/io/target-safe-write.d.ts +4 -1
  174. package/dist/io/target-safe-write.d.ts.map +1 -1
  175. package/dist/io/target-safe-write.js +19 -1
  176. package/dist/io/target-safe-write.js.map +1 -1
  177. package/dist/migration/grammar-boundary.d.ts +1 -1
  178. package/dist/migration/grammar-boundary.d.ts.map +1 -1
  179. package/dist/migration/grammar-boundary.js +7 -3
  180. package/dist/migration/grammar-boundary.js.map +1 -1
  181. package/dist/model/declaration-fields.d.ts +12 -0
  182. package/dist/model/declaration-fields.d.ts.map +1 -1
  183. package/dist/model/declaration-fields.js +45 -0
  184. package/dist/model/declaration-fields.js.map +1 -1
  185. package/dist/model/syntax.d.ts +17 -1
  186. package/dist/model/syntax.d.ts.map +1 -1
  187. package/dist/model/syntax.js.map +1 -1
  188. package/dist/mutation/actuals.js +1 -1
  189. package/dist/mutation/actuals.js.map +1 -1
  190. package/dist/mutation/advance.d.ts +18 -1
  191. package/dist/mutation/advance.d.ts.map +1 -1
  192. package/dist/mutation/advance.js +20 -0
  193. package/dist/mutation/advance.js.map +1 -1
  194. package/dist/mutation/project.d.ts +2 -1
  195. package/dist/mutation/project.d.ts.map +1 -1
  196. package/dist/mutation/project.js +21 -0
  197. package/dist/mutation/project.js.map +1 -1
  198. package/dist/parser/document-parser.d.ts +7 -0
  199. package/dist/parser/document-parser.d.ts.map +1 -1
  200. package/dist/parser/document-parser.js +227 -12
  201. package/dist/parser/document-parser.js.map +1 -1
  202. package/dist/recommendation/override-types.d.ts +2 -2
  203. package/dist/recommendation/override.d.ts +2 -2
  204. package/dist/recommendation/override.d.ts.map +1 -1
  205. package/dist/recommendation/override.js +13 -5
  206. package/dist/recommendation/override.js.map +1 -1
  207. package/dist/schema/registry.d.ts +1 -1
  208. package/dist/schema/registry.d.ts.map +1 -1
  209. package/dist/schema/registry.js +8 -7
  210. package/dist/schema/registry.js.map +1 -1
  211. package/dist/semantic/target-validator.d.ts +12 -1
  212. package/dist/semantic/target-validator.d.ts.map +1 -1
  213. package/dist/semantic/target-validator.js +47 -2
  214. package/dist/semantic/target-validator.js.map +1 -1
  215. package/dist/semantic/validator.d.ts +1 -0
  216. package/dist/semantic/validator.d.ts.map +1 -1
  217. package/dist/semantic/validator.js +304 -0
  218. package/dist/semantic/validator.js.map +1 -1
  219. package/dist/version.d.ts +1 -1
  220. package/dist/version.js +1 -1
  221. package/package.json +1 -1
  222. package/schemas/{Perttool.AdvanceResult.v1.schema.json → Perttool.AdvanceResult.v2.schema.json} +85 -5
  223. package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
  224. package/schemas/{Perttool.AnalysisResult.v4.schema.json → Perttool.AnalysisResult.v5.schema.json} +10 -6
  225. package/schemas/{Perttool.CheckResult.v3.schema.json → Perttool.CheckResult.v4.schema.json} +14 -6
  226. package/schemas/Perttool.CliError.v1.schema.json +1 -1
  227. package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
  228. package/schemas/Perttool.Common.v1.schema.json +300 -4
  229. package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
  230. package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
  231. package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
  232. package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
  233. package/schemas/Perttool.InitResult.v1.schema.json +1 -1
  234. package/schemas/{Perttool.MutationResult.v3.schema.json → Perttool.MutationResult.v4.schema.json} +16 -5
  235. package/schemas/{Perttool.NextResult.v5.schema.json → Perttool.NextResult.v6.schema.json} +53 -8
  236. package/schemas/Perttool.OverrideDecision.v1.schema.json +1 -1
  237. package/schemas/Perttool.PlanAssuranceResult.v1.schema.json +77 -0
  238. package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
  239. package/schemas/{Perttool.ProjectResult.v3.schema.json → Perttool.ProjectResult.v4.schema.json} +15 -7
  240. package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
  241. package/schemas/Perttool.UnitMigrationResult.v3.schema.json +5 -3
  242. package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/assurance/mutation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SourceSpan } from "../model/diagnostics.js";
2
+ import type { TargetDeclarationKind } from "../model/syntax.js";
3
+ import type { TargetGrammar6ValidatedDocument } from "../semantic/target-validator.js";
4
+ import type { PlanAssuranceInputV1 } from "./types.js";
5
+ export declare const PLAN_ASSURANCE_SOURCE_MODEL_VERSION: 1;
6
+ export interface PlanAssuranceSourceRecordV1 {
7
+ readonly kind: TargetDeclarationKind;
8
+ readonly id: string;
9
+ readonly declarationSpan: SourceSpan;
10
+ readonly idSpan: SourceSpan;
11
+ }
12
+ export interface PlanAssuranceSourceModelV1 {
13
+ readonly modelVersion: typeof PLAN_ASSURANCE_SOURCE_MODEL_VERSION;
14
+ readonly grammarVersion: 1 | 2 | 3 | 4 | 5 | 6;
15
+ readonly input: PlanAssuranceInputV1;
16
+ readonly records: readonly PlanAssuranceSourceRecordV1[];
17
+ }
18
+ export declare function projectPlanAssuranceSourceModel(validated: TargetGrammar6ValidatedDocument): PlanAssuranceSourceModelV1;
19
+ export declare function projectPlanAssuranceInput(validated: TargetGrammar6ValidatedDocument): PlanAssuranceInputV1;
20
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/assurance/source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAOV,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAOV,oBAAoB,EAOrB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,mCAAmC,EAAG,CAAU,CAAC;AAE9D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,mCAAmC,CAAC;IAClE,QAAQ,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAC1D;AAmTD,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,+BAA+B,GACzC,0BAA0B,CA8D5B;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,+BAA+B,GACzC,oBAAoB,CAEtB"}
@@ -0,0 +1,313 @@
1
+ import { compareStableStrings } from "../model/diagnostics.js";
2
+ import { rationalFromDuration } from "../model/rational.js";
3
+ import { fieldNamed } from "../model/syntax.js";
4
+ import { hashFrontierAssuranceReceipt, isSha256Digest, } from "./canonical.js";
5
+ export const PLAN_ASSURANCE_SOURCE_MODEL_VERSION = 1;
6
+ function requiredField(declaration, name) {
7
+ const field = fieldNamed(declaration, name);
8
+ if (field === undefined) {
9
+ throw new Error(`validated ${declaration.kind} ${declaration.id} is missing ${name}`);
10
+ }
11
+ return field;
12
+ }
13
+ function stringField(declaration, name) {
14
+ const value = fieldNamed(declaration, name)?.value;
15
+ if (value === undefined)
16
+ return null;
17
+ if (typeof value !== "string") {
18
+ throw new Error(`validated ${declaration.kind}.${name} is not a string`);
19
+ }
20
+ return value;
21
+ }
22
+ function exactDuration(field) {
23
+ if (field.value === null ||
24
+ typeof field.value !== "object" ||
25
+ !("suffix" in field.value) ||
26
+ (!("digits" in field.value) && !("numerator" in field.value))) {
27
+ throw new Error(`validated ${field.name} is not an exact duration`);
28
+ }
29
+ return field.value;
30
+ }
31
+ function exactValue(field) {
32
+ const value = exactDuration(field);
33
+ const reduced = rationalFromDuration(value);
34
+ return {
35
+ numerator: reduced.numerator.toString(),
36
+ denominator: reduced.denominator.toString(),
37
+ unit: value.suffix === "d"
38
+ ? "day"
39
+ : value.suffix === "h"
40
+ ? "hour"
41
+ : "point",
42
+ };
43
+ }
44
+ function durationOrEstimate(task) {
45
+ const duration = fieldNamed(task, "duration");
46
+ if (duration !== undefined) {
47
+ return { kind: "duration", value: exactValue(duration) };
48
+ }
49
+ const estimate = requiredField(task, "estimate");
50
+ const child = (name) => {
51
+ const value = estimate.children?.find((candidate) => candidate.name === name);
52
+ if (value === undefined) {
53
+ throw new Error(`validated task ${task.id} estimate is missing ${name}`);
54
+ }
55
+ return value;
56
+ };
57
+ return {
58
+ kind: "estimate",
59
+ optimistic: exactValue(child("optimistic")),
60
+ mostLikely: exactValue(child("most_likely")),
61
+ pessimistic: exactValue(child("pessimistic")),
62
+ };
63
+ }
64
+ function calendarValue(field) {
65
+ if (field === undefined)
66
+ return null;
67
+ const value = field.value;
68
+ if (value.kind === "date") {
69
+ return {
70
+ kind: "date",
71
+ year: value.year,
72
+ month: value.month,
73
+ day: value.day,
74
+ };
75
+ }
76
+ return {
77
+ kind: "date_time",
78
+ year: value.year,
79
+ month: value.month,
80
+ day: value.day,
81
+ hour: value.hour,
82
+ minute: value.minute,
83
+ second: {
84
+ numerator: value.second.numerator.toString(),
85
+ denominator: value.second.denominator.toString(),
86
+ },
87
+ offsetMinutes: value.offsetMinutes,
88
+ };
89
+ }
90
+ function taskContract(task) {
91
+ const title = requiredField(task, "title").value;
92
+ if (typeof title !== "string") {
93
+ throw new Error(`validated task ${task.id} title is not a string`);
94
+ }
95
+ const priority = fieldNamed(task, "priority")?.value ?? 0;
96
+ if (typeof priority !== "number") {
97
+ throw new Error(`validated task ${task.id} priority is not an integer`);
98
+ }
99
+ const requirements = fieldNamed(task, "requires")?.value ?? [];
100
+ if (!Array.isArray(requirements)) {
101
+ throw new Error(`validated task ${task.id} requirements are invalid`);
102
+ }
103
+ const tags = fieldNamed(task, "tags")?.value ?? [];
104
+ if (!Array.isArray(tags) || !tags.every((tag) => typeof tag === "string")) {
105
+ throw new Error(`validated task ${task.id} tags are invalid`);
106
+ }
107
+ return {
108
+ model: "Perttool.TaskPlanContract.v1",
109
+ taskId: task.id,
110
+ fromMilestoneId: task.from,
111
+ toMilestoneId: task.to,
112
+ title,
113
+ description: stringField(task, "description"),
114
+ durationOrEstimate: durationOrEstimate(task),
115
+ notBefore: calendarValue(fieldNamed(task, "not_before")),
116
+ deadline: calendarValue(fieldNamed(task, "deadline")),
117
+ priority,
118
+ requirements: requirements.map(({ resourceId, units }) => ({ resourceId, units })),
119
+ owner: stringField(task, "owner"),
120
+ tags: tags,
121
+ source: stringField(task, "source"),
122
+ };
123
+ }
124
+ function gateOnlyExecutionRelations(declarations) {
125
+ const tasks = declarations.filter((declaration) => declaration.kind === "task");
126
+ const gates = declarations.filter((declaration) => declaration.kind === "gate");
127
+ const targets = new Map();
128
+ for (const gate of gates) {
129
+ const values = targets.get(gate.from) ?? [];
130
+ values.push(gate.to);
131
+ targets.set(gate.from, values);
132
+ }
133
+ for (const values of targets.values())
134
+ values.sort(compareStableStrings);
135
+ const reachable = (source, target) => {
136
+ if (source === target)
137
+ return true;
138
+ const pending = [source];
139
+ const seen = new Set(pending);
140
+ while (pending.length > 0) {
141
+ for (const next of targets.get(pending.shift()) ?? []) {
142
+ if (next === target)
143
+ return true;
144
+ if (!seen.has(next)) {
145
+ seen.add(next);
146
+ pending.push(next);
147
+ }
148
+ }
149
+ }
150
+ return false;
151
+ };
152
+ const relations = [];
153
+ for (const predecessor of tasks) {
154
+ for (const successor of tasks) {
155
+ if (predecessor !== successor &&
156
+ reachable(predecessor.to, successor.from)) {
157
+ relations.push({
158
+ predecessorTaskId: predecessor.id,
159
+ successorTaskId: successor.id,
160
+ });
161
+ }
162
+ }
163
+ }
164
+ return relations.sort((left, right) => compareStableStrings(left.successorTaskId, right.successorTaskId) ||
165
+ compareStableStrings(left.predecessorTaskId, right.predecessorTaskId));
166
+ }
167
+ function sealFrom(declaration) {
168
+ if (declaration === undefined)
169
+ return null;
170
+ const acceptedContractHash = requiredField(declaration, "accepted_contract").value;
171
+ const acceptedBasisHash = requiredField(declaration, "accepted_basis").value;
172
+ if (typeof acceptedContractHash !== "string" ||
173
+ typeof acceptedBasisHash !== "string") {
174
+ throw new Error(`validated plan_seal ${declaration.id} has invalid hashes`);
175
+ }
176
+ const inputs = fieldNamed(declaration, "accepted_inputs")?.value ?? [];
177
+ return {
178
+ acceptedContractHash: acceptedContractHash,
179
+ acceptedBasisHash: acceptedBasisHash,
180
+ acceptedInputs: inputs.map((input) => ({
181
+ predecessorTaskId: input.predecessorTaskId,
182
+ relationMode: input.relationMode,
183
+ assuranceHash: input.assuranceHash,
184
+ })),
185
+ };
186
+ }
187
+ function outcomeFrom(declaration) {
188
+ if (declaration === undefined)
189
+ return null;
190
+ const modelVersion = requiredField(declaration, "model").value;
191
+ const againstBasisHash = requiredField(declaration, "against_basis").value;
192
+ const status = requiredField(declaration, "status").value;
193
+ if (typeof modelVersion !== "number" ||
194
+ typeof againstBasisHash !== "string" ||
195
+ (status !== "conformant" && status !== "changed")) {
196
+ throw new Error(`validated task_outcome ${declaration.id} is invalid`);
197
+ }
198
+ return {
199
+ modelVersion,
200
+ againstBasisHash: againstBasisHash,
201
+ status,
202
+ summary: stringField(declaration, "summary"),
203
+ };
204
+ }
205
+ function frontierInputs(declarations) {
206
+ const values = [];
207
+ for (const receipt of declarations.filter((declaration) => declaration.kind === "assurance_receipt")) {
208
+ const model = requiredField(receipt, "model").value;
209
+ const storedHash = requiredField(receipt, "receipt_hash").value;
210
+ const producerTaskId = requiredField(receipt, "producer").value;
211
+ const producerTaskContractHash = requiredField(receipt, "producer_contract_hash").value;
212
+ const producerAssuranceHash = requiredField(receipt, "producer_assurance_hash").value;
213
+ const outcome = requiredField(receipt, "outcome").value;
214
+ const consumers = requiredField(receipt, "consumers").value;
215
+ const sourceMilestoneId = fieldNamed(receipt, "source_milestone")?.value ?? null;
216
+ let usableHash = null;
217
+ if (model === 1 &&
218
+ typeof storedHash === "string" &&
219
+ typeof producerTaskId === "string" &&
220
+ typeof producerTaskContractHash === "string" &&
221
+ typeof producerAssuranceHash === "string" &&
222
+ (outcome === "conformant" || outcome === "changed") &&
223
+ (sourceMilestoneId === null || typeof sourceMilestoneId === "string") &&
224
+ isSha256Digest(storedHash) &&
225
+ isSha256Digest(producerTaskContractHash) &&
226
+ isSha256Digest(producerAssuranceHash)) {
227
+ const contract = {
228
+ model: "Perttool.FrontierAssuranceReceipt.v1",
229
+ producerTaskId,
230
+ producerTaskContractHash,
231
+ producerAssuranceHash,
232
+ outcome,
233
+ consumers: consumers.map((consumer) => ({
234
+ consumerTaskId: consumer.consumerTaskId,
235
+ relationMode: consumer.relationMode,
236
+ })),
237
+ sourceMilestoneId,
238
+ };
239
+ if (hashFrontierAssuranceReceipt(contract) === storedHash) {
240
+ usableHash = producerAssuranceHash;
241
+ }
242
+ }
243
+ for (const consumer of consumers) {
244
+ values.push({
245
+ producerTaskId: String(producerTaskId),
246
+ consumerTaskId: consumer.consumerTaskId,
247
+ relationMode: consumer.relationMode,
248
+ assuranceHash: usableHash,
249
+ });
250
+ }
251
+ }
252
+ return values.sort((left, right) => compareStableStrings(left.consumerTaskId, right.consumerTaskId) ||
253
+ compareStableStrings(left.producerTaskId, right.producerTaskId));
254
+ }
255
+ export function projectPlanAssuranceSourceModel(validated) {
256
+ const declarations = validated.document.declarations;
257
+ const project = declarations.find((declaration) => declaration.kind === "project");
258
+ if (project === undefined)
259
+ throw new Error("validated document has no project");
260
+ const seals = new Map(declarations
261
+ .filter((declaration) => declaration.kind === "plan_seal")
262
+ .map((declaration) => [declaration.id, declaration]));
263
+ const outcomes = new Map(declarations
264
+ .filter((declaration) => declaration.kind === "task_outcome")
265
+ .map((declaration) => [
266
+ requiredField(declaration, "task").value,
267
+ declaration,
268
+ ]));
269
+ const tasks = declarations
270
+ .filter((declaration) => declaration.kind === "task")
271
+ .map((task) => ({
272
+ contract: taskContract(task),
273
+ lifecycle: fieldNamed(task, "status")?.value === "done"
274
+ ? "completed"
275
+ : "unfinished",
276
+ seal: sealFrom(seals.get(task.id)),
277
+ outcome: outcomeFrom(outcomes.get(task.id)),
278
+ }));
279
+ const explicitRelations = declarations
280
+ .filter((declaration) => declaration.kind === "task_relation")
281
+ .map((relation) => ({
282
+ id: relation.id,
283
+ predecessorTaskId: relation.from,
284
+ successorTaskId: relation.to,
285
+ mode: requiredField(relation, "mode").value,
286
+ reason: stringField(relation, "reason"),
287
+ }));
288
+ const modelVersion = fieldNamed(project, "plan_assurance_model")?.value;
289
+ const hashModelVersion = fieldNamed(project, "plan_assurance_hash_model")?.value;
290
+ const input = {
291
+ modelVersion: typeof modelVersion === "number" ? modelVersion : null,
292
+ hashModelVersion: typeof hashModelVersion === "number" ? hashModelVersion : null,
293
+ tasks,
294
+ executionRelations: gateOnlyExecutionRelations(declarations),
295
+ explicitRelations,
296
+ frontierInputs: frontierInputs(declarations),
297
+ };
298
+ return Object.freeze({
299
+ modelVersion: PLAN_ASSURANCE_SOURCE_MODEL_VERSION,
300
+ grammarVersion: validated.grammarVersion,
301
+ input: Object.freeze(input),
302
+ records: Object.freeze(declarations.map((declaration) => Object.freeze({
303
+ kind: declaration.kind,
304
+ id: declaration.id,
305
+ declarationSpan: declaration.span,
306
+ idSpan: declaration.idSpan,
307
+ }))),
308
+ });
309
+ }
310
+ export function projectPlanAssuranceInput(validated) {
311
+ return projectPlanAssuranceSourceModel(validated).input;
312
+ }
313
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/assurance/source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ export declare const PLAN_ASSURANCE_MODEL_VERSION: 1;
2
+ export declare const PLAN_ASSURANCE_HASH_MODEL_VERSION: 1;
3
+ export type Sha256Digest = `sha256:${string}`;
4
+ export type PlanDependencyMode = "both" | "execution_only" | "planning_only";
5
+ export type PlanningInputMode = Exclude<PlanDependencyMode, "execution_only">;
6
+ export interface CanonicalExactValueV1 {
7
+ readonly numerator: string;
8
+ readonly denominator: string;
9
+ readonly unit: "day" | "hour" | "point";
10
+ }
11
+ export type CanonicalDurationOrEstimateV1 = {
12
+ readonly kind: "duration";
13
+ readonly value: CanonicalExactValueV1;
14
+ } | {
15
+ readonly kind: "estimate";
16
+ readonly optimistic: CanonicalExactValueV1;
17
+ readonly mostLikely: CanonicalExactValueV1;
18
+ readonly pessimistic: CanonicalExactValueV1;
19
+ };
20
+ export type CanonicalCalendarValueV1 = {
21
+ readonly kind: "date";
22
+ readonly year: number;
23
+ readonly month: number;
24
+ readonly day: number;
25
+ } | {
26
+ readonly kind: "date_time";
27
+ readonly year: number;
28
+ readonly month: number;
29
+ readonly day: number;
30
+ readonly hour: number;
31
+ readonly minute: number;
32
+ readonly second: {
33
+ readonly numerator: string;
34
+ readonly denominator: string;
35
+ };
36
+ readonly offsetMinutes: number;
37
+ };
38
+ export interface CanonicalRequirementV1 {
39
+ readonly resourceId: string;
40
+ readonly units: number;
41
+ }
42
+ export interface TaskPlanContractV1 {
43
+ readonly model: "Perttool.TaskPlanContract.v1";
44
+ readonly taskId: string;
45
+ readonly fromMilestoneId: string;
46
+ readonly toMilestoneId: string;
47
+ readonly title: string;
48
+ readonly description: string | null;
49
+ readonly durationOrEstimate: CanonicalDurationOrEstimateV1;
50
+ readonly notBefore: CanonicalCalendarValueV1 | null;
51
+ readonly deadline: CanonicalCalendarValueV1 | null;
52
+ readonly priority: number;
53
+ readonly requirements: readonly CanonicalRequirementV1[];
54
+ readonly owner: string | null;
55
+ readonly tags: readonly string[];
56
+ readonly source: string | null;
57
+ }
58
+ export interface ExecutionTaskRelationV1 {
59
+ readonly predecessorTaskId: string;
60
+ readonly successorTaskId: string;
61
+ }
62
+ export interface PlanDependencyRelationV1 {
63
+ readonly id: string;
64
+ readonly predecessorTaskId: string;
65
+ readonly successorTaskId: string;
66
+ readonly mode: PlanDependencyMode;
67
+ readonly reason: string | null;
68
+ }
69
+ export interface EffectivePlanDependencyV1 {
70
+ readonly relationId: string | null;
71
+ readonly predecessorTaskId: string;
72
+ readonly successorTaskId: string;
73
+ readonly mode: PlanDependencyMode;
74
+ readonly explicit: boolean;
75
+ }
76
+ export interface AcceptedPlanningInputV1 {
77
+ readonly predecessorTaskId: string;
78
+ readonly relationMode: PlanningInputMode;
79
+ readonly assuranceHash: Sha256Digest;
80
+ }
81
+ export interface TaskPlanSealV1 {
82
+ readonly acceptedContractHash: Sha256Digest;
83
+ readonly acceptedBasisHash: Sha256Digest;
84
+ readonly acceptedInputs: readonly AcceptedPlanningInputV1[];
85
+ }
86
+ export interface TaskOutcomeEvidenceV1 {
87
+ readonly modelVersion: number;
88
+ readonly againstBasisHash: Sha256Digest;
89
+ readonly status: "conformant" | "changed";
90
+ readonly summary: string | null;
91
+ }
92
+ export interface TaskAssuranceInputV1 {
93
+ readonly contract: TaskPlanContractV1;
94
+ readonly lifecycle: "unfinished" | "completed";
95
+ readonly seal: TaskPlanSealV1 | null;
96
+ readonly outcome: TaskOutcomeEvidenceV1 | null;
97
+ }
98
+ export interface FrontierPlanningInputV1 {
99
+ readonly producerTaskId: string;
100
+ readonly consumerTaskId: string;
101
+ readonly relationMode: PlanningInputMode;
102
+ readonly assuranceHash: Sha256Digest | null;
103
+ }
104
+ export interface FrontierAssuranceReceiptContractV1 {
105
+ readonly model: "Perttool.FrontierAssuranceReceipt.v1";
106
+ readonly producerTaskId: string;
107
+ readonly producerTaskContractHash: Sha256Digest;
108
+ readonly producerAssuranceHash: Sha256Digest;
109
+ readonly outcome: "conformant" | "changed";
110
+ readonly consumers: readonly {
111
+ readonly consumerTaskId: string;
112
+ readonly relationMode: PlanningInputMode;
113
+ }[];
114
+ readonly sourceMilestoneId: string | null;
115
+ }
116
+ export interface PlanAssuranceInputV1 {
117
+ readonly modelVersion: number | null;
118
+ readonly hashModelVersion: number | null;
119
+ readonly tasks: readonly TaskAssuranceInputV1[];
120
+ readonly executionRelations: readonly ExecutionTaskRelationV1[];
121
+ readonly explicitRelations: readonly PlanDependencyRelationV1[];
122
+ readonly frontierInputs: readonly FrontierPlanningInputV1[];
123
+ }
124
+ export type PlanAssuranceCoverage = "not_enabled" | "unsealed" | "partial" | "complete";
125
+ export type PlanAssuranceTaskStatus = "not_applicable" | "unsealed" | "conditional" | "verified" | "review_required" | "unavailable";
126
+ export type PlanAssuranceOutcomeStatus = "unfinished" | "conformant" | "changed" | "unavailable";
127
+ export type PlanAssuranceCauseKind = "unknown_model" | "task_contract_changed" | "planning_relation_changed" | "predecessor_commitment_changed" | "predecessor_unavailable" | "frontier_commitment_changed" | "accepted_seal_inconsistent" | "outcome_missing" | "outcome_basis_mismatch" | "outcome_invalid" | "changed_outcome";
128
+ export interface PlanAssuranceCauseV1 {
129
+ readonly kind: PlanAssuranceCauseKind;
130
+ readonly direct: boolean;
131
+ readonly rootTaskId: string;
132
+ readonly affectedTaskId: string;
133
+ readonly pathTaskIds: readonly string[];
134
+ }
135
+ export interface PlanAssuranceTaskResultV1 {
136
+ readonly taskId: string;
137
+ readonly status: PlanAssuranceTaskStatus;
138
+ readonly outcomeStatus: PlanAssuranceOutcomeStatus;
139
+ readonly contractHash: Sha256Digest | null;
140
+ readonly computedBasisHash: Sha256Digest | null;
141
+ readonly acceptedBasisHash: Sha256Digest | null;
142
+ readonly computedInputs: readonly AcceptedPlanningInputV1[];
143
+ readonly exportedAssuranceHash: Sha256Digest | null;
144
+ readonly directCauses: readonly PlanAssuranceCauseV1[];
145
+ readonly inheritedCauses: readonly PlanAssuranceCauseV1[];
146
+ }
147
+ export interface PlanAssuranceDiagnosticV1 {
148
+ readonly code: "PTASSURE-101" | "PTASSURE-102";
149
+ readonly message: string;
150
+ readonly entityId: string | null;
151
+ readonly data: Readonly<Record<string, unknown>>;
152
+ }
153
+ export interface PlanAssuranceEvaluationV1 {
154
+ readonly ok: boolean;
155
+ readonly modelVersion: number | null;
156
+ readonly hashModelVersion: number | null;
157
+ readonly coverage: PlanAssuranceCoverage | null;
158
+ readonly effectiveDependencies: readonly EffectivePlanDependencyV1[];
159
+ readonly taskResults: readonly PlanAssuranceTaskResultV1[];
160
+ readonly directMismatchTaskIds: readonly string[];
161
+ readonly inheritedMismatchTaskIds: readonly string[];
162
+ readonly replanRequiredTaskIds: readonly string[];
163
+ readonly unavailableTaskIds: readonly string[];
164
+ readonly diagnostics: readonly PlanAssuranceDiagnosticV1[];
165
+ }
166
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/assurance/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export const PLAN_ASSURANCE_MODEL_VERSION = 1;
2
+ export const PLAN_ASSURANCE_HASH_MODEL_VERSION = 1;
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/assurance/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAU,CAAC"}