@sun-asterisk/sungen 3.3.0-alpha.6 → 3.3.0-alpha.8
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/dist/cli/case-triage-hint.d.ts +14 -0
- package/dist/cli/case-triage-hint.d.ts.map +1 -0
- package/dist/cli/case-triage-hint.js +23 -0
- package/dist/cli/case-triage-hint.js.map +1 -0
- package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
- package/dist/cli/commands/contract-derive-command.js +4 -1
- package/dist/cli/commands/contract-derive-command.js.map +1 -1
- package/dist/cli/commands/contract.d.ts.map +1 -1
- package/dist/cli/commands/contract.js +5 -2
- package/dist/cli/commands/contract.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +50 -16
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/gate.d.ts.map +1 -1
- package/dist/cli/commands/gate.js +2 -1
- package/dist/cli/commands/gate.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +14 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/journey.d.ts.map +1 -1
- package/dist/cli/commands/journey.js +4 -2
- package/dist/cli/commands/journey.js.map +1 -1
- package/dist/cli/commands/next.d.ts +7 -3
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +28 -5
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/triage.d.ts.map +1 -1
- package/dist/cli/commands/triage.js +5 -3
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +6 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/json-error-on-exit.d.ts +34 -0
- package/dist/cli/json-error-on-exit.d.ts.map +1 -0
- package/dist/cli/json-error-on-exit.js +63 -0
- package/dist/cli/json-error-on-exit.js.map +1 -0
- package/dist/cli/project-sungen-invocation.d.ts +6 -0
- package/dist/cli/project-sungen-invocation.d.ts.map +1 -1
- package/dist/cli/project-sungen-invocation.js +19 -0
- package/dist/cli/project-sungen-invocation.js.map +1 -1
- package/dist/cli/run-command-hints.d.ts +9 -0
- package/dist/cli/run-command-hints.d.ts.map +1 -0
- package/dist/cli/run-command-hints.js +84 -0
- package/dist/cli/run-command-hints.js.map +1 -0
- package/dist/cli/waiting-for-you-block.d.ts +18 -0
- package/dist/cli/waiting-for-you-block.d.ts.map +1 -0
- package/dist/cli/waiting-for-you-block.js +22 -0
- package/dist/cli/waiting-for-you-block.js.map +1 -0
- package/dist/contract/derive-free-feature.d.ts +2 -0
- package/dist/contract/derive-free-feature.d.ts.map +1 -1
- package/dist/contract/derive-free-feature.js +22 -0
- package/dist/contract/derive-free-feature.js.map +1 -1
- package/dist/decisions/legacy-waiver-migration.d.ts +2 -0
- package/dist/decisions/legacy-waiver-migration.d.ts.map +1 -1
- package/dist/decisions/legacy-waiver-migration.js +5 -2
- package/dist/decisions/legacy-waiver-migration.js.map +1 -1
- package/dist/exporters/csv-exporter.d.ts +11 -2
- package/dist/exporters/csv-exporter.d.ts.map +1 -1
- package/dist/exporters/csv-exporter.js +8 -4
- package/dist/exporters/csv-exporter.js.map +1 -1
- package/dist/exporters/matrix/export.d.ts +6 -1
- package/dist/exporters/matrix/export.d.ts.map +1 -1
- package/dist/exporters/matrix/export.js +11 -4
- package/dist/exporters/matrix/export.js.map +1 -1
- package/dist/exporters/xlsx-exporter.d.ts +3 -2
- package/dist/exporters/xlsx-exporter.d.ts.map +1 -1
- package/dist/exporters/xlsx-exporter.js +4 -4
- package/dist/exporters/xlsx-exporter.js.map +1 -1
- package/dist/graph/board-human-actions.d.ts +5 -0
- package/dist/graph/board-human-actions.d.ts.map +1 -0
- package/dist/graph/board-human-actions.js +83 -0
- package/dist/graph/board-human-actions.js.map +1 -0
- package/dist/graph/evaluate-graph.d.ts +18 -0
- package/dist/graph/evaluate-graph.d.ts.map +1 -1
- package/dist/graph/evaluate-graph.js +31 -6
- package/dist/graph/evaluate-graph.js.map +1 -1
- package/dist/graph/human-action.d.ts +21 -0
- package/dist/graph/human-action.d.ts.map +1 -0
- package/dist/graph/human-action.js +3 -0
- package/dist/graph/human-action.js.map +1 -0
- package/dist/graph/node-decl.d.ts +9 -0
- package/dist/graph/node-decl.d.ts.map +1 -1
- package/dist/graph/node-decl.js +4 -1
- package/dist/graph/node-decl.js.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.js +16 -3
- package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
- package/dist/graph/nodes/test-case-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-nodes.js +16 -4
- package/dist/graph/nodes/test-case-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.js +1 -0
- package/dist/graph/nodes/unit-audit-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
- package/dist/graph/nodes/unit-contract-node.js +8 -0
- package/dist/graph/nodes/unit-contract-node.js.map +1 -1
- package/dist/graph/unit-artifact-probes.d.ts.map +1 -1
- package/dist/graph/unit-artifact-probes.js +3 -1
- package/dist/graph/unit-artifact-probes.js.map +1 -1
- package/dist/harness/catalog/gate-rules.yaml +1 -1
- package/dist/harness/gates/audit-report-verification.d.ts +2 -0
- package/dist/harness/gates/audit-report-verification.d.ts.map +1 -1
- package/dist/harness/gates/audit-report-verification.js +8 -3
- package/dist/harness/gates/audit-report-verification.js.map +1 -1
- package/dist/harness/gates/delivery-checklist.d.ts.map +1 -1
- package/dist/harness/gates/delivery-checklist.js +9 -1
- package/dist/harness/gates/delivery-checklist.js.map +1 -1
- package/dist/harness/gates/in-run-decision-check.d.ts.map +1 -1
- package/dist/harness/gates/in-run-decision-check.js +10 -3
- package/dist/harness/gates/in-run-decision-check.js.map +1 -1
- package/dist/harness/journey.d.ts +21 -0
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +61 -11
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/next-step.d.ts +16 -0
- package/dist/harness/next-step.d.ts.map +1 -1
- package/dist/harness/next-step.js +14 -0
- package/dist/harness/next-step.js.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts +3 -2
- package/dist/hooks/guard-tty-spoof-rule.d.ts.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.js +2 -2
- package/dist/hooks/guard-tty-spoof-rule.js.map +1 -1
- package/dist/hooks/hand-back-core.d.ts +5 -2
- package/dist/hooks/hand-back-core.d.ts.map +1 -1
- package/dist/hooks/hand-back-core.js +10 -4
- package/dist/hooks/hand-back-core.js.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts +2 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.js +4 -1
- package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
- package/dist/hooks/stop-next-step-hook.d.ts.map +1 -1
- package/dist/hooks/stop-next-step-hook.js +1 -0
- package/dist/hooks/stop-next-step-hook.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
- package/package.json +3 -3
- package/src/cli/case-triage-hint.ts +31 -0
- package/src/cli/commands/contract-derive-command.ts +3 -1
- package/src/cli/commands/contract.ts +5 -2
- package/src/cli/commands/delivery.ts +49 -16
- package/src/cli/commands/gate.ts +2 -1
- package/src/cli/commands/generate.ts +13 -2
- package/src/cli/commands/journey.ts +4 -2
- package/src/cli/commands/next.ts +30 -9
- package/src/cli/commands/triage.ts +5 -3
- package/src/cli/commands/update.ts +6 -2
- package/src/cli/index.ts +4 -0
- package/src/cli/json-error-on-exit.ts +72 -0
- package/src/cli/project-sungen-invocation.ts +20 -0
- package/src/cli/run-command-hints.ts +47 -0
- package/src/cli/waiting-for-you-block.ts +27 -0
- package/src/contract/derive-free-feature.ts +21 -0
- package/src/decisions/legacy-waiver-migration.ts +5 -1
- package/src/exporters/csv-exporter.ts +12 -4
- package/src/exporters/matrix/export.ts +11 -4
- package/src/exporters/xlsx-exporter.ts +5 -4
- package/src/graph/board-human-actions.ts +80 -0
- package/src/graph/evaluate-graph.ts +39 -8
- package/src/graph/human-action.ts +33 -0
- package/src/graph/node-decl.ts +11 -0
- package/src/graph/nodes/test-case-contract-nodes.ts +20 -4
- package/src/graph/nodes/test-case-nodes.ts +19 -5
- package/src/graph/nodes/unit-audit-nodes.ts +2 -1
- package/src/graph/nodes/unit-contract-node.ts +12 -1
- package/src/graph/unit-artifact-probes.ts +3 -1
- package/src/harness/catalog/gate-rules.yaml +1 -1
- package/src/harness/gates/audit-report-verification.ts +7 -2
- package/src/harness/gates/delivery-checklist.ts +11 -1
- package/src/harness/gates/in-run-decision-check.ts +11 -4
- package/src/harness/journey.ts +79 -8
- package/src/harness/next-step.ts +27 -1
- package/src/hooks/guard-tty-spoof-rule.ts +5 -4
- package/src/hooks/hand-back-core.ts +11 -5
- package/src/hooks/session-start-unit-state-hook.ts +4 -1
- package/src/hooks/stop-next-step-hook.ts +1 -0
- package/src/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-audit-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-audit-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"unit-audit-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-audit-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAwB,YAAY,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,sFAAsF;AACtF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAQvC,CAAC;AAEF,0GAA0G;AAC1G,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,EAAE,CAItD;AAMD,eAAO,MAAM,gBAAgB,EAAE,SAAS,YAAY,EA4DnD,CAAC"}
|
|
@@ -65,6 +65,7 @@ exports.UNIT_AUDIT_NODES = [
|
|
|
65
65
|
command: `sungen audit --screen ${s.unit} --accept-viewpoint`,
|
|
66
66
|
because: 'test-viewpoint.md changed since the accepted baseline, so the ledger and traceability axes are not evidence until a QA confirms the new declaration. A decision, not a step: an agent presents it and does not run it — accepting the yardstick you just wrote makes both axes read 100% by construction',
|
|
67
67
|
}),
|
|
68
|
+
human: (0, node_decl_1.humanStep)('accept-viewpoint'),
|
|
68
69
|
},
|
|
69
70
|
{
|
|
70
71
|
id: 'unit.repair-findings', title: 'Repair the named findings', actor: 'ai', granularity: 'unit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-audit-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/unit-audit-nodes.ts"],"names":[],"mappings":";;;AAyBA,0CAIC;AA7BD;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"unit-audit-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/unit-audit-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-contract-node.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"unit-contract-node.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAkC,YAAY,EAAe,MAAM,cAAc,CAAC;AAgDzF,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EAiCtD,CAAC"}
|
|
@@ -49,6 +49,8 @@ function contractStep(s) {
|
|
|
49
49
|
}
|
|
50
50
|
return { kind: 'decide', command: approveCmd(s), because: `${c.review} approved scenario(s) changed since QA approved them (changed, not weaker) — review blocks \`sungen delivery\` until QA re-approves. ${HUMAN_ONLY}` };
|
|
51
51
|
}
|
|
52
|
+
/** What the human does for the step contractStep offered: approve, commit / restore through review, or read the verdict. */
|
|
53
|
+
const contractActionKind = (command) => command.startsWith('sungen contract approve') ? 'contract-approve' : command.startsWith('sungen contract check') ? 'contract-review' : 'contract-commit';
|
|
52
54
|
const CONTRACT_RULES = ['contract.hash-changed', 'contract.oracle-weakened', 'contract.target-changed', 'contract.assertion-lost', 'contract.lock-uncommitted'];
|
|
53
55
|
/** The verdict is a pass and it was built: nothing blocks, nothing to repair. */
|
|
54
56
|
const verdictClean = (s) => !s.contract.error && s.contract.verdict === 'pass';
|
|
@@ -65,6 +67,11 @@ exports.UNIT_CONTRACT_NODES = [
|
|
|
65
67
|
active: (s) => Boolean(s.contract),
|
|
66
68
|
satisfied: nothingToDecide,
|
|
67
69
|
step: contractStep,
|
|
70
|
+
human: (_s, step) => {
|
|
71
|
+
const kind = contractActionKind(step.command);
|
|
72
|
+
// A lock repair is a commit (or `git checkout --`) after review — prose, never a sungen command to copy.
|
|
73
|
+
return [{ command: step.command, reason: step.because, kind, ...(kind === 'contract-commit' ? { instruction: true } : {}) }];
|
|
74
|
+
},
|
|
68
75
|
// A hard verdict must not wait behind a re-audit (#940): the audit's PASS says nothing about it —
|
|
69
76
|
// a broken approved check, or a lock that is not what QA approved and committed (contract.lock-
|
|
70
77
|
// uncommitted, hard in `contract check`; the step names that repair first). What stays behind the
|
|
@@ -83,6 +90,7 @@ exports.UNIT_CONTRACT_NODES = [
|
|
|
83
90
|
command: approveCmd(s),
|
|
84
91
|
because: `${s.contract.proposed} scenario(s) have no approved contract yet — approving locks the checks QA reviewed, so a later edit that weakens one (a healer's included) fails \`sungen contract check\`. ${HUMAN_ONLY}; proposed scenarios do not block`,
|
|
85
92
|
}),
|
|
93
|
+
human: (0, node_decl_1.humanStep)('contract-approve'),
|
|
86
94
|
},
|
|
87
95
|
];
|
|
88
96
|
//# sourceMappingURL=unit-contract-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-contract-node.js","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,
|
|
1
|
+
{"version":3,"file":"unit-contract-node.js","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-artifact-probes.d.ts","sourceRoot":"","sources":["../../src/graph/unit-artifact-probes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unit-artifact-probes.d.ts","sourceRoot":"","sources":["../../src/graph/unit-artifact-probes.ts"],"names":[],"mappings":"AAaA,mHAAmH;AACnH,eAAO,MAAM,WAAW,QAAoC,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,MAAmD,CAAC;AAE7F,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAajE;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKzE;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI3E;AAED,uHAAuH;AACvH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAGhE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAK5E"}
|
|
@@ -52,6 +52,7 @@ const yaml_1 = require("yaml");
|
|
|
52
52
|
const unit_paths_1 = require("../harness/unit-paths");
|
|
53
53
|
const read_text_1 = require("../harness/read-text");
|
|
54
54
|
const playwright_report_parser_1 = require("../exporters/playwright-report-parser");
|
|
55
|
+
const csv_exporter_1 = require("../exporters/csv-exporter");
|
|
55
56
|
/** `<f>-test-result[.<os>][.<env>].json` — a mobile run writes the OS into the name, an env run the env (#868). */
|
|
56
57
|
exports.RESULT_FILE = /-test-result(?:\.[^.]+)*\.json$/;
|
|
57
58
|
const readIfExists = (p) => (fs.existsSync(p) ? (0, read_text_1.readTextFile)(p) : '');
|
|
@@ -124,7 +125,8 @@ function countFailedResults(resultFiles) {
|
|
|
124
125
|
}
|
|
125
126
|
function hasDeliverableFor(projectRoot, slug) {
|
|
126
127
|
try {
|
|
127
|
-
|
|
128
|
+
// A `--preview` DRAFT is not a deliverable (#965).
|
|
129
|
+
return fs.readdirSync(path.join(projectRoot, 'qa', 'deliverables')).some((f) => f.startsWith(`${slug}-`) && !(0, csv_exporter_1.isDraftDeliverable)(f));
|
|
128
130
|
}
|
|
129
131
|
catch {
|
|
130
132
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-artifact-probes.js","sourceRoot":"","sources":["../../src/graph/unit-artifact-probes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"unit-artifact-probes.js","sourceRoot":"","sources":["../../src/graph/unit-artifact-probes.ts"],"names":[],"mappings":"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"}
|
|
@@ -586,7 +586,7 @@ rules:
|
|
|
586
586
|
severity: review
|
|
587
587
|
kind: hard
|
|
588
588
|
rationale: "A check on a JS value, API or canvas result is not tied to an element and cannot be compared automatically (DOS-14.6); it always goes to review and is locked at review."
|
|
589
|
-
fix: "QA reviews the verbatim step and its file:line, then
|
|
589
|
+
fix: "QA reviews the verbatim step and its file:line (`sungen contract check`), then accepts it as it reads now on a terminal: `sungen contract approve --screen <unit> --scenario <id> --accept-opaque`. A plain re-approve never clears it."
|
|
590
590
|
since: "p0"
|
|
591
591
|
offAllowed: false
|
|
592
592
|
- id: contract.nondeterministic
|
|
@@ -18,6 +18,8 @@ export interface RulesStamp {
|
|
|
18
18
|
catalogHash: string | null;
|
|
19
19
|
rulesHash: string | null;
|
|
20
20
|
}
|
|
21
|
+
/** rulesProblem's answer for a report that records no rules (`provenance.catalogHash` / `rulesHash`): an older sungen wrote it. */
|
|
22
|
+
export declare const NO_RULES_STAMP = "audited by an older sungen, which did not record the rules it scored with";
|
|
21
23
|
/**
|
|
22
24
|
* Why the rules a report was scored by (`was`) cannot be taken as this sungen's (`now`), or null when
|
|
23
25
|
* they are the same KNOWN rules. Missing or `unknown` on either side is a problem (fail closed):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-report-verification.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":"AAoCA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,gBAAgB,GAAG,sBAAsB,GAChH,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAEtJ,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,uCAAuC;IACvC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AASD,MAAM,WAAW,UAAU;IAAG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"audit-report-verification.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":"AAoCA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,gBAAgB,GAAG,sBAAsB,GAChH,iBAAiB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAEtJ,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,uCAAuC;IACvC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AASD,MAAM,WAAW,UAAU;IAAG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AACpF,mIAAmI;AACnI,eAAO,MAAM,cAAc,8EAA8E,CAAC;AAI1G;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAM5E;AAOD,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErE,wGAAwG;AACxG,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAOtD,CAAC;AA+BF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI9E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA2CtF;AAcD,kEAAkE;AAClE,eAAO,MAAM,WAAW,GAAI,GAAG,iBAAiB,KAAG,OAAiC,CAAC;AAErF,8FAA8F;AAC9F,eAAO,MAAM,WAAW,GAAI,GAAG,iBAAiB,KAAG,OAA4D,CAAC;AAEhH,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhF"}
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.auditPassed = exports.auditCounts = exports.AUDIT_REPORT_KEYS = void 0;
|
|
36
|
+
exports.auditPassed = exports.auditCounts = exports.AUDIT_REPORT_KEYS = exports.NO_RULES_STAMP = void 0;
|
|
37
37
|
exports.rulesProblem = rulesProblem;
|
|
38
38
|
exports.auditReportPath = auditReportPath;
|
|
39
39
|
exports.currentDecisionsHash = currentDecisionsHash;
|
|
@@ -80,6 +80,8 @@ function provenanceField(r, key) {
|
|
|
80
80
|
return typeof v === 'string' && v ? v : null;
|
|
81
81
|
}
|
|
82
82
|
const writtenBy = (r) => provenanceField(r, 'sungenVersion');
|
|
83
|
+
/** rulesProblem's answer for a report that records no rules (`provenance.catalogHash` / `rulesHash`): an older sungen wrote it. */
|
|
84
|
+
exports.NO_RULES_STAMP = 'audited by an older sungen, which did not record the rules it scored with';
|
|
83
85
|
/** What getProvenance writes when it could not read a catalog — never a match, on either side. */
|
|
84
86
|
const UNKNOWN = 'unknown';
|
|
85
87
|
/**
|
|
@@ -89,7 +91,7 @@ const UNKNOWN = 'unknown';
|
|
|
89
91
|
*/
|
|
90
92
|
function rulesProblem(was, now) {
|
|
91
93
|
if (!was.catalogHash || !was.rulesHash)
|
|
92
|
-
return
|
|
94
|
+
return exports.NO_RULES_STAMP;
|
|
93
95
|
if ([was.catalogHash, was.rulesHash].includes(UNKNOWN))
|
|
94
96
|
return 'the rules that scored it are unknown (provenance says "unknown")';
|
|
95
97
|
if (!now.catalogHash || !now.rulesHash || [now.catalogHash, now.rulesHash].includes(UNKNOWN))
|
|
@@ -192,8 +194,11 @@ function verifyAuditReport(projectRoot, unit) {
|
|
|
192
194
|
}
|
|
193
195
|
const stale = [];
|
|
194
196
|
const rules = otherRules(r);
|
|
197
|
+
// A report from before the rules stamp reads in plain words, with the one command that clears it (#966).
|
|
195
198
|
if (rules)
|
|
196
|
-
stale.push({ code: 'rules-changed', message:
|
|
199
|
+
stale.push({ code: 'rules-changed', message: rules === exports.NO_RULES_STAMP
|
|
200
|
+
? `audited by an older sungen${writtenBy(r) ? ` (${writtenBy(r)})` : ''} — run \`sungen audit --screen ${unit}\` once`
|
|
201
|
+
: `${writtenBy(r) ? `written by sungen ${writtenBy(r)}, ` : ''}${rules}` });
|
|
197
202
|
if (r.decisionsHash !== current)
|
|
198
203
|
stale.push({ code: 'decisions-changed', message: 'the gate-override decisions changed since this audit' });
|
|
199
204
|
if (!unitDir)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-report-verification.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,oCAMC;AAgDD,0CAEC;AAGD,oDAIC;AAED,8CAwCC;AAqBD,sDAMC;AAxMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,uCAAyB;AACzB,2CAA6B;AAC7B,yDAA+D;AAC/D,8CAA2C;AAC3C,8CAA8C;AAC9C,yDAA+E;AAC/E,6DAAuD;AACvD,yDAA6E;AAC7E,qDAAwD;AACxD,+DAAiG;AAkBjG,+EAA+E;AAC/E,SAAS,eAAe,CAAC,CAA0B,EAAE,GAAkD;IACrG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,UAAsC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxH,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,CAA0B,EAAiB,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAGrG,kGAAkG;AAClG,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAe,EAAE,GAAe;IAC3D,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,+EAA+E,CAAC;IAC/H,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,kEAAkE,CAAC;IAClI,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,+FAA+F,CAAC;IACrM,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,kCAAkC,GAAG,CAAC,WAAW,YAAY,GAAG,CAAC,SAAS,iCAAiC,GAAG,CAAC,WAAW,YAAY,GAAG,CAAC,SAAS,GAAG,CAAC;AAChK,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,CAA0B;IAC5C,OAAO,YAAY,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,IAAA,0BAAa,GAAE,CAAC,CAAC;AACvI,CAAC;AAGD,MAAM,GAAG,GAAG,QAAiB,CAAC;AAC9B,wGAAwG;AAC3F,QAAA,iBAAiB,GAA6B;IACzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IACzG,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG;IACrG,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG;IAC3G,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ;IAC1G,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAC1D,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS;CACtH,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAChG,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAqB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAa,CAAC,CAAC;AAE5H,wFAAwF;AACxF,SAAS,cAAc,CAAC,CAA0B;IAChD,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,yBAAiB,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC;aACnG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IACnI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;IACtJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;aACrG,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ,KAAK,oCAAe,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,UAAU,gBAAgB,oCAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACnO,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;YAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAC1L,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;IACxK,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,WAAmB,EAAE,IAAY;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxF,CAAC;AAED,6FAA6F;AAC7F,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,oCAAc,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,OAAO,IAAA,2CAAqB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;AACjE,CAAC;AAED,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,IAAY;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,SAAS,GAAG,IAAA,2CAAqB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,oCAAc,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,KAAiB,EAAE,QAAuC,EAAE,SAAyC,IAAI,EAAE,QAAkB,EAAE,EAAqB,EAAE,CACpK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC;IAElF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAClH,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjC,uGAAuG;QACvG,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,IAAI,IAAA,2CAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClJ,MAAM,EAAE,GAAG,cAAc,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACzF,IAAI,OAAO,KAAK,qCAAoB,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,kEAAkE,EAAE,CAAC,CAAC,CAAC;QAChJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,6DAA6D,EAAE,CAAC,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAClI,IAAI,CAAC,CAAC,aAAa,KAAK,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAC;IAC5I,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,IAAI,2EAA2E,EAAE,CAAC,CAAC,CAAC;IACpK,IAAI,CAAC,CAAC,UAAU,KAAK,IAAA,kCAAe,EAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,aAAuB,CAAC,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAA,2CAAwB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,CAA0B,EAAyC,EAAE,CAAC,CAAC;IAC9F,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iCAAiC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,yFAAyF;CACxJ,CAAC,CAAC;AAEH,8HAA8H;AAC9H,SAAS,cAAc,CAAC,CAA0B,EAAE,SAA4B;IAC9E,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4HAA4H,EAAE,CAAC;IACjL,OAAO,IAAA,2CAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,kEAAkE;AAC3D,MAAM,WAAW,GAAG,CAAC,CAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;AAAxE,QAAA,WAAW,eAA6D;AAErF,8FAA8F;AACvF,MAAM,WAAW,GAAG,CAAC,CAAoB,EAAW,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC;AAAnG,QAAA,WAAW,eAAwF;AAEhH,wFAAwF;AACxF,SAAgB,qBAAqB,CAAC,CAAoB,EAAE,IAAY;IACtE,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kCAAkC,IAAI,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,0BAA0B,GAAG,OAAO,KAAK,GAAG,CAAC;IAC7E,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,gCAAgC,GAAG,iCAAiC,KAAK,GAAG,CAAC;IAC/G,OAAO,yBAAyB,KAAK,GAAG,CAAC;AAC3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"audit-report-verification.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,oCAMC;AAgDD,0CAEC;AAGD,oDAIC;AAED,8CA2CC;AAqBD,sDAMC;AA7MD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,uCAAyB;AACzB,2CAA6B;AAC7B,yDAA+D;AAC/D,8CAA2C;AAC3C,8CAA8C;AAC9C,yDAA+E;AAC/E,6DAAuD;AACvD,yDAA6E;AAC7E,qDAAwD;AACxD,+DAAiG;AAkBjG,+EAA+E;AAC/E,SAAS,eAAe,CAAC,CAA0B,EAAE,GAAkD;IACrG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,UAAsC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxH,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AACD,MAAM,SAAS,GAAG,CAAC,CAA0B,EAAiB,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAGrG,mIAAmI;AACtH,QAAA,cAAc,GAAG,2EAA2E,CAAC;AAC1G,kGAAkG;AAClG,MAAM,OAAO,GAAG,SAAS,CAAC;AAE1B;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAe,EAAE,GAAe;IAC3D,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,sBAAc,CAAC;IAC9D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,kEAAkE,CAAC;IAClI,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,+FAA+F,CAAC;IACrM,IAAI,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,kCAAkC,GAAG,CAAC,WAAW,YAAY,GAAG,CAAC,SAAS,iCAAiC,GAAG,CAAC,WAAW,YAAY,GAAG,CAAC,SAAS,GAAG,CAAC;AAChK,CAAC;AAED,uGAAuG;AACvG,SAAS,UAAU,CAAC,CAA0B;IAC5C,OAAO,YAAY,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,IAAA,0BAAa,GAAE,CAAC,CAAC;AACvI,CAAC;AAGD,MAAM,GAAG,GAAG,QAAiB,CAAC;AAC9B,wGAAwG;AAC3F,QAAA,iBAAiB,GAA6B;IACzD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;IACzG,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG;IACrG,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG;IAC3G,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ;IAC1G,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;IAC1D,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS;CACtH,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,CAAC,CAAC;AAChG,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,MAAM,MAAM,GAAG,CAAC,CAAU,EAAqB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAa,CAAC,CAAC;AAE5H,wFAAwF;AACxF,SAAS,cAAc,CAAC,CAA0B;IAChD,MAAM,GAAG,GAAkC,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,yBAAiB,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,CAAC,+BAA+B,EAAE,CAAC,CAAC;aACnG,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IACnI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC;IACtJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxI,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;aACrG,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ,KAAK,oCAAe,CAAC,CAAC,CAAC,UAAU,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,UAAU,kBAAkB,CAAC,CAAC,QAAQ,QAAQ,CAAC,CAAC,UAAU,gBAAgB,oCAAe,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QACnO,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC;YAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC;QAC1L,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;IACxK,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,eAAe,CAAC,WAAmB,EAAE,IAAY;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACxF,CAAC;AAED,6FAA6F;AAC7F,SAAgB,oBAAoB,CAAC,WAAmB,EAAE,IAAY;IACpE,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAA,oCAAc,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,OAAO,IAAA,2CAAqB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC;AACjE,CAAC;AAED,SAAgB,iBAAiB,CAAC,WAAmB,EAAE,IAAY;IACjE,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAA,oCAAqB,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,MAAM,SAAS,GAAG,IAAA,2CAAqB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,oCAAc,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC;IACxC,MAAM,MAAM,GAAG,CAAC,KAAiB,EAAE,QAAuC,EAAE,SAAyC,IAAI,EAAE,QAAkB,EAAE,EAAqB,EAAE,CACpK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC;IAElF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAClH,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjC,uGAAuG;QACvG,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,IAAI,IAAA,2CAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClJ,MAAM,EAAE,GAAG,cAAc,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACzF,IAAI,OAAO,KAAK,qCAAoB,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,kEAAkE,EAAE,CAAC,CAAC,CAAC;QAChJ,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,GAAG,EAAE,6DAA6D,EAAE,CAAC,CAAC,CAAC;IACvI,CAAC;IACD,MAAM,KAAK,GAAkC,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,yGAAyG;IACzG,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,KAAK,sBAAc;gBAC9E,CAAC,CAAC,6BAA6B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kCAAkC,IAAI,SAAS;gBACtH,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC,aAAa,KAAK,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC,CAAC;IAC5I,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,IAAI,2EAA2E,EAAE,CAAC,CAAC,CAAC;IACpK,IAAI,CAAC,CAAC,UAAU,KAAK,IAAA,kCAAe,EAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,aAAuB,CAAC,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAA,2CAAwB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,CAA0B,EAAyC,EAAE,CAAC,CAAC;IAC9F,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,iCAAiC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,yFAAyF;CACxJ,CAAC,CAAC;AAEH,8HAA8H;AAC9H,SAAS,cAAc,CAAC,CAA0B,EAAE,SAA4B;IAC9E,MAAM,OAAO,GAAG,IAAA,gCAAa,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4HAA4H,EAAE,CAAC;IACjL,OAAO,IAAA,2CAAwB,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,kEAAkE;AAC3D,MAAM,WAAW,GAAG,CAAC,CAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC;AAAxE,QAAA,WAAW,eAA6D;AAErF,8FAA8F;AACvF,MAAM,WAAW,GAAG,CAAC,CAAoB,EAAW,EAAE,CAAC,IAAA,mBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,CAAC;AAAnG,QAAA,WAAW,eAAwF;AAEhH,wFAAwF;AACxF,SAAgB,qBAAqB,CAAC,CAAoB,EAAE,IAAY;IACtE,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kCAAkC,IAAI,IAAI,CAAC;IACzD,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,0BAA0B,GAAG,OAAO,KAAK,GAAG,CAAC;IAC7E,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,gCAAgC,GAAG,iCAAiC,KAAK,GAAG,CAAC;IAC/G,OAAO,yBAAyB,KAAK,GAAG,CAAC;AAC3C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-checklist.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"delivery-checklist.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AA2E/H,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,CAW9E;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,CAkB7E;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAE9H;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAQ/F"}
|
|
@@ -53,6 +53,14 @@ async function quietly(fn) {
|
|
|
53
53
|
Object.assign(console, saved);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
/** Findings a fresh `sungen generate` cures: the spec is out of step with the .feature, not hollow. */
|
|
57
|
+
const REGENERATE_CURES = /^(?:DRIFT|MISSING in spec|EXTRA in spec|Count mismatch)\b/;
|
|
58
|
+
/** The first finding's first sentence — its cause after "→" kept (#943) — and, when regenerating cures it, the command. */
|
|
59
|
+
function scriptCheckFailure(u, finding = 'not faithful') {
|
|
60
|
+
const first = finding.split(/\. /)[0].slice(0, 240);
|
|
61
|
+
const generate = `sungen generate --${u.kind === 'flow' ? 'flow' : u.kind === 'api' ? 'api' : 'screen'} ${u.unitName}`;
|
|
62
|
+
return `FAIL — ${first}${REGENERATE_CURES.test(finding) ? ` — run \`${generate}\` after fixing the scenario` : ''} (\`sungen script-check\` exits 2)`;
|
|
63
|
+
}
|
|
56
64
|
async function scriptCheckBox(u) {
|
|
57
65
|
try {
|
|
58
66
|
const r = await quietly(() => (0, script_check_1.runScriptCheck)(u.unitDir, u.unitName, u.kind));
|
|
@@ -60,7 +68,7 @@ async function scriptCheckBox(u) {
|
|
|
60
68
|
return box('script-check', 'skipped', 'no compiled spec to compare: nothing was compiled for this unit');
|
|
61
69
|
return r.status === 'OK'
|
|
62
70
|
? box('script-check', 'pass', `OK — the spec is a 1:1 of the .feature, no drift (${r.automatedScenarios} automated)`)
|
|
63
|
-
: box('script-check', 'fail',
|
|
71
|
+
: box('script-check', 'fail', scriptCheckFailure(u, r.findings[0]));
|
|
64
72
|
}
|
|
65
73
|
catch (e) {
|
|
66
74
|
return box('script-check', 'fail', `could not run: ${why(e)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":";;AAwGA,gCAWC;AAED,8BAkBC;AAED,sCAEC;AAID,0CAQC;AAvJD;;;;;;;;;;;;;;GAcG;AACH,kFAA6E;AAC7E,8DAA6D;AAC7D,4EAAiE;AACjE,yEAA+D;AAC/D,mEAA8D;AAC9D,+EAA0F;AAC1F,kDAA2D;AAC3D,2EAAoG;AACpG,qEAAqE;AAOrE,8GAA8G;AAC9G,MAAM,wBAAwB,GAAG,MAAO,CAAC;AACzC,MAAM,GAAG,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC9G,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAe,EAAE,QAAgB,EAAgB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE3G,SAAS,QAAQ,CAAC,WAAmB,EAAE,CAAgB;IACrD,MAAM,CAAC,GAAG,IAAA,6CAAiB,EAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,uCAAW,EAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAA,iDAAqB,EAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAAI,CAAC,CAAC,MAAM,EAAE,KAA0C,EAAE,OAAO,CAAC;IAC/E,MAAM,GAAG,GAAG,iCAAiC,CAAC;IAC9C,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM;QACpC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,OAAO,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,OAAO,IAAI,GAAG,mCAAmC,GAAG,gFAAgF,CAAC,CAAC;AACzK,CAAC;AAED,iGAAiG;AACjG,KAAK,UAAU,OAAO,CAAI,EAAoB;IAC5C,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAC5D,IAAI,CAAC;QAAC,OAAO,MAAM,EAAE,EAAE,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;AACvE,CAAC;AAED,uGAAuG;AACvG,MAAM,gBAAgB,GAAG,2DAA2D,CAAC;AAErF,2HAA2H;AAC3H,SAAS,kBAAkB,CAAC,CAAgB,EAAE,OAAO,GAAG,cAAc;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IACvH,OAAO,UAAU,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,QAAQ,8BAA8B,CAAC,CAAC,CAAC,EAAE,oCAAoC,CAAC;AACxJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,CAAgB;IAC5C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,6BAAc,EAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,iEAAiE,CAAC,CAAC;QAC1H,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI;YACtB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,qDAAqD,CAAC,CAAC,kBAAkB,aAAa,CAAC;YACrH,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,WAAmB,EAAE,CAAgB;IACxD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAA,6CAAoB,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAC/H,IAAI,IAAA,6BAAc,EAAC,IAAA,iCAAW,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,CAAC,CAAC,SAAS,CAAC,MAAM,mEAAmE,CAAC,CAAC;QAC5J,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,0EAA0E,CAAC,CAAC;QAC3I,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAC3B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,MAAM,sBAAsB,KAAK,oDAAoD,CAAC;YACtI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,sCAAsC,CAAC,CAAC;IAC/L,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,uBAAuB,GAAG,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;IAC5G,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,WAAmB,EAAE,CAAgB,EAAE,QAA0B;IACrF,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAA,kDAAyB,EAAC,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC7I,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,0BAA0B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpI,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,mIAAmI,CAAC,CAAC;QACvN,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACnD,OAAO,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,mCAAmC,QAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpO,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,2BAA2B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,8FAA8F;AAC9F,SAAgB,UAAU,CAAC,WAAmB,EAAE,CAAgB;IAC9D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAA,yCAAgB,EAAC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,gEAAgE,CAAC,CAAC;QAC3G,MAAM,GAAG,GAAG,GAAG,IAAA,2CAAkB,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/F,OAAO,CAAC,CAAC,OAAO;YACd,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YACjD,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,0DAA0D,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,uBAAuB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,SAAgB,SAAS,CAAC,WAAmB,EAAE,CAAgB;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,iCAAc,EAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;YAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAY,EAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAY,EAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,0DAA0D,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9I,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,2EAA2E,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC;QACpK,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC/D,mGAAmG;QACnG,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kCAAY,EAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAA,kCAAY,EAAC,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM;YAC1B,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,gCAAgC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3K,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,+CAA+C,KAAK,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC1H,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,WAAmB,EAAE,CAAgB,EAAE,QAA0B;IACnG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AACzL,CAAC;AAED,MAAM,IAAI,GAA6B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAEpF,SAAgB,eAAe,CAAC,IAAqD;IACnF,MAAM,GAAG,GAAG,CAAC,qFAAqF,CAAC,CAAC;IACpG,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnJ,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;IAChG,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-run-decision-check.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"in-run-decision-check.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAMrE,eAAO,MAAM,YAAY,2DAA4D,CAAC;AACtF,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,MAAM,WAAW,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE;AAExH,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAI9E;AAQD,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASpE;AAYD,wHAAwH;AACxH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,aAAa,EAAE,CAmC7I;AAED,2HAA2H;AAC3H,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAElG;AAED,0GAA0G;AAC1G,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAEpF"}
|
|
@@ -64,13 +64,15 @@ exports.hasInRunKindDecisions = hasInRunKindDecisions;
|
|
|
64
64
|
* `humanConfirmed`, #928) is a claim the entry makes about itself — a script can write one. What backs
|
|
65
65
|
* it is review, so it is in-run while git HEAD does not hold it (and, with no git, always: nothing
|
|
66
66
|
* shows it was reviewed). Judged by HEAD membership only: it is always recorded after the run it
|
|
67
|
-
* judges, so its commit time says nothing.
|
|
67
|
+
* judges, so its commit time says nothing. Only a test-defect / environment entry that is not
|
|
68
|
+
* superseded counts — the only kind the reader puts in force on that claim.
|
|
68
69
|
*/
|
|
69
70
|
const fs = __importStar(require("fs"));
|
|
70
71
|
const path = __importStar(require("path"));
|
|
71
72
|
const decision_file_1 = require("../../decisions/decision-file");
|
|
72
73
|
const git_head_trust_1 = require("../../decisions/git-head-trust");
|
|
73
74
|
const read_decisions_1 = require("../../decisions/read-decisions");
|
|
75
|
+
const manual_triage_decisions_1 = require("../../graph/manual-triage-decisions");
|
|
74
76
|
const migrated_waiver_review_1 = require("./migrated-waiver-review");
|
|
75
77
|
exports.IN_RUN_KINDS = ['gate-override', 'waiver', 'contract-approval'];
|
|
76
78
|
exports.IN_RUN_RULE = 'decision.in-run';
|
|
@@ -100,8 +102,13 @@ function runStartOf(resultsPath) {
|
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
const isInRunKind = (kind) => exports.IN_RUN_KINDS.includes(kind);
|
|
103
|
-
/**
|
|
104
|
-
|
|
105
|
+
/**
|
|
106
|
+
* A triage classification claiming a human typed it (#928): reviewed only once git HEAD holds it.
|
|
107
|
+
* Only what the reader (manual-triage-decisions.ts) can put in force: a superseded entry is never read,
|
|
108
|
+
* and a product classification needs no human — its claim backs nothing, so it blocks nothing.
|
|
109
|
+
*/
|
|
110
|
+
const claimsHumanTriage = (e) => e.kind === manual_triage_decisions_1.TRIAGE_DECISION_KIND && !e.superseded_by && e.payload?.humanConfirmed === true
|
|
111
|
+
&& manual_triage_decisions_1.HUMAN_ONLY_TRIAGE.has(e.payload?.class);
|
|
105
112
|
/** In-run decisions among `scopes`, judged against one run start (null: HEAD membership only) and the committed set. */
|
|
106
113
|
function inRunDecisions(projectRoot, scopes, runStart, committed) {
|
|
107
114
|
const out = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-run-decision-check.js","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"in-run-decision-check.js","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,27 @@ export interface JourneyReport {
|
|
|
45
45
|
* A read-only checkout gets the same board without throwing.
|
|
46
46
|
*/
|
|
47
47
|
export declare function runJourney(projectRoot: string, unit: string): JourneyReport;
|
|
48
|
+
/** A waiver the board asks a human to give again: its evidence moved (stale), or git HEAD does not hold it (untrusted). */
|
|
49
|
+
export interface WaiverToRedecide {
|
|
50
|
+
obligation: string;
|
|
51
|
+
title: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
why: 'stale' | 'untrusted';
|
|
54
|
+
}
|
|
55
|
+
/** What the board asks of a human, read without writing anything (`sungen next`'s "Waiting for you", #954). */
|
|
56
|
+
export interface JourneyHumanAsks {
|
|
57
|
+
report: JourneyReport;
|
|
58
|
+
redecide: WaiverToRedecide[];
|
|
59
|
+
/** OB-signoff: `pending` (never given), `stale` (given before the audit changed), `given`. */
|
|
60
|
+
signoff: {
|
|
61
|
+
status: 'pending' | 'stale' | 'given';
|
|
62
|
+
at?: string;
|
|
63
|
+
};
|
|
64
|
+
/** `sungen journey --signoff` would be accepted now (assertCanSignOff holds). */
|
|
65
|
+
canSignOff: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** The board's asks, read-only: no import, no dual-write, no state file — the same reconcile `runJourney` commits. */
|
|
68
|
+
export declare function readJourneyHumanAsks(projectRoot: string, unit: string): JourneyHumanAsks;
|
|
48
69
|
/** The single human gate (DOS §3.4, S5): given with `--signoff`, never waived (#936). */
|
|
49
70
|
export declare const SIGNOFF_OBLIGATION = "OB-signoff";
|
|
50
71
|
export declare const signoffCommand: (unit: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":"AAwBA,OAAO,EAA4C,mBAAmB,EAAkG,MAAM,6BAA6B,CAAC;AAI5M,qHAAqH;AACrH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,MAAM;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAAE;AACxE,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8GAA8G;IAC9G,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC1C;AAgLD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/journey.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.CREATE_OBLIGATION = exports.signoffCommand = exports.SIGNOFF_OBLIGATION = void 0;
|
|
37
37
|
exports.runJourney = runJourney;
|
|
38
|
+
exports.readJourneyHumanAsks = readJourneyHumanAsks;
|
|
38
39
|
exports.assertWaivable = assertWaivable;
|
|
39
40
|
exports.waive = waive;
|
|
40
41
|
exports.assertCanSignOff = assertCanSignOff;
|
|
@@ -254,6 +255,34 @@ function computeNext(r, unit) {
|
|
|
254
255
|
* A read-only checkout gets the same board without throwing.
|
|
255
256
|
*/
|
|
256
257
|
function runJourney(projectRoot, unit) {
|
|
258
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
259
|
+
try {
|
|
260
|
+
(0, legacy_waiver_migration_1.commitWaiverSync)(projectRoot, unit, r.slug, r.sync, r.statePath, JSON.stringify(r.next, null, 2));
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
if (!(err instanceof append_decision_1.DecisionConflictError))
|
|
264
|
+
throw err;
|
|
265
|
+
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
266
|
+
if (!r.decisionFindings.some((f) => f.path === rel))
|
|
267
|
+
r.decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
268
|
+
}
|
|
269
|
+
return finishReport(r, unit);
|
|
270
|
+
}
|
|
271
|
+
/** The board's asks, read-only: no import, no dual-write, no state file — the same reconcile `runJourney` commits. */
|
|
272
|
+
function readJourneyHumanAsks(projectRoot, unit) {
|
|
273
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
274
|
+
const report = finishReport(r, unit);
|
|
275
|
+
let canSignOff = report.obligations.some((o) => o.id === exports.SIGNOFF_OBLIGATION);
|
|
276
|
+
try {
|
|
277
|
+
assertCanSignOff(report);
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
canSignOff = false;
|
|
281
|
+
}
|
|
282
|
+
return { report, redecide: r.redecide, signoff: r.signoff, canSignOff };
|
|
283
|
+
}
|
|
284
|
+
/** Compute fresh, apply the waivers and the sign-off in force — read-only; `runJourney` commits the plan. */
|
|
285
|
+
function reconcileJourney(projectRoot, unit) {
|
|
257
286
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
258
287
|
(0, migration_sentinel_1.assertNoPendingMigration)(projectRoot, slug);
|
|
259
288
|
const report = computeFresh(projectRoot, unit);
|
|
@@ -261,9 +290,12 @@ function runJourney(projectRoot, unit) {
|
|
|
261
290
|
const state = loadState(sp) || { unit, auditHash: '', waivers: {} };
|
|
262
291
|
const curHash = auditHashOf(projectRoot, slug);
|
|
263
292
|
const sync = (0, legacy_waiver_migration_1.planWaiverSync)(projectRoot, unit, slug, sp, state.waivers);
|
|
293
|
+
const redecide = [];
|
|
264
294
|
for (const u of sync.untrusted) {
|
|
265
295
|
const title = report.obligations.find((o) => o.id === u.obligation)?.title ?? u.obligation;
|
|
266
296
|
const ignored = unwaivableWhy(u.obligation, unit);
|
|
297
|
+
if (!ignored)
|
|
298
|
+
redecide.push({ obligation: u.obligation, title, reason: u.waiver.reason, why: 'untrusted' });
|
|
267
299
|
report.needsYou.unshift({ text: ignored ? ignoredWaiverText(u.obligation, ignored, u.waiver.reason) : (0, legacy_waiver_migration_1.untrustedWaiverText)(unit, slug, title, u), anchor: { vpId: u.obligation } });
|
|
268
300
|
}
|
|
269
301
|
for (const ob of report.obligations) {
|
|
@@ -282,34 +314,33 @@ function runJourney(projectRoot, unit) {
|
|
|
282
314
|
ob.detail = `waived — ${w.reason}`;
|
|
283
315
|
}
|
|
284
316
|
else {
|
|
317
|
+
redecide.push({ obligation: ob.id, title: ob.title, reason: w.reason, why: 'stale' });
|
|
285
318
|
report.needsYou.unshift({ text: `⚠️ Waiver on "${ob.title}" is STALE (evidence changed since ${w.at}) — re-decide. Was: ${w.reason}`, anchor: { vpId: ob.id } });
|
|
286
319
|
}
|
|
287
320
|
}
|
|
288
321
|
// S5 — sign-off reconcile: a recorded sign-off satisfies OB-signoff while its evidence holds;
|
|
289
322
|
// if the audit changed since, the sign-off is STALE → re-surface for re-review (anti-amnesia).
|
|
290
323
|
const signoffOb = report.obligations.find((o) => o.id === 'OB-signoff');
|
|
324
|
+
let signoff = { status: 'pending' };
|
|
291
325
|
if (signoffOb && state.signoff) {
|
|
292
326
|
if (state.signoff.auditHashAtSignoff === curHash) {
|
|
327
|
+
signoff = { status: 'given', at: state.signoff.at };
|
|
293
328
|
signoffOb.status = 'satisfied';
|
|
294
329
|
signoffOb.detail = `signed off${state.signoff.by ? ' by ' + state.signoff.by : ''}${state.signoff.recordedBy ? ` (recorded by ${state.signoff.recordedBy})` : ''} at ${state.signoff.at}`;
|
|
295
330
|
}
|
|
296
331
|
else {
|
|
332
|
+
signoff = { status: 'stale', at: state.signoff.at };
|
|
297
333
|
report.needsYou.unshift({ text: `⚠️ Sign-off is STALE (suite changed since ${state.signoff.at}) — re-review and sign off again.`, anchor: { vpId: 'OB-signoff' } });
|
|
298
334
|
}
|
|
299
335
|
}
|
|
300
336
|
// Phase-03 carry-over: a decision that does not verify is a FINDING the gate blocks on, not a crash.
|
|
301
337
|
const decisionFindings = (0, journey_gate_inputs_1.journeyDecisionFindings)(projectRoot, (0, journey_gate_inputs_1.unitOverrides)(projectRoot, unit));
|
|
302
338
|
const next = { unit, auditHash: curHash, waivers: sync.stateWaivers, signoff: state.signoff };
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
throw err;
|
|
309
|
-
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
310
|
-
if (!decisionFindings.some((f) => f.path === rel))
|
|
311
|
-
decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
312
|
-
}
|
|
339
|
+
return { report, slug, statePath: sp, sync, next, decisionFindings, redecide, signoff };
|
|
340
|
+
}
|
|
341
|
+
/** The decision findings on the board, then the next suggestion — after the waivers and the sign-off. */
|
|
342
|
+
function finishReport(r, unit) {
|
|
343
|
+
const { report, decisionFindings } = r;
|
|
313
344
|
if (decisionFindings.length) {
|
|
314
345
|
report.decisionFindings = decisionFindings;
|
|
315
346
|
for (const f of [...decisionFindings].reverse())
|
|
@@ -420,11 +451,30 @@ function writeJourneyFileBestEffort(file, text) {
|
|
|
420
451
|
}
|
|
421
452
|
}
|
|
422
453
|
const ICON = { satisfied: '✅', 'needs-work': '⚠️ ', pending: '⏳', waived: '🚫', overridden: '🔓' };
|
|
454
|
+
/** `ms` as a person reads a duration: `850 ms`, `45 s`, `8 min 40 s`. */
|
|
455
|
+
function elapsedLabel(ms) {
|
|
456
|
+
if (ms < 1000)
|
|
457
|
+
return `${ms} ms`;
|
|
458
|
+
const s = Math.round(ms / 1000);
|
|
459
|
+
return s < 60 ? `${s} s` : `${Math.floor(s / 60)} min${s % 60 ? ` ${s % 60} s` : ''}`;
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* A ledger step as the board shows it (#939 item 8). A step recorded with its elapsed milliseconds in the
|
|
463
|
+
* NAME (`--step "viewpoint 45000"`, the time meant for `--ms`) printed as a bare number; it reads
|
|
464
|
+
* `viewpoint (45 s)` now, and `timed` says the line needs its legend.
|
|
465
|
+
*/
|
|
466
|
+
function phaseLabel(step) {
|
|
467
|
+
const m = step.match(/^(.*\S)\s+(\d+)$/);
|
|
468
|
+
return m ? { label: `${m[1]} (${elapsedLabel(Number(m[2]))})`, timed: true } : { label: step, timed: false };
|
|
469
|
+
}
|
|
423
470
|
function renderJourneyBoard(r) {
|
|
424
471
|
const L = [];
|
|
425
472
|
L.push(`# Journey — ${r.unit}`);
|
|
426
473
|
L.push('');
|
|
427
|
-
|
|
474
|
+
const phases = r.phasesDone.map(phaseLabel);
|
|
475
|
+
const legend = phases.some((p) => p.timed) || phaseLabel(r.youAreHere).timed
|
|
476
|
+
? ` — a time is that phase's elapsed time, from the ledger (\`sungen ledger report --screen ${r.unit}\`)` : '';
|
|
477
|
+
L.push(`📍 **You are here:** ${phaseLabel(r.youAreHere).label}` + (phases.length ? ` (phases: ${phases.map((p) => p.label).join(' → ')})${legend}` : ''));
|
|
428
478
|
if (r.gateStatus)
|
|
429
479
|
L.push(` gate: **${r.gateStatus}** · score: ${r.score ?? '—'}/10`);
|
|
430
480
|
L.push('');
|