perttool 0.5.5 → 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.
- package/CHANGELOG.md +71 -1
- package/README.md +128 -30
- package/dist/application/advance-history.d.ts +48 -0
- package/dist/application/advance-history.d.ts.map +1 -0
- package/dist/application/advance-history.js +263 -0
- package/dist/application/advance-history.js.map +1 -0
- package/dist/application/contract6-mutation.d.ts +3 -2
- package/dist/application/contract6-mutation.d.ts.map +1 -1
- package/dist/application/contract6-mutation.js +2 -1
- package/dist/application/contract6-mutation.js.map +1 -1
- package/dist/application/contract6-projection.d.ts +2 -1
- package/dist/application/contract6-projection.d.ts.map +1 -1
- package/dist/application/contract6-projection.js +31 -1
- package/dist/application/contract6-projection.js.map +1 -1
- package/dist/application/contract7-assurance.d.ts +57 -0
- package/dist/application/contract7-assurance.d.ts.map +1 -0
- package/dist/application/contract7-assurance.js +248 -0
- package/dist/application/contract7-assurance.js.map +1 -0
- package/dist/application/contract7-mermaid.d.ts +9 -0
- package/dist/application/contract7-mermaid.d.ts.map +1 -0
- package/dist/application/contract7-mermaid.js +73 -0
- package/dist/application/contract7-mermaid.js.map +1 -0
- package/dist/application/contract7-mutation.d.ts +21 -0
- package/dist/application/contract7-mutation.d.ts.map +1 -0
- package/dist/application/contract7-mutation.js +181 -0
- package/dist/application/contract7-mutation.js.map +1 -0
- package/dist/application/contract7-project.d.ts +10 -0
- package/dist/application/contract7-project.d.ts.map +1 -0
- package/dist/application/contract7-project.js +29 -0
- package/dist/application/contract7-project.js.map +1 -0
- package/dist/application/contract7-projection.d.ts +9 -0
- package/dist/application/contract7-projection.d.ts.map +1 -0
- package/dist/application/contract7-projection.js +100 -0
- package/dist/application/contract7-projection.js.map +1 -0
- package/dist/application/contract7-source.d.ts +24 -0
- package/dist/application/contract7-source.d.ts.map +1 -0
- package/dist/application/contract7-source.js +54 -0
- package/dist/application/contract7-source.js.map +1 -0
- package/dist/application/contract7-unit-migration.d.ts +13 -0
- package/dist/application/contract7-unit-migration.d.ts.map +1 -0
- package/dist/application/contract7-unit-migration.js +13 -0
- package/dist/application/contract7-unit-migration.js.map +1 -0
- package/dist/application/init.d.ts +1 -1
- package/dist/application/init.js +3 -3
- package/dist/application/mutate.d.ts +5 -1
- package/dist/application/mutate.d.ts.map +1 -1
- package/dist/application/mutate.js +2 -2
- package/dist/application/mutate.js.map +1 -1
- package/dist/application/target-actuals-analysis.d.ts +5 -4
- package/dist/application/target-actuals-analysis.d.ts.map +1 -1
- package/dist/application/target-actuals-analysis.js +18 -11
- package/dist/application/target-actuals-analysis.js.map +1 -1
- package/dist/application/target-actuals-mutation.d.ts +5 -3
- package/dist/application/target-actuals-mutation.d.ts.map +1 -1
- package/dist/application/target-actuals-mutation.js +16 -8
- package/dist/application/target-actuals-mutation.js.map +1 -1
- package/dist/application/target-actuals-write.d.ts +2 -1
- package/dist/application/target-actuals-write.d.ts.map +1 -1
- package/dist/application/target-actuals-write.js.map +1 -1
- package/dist/application/target-assurance-advance-history.d.ts +19 -0
- package/dist/application/target-assurance-advance-history.d.ts.map +1 -0
- package/dist/application/target-assurance-advance-history.js +61 -0
- package/dist/application/target-assurance-advance-history.js.map +1 -0
- package/dist/application/target-assurance-analysis.d.ts +34 -0
- package/dist/application/target-assurance-analysis.d.ts.map +1 -0
- package/dist/application/target-assurance-analysis.js +103 -0
- package/dist/application/target-assurance-analysis.js.map +1 -0
- package/dist/application/target-assurance-inspection.d.ts +38 -0
- package/dist/application/target-assurance-inspection.d.ts.map +1 -0
- package/dist/application/target-assurance-inspection.js +356 -0
- package/dist/application/target-assurance-inspection.js.map +1 -0
- package/dist/application/target-assurance-write.d.ts +22 -0
- package/dist/application/target-assurance-write.d.ts.map +1 -0
- package/dist/application/target-assurance-write.js +73 -0
- package/dist/application/target-assurance-write.js.map +1 -0
- package/dist/application/target-governance-init.d.ts +3 -3
- package/dist/application/target-governance-init.d.ts.map +1 -1
- package/dist/application/target-governance-init.js +14 -10
- package/dist/application/target-governance-init.js.map +1 -1
- package/dist/application/target-governance-project.d.ts +6 -4
- package/dist/application/target-governance-project.d.ts.map +1 -1
- package/dist/application/target-governance-project.js +18 -4
- package/dist/application/target-governance-project.js.map +1 -1
- package/dist/application/target-mutate.d.ts +7 -1
- package/dist/application/target-mutate.d.ts.map +1 -1
- package/dist/application/target-mutate.js +50 -3
- package/dist/application/target-mutate.js.map +1 -1
- package/dist/application/target-project-history.d.ts +4 -4
- package/dist/application/target-project-history.d.ts.map +1 -1
- package/dist/application/target-project-history.js +1 -1
- package/dist/application/target-project-history.js.map +1 -1
- package/dist/application/target-unit-migration-candidate.d.ts +29 -6
- package/dist/application/target-unit-migration-candidate.d.ts.map +1 -1
- package/dist/application/target-unit-migration-candidate.js +204 -3
- package/dist/application/target-unit-migration-candidate.js.map +1 -1
- package/dist/application/target-unit-migration-result.d.ts +2 -2
- package/dist/application/target-unit-migration-result.d.ts.map +1 -1
- package/dist/application/target-unit-migration-result.js +4 -2
- package/dist/application/target-unit-migration-result.js.map +1 -1
- package/dist/application/target-velocity-observation.d.ts +1 -1
- package/dist/application/target-velocity-observation.js +1 -1
- package/dist/assurance/advance.d.ts +45 -0
- package/dist/assurance/advance.d.ts.map +1 -0
- package/dist/assurance/advance.js +507 -0
- package/dist/assurance/advance.js.map +1 -0
- package/dist/assurance/authority.d.ts +86 -0
- package/dist/assurance/authority.d.ts.map +1 -0
- package/dist/assurance/authority.js +269 -0
- package/dist/assurance/authority.js.map +1 -0
- package/dist/assurance/canonical.d.ts +13 -0
- package/dist/assurance/canonical.d.ts.map +1 -0
- package/dist/assurance/canonical.js +320 -0
- package/dist/assurance/canonical.js.map +1 -0
- package/dist/assurance/compatibility.d.ts +62 -0
- package/dist/assurance/compatibility.d.ts.map +1 -0
- package/dist/assurance/compatibility.js +163 -0
- package/dist/assurance/compatibility.js.map +1 -0
- package/dist/assurance/evaluate.d.ts +4 -0
- package/dist/assurance/evaluate.d.ts.map +1 -0
- package/dist/assurance/evaluate.js +631 -0
- package/dist/assurance/evaluate.js.map +1 -0
- package/dist/assurance/governance.d.ts +42 -0
- package/dist/assurance/governance.d.ts.map +1 -0
- package/dist/assurance/governance.js +95 -0
- package/dist/assurance/governance.js.map +1 -0
- package/dist/assurance/mermaid.d.ts +40 -0
- package/dist/assurance/mermaid.d.ts.map +1 -0
- package/dist/assurance/mermaid.js +401 -0
- package/dist/assurance/mermaid.js.map +1 -0
- package/dist/assurance/mutation.d.ts +96 -0
- package/dist/assurance/mutation.d.ts.map +1 -0
- package/dist/assurance/mutation.js +757 -0
- package/dist/assurance/mutation.js.map +1 -0
- package/dist/assurance/source.d.ts +20 -0
- package/dist/assurance/source.d.ts.map +1 -0
- package/dist/assurance/source.js +313 -0
- package/dist/assurance/source.js.map +1 -0
- package/dist/assurance/types.d.ts +166 -0
- package/dist/assurance/types.d.ts.map +1 -0
- package/dist/assurance/types.js +3 -0
- package/dist/assurance/types.js.map +1 -0
- package/dist/cli.js +431 -72
- package/dist/cli.js.map +1 -1
- package/dist/command/actuals-discovery.d.ts.map +1 -1
- package/dist/command/actuals-discovery.js +50 -4
- package/dist/command/actuals-discovery.js.map +1 -1
- package/dist/command/assurance-discovery.d.ts +17 -0
- package/dist/command/assurance-discovery.d.ts.map +1 -0
- package/dist/command/assurance-discovery.js +287 -0
- package/dist/command/assurance-discovery.js.map +1 -0
- package/dist/command/assurance-usage.d.ts +20 -0
- package/dist/command/assurance-usage.d.ts.map +1 -0
- package/dist/command/assurance-usage.js +66 -0
- package/dist/command/assurance-usage.js.map +1 -0
- package/dist/conversion/mermaid.d.ts +2 -1
- package/dist/conversion/mermaid.d.ts.map +1 -1
- package/dist/conversion/mermaid.js +2 -2
- package/dist/conversion/mermaid.js.map +1 -1
- package/dist/formatter/source-formatter.d.ts +1 -1
- package/dist/formatter/source-formatter.d.ts.map +1 -1
- package/dist/formatter/source-formatter.js +56 -4
- package/dist/formatter/source-formatter.js.map +1 -1
- package/dist/formatter/target-source-formatter.d.ts +2 -1
- package/dist/formatter/target-source-formatter.d.ts.map +1 -1
- package/dist/formatter/target-source-formatter.js +18 -2
- package/dist/formatter/target-source-formatter.js.map +1 -1
- package/dist/help/assurance-guide.d.ts +10 -0
- package/dist/help/assurance-guide.d.ts.map +1 -0
- package/dist/help/assurance-guide.js +115 -0
- package/dist/help/assurance-guide.js.map +1 -0
- package/dist/help/guide.d.ts +1 -1
- package/dist/help/guide.d.ts.map +1 -1
- package/dist/help/registry.d.ts.map +1 -1
- package/dist/help/registry.js +11 -1
- package/dist/help/registry.js.map +1 -1
- package/dist/history/advance-history.d.ts +46 -0
- package/dist/history/advance-history.d.ts.map +1 -0
- package/dist/history/advance-history.js +425 -0
- package/dist/history/advance-history.js.map +1 -0
- package/dist/history/git-probe.d.ts +40 -0
- package/dist/history/git-probe.d.ts.map +1 -1
- package/dist/history/git-probe.js +330 -0
- package/dist/history/git-probe.js.map +1 -1
- package/dist/history/project-history.d.ts +14 -5
- package/dist/history/project-history.d.ts.map +1 -1
- package/dist/history/project-history.js +25 -18
- package/dist/history/project-history.js.map +1 -1
- package/dist/index.d.ts +31 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -14
- package/dist/index.js.map +1 -1
- package/dist/io/target-safe-write.d.ts +4 -1
- package/dist/io/target-safe-write.d.ts.map +1 -1
- package/dist/io/target-safe-write.js +19 -1
- package/dist/io/target-safe-write.js.map +1 -1
- package/dist/migration/grammar-boundary.d.ts +1 -1
- package/dist/migration/grammar-boundary.d.ts.map +1 -1
- package/dist/migration/grammar-boundary.js +7 -3
- package/dist/migration/grammar-boundary.js.map +1 -1
- package/dist/model/declaration-fields.d.ts +12 -0
- package/dist/model/declaration-fields.d.ts.map +1 -1
- package/dist/model/declaration-fields.js +45 -0
- package/dist/model/declaration-fields.js.map +1 -1
- package/dist/model/syntax.d.ts +17 -1
- package/dist/model/syntax.d.ts.map +1 -1
- package/dist/model/syntax.js.map +1 -1
- package/dist/mutation/actuals.js +1 -1
- package/dist/mutation/actuals.js.map +1 -1
- package/dist/mutation/advance-deletion.d.ts +14 -0
- package/dist/mutation/advance-deletion.d.ts.map +1 -0
- package/dist/mutation/advance-deletion.js +53 -0
- package/dist/mutation/advance-deletion.js.map +1 -0
- package/dist/mutation/advance.d.ts +18 -1
- package/dist/mutation/advance.d.ts.map +1 -1
- package/dist/mutation/advance.js +28 -25
- package/dist/mutation/advance.js.map +1 -1
- package/dist/mutation/project.d.ts +2 -1
- package/dist/mutation/project.d.ts.map +1 -1
- package/dist/mutation/project.js +21 -0
- package/dist/mutation/project.js.map +1 -1
- package/dist/parser/document-parser.d.ts +7 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +227 -12
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/recommendation/override-types.d.ts +2 -2
- package/dist/recommendation/override.d.ts +2 -2
- package/dist/recommendation/override.d.ts.map +1 -1
- package/dist/recommendation/override.js +13 -5
- package/dist/recommendation/override.js.map +1 -1
- package/dist/schema/registry.d.ts +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +8 -6
- package/dist/schema/registry.js.map +1 -1
- package/dist/semantic/target-validator.d.ts +12 -1
- package/dist/semantic/target-validator.d.ts.map +1 -1
- package/dist/semantic/target-validator.js +47 -2
- package/dist/semantic/target-validator.js.map +1 -1
- package/dist/semantic/validator.d.ts +1 -0
- package/dist/semantic/validator.d.ts.map +1 -1
- package/dist/semantic/validator.js +304 -0
- package/dist/semantic/validator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/schemas/Perttool.AdvanceResult.v2.schema.json +334 -0
- package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
- package/schemas/{Perttool.AnalysisResult.v4.schema.json → Perttool.AnalysisResult.v5.schema.json} +10 -6
- package/schemas/{Perttool.CheckResult.v3.schema.json → Perttool.CheckResult.v4.schema.json} +14 -6
- package/schemas/Perttool.CliError.v1.schema.json +1 -1
- package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
- package/schemas/Perttool.Common.v1.schema.json +300 -4
- package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
- package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
- package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
- package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
- package/schemas/Perttool.InitResult.v1.schema.json +1 -1
- package/schemas/{Perttool.MutationResult.v3.schema.json → Perttool.MutationResult.v4.schema.json} +16 -5
- package/schemas/{Perttool.NextResult.v5.schema.json → Perttool.NextResult.v6.schema.json} +53 -8
- package/schemas/Perttool.OverrideDecision.v1.schema.json +1 -1
- package/schemas/Perttool.PlanAssuranceResult.v1.schema.json +77 -0
- package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
- package/schemas/{Perttool.ProjectResult.v3.schema.json → Perttool.ProjectResult.v4.schema.json} +15 -7
- package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
- package/schemas/Perttool.UnitMigrationResult.v3.schema.json +5 -3
- package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
|
@@ -45,30 +45,42 @@ const grammar1ValidationProfile = {
|
|
|
45
45
|
unsupportedVersionMessage: "Only grammar version 1 is supported",
|
|
46
46
|
temporalAnchorGrammarVersions: new Set(),
|
|
47
47
|
workEvents: false,
|
|
48
|
+
assuranceRecords: false,
|
|
48
49
|
};
|
|
49
50
|
const targetValidationProfile = {
|
|
50
51
|
supportedGrammarVersions: new Set([1, 2]),
|
|
51
52
|
unsupportedVersionMessage: "Only grammar versions 1 and 2 are supported",
|
|
52
53
|
temporalAnchorGrammarVersions: new Set([2]),
|
|
53
54
|
workEvents: false,
|
|
55
|
+
assuranceRecords: false,
|
|
54
56
|
};
|
|
55
57
|
const targetGrammar3ValidationProfile = {
|
|
56
58
|
supportedGrammarVersions: new Set([1, 2, 3]),
|
|
57
59
|
unsupportedVersionMessage: "Only grammar versions 1, 2, and 3 are supported",
|
|
58
60
|
temporalAnchorGrammarVersions: new Set([2, 3]),
|
|
59
61
|
workEvents: false,
|
|
62
|
+
assuranceRecords: false,
|
|
60
63
|
};
|
|
61
64
|
const targetGrammar4ValidationProfile = {
|
|
62
65
|
supportedGrammarVersions: new Set([1, 2, 3, 4]),
|
|
63
66
|
unsupportedVersionMessage: "Only grammar versions 1, 2, 3, and 4 are supported",
|
|
64
67
|
temporalAnchorGrammarVersions: new Set([2, 3, 4]),
|
|
65
68
|
workEvents: false,
|
|
69
|
+
assuranceRecords: false,
|
|
66
70
|
};
|
|
67
71
|
const targetGrammar5ValidationProfile = {
|
|
68
72
|
supportedGrammarVersions: new Set([1, 2, 3, 4, 5]),
|
|
69
73
|
unsupportedVersionMessage: "Only grammar versions 1, 2, 3, 4, and 5 are supported",
|
|
70
74
|
temporalAnchorGrammarVersions: new Set([2, 3, 4, 5]),
|
|
71
75
|
workEvents: true,
|
|
76
|
+
assuranceRecords: false,
|
|
77
|
+
};
|
|
78
|
+
const targetGrammar6ValidationProfile = {
|
|
79
|
+
supportedGrammarVersions: new Set([1, 2, 3, 4, 5, 6]),
|
|
80
|
+
unsupportedVersionMessage: "Only grammar versions 1, 2, 3, 4, 5, and 6 are supported",
|
|
81
|
+
temporalAnchorGrammarVersions: new Set([2, 3, 4, 5, 6]),
|
|
82
|
+
workEvents: true,
|
|
83
|
+
assuranceRecords: true,
|
|
72
84
|
};
|
|
73
85
|
function makeDiagnostic(code, severity, message, diagnosticSpan, helpTopic, entityId, related, data) {
|
|
74
86
|
return {
|
|
@@ -469,9 +481,295 @@ function validateWorkEvents(document, diagnostics) {
|
|
|
469
481
|
}
|
|
470
482
|
}
|
|
471
483
|
}
|
|
484
|
+
function assuranceDiagnostic(code, message, declaration, diagnosticSpan = declaration.idSpan, data) {
|
|
485
|
+
return makeDiagnostic(code, "error", message, diagnosticSpan, "syntax.plan-assurance", declaration.id, undefined, data);
|
|
486
|
+
}
|
|
487
|
+
function requiredAssuranceField(declaration, name, diagnostics) {
|
|
488
|
+
const field = fieldNamed(declaration, name);
|
|
489
|
+
if (field === undefined) {
|
|
490
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `${declaration.kind} ${declaration.id} is missing required field ${name}`, declaration));
|
|
491
|
+
}
|
|
492
|
+
return field;
|
|
493
|
+
}
|
|
494
|
+
function taskPairKey(predecessorTaskId, successorTaskId) {
|
|
495
|
+
return `${predecessorTaskId}\u0000${successorTaskId}`;
|
|
496
|
+
}
|
|
497
|
+
function validatePlanAssuranceSource(document, diagnostics) {
|
|
498
|
+
const project = document.declarations.find((declaration) => declaration.kind === "project");
|
|
499
|
+
if (project === undefined)
|
|
500
|
+
return;
|
|
501
|
+
const model = fieldNamed(project, "plan_assurance_model");
|
|
502
|
+
const hashModel = fieldNamed(project, "plan_assurance_hash_model");
|
|
503
|
+
if ((model === undefined) !== (hashModel === undefined)) {
|
|
504
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "project assurance model and hash model must be declared together", project, (model ?? hashModel).valueSpan));
|
|
505
|
+
}
|
|
506
|
+
for (const field of [model, hashModel]) {
|
|
507
|
+
if (field !== undefined &&
|
|
508
|
+
(typeof field.value !== "number" || field.value <= 0)) {
|
|
509
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `${field.name} must be a positive integer`, project, field.valueSpan));
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
const assuranceDeclarations = document.declarations.filter((declaration) => declaration.kind === "task_relation" ||
|
|
513
|
+
declaration.kind === "plan_seal" ||
|
|
514
|
+
declaration.kind === "task_outcome" ||
|
|
515
|
+
declaration.kind === "assurance_receipt");
|
|
516
|
+
if (assuranceDeclarations.length > 0 &&
|
|
517
|
+
(model === undefined || hashModel === undefined)) {
|
|
518
|
+
for (const declaration of assuranceDeclarations) {
|
|
519
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `${declaration.kind} requires both project assurance model fields`, declaration));
|
|
520
|
+
}
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
const tasks = document.declarations.filter((declaration) => declaration.kind === "task");
|
|
524
|
+
const tasksById = new Map(tasks.map((task) => [task.id, task]));
|
|
525
|
+
const gates = document.declarations.filter((declaration) => declaration.kind === "gate");
|
|
526
|
+
const gateTargets = new Map();
|
|
527
|
+
for (const gate of gates) {
|
|
528
|
+
const targets = gateTargets.get(gate.from) ?? [];
|
|
529
|
+
targets.push(gate.to);
|
|
530
|
+
gateTargets.set(gate.from, targets);
|
|
531
|
+
}
|
|
532
|
+
for (const targets of gateTargets.values())
|
|
533
|
+
targets.sort(compareStableStrings);
|
|
534
|
+
const gateOnlyReachable = (source, target) => {
|
|
535
|
+
if (source === target)
|
|
536
|
+
return true;
|
|
537
|
+
const pending = [source];
|
|
538
|
+
const seen = new Set(pending);
|
|
539
|
+
while (pending.length > 0) {
|
|
540
|
+
const current = pending.shift();
|
|
541
|
+
for (const next of gateTargets.get(current) ?? []) {
|
|
542
|
+
if (next === target)
|
|
543
|
+
return true;
|
|
544
|
+
if (!seen.has(next)) {
|
|
545
|
+
seen.add(next);
|
|
546
|
+
pending.push(next);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
return false;
|
|
551
|
+
};
|
|
552
|
+
const executionPairs = new Set();
|
|
553
|
+
for (const predecessor of tasks) {
|
|
554
|
+
for (const successor of tasks) {
|
|
555
|
+
if (predecessor !== successor &&
|
|
556
|
+
gateOnlyReachable(predecessor.to, successor.from)) {
|
|
557
|
+
executionPairs.add(taskPairKey(predecessor.id, successor.id));
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
const explicitByPair = new Map();
|
|
562
|
+
for (const relation of document.declarations.filter((declaration) => declaration.kind === "task_relation")) {
|
|
563
|
+
const modeField = requiredAssuranceField(relation, "mode", diagnostics);
|
|
564
|
+
const mode = modeField?.value;
|
|
565
|
+
const reason = fieldNamed(relation, "reason");
|
|
566
|
+
const predecessor = tasksById.get(relation.from);
|
|
567
|
+
const successor = tasksById.get(relation.to);
|
|
568
|
+
const key = taskPairKey(relation.from, relation.to);
|
|
569
|
+
if (predecessor === undefined ||
|
|
570
|
+
successor === undefined ||
|
|
571
|
+
predecessor === successor) {
|
|
572
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `task_relation ${relation.id} endpoints must be distinct current tasks`, relation, relation.arrowSpan));
|
|
573
|
+
}
|
|
574
|
+
const first = explicitByPair.get(key);
|
|
575
|
+
if (first !== undefined) {
|
|
576
|
+
diagnostics.push(makeDiagnostic("PTASSURE-101", "error", `Planning dependency ${relation.from} -> ${relation.to} is duplicated`, relation.arrowSpan, "syntax.plan-assurance", relation.id, [{ message: "First relation", span: first.arrowSpan }]));
|
|
577
|
+
}
|
|
578
|
+
else {
|
|
579
|
+
explicitByPair.set(key, relation);
|
|
580
|
+
}
|
|
581
|
+
const directExecution = executionPairs.has(key);
|
|
582
|
+
if ((mode === "both" || mode === "execution_only") &&
|
|
583
|
+
!directExecution) {
|
|
584
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `${String(mode)} relation requires a direct projected execution dependency`, relation, modeField?.valueSpan));
|
|
585
|
+
}
|
|
586
|
+
if (mode === "planning_only" && directExecution) {
|
|
587
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "planning_only relation must not duplicate a direct projected execution dependency", relation, modeField?.valueSpan));
|
|
588
|
+
}
|
|
589
|
+
if ((mode === "execution_only" || mode === "planning_only") &&
|
|
590
|
+
(reason === undefined ||
|
|
591
|
+
typeof reason.value !== "string" ||
|
|
592
|
+
reason.value.length === 0)) {
|
|
593
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `${String(mode)} relation requires a nonempty reason`, relation, reason?.valueSpan));
|
|
594
|
+
}
|
|
595
|
+
if (mode === "both" &&
|
|
596
|
+
reason !== undefined &&
|
|
597
|
+
(typeof reason.value !== "string" || reason.value.length === 0)) {
|
|
598
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "both relation reason must be nonempty when present", relation, reason.valueSpan));
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
const sealsByTask = new Map();
|
|
602
|
+
for (const seal of document.declarations.filter((declaration) => declaration.kind === "plan_seal")) {
|
|
603
|
+
const task = tasksById.get(seal.id);
|
|
604
|
+
if (task === undefined) {
|
|
605
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `plan_seal ${seal.id} must refer to a current task`, seal));
|
|
606
|
+
}
|
|
607
|
+
const first = sealsByTask.get(seal.id);
|
|
608
|
+
if (first !== undefined) {
|
|
609
|
+
diagnostics.push(makeDiagnostic("PTASSURE-101", "error", `Task ${seal.id} has more than one plan seal`, seal.idSpan, "syntax.plan-assurance", seal.id, [{ message: "First seal", span: first.idSpan }]));
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
sealsByTask.set(seal.id, seal);
|
|
613
|
+
}
|
|
614
|
+
requiredAssuranceField(seal, "accepted_contract", diagnostics);
|
|
615
|
+
requiredAssuranceField(seal, "accepted_basis", diagnostics);
|
|
616
|
+
const reason = requiredAssuranceField(seal, "reason", diagnostics);
|
|
617
|
+
if (reason !== undefined &&
|
|
618
|
+
(typeof reason.value !== "string" || reason.value.length === 0)) {
|
|
619
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `plan_seal ${seal.id} requires a nonempty reason`, seal, reason.valueSpan));
|
|
620
|
+
}
|
|
621
|
+
const acceptedInputs = fieldNamed(seal, "accepted_inputs");
|
|
622
|
+
if (acceptedInputs === undefined)
|
|
623
|
+
continue;
|
|
624
|
+
const values = acceptedInputs.value;
|
|
625
|
+
if (values.length === 0) {
|
|
626
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "accepted_inputs must be omitted when the accepted input set is empty", seal, acceptedInputs.valueSpan));
|
|
627
|
+
}
|
|
628
|
+
for (let index = 1; index < values.length; index += 1) {
|
|
629
|
+
if (compareStableStrings(values[index - 1].predecessorTaskId, values[index].predecessorTaskId) >= 0) {
|
|
630
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "accepted_inputs must have unique predecessor IDs in ascending order", seal, values[index].predecessorSpan));
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
const outcomesByTask = new Map();
|
|
635
|
+
for (const outcome of document.declarations.filter((declaration) => declaration.kind === "task_outcome")) {
|
|
636
|
+
const modelField = requiredAssuranceField(outcome, "model", diagnostics);
|
|
637
|
+
const taskField = requiredAssuranceField(outcome, "task", diagnostics);
|
|
638
|
+
requiredAssuranceField(outcome, "against_basis", diagnostics);
|
|
639
|
+
const statusField = requiredAssuranceField(outcome, "status", diagnostics);
|
|
640
|
+
const reason = requiredAssuranceField(outcome, "reason", diagnostics);
|
|
641
|
+
if (modelField !== undefined &&
|
|
642
|
+
(typeof modelField.value !== "number" || modelField.value <= 0)) {
|
|
643
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "task outcome model must be a positive integer", outcome, modelField.valueSpan));
|
|
644
|
+
}
|
|
645
|
+
const taskId = typeof taskField?.value === "string" ? taskField.value : "";
|
|
646
|
+
if (!tasksById.has(taskId)) {
|
|
647
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `task_outcome ${outcome.id} must refer to a current task`, outcome, taskField?.valueSpan));
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
const task = tasksById.get(taskId);
|
|
651
|
+
if ((fieldNamed(task, "status")?.value ?? "planned") !== "done") {
|
|
652
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `task_outcome ${outcome.id} requires a completed task`, outcome, taskField?.valueSpan));
|
|
653
|
+
}
|
|
654
|
+
const first = outcomesByTask.get(taskId);
|
|
655
|
+
if (first !== undefined) {
|
|
656
|
+
diagnostics.push(makeDiagnostic("PTASSURE-101", "error", `Task ${taskId} has more than one outcome record`, taskField.valueSpan, "syntax.plan-assurance", outcome.id, [{ message: "First outcome", span: first.idSpan }]));
|
|
657
|
+
}
|
|
658
|
+
else {
|
|
659
|
+
outcomesByTask.set(taskId, outcome);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
if (reason !== undefined &&
|
|
663
|
+
(typeof reason.value !== "string" || reason.value.length === 0)) {
|
|
664
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `task_outcome ${outcome.id} requires a nonempty reason`, outcome, reason.valueSpan));
|
|
665
|
+
}
|
|
666
|
+
const summary = fieldNamed(outcome, "summary");
|
|
667
|
+
if (statusField?.value === "changed" &&
|
|
668
|
+
(summary === undefined ||
|
|
669
|
+
typeof summary.value !== "string" ||
|
|
670
|
+
summary.value.length === 0)) {
|
|
671
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `changed task_outcome ${outcome.id} requires a nonempty summary`, outcome, summary?.valueSpan));
|
|
672
|
+
}
|
|
673
|
+
if (statusField?.value === "conformant" && summary !== undefined) {
|
|
674
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `conformant task_outcome ${outcome.id} forbids summary`, outcome, summary.valueSpan));
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
const frontierPairs = new Map();
|
|
678
|
+
for (const receipt of document.declarations.filter((declaration) => declaration.kind === "assurance_receipt")) {
|
|
679
|
+
const modelField = requiredAssuranceField(receipt, "model", diagnostics);
|
|
680
|
+
requiredAssuranceField(receipt, "receipt_hash", diagnostics);
|
|
681
|
+
const producerField = requiredAssuranceField(receipt, "producer", diagnostics);
|
|
682
|
+
requiredAssuranceField(receipt, "producer_contract_hash", diagnostics);
|
|
683
|
+
requiredAssuranceField(receipt, "producer_assurance_hash", diagnostics);
|
|
684
|
+
requiredAssuranceField(receipt, "outcome", diagnostics);
|
|
685
|
+
const consumersField = requiredAssuranceField(receipt, "consumers", diagnostics);
|
|
686
|
+
if (modelField !== undefined &&
|
|
687
|
+
(typeof modelField.value !== "number" || modelField.value <= 0)) {
|
|
688
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "assurance receipt model must be a positive integer", receipt, modelField.valueSpan));
|
|
689
|
+
}
|
|
690
|
+
const producer = typeof producerField?.value === "string"
|
|
691
|
+
? producerField.value
|
|
692
|
+
: "";
|
|
693
|
+
if (tasksById.has(producer)) {
|
|
694
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `Assurance receipt producer ${producer} must be historical, not a current task`, receipt, producerField?.valueSpan));
|
|
695
|
+
}
|
|
696
|
+
if (consumersField === undefined)
|
|
697
|
+
continue;
|
|
698
|
+
const consumers = consumersField.value;
|
|
699
|
+
if (consumers.length === 0) {
|
|
700
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "assurance receipt consumers must not be empty", receipt, consumersField.valueSpan));
|
|
701
|
+
}
|
|
702
|
+
for (let index = 0; index < consumers.length; index += 1) {
|
|
703
|
+
const consumer = consumers[index];
|
|
704
|
+
if (!tasksById.has(consumer.consumerTaskId)) {
|
|
705
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", `Assurance consumer ${consumer.consumerTaskId} is not a current task`, receipt, consumer.consumerSpan));
|
|
706
|
+
}
|
|
707
|
+
const pair = taskPairKey(producer, consumer.consumerTaskId);
|
|
708
|
+
const first = frontierPairs.get(pair);
|
|
709
|
+
if (first !== undefined) {
|
|
710
|
+
diagnostics.push(makeDiagnostic("PTASSURE-101", "error", `Frontier planning input ${producer} -> ${consumer.consumerTaskId} is duplicated`, consumer.consumerSpan, "syntax.plan-assurance", receipt.id, [{ message: "First receipt", span: first.idSpan }]));
|
|
711
|
+
}
|
|
712
|
+
else {
|
|
713
|
+
frontierPairs.set(pair, receipt);
|
|
714
|
+
}
|
|
715
|
+
if (index > 0 &&
|
|
716
|
+
compareStableStrings(consumers[index - 1].consumerTaskId, consumer.consumerTaskId) >= 0) {
|
|
717
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-101", "assurance receipt consumers must have unique task IDs in ascending order", receipt, consumer.consumerSpan));
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
if (hasErrors(diagnostics))
|
|
722
|
+
return;
|
|
723
|
+
const successors = new Map(tasks.map((task) => [task.id, []]));
|
|
724
|
+
for (const key of executionPairs) {
|
|
725
|
+
const [predecessorTaskId, successorTaskId] = key.split("\u0000");
|
|
726
|
+
const explicit = explicitByPair.get(key);
|
|
727
|
+
if (explicit !== undefined &&
|
|
728
|
+
fieldNamed(explicit, "mode")?.value === "execution_only")
|
|
729
|
+
continue;
|
|
730
|
+
successors.get(predecessorTaskId).push(successorTaskId);
|
|
731
|
+
}
|
|
732
|
+
for (const [key, relation] of explicitByPair) {
|
|
733
|
+
if (fieldNamed(relation, "mode")?.value !== "planning_only")
|
|
734
|
+
continue;
|
|
735
|
+
const [predecessorTaskId, successorTaskId] = key.split("\u0000");
|
|
736
|
+
successors.get(predecessorTaskId).push(successorTaskId);
|
|
737
|
+
}
|
|
738
|
+
for (const values of successors.values())
|
|
739
|
+
values.sort(compareStableStrings);
|
|
740
|
+
const state = new Map();
|
|
741
|
+
const stack = [];
|
|
742
|
+
let witness = null;
|
|
743
|
+
const visit = (taskId) => {
|
|
744
|
+
if (witness !== null)
|
|
745
|
+
return;
|
|
746
|
+
state.set(taskId, "visiting");
|
|
747
|
+
stack.push(taskId);
|
|
748
|
+
for (const successor of successors.get(taskId) ?? []) {
|
|
749
|
+
if (state.get(successor) === "visiting") {
|
|
750
|
+
witness = [...stack.slice(stack.indexOf(successor)), successor];
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
if (state.get(successor) === undefined)
|
|
754
|
+
visit(successor);
|
|
755
|
+
}
|
|
756
|
+
stack.pop();
|
|
757
|
+
state.set(taskId, "visited");
|
|
758
|
+
};
|
|
759
|
+
for (const taskId of [...tasksById.keys()].sort(compareStableStrings)) {
|
|
760
|
+
if (state.get(taskId) === undefined)
|
|
761
|
+
visit(taskId);
|
|
762
|
+
}
|
|
763
|
+
const cycleWitness = witness;
|
|
764
|
+
if (cycleWitness !== null) {
|
|
765
|
+
diagnostics.push(assuranceDiagnostic("PTASSURE-102", `Effective planning dependency cycle: ${cycleWitness.join(" -> ")}`, project, project.idSpan, { cycle_task_ids: cycleWitness }));
|
|
766
|
+
}
|
|
767
|
+
}
|
|
472
768
|
function validateGraph(document, diagnostics, profile) {
|
|
473
769
|
const firstById = new Map();
|
|
474
770
|
for (const declaration of document.declarations) {
|
|
771
|
+
if (declaration.kind === "plan_seal")
|
|
772
|
+
continue;
|
|
475
773
|
if (reservedWords.has(declaration.id)) {
|
|
476
774
|
diagnostics.push(makeDiagnostic("PTSEM-202", "error", `Reserved word ${declaration.id} cannot be used as an entity ID`, declaration.idSpan, "syntax", declaration.id));
|
|
477
775
|
}
|
|
@@ -692,6 +990,9 @@ function validateDocumentWithProfile(document, parseDiagnostics, profile) {
|
|
|
692
990
|
}
|
|
693
991
|
if (!hasErrors(diagnostics))
|
|
694
992
|
validateGraph(document, diagnostics, profile);
|
|
993
|
+
if (!hasErrors(diagnostics) && profile.assuranceRecords) {
|
|
994
|
+
validatePlanAssuranceSource(document, diagnostics);
|
|
995
|
+
}
|
|
695
996
|
return sortDiagnostics(diagnostics);
|
|
696
997
|
}
|
|
697
998
|
export function validateTargetDocumentSemantics(document, parseDiagnostics = []) {
|
|
@@ -706,4 +1007,7 @@ export function validateTargetGrammar4DocumentSemantics(document, parseDiagnosti
|
|
|
706
1007
|
export function validateTargetGrammar5DocumentSemantics(document, parseDiagnostics = []) {
|
|
707
1008
|
return validateDocumentWithProfile(document, parseDiagnostics, targetGrammar5ValidationProfile);
|
|
708
1009
|
}
|
|
1010
|
+
export function validateTargetGrammar6DocumentSemantics(document, parseDiagnostics = []) {
|
|
1011
|
+
return validateDocumentWithProfile(document, parseDiagnostics, targetGrammar6ValidationProfile);
|
|
1012
|
+
}
|
|
709
1013
|
//# sourceMappingURL=validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/semantic/validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/semantic/validator.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const TOOL_VERSION = "0.
|
|
1
|
+
export declare const TOOL_VERSION = "0.7.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const TOOL_VERSION = "0.
|
|
1
|
+
export const TOOL_VERSION = "0.7.0";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|