@sun-asterisk/sungen 3.3.0-alpha.1 → 3.3.0-alpha.2
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/capabilities/discover.d.ts +4 -0
- package/dist/capabilities/discover.d.ts.map +1 -1
- package/dist/capabilities/discover.js +16 -2
- package/dist/capabilities/discover.js.map +1 -1
- package/dist/cli/commands/audit.js +1 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/contract-derive-command.d.ts +3 -2
- package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
- package/dist/cli/commands/contract-derive-command.js +3 -3
- package/dist/cli/commands/contract-derive-command.js.map +1 -1
- package/dist/cli/commands/contract.js +1 -1
- 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 +9 -2
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/journey.js +2 -2
- package/dist/cli/commands/journey.js.map +1 -1
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +8 -6
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-sungen-invocation.d.ts +7 -0
- package/dist/cli/project-sungen-invocation.d.ts.map +1 -0
- package/dist/cli/project-sungen-invocation.js +76 -0
- package/dist/cli/project-sungen-invocation.js.map +1 -0
- package/dist/contract/derive-free-feature.d.ts +8 -0
- package/dist/contract/derive-free-feature.d.ts.map +1 -1
- package/dist/contract/derive-free-feature.js +10 -1
- package/dist/contract/derive-free-feature.js.map +1 -1
- package/dist/contract/trace/collect-trace-evidence.js +1 -1
- package/dist/contract/trace/collect-trace-evidence.js.map +1 -1
- package/dist/contract/trace/test-step-join.d.ts +3 -3
- package/dist/contract/trace/test-step-join.d.ts.map +1 -1
- package/dist/contract/trace/test-step-join.js +2 -2
- package/dist/contract/trace/test-step-join.js.map +1 -1
- package/dist/contract/trace/trace-file-reader.d.ts +7 -1
- package/dist/contract/trace/trace-file-reader.d.ts.map +1 -1
- package/dist/contract/trace/trace-file-reader.js +10 -4
- package/dist/contract/trace/trace-file-reader.js.map +1 -1
- package/dist/contract/trace/trace-run-record.d.ts +4 -1
- package/dist/contract/trace/trace-run-record.d.ts.map +1 -1
- package/dist/contract/trace/trace-run-record.js +20 -14
- package/dist/contract/trace/trace-run-record.js.map +1 -1
- package/dist/contract/trace/trace-steps.js +1 -1
- package/dist/contract/trace/trace-steps.js.map +1 -1
- package/dist/contract/trace/trace-zip-limits.d.ts +5 -1
- package/dist/contract/trace/trace-zip-limits.d.ts.map +1 -1
- package/dist/contract/trace/trace-zip-limits.js +6 -2
- package/dist/contract/trace/trace-zip-limits.js.map +1 -1
- package/dist/decisions/confirmed-decision-commands.d.ts +11 -0
- package/dist/decisions/confirmed-decision-commands.d.ts.map +1 -1
- package/dist/decisions/confirmed-decision-commands.js +21 -3
- package/dist/decisions/confirmed-decision-commands.js.map +1 -1
- package/dist/decisions/human-confirmation.d.ts +2 -0
- package/dist/decisions/human-confirmation.d.ts.map +1 -1
- package/dist/decisions/human-confirmation.js +6 -0
- package/dist/decisions/human-confirmation.js.map +1 -1
- package/dist/exporters/matrix/xlsx-cells.js +1 -1
- package/dist/exporters/matrix/xlsx-cells.js.map +1 -1
- package/dist/graph/evaluate-graph.d.ts +3 -1
- package/dist/graph/evaluate-graph.d.ts.map +1 -1
- package/dist/graph/evaluate-graph.js +8 -5
- package/dist/graph/evaluate-graph.js.map +1 -1
- package/dist/graph/node-decl.d.ts +7 -0
- package/dist/graph/node-decl.d.ts.map +1 -1
- package/dist/graph/node-decl.js.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts +3 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.js +7 -4
- package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-contract-node.d.ts +2 -1
- package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
- package/dist/graph/nodes/unit-contract-node.js +8 -1
- package/dist/graph/nodes/unit-contract-node.js.map +1 -1
- package/dist/graph/nodes/unit-design-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/unit-design-nodes.js +2 -1
- package/dist/graph/nodes/unit-design-nodes.js.map +1 -1
- package/dist/harness/catalog/gate-rules.yaml +2 -2
- package/dist/harness/gates/audit-report-verification.d.ts +15 -6
- package/dist/harness/gates/audit-report-verification.d.ts.map +1 -1
- package/dist/harness/gates/audit-report-verification.js +49 -20
- package/dist/harness/gates/audit-report-verification.js.map +1 -1
- package/dist/harness/gates/delivery-checklist.js +2 -2
- package/dist/harness/gates/delivery-checklist.js.map +1 -1
- package/dist/harness/gates/delivery-decision-gate.d.ts +4 -0
- package/dist/harness/gates/delivery-decision-gate.d.ts.map +1 -1
- package/dist/harness/gates/delivery-decision-gate.js +26 -1
- package/dist/harness/gates/delivery-decision-gate.js.map +1 -1
- package/dist/harness/gates/delivery-decision-step.d.ts +4 -1
- package/dist/harness/gates/delivery-decision-step.d.ts.map +1 -1
- package/dist/harness/gates/delivery-decision-step.js +17 -2
- package/dist/harness/gates/delivery-decision-step.js.map +1 -1
- package/dist/harness/journey.d.ts +19 -0
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +94 -11
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/provenance.d.ts +29 -0
- package/dist/harness/provenance.d.ts.map +1 -1
- package/dist/harness/provenance.js +109 -9
- package/dist/harness/provenance.js.map +1 -1
- package/dist/hooks/guard-protected-paths.d.ts.map +1 -1
- package/dist/hooks/guard-protected-paths.js +3 -2
- package/dist/hooks/guard-protected-paths.js.map +1 -1
- package/dist/hooks/guard-rules.d.ts +1 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts +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 -3
- package/dist/hooks/hand-back-core.d.ts.map +1 -1
- package/dist/hooks/hand-back-core.js +17 -10
- package/dist/hooks/hand-back-core.js.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.js +5 -3
- package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
- package/dist/orchestrator/assets-drift.d.ts +5 -0
- package/dist/orchestrator/assets-drift.d.ts.map +1 -1
- package/dist/orchestrator/assets-drift.js +12 -3
- package/dist/orchestrator/assets-drift.js.map +1 -1
- package/dist/orchestrator/project-initializer.d.ts.map +1 -1
- package/dist/orchestrator/project-initializer.js +1 -0
- package/dist/orchestrator/project-initializer.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/create-test.md +2 -2
- package/dist/orchestrator/templates/ai-src/commands/run-test.md +1 -1
- package/package.json +3 -3
- package/src/capabilities/discover.ts +15 -2
- package/src/cli/commands/audit.ts +1 -1
- package/src/cli/commands/contract-derive-command.ts +7 -6
- package/src/cli/commands/contract.ts +1 -1
- package/src/cli/commands/delivery.ts +7 -2
- package/src/cli/commands/journey.ts +4 -4
- package/src/cli/commands/next.ts +8 -6
- package/src/cli/index.ts +1 -1
- package/src/cli/project-sungen-invocation.ts +39 -0
- package/src/contract/derive-free-feature.ts +12 -2
- package/src/contract/trace/collect-trace-evidence.ts +1 -1
- package/src/contract/trace/test-step-join.ts +6 -5
- package/src/contract/trace/trace-file-reader.ts +17 -7
- package/src/contract/trace/trace-run-record.ts +14 -8
- package/src/contract/trace/trace-steps.ts +1 -1
- package/src/contract/trace/trace-zip-limits.ts +6 -2
- package/src/decisions/confirmed-decision-commands.ts +25 -4
- package/src/decisions/human-confirmation.ts +5 -0
- package/src/exporters/matrix/xlsx-cells.ts +1 -1
- package/src/graph/evaluate-graph.ts +9 -5
- package/src/graph/node-decl.ts +7 -0
- package/src/graph/nodes/test-case-contract-nodes.ts +9 -4
- package/src/graph/nodes/unit-contract-node.ts +8 -1
- package/src/graph/nodes/unit-design-nodes.ts +2 -1
- package/src/harness/catalog/gate-rules.yaml +2 -2
- package/src/harness/gates/audit-report-verification.ts +51 -23
- package/src/harness/gates/delivery-checklist.ts +2 -2
- package/src/harness/gates/delivery-decision-gate.ts +29 -1
- package/src/harness/gates/delivery-decision-step.ts +19 -3
- package/src/harness/journey.ts +95 -13
- package/src/harness/provenance.ts +99 -11
- package/src/hooks/guard-protected-paths.ts +3 -2
- package/src/hooks/guard-rules.ts +1 -1
- package/src/hooks/guard-tty-spoof-rule.ts +3 -3
- package/src/hooks/hand-back-core.ts +17 -11
- package/src/hooks/session-start-unit-state-hook.ts +5 -3
- package/src/orchestrator/assets-drift.ts +12 -5
- package/src/orchestrator/project-initializer.ts +1 -0
- package/src/orchestrator/templates/ai-src/commands/create-test.md +2 -2
- package/src/orchestrator/templates/ai-src/commands/run-test.md +1 -1
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
36
|
+
exports.RUN_RECORD_DIRS = exports.FREE_RUN_DIR = void 0;
|
|
37
37
|
exports.findRunRecords = findRunRecords;
|
|
38
38
|
exports.readRunRecord = readRunRecord;
|
|
39
39
|
/**
|
|
@@ -42,9 +42,10 @@ exports.readRunRecord = readRunRecord;
|
|
|
42
42
|
* the code that produced it live, so an unknown key, a wrong type or a malformed hash means the
|
|
43
43
|
* record is not trusted at all (every trace it would vouch for is unbound).
|
|
44
44
|
*
|
|
45
|
-
* Found by convention: `<project>/test-results/sungen-run-record*.json`
|
|
46
|
-
*
|
|
47
|
-
*
|
|
45
|
+
* Found by convention: `<project>/test-results-free/sungen-run-record*.json` — the free-test config's
|
|
46
|
+
* own outputDir (#941) — or `<project>/test-results/sungen-run-record*.json` (one per run or shard).
|
|
47
|
+
* Playwright wipes its outputDir at the start of every run, so a record and its traces share a
|
|
48
|
+
* lifetime; the free run has its own so the compiled suite's next run cannot delete its traces.
|
|
48
49
|
*/
|
|
49
50
|
const fs = __importStar(require("fs"));
|
|
50
51
|
const path = __importStar(require("path"));
|
|
@@ -52,17 +53,22 @@ const TOP = new Set(['schema', 'tool', 'runId', 'startedAt', 'playwrightVersion'
|
|
|
52
53
|
const ATTEMPT = new Set(['testId', 'file', 'title', 'retry', 'status', 'startTime', 'duration', 'trace']);
|
|
53
54
|
const SHA = /^[0-9a-f]{64}$/;
|
|
54
55
|
const isObj = (v) => !!v && typeof v === 'object' && !Array.isArray(v);
|
|
55
|
-
|
|
56
|
+
/** The free / impl:code run's own outputDir (the documented free-test config); compiled runs clear `test-results/`. */
|
|
57
|
+
exports.FREE_RUN_DIR = 'test-results-free';
|
|
58
|
+
/** Where run records are read, in this order: the free run's dir, then Playwright's default (older configs). */
|
|
59
|
+
exports.RUN_RECORD_DIRS = [exports.FREE_RUN_DIR, 'test-results'];
|
|
56
60
|
function findRunRecords(projectRoot) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
return exports.RUN_RECORD_DIRS.flatMap((rel) => {
|
|
62
|
+
const dir = path.join(projectRoot, rel);
|
|
63
|
+
let names;
|
|
64
|
+
try {
|
|
65
|
+
names = fs.readdirSync(dir);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
return names.filter((n) => /^sungen-run-record(?:\.[A-Za-z0-9._-]+)?\.json$/.test(n)).sort().map((n) => path.join(dir, n));
|
|
71
|
+
});
|
|
66
72
|
}
|
|
67
73
|
function attemptOf(raw, i) {
|
|
68
74
|
const at = `attempt ${i + 1}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-run-record.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-run-record.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"trace-run-record.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-run-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ function traceIntentSteps(trace) {
|
|
|
60
60
|
const runner = c.stepId ? steps.get(c.stepId) : undefined;
|
|
61
61
|
out.push({
|
|
62
62
|
kind, method: c.method, callId: c.callId, params: c.params, group: groupOf(steps, c.stepId),
|
|
63
|
-
location: firstFrame(runner?.stack) ?? firstFrame(stacks.get(c.part)?.get(c.
|
|
63
|
+
location: firstFrame(runner?.stack) ?? firstFrame(stacks.get(c.part)?.get(c.callId)),
|
|
64
64
|
...(verbatim ? { verbatim } : {}), startTime: c.startTime,
|
|
65
65
|
});
|
|
66
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-steps.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-steps.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trace-steps.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-steps.ts"],"names":[],"mappings":";;AAgDA,4CAuCC;AAvFD;;;;;;;;;;;;;;GAcG;AACH,qDAAoF;AAiBpF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3J,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACnF,MAAM,QAAQ,GAAG,WAAW,CAAC;AAE7B,kGAAkG;AAClG,SAAS,UAAU,CAAC,MAAgC;IAClD,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACnG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,OAAO,CAAC,KAA8B,EAAE,MAA0B;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,CAAC,GAAG,IAAA,6BAAY,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAkB;IACjD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAA,0BAAS,EAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,IAAA,4BAAW,EAAC,CAAC,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,IAAI,IAAI,GAAsB,IAAI,CAAC;QACnC,IAAI,QAA4B,CAAC;QACjC,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,IAAI,GAAG,QAAQ,CAAC;aACnE,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,IAAI,GAAG,QAAQ,CAAC;aAClE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,IAAI,GAAG,QAAQ,CAAC;aACnE,IAAI,CAAC,CAAC,KAAK,KAAK,mBAAmB,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACjE,IAAI,GAAG,eAAe,CAAC;YACvB,QAAQ,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QACjF,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnG,IAAI,GAAG,eAAe,CAAC;YACvB,QAAQ,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YAC3F,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACpF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtI,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAA,4BAAW,EAAC,IAAA,6BAAY,EAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,SAAS;QACrG,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YACtF,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -28,7 +28,11 @@ export declare const TRACE_ZIP_LIMITS: Readonly<TraceZipLimits>;
|
|
|
28
28
|
* anything else is ignored, so a typo can never turn a cap into zero or infinity).
|
|
29
29
|
*/
|
|
30
30
|
export declare function traceZipLimits(env?: Record<string, string | undefined>): TraceZipLimits;
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Trace format versions this reader was verified against: 8 = Playwright 1.57, 9 = 1.63, 10 = 1.64
|
|
33
|
+
* (one shared call id for a library call and its runner step; stacks keyed by that id). Anything
|
|
34
|
+
* else — a newer format included — is refused until it has been checked the same way.
|
|
35
|
+
*/
|
|
32
36
|
export declare const SUPPORTED_TRACE_VERSIONS: ReadonlySet<number>;
|
|
33
37
|
export type TraceRejectCode = 'zip.too-large' | 'zip.too-many-entries' | 'zip.entry-too-large' | 'zip.total-too-large' | 'zip.ratio' | 'zip.entry-name' | 'zip.malformed' | 'zip.unsupported' | 'trace.version-unsupported' | 'trace.malformed';
|
|
34
38
|
/** A trace that was refused before anything in it was trusted. `code` is stable; `message` names the cause. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-zip-limits.d.ts","sourceRoot":"","sources":["../../../src/contract/trace/trace-zip-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAMpD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,cAAc,CAWpG;AAED
|
|
1
|
+
{"version":3,"file":"trace-zip-limits.d.ts","sourceRoot":"","sources":["../../../src/contract/trace/trace-zip-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAMpD,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,cAAc,CAWpG;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAuB,CAAC;AAEjF,MAAM,MAAM,eAAe,GACvB,eAAe,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,qBAAqB,GAAG,WAAW,GACtG,gBAAgB,GAAG,eAAe,GAAG,iBAAiB,GAAG,2BAA2B,GAAG,iBAAiB,CAAC;AAE7G,+GAA+G;AAC/G,qBAAa,aAAc,SAAQ,KAAK;aACV,IAAI,EAAE,eAAe;gBAArB,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM;CAInE;AAID,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD"}
|
|
@@ -28,8 +28,12 @@ function traceZipLimits(env = process.env) {
|
|
|
28
28
|
maxTotalBytes: mb('SUNGEN_TRACE_MAX_TOTAL_MB', exports.TRACE_ZIP_LIMITS.maxTotalBytes),
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Trace format versions this reader was verified against: 8 = Playwright 1.57, 9 = 1.63, 10 = 1.64
|
|
33
|
+
* (one shared call id for a library call and its runner step; stacks keyed by that id). Anything
|
|
34
|
+
* else — a newer format included — is refused until it has been checked the same way.
|
|
35
|
+
*/
|
|
36
|
+
exports.SUPPORTED_TRACE_VERSIONS = new Set([8, 9, 10]);
|
|
33
37
|
/** A trace that was refused before anything in it was trusted. `code` is stable; `message` names the cause. */
|
|
34
38
|
class TraceRejected extends Error {
|
|
35
39
|
constructor(code, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-zip-limits.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-zip-limits.ts"],"names":[],"mappings":";;;AAuCA,wCAWC;
|
|
1
|
+
{"version":3,"file":"trace-zip-limits.js","sourceRoot":"","sources":["../../../src/contract/trace/trace-zip-limits.ts"],"names":[],"mappings":";;;AAuCA,wCAWC;AAwBD,kDAEC;AApDD,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEV,QAAA,gBAAgB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACtE,WAAW,EAAE,EAAE,GAAG,EAAE;IACpB,UAAU,EAAE,KAAM;IAClB,aAAa,EAAE,EAAE,GAAG,EAAE;IACtB,aAAa,EAAE,EAAE,GAAG,EAAE;IACtB,QAAQ,EAAE,GAAG;CACd,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAgB,cAAc,CAAC,MAA0C,OAAO,CAAC,GAAG;IAClF,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAU,EAAE;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClF,CAAC,CAAC;IACF,OAAO;QACL,GAAG,wBAAgB;QACnB,WAAW,EAAE,EAAE,CAAC,yBAAyB,EAAE,wBAAgB,CAAC,WAAW,CAAC;QACxE,aAAa,EAAE,EAAE,CAAC,2BAA2B,EAAE,wBAAgB,CAAC,aAAa,CAAC;QAC9E,aAAa,EAAE,EAAE,CAAC,2BAA2B,EAAE,wBAAgB,CAAC,aAAa,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACU,QAAA,wBAAwB,GAAwB,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAMjF,+GAA+G;AAC/G,MAAa,aAAc,SAAQ,KAAK;IACtC,YAA4B,IAAqB,EAAE,OAAe;QAChE,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADH,SAAI,GAAJ,IAAI,CAAiB;QAE/C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAM,QAAQ,GAAG,gDAAgD,CAAC;AAElE,uFAAuF;AACvF,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,gBAAgB,EAAE,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzI,CAAC"}
|
|
@@ -10,6 +10,17 @@ export interface WaiveInput {
|
|
|
10
10
|
io: ConfirmationIO;
|
|
11
11
|
}
|
|
12
12
|
export declare function waiveWithConfirmation(i: WaiveInput): Promise<JourneyReport>;
|
|
13
|
+
export interface SignoffInput {
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
unit: string;
|
|
16
|
+
by?: string;
|
|
17
|
+
io: ConfirmationIO;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The single human gate (DOS §3.4, S5), typed by a person on a terminal: the gate suggests it, so an
|
|
21
|
+
* agent must not be able to give it. Refused before the prompt when the board cannot be signed off.
|
|
22
|
+
*/
|
|
23
|
+
export declare function signoffWithConfirmation(i: SignoffInput): Promise<JourneyReport>;
|
|
13
24
|
/** Kinds `--decide` records. The others have a command of their own that computes their payload. */
|
|
14
25
|
export declare const DECIDE_KINDS: readonly DecisionKind[];
|
|
15
26
|
export interface DecideInput {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmed-decision-commands.d.ts","sourceRoot":"","sources":["../../src/decisions/confirmed-decision-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"confirmed-decision-commands.d.ts","sourceRoot":"","sources":["../../src/decisions/confirmed-decision-commands.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAoC,aAAa,EAA6C,MAAM,oBAAoB,CAAC;AAEhI,OAAO,EAAkB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAiB,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAExF,OAAO,EAAsB,cAAc,EAA+D,MAAM,sBAAsB,CAAC;AAIvI,MAAM,WAAW,UAAU;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,cAAc,CAAA;CAAE;AAEzH,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAWjF;AAED,MAAM,WAAW,YAAY;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,cAAc,CAAA;CAAE;AAEpG;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAarF;AAED,oGAAoG;AACpG,eAAO,MAAM,YAAY,EAAE,SAAS,YAAY,EAAuC,CAAC;AAOxF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,cAAc,CAAC;CAChF;AAqCD,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAgBlF;AAMD,gHAAgH;AAChH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAY5H"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.DECIDE_KINDS = void 0;
|
|
37
37
|
exports.waiveWithConfirmation = waiveWithConfirmation;
|
|
38
|
+
exports.signoffWithConfirmation = signoffWithConfirmation;
|
|
38
39
|
exports.decideWithConfirmation = decideWithConfirmation;
|
|
39
40
|
exports.answerPendingMigration = answerPendingMigration;
|
|
40
41
|
/**
|
|
@@ -42,6 +43,7 @@ exports.answerPendingMigration = answerPendingMigration;
|
|
|
42
43
|
* CLI runs on process.stdin/stderr is the code a test drives with a simulated TTY.
|
|
43
44
|
*
|
|
44
45
|
* waive `sungen journey --screen <u> --waive <OB> --reason …` phrase: the obligation id
|
|
46
|
+
* signoff `sungen journey --screen <u> --signoff [--by <name>]` phrase: SIGN-OFF (review W3)
|
|
45
47
|
* decide `sungen journey [--screen <u>] --decide <kind> --text … --reason … [--anchor …]` phrase: the kind
|
|
46
48
|
* migration a leftover write-ahead sentinel → REVERT or KEEP (takumi T6)
|
|
47
49
|
*
|
|
@@ -67,9 +69,7 @@ const gate_override_validation_1 = require("../harness/gates/gate-override-valid
|
|
|
67
69
|
async function waiveWithConfirmation(i) {
|
|
68
70
|
if (!i.reason || !i.reason.trim())
|
|
69
71
|
throw new Error('A reason is required to waive (anti-amnesia: a waiver must record WHY). Use --reason "...".');
|
|
70
|
-
|
|
71
|
-
if (!valid.includes(i.obligation))
|
|
72
|
-
throw new Error(`Unknown obligation "${i.obligation}". Valid: ${valid.join(', ')}`);
|
|
72
|
+
(0, journey_1.assertWaivable)((0, journey_1.runJourney)(i.projectRoot, i.unit), i.unit, i.obligation);
|
|
73
73
|
await (0, human_confirmation_1.requireTypedConfirmation)({
|
|
74
74
|
what: `waive ${i.obligation} for ${i.unit}`,
|
|
75
75
|
phrase: i.obligation,
|
|
@@ -79,6 +79,24 @@ async function waiveWithConfirmation(i) {
|
|
|
79
79
|
});
|
|
80
80
|
return (0, journey_1.waive)(i.projectRoot, i.unit, i.obligation, i.reason);
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* The single human gate (DOS §3.4, S5), typed by a person on a terminal: the gate suggests it, so an
|
|
84
|
+
* agent must not be able to give it. Refused before the prompt when the board cannot be signed off.
|
|
85
|
+
*/
|
|
86
|
+
async function signoffWithConfirmation(i) {
|
|
87
|
+
const what = `sign off ${i.unit} (the single human gate before delivery)`;
|
|
88
|
+
const command = (0, human_confirmation_1.formatCommand)(['sungen', 'journey', '--screen', i.unit, '--signoff', ...(i.by ? ['--by', i.by] : [])]);
|
|
89
|
+
(0, human_confirmation_1.requireInteractive)(i.io, what, command); // before the board is read: a refused sign-off writes nothing
|
|
90
|
+
const { signer, gitUser } = (0, journey_1.signoffSigner)(i.projectRoot, i.unit, i.by); // nobody to name → refused, no prompt
|
|
91
|
+
const before = (0, journey_1.runJourney)(i.projectRoot, i.unit);
|
|
92
|
+
(0, journey_1.assertCanSignOff)(before);
|
|
93
|
+
await (0, human_confirmation_1.requireTypedConfirmation)({
|
|
94
|
+
what, phrase: 'SIGN-OFF', command,
|
|
95
|
+
summary: [`by: ${signer}${signer !== gitUser ? ` (recorded by git user ${gitUser})` : ''}`, `${before.needsYou.length} item(s) in the review queue — you have reviewed them`, 'it goes stale as soon as the audit changes (sign off again then)'],
|
|
96
|
+
io: i.io,
|
|
97
|
+
});
|
|
98
|
+
return (0, journey_1.signoff)(i.projectRoot, i.unit, i.by);
|
|
99
|
+
}
|
|
82
100
|
/** Kinds `--decide` records. The others have a command of their own that computes their payload. */
|
|
83
101
|
exports.DECIDE_KINDS = ['gate-override', 'clarification'];
|
|
84
102
|
const OWN_COMMAND = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmed-decision-commands.js","sourceRoot":"","sources":["../../src/decisions/confirmed-decision-commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"confirmed-decision-commands.js","sourceRoot":"","sources":["../../src/decisions/confirmed-decision-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ export declare const processIO: () => ConfirmationIO;
|
|
|
15
15
|
export declare const isInteractive: (io: ConfirmationIO) => boolean;
|
|
16
16
|
export declare function shellQuote(arg: string): string;
|
|
17
17
|
export declare const formatCommand: (argv: string[]) => string;
|
|
18
|
+
/** Refuse up front, before any state is read or written, when no human is at a terminal. */
|
|
19
|
+
export declare function requireInteractive(io: ConfirmationIO, what: string, command: string): void;
|
|
18
20
|
/** A fresh, hard-to-guess suffix for one prompt. */
|
|
19
21
|
export declare const confirmationNonce: () => string;
|
|
20
22
|
export declare function requireTypedConfirmation(opts: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-confirmation.d.ts","sourceRoot":"","sources":["../../src/decisions/human-confirmation.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;aACJ,OAAO,CAAC,EAAE,MAAM;gBAAjD,OAAO,EAAE,MAAM,EAAkB,OAAO,CAAC,EAAE,MAAM;CAI9D;AAED,kGAAkG;AAClG,eAAO,MAAM,SAAS,QAAO,cAA+F,CAAC;AAC7H,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,KAAG,OAAkC,CAAC;AAEtF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AACD,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,KAAG,MAAwC,CAAC;AAyCxF,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,QAAO,MAAsD,CAAC;AAE5F,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,cAAc,CAAC;CACtF,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED,kGAAkG;AAClG,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,cAAc,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,CAWlI"}
|
|
1
|
+
{"version":3,"file":"human-confirmation.d.ts","sourceRoot":"","sources":["../../src/decisions/human-confirmation.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;aACJ,OAAO,CAAC,EAAE,MAAM;gBAAjD,OAAO,EAAE,MAAM,EAAkB,OAAO,CAAC,EAAE,MAAM;CAI9D;AAED,kGAAkG;AAClG,eAAO,MAAM,SAAS,QAAO,cAA+F,CAAC;AAC7H,eAAO,MAAM,aAAa,GAAI,IAAI,cAAc,KAAG,OAAkC,CAAC;AAEtF,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AACD,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,KAAG,MAAwC,CAAC;AAyCxF,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1F;AAED,oDAAoD;AACpD,eAAO,MAAM,iBAAiB,QAAO,MAAsD,CAAC;AAE5F,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,EAAE,EAAE,cAAc,CAAC;CACtF,GAAG,OAAO,CAAC,IAAI,CAAC,CAahB;AAED,kGAAkG;AAClG,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,cAAc,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,CAWlI"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.confirmationNonce = exports.formatCommand = exports.isInteractive = exports.processIO = exports.HumanConfirmationRefused = void 0;
|
|
37
37
|
exports.shellQuote = shellQuote;
|
|
38
|
+
exports.requireInteractive = requireInteractive;
|
|
38
39
|
exports.requireTypedConfirmation = requireTypedConfirmation;
|
|
39
40
|
exports.askMigrationChoice = askMigrationChoice;
|
|
40
41
|
/**
|
|
@@ -117,6 +118,11 @@ function refuseWithoutTty(what, command) {
|
|
|
117
118
|
return new HumanConfirmationRefused(`Refused: ${what} needs a human at a terminal to type a confirmation, and this run has no TTY.\n`
|
|
118
119
|
+ ` Nothing was recorded. Run this yourself in a terminal:\n ${command}`, command);
|
|
119
120
|
}
|
|
121
|
+
/** Refuse up front, before any state is read or written, when no human is at a terminal. */
|
|
122
|
+
function requireInteractive(io, what, command) {
|
|
123
|
+
if (!(0, exports.isInteractive)(io))
|
|
124
|
+
throw refuseWithoutTty(what, command);
|
|
125
|
+
}
|
|
120
126
|
/** A fresh, hard-to-guess suffix for one prompt. */
|
|
121
127
|
const confirmationNonce = () => (0, crypto_1.randomBytes)(3).toString('hex').toUpperCase();
|
|
122
128
|
exports.confirmationNonce = confirmationNonce;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-confirmation.js","sourceRoot":"","sources":["../../src/decisions/human-confirmation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,gCAEC;
|
|
1
|
+
{"version":3,"file":"human-confirmation.js","sourceRoot":"","sources":["../../src/decisions/human-confirmation.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ function draftBanner(ws, model) {
|
|
|
44
44
|
return;
|
|
45
45
|
ws.mergeCells('A5:H5');
|
|
46
46
|
const c = ws.getCell('A5');
|
|
47
|
-
c.value = 'DRAFT — NOT APPROVED FOR OFFICIAL DELIVERY (review-required findings
|
|
47
|
+
c.value = 'DRAFT — NOT APPROVED FOR OFFICIAL DELIVERY (review-required findings, proposed groups, or an audit that does not pass)';
|
|
48
48
|
c.font = { bold: true, size: 11, name: xlsx_report_builder_1.ARIAL_FONT, color: { argb: 'FFFFFFFF' } };
|
|
49
49
|
c.fill = { type: 'pattern', pattern: 'solid', fgColor: exports.DRAFT_RED };
|
|
50
50
|
c.alignment = { horizontal: 'center', vertical: 'middle' };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xlsx-cells.js","sourceRoot":"","sources":["../../../src/exporters/matrix/xlsx-cells.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAmBH,gCAMC;AAED,4BAQC;AAMD,kCAQC;AA9CD,gEAAsF;AAGzE,QAAA,SAAS,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,QAAA,SAAS,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,QAAA,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,qFAAqF;AACxE,QAAA,aAAa,GAAG,mCAAmC,CAAC;AASjE,SAAgB,UAAU,CAAC,CAAe,EAAE,KAAa;IACvD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,2BAAK,EAAE,IAAI,EAAE,gCAAU,EAAE,CAAC;IAClE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,8BAAQ,EAAE,CAAC;IAClE,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC,CAAC,MAAM,GAAG,qCAAe,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAe,EAAE,KAAwB,EAAE,IAAmB;IACrF,8EAA8E;IAC9E,wEAAwE;IACxE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3E,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClH,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChG,CAAC,CAAC,MAAM,GAAG,qCAAe,CAAC;IAC3B,IAAI,IAAI,EAAE,IAAI;QAAE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,EAAqB,EAAE,KAAkB;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO;IACrD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"xlsx-cells.js","sourceRoot":"","sources":["../../../src/exporters/matrix/xlsx-cells.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAmBH,gCAMC;AAED,4BAQC;AAMD,kCAQC;AA9CD,gEAAsF;AAGzE,QAAA,SAAS,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,QAAA,SAAS,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACjC,QAAA,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC7C,qFAAqF;AACxE,QAAA,aAAa,GAAG,mCAAmC,CAAC;AASjE,SAAgB,UAAU,CAAC,CAAe,EAAE,KAAa;IACvD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,2BAAK,EAAE,IAAI,EAAE,gCAAU,EAAE,CAAC;IAClE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,8BAAQ,EAAE,CAAC;IAClE,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC,CAAC,MAAM,GAAG,qCAAe,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,CAAe,EAAE,KAAwB,EAAE,IAAmB;IACrF,8EAA8E;IAC9E,wEAAwE;IACxE,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3E,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClH,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChG,CAAC,CAAC,MAAM,GAAG,qCAAe,CAAC;IAC3B,IAAI,IAAI,EAAE,IAAI;QAAE,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,EAAqB,EAAE,KAAkB;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO;IACrD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC,KAAK,GAAG,wHAAwH,CAAC;IACnI,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gCAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;IACjF,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAS,EAAE,CAAC;IACnE,CAAC,CAAC,SAAS,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC"}
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
*
|
|
5
5
|
* open active ∧ ¬satisfied (a test-case node is open when at least one case is)
|
|
6
6
|
* frontier open ∧ (every `requires` satisfied ∨ ¬blocking)
|
|
7
|
-
* cut an open blocking node ends the walk — nothing ranked after it is offered
|
|
7
|
+
* cut an open blocking node ends the walk — nothing ranked after it is offered, except a
|
|
8
|
+
* node's instances that `surfacesPastCut` (a hard contract verdict, #940), which follow
|
|
9
|
+
* the cutting step and never cut themselves
|
|
8
10
|
*
|
|
9
11
|
* `--case <id>` (`testCase` option): the frontier is that case's test-case nodes plus the blocking
|
|
10
12
|
* unit nodes before them; non-blocking unit advice is left to the unit view. A `caseOnly` test-case
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate-graph.d.ts","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"evaluate-graph.d.ts","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkBD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,GAAE,eAAoB,GAC/F,QAAQ,EAAE,CAwBZ"}
|
|
@@ -20,18 +20,21 @@ function evaluateGraph(nodes, s, tcStates, opts = {}) {
|
|
|
20
20
|
const ordered = [...nodes].sort((a, b) => a.rank - b.rank);
|
|
21
21
|
const open = new Set();
|
|
22
22
|
const out = [];
|
|
23
|
+
let cut = false;
|
|
23
24
|
for (const node of ordered) {
|
|
24
25
|
if (!node.appliesTo.includes(s.kind) || (node.granularity === 'test-case' && node.caseOnly && !opts.testCase))
|
|
25
26
|
continue;
|
|
27
|
+
if (cut && !node.surfacesPastCut)
|
|
28
|
+
continue;
|
|
26
29
|
let step = null;
|
|
27
30
|
if (node.granularity === 'unit') {
|
|
28
|
-
if (!node.active(s) || node.satisfied(s))
|
|
31
|
+
if (!node.active(s) || node.satisfied(s) || (cut && !node.surfacesPastCut(s)))
|
|
29
32
|
continue;
|
|
30
33
|
if (!opts.testCase || node.blocking)
|
|
31
34
|
step = withMeta(node, node.step(s));
|
|
32
35
|
}
|
|
33
36
|
else {
|
|
34
|
-
const cases = openCases(node, s, tcStates, opts.testCase);
|
|
37
|
+
const cases = openCases(node, s, tcStates, opts.testCase).filter((tc) => !cut || node.surfacesPastCut(s, tc));
|
|
35
38
|
if (!cases.length)
|
|
36
39
|
continue;
|
|
37
40
|
const single = Boolean(opts.testCase);
|
|
@@ -39,10 +42,10 @@ function evaluateGraph(nodes, s, tcStates, opts = {}) {
|
|
|
39
42
|
}
|
|
40
43
|
open.add(node.id);
|
|
41
44
|
const ready = node.requires.every((r) => !open.has(r));
|
|
42
|
-
if (step && (ready || !node.blocking))
|
|
45
|
+
if (step && (cut || ready || !node.blocking))
|
|
43
46
|
out.push(step);
|
|
44
|
-
if (node.blocking)
|
|
45
|
-
|
|
47
|
+
if (node.blocking && !cut)
|
|
48
|
+
cut = true;
|
|
46
49
|
}
|
|
47
50
|
return out;
|
|
48
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate-graph.js","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"evaluate-graph.js","sourceRoot":"","sources":["../../src/graph/evaluate-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,11 @@ export interface UnitNodeDecl extends NodeDeclBase {
|
|
|
38
38
|
active(s: UnitState): boolean;
|
|
39
39
|
satisfied(s: UnitState): boolean;
|
|
40
40
|
step(s: UnitState): StepCore;
|
|
41
|
+
/**
|
|
42
|
+
* Offered even when a blocking node ranked before it cut the walk — only while this holds (#940: a
|
|
43
|
+
* hard contract verdict must not hide behind a stale or failing audit). It never cuts by itself.
|
|
44
|
+
*/
|
|
45
|
+
surfacesPastCut?(s: UnitState): boolean;
|
|
41
46
|
}
|
|
42
47
|
export interface TestCaseNodeDecl extends NodeDeclBase {
|
|
43
48
|
granularity: 'test-case';
|
|
@@ -50,6 +55,8 @@ export interface TestCaseNodeDecl extends NodeDeclBase {
|
|
|
50
55
|
satisfied(s: UnitState, tc: TestCaseState): boolean;
|
|
51
56
|
/** One step for `cases` (all open at this node): a unit-level fold, or exactly one case when `single`. */
|
|
52
57
|
step(s: UnitState, cases: TestCaseState[], single: boolean): StepCore;
|
|
58
|
+
/** The cases offered even past a cut (see UnitNodeDecl.surfacesPastCut). */
|
|
59
|
+
surfacesPastCut?(s: UnitState, tc: TestCaseState): boolean;
|
|
53
60
|
}
|
|
54
61
|
export type NodeDecl = UnitNodeDecl | TestCaseNodeDecl;
|
|
55
62
|
/** `qa/<dir>/<unit>` for the unit kind, as the steps name it. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-decl.d.ts","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAEzC,kGAAkG;AAClG,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAEtE,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"node-decl.d.ts","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,eAAe,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAEzC,kGAAkG;AAClG,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAEtE,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,WAAW,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACjD,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;IACpD,0GAA0G;IAC1G,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IACtE,4EAA4E;IAC5E,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC;CAC5D;AAED,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEvD,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,KAAG,MAA6E,CAAC;AAE3H,eAAO,MAAM,SAAS,EAAE,SAAS,QAAQ,EAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-decl.js","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"node-decl.js","sourceRoot":"","sources":["../../src/graph/node-decl.ts"],"names":[],"mappings":";;;AAoEA,iEAAiE;AAC1D,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAA9G,QAAA,WAAW,eAAmG;AAE9G,QAAA,SAAS,GAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
* tc.conformance its trace is in review: a `low` target identity do contract check --trace
|
|
12
12
|
* · its final attempt did not pass (inconclusive) do run-test --ids
|
|
13
13
|
* · a step no code can compare (opaque) decide contract check
|
|
14
|
-
*
|
|
14
|
+
* tc.contract-check (a weaker / retargeted / lost check, or an uncommitted lock entry) and tc.unproven
|
|
15
|
+
* are hard verdicts: they are offered past a stale or failing audit (the cut at unit.audit-stale /
|
|
16
|
+
* unit.gate-fail), #940; tc.contract-approve (changed, not weaker) is review and waits behind it. Exempt cases (DOS-11.2) open nothing. A proposed case (never approved) asks nothing of its own: a
|
|
15
17
|
* compiled test without a lock is never blocked, and the unit view offers the approval.
|
|
16
18
|
*/
|
|
17
19
|
import { TestCaseNodeDecl } from '../node-decl';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-case-contract-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"test-case-contract-nodes.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAsCrE,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAiB/D,CAAC"}
|
|
@@ -14,7 +14,9 @@ exports.TEST_CASE_CONTRACT_NODES = void 0;
|
|
|
14
14
|
* tc.conformance its trace is in review: a `low` target identity do contract check --trace
|
|
15
15
|
* · its final attempt did not pass (inconclusive) do run-test --ids
|
|
16
16
|
* · a step no code can compare (opaque) decide contract check
|
|
17
|
-
*
|
|
17
|
+
* tc.contract-check (a weaker / retargeted / lost check, or an uncommitted lock entry) and tc.unproven
|
|
18
|
+
* are hard verdicts: they are offered past a stale or failing audit (the cut at unit.audit-stale /
|
|
19
|
+
* unit.gate-fail), #940; tc.contract-approve (changed, not weaker) is review and waits behind it. Exempt cases (DOS-11.2) open nothing. A proposed case (never approved) asks nothing of its own: a
|
|
18
20
|
* compiled test without a lock is never blocked, and the unit view offers the approval.
|
|
19
21
|
*/
|
|
20
22
|
const node_decl_1 = require("../node-decl");
|
|
@@ -25,13 +27,14 @@ const classOf = (tc) => tc.contract?.class;
|
|
|
25
27
|
/** Up to three cases with the finding behind each. */
|
|
26
28
|
const withDetail = (cases) => `${cases.slice(0, 3).map((c) => (c.contract?.detail ? `${c.id}: ${c.contract.detail}` : c.id)).join('; ')}${cases.length > 3 ? '; …' : ''}`;
|
|
27
29
|
const check = (s, trace = false) => `sungen contract check --screen ${s.unit}${trace ? ' --trace' : ''}`;
|
|
28
|
-
function contractNode(id, rank, title, actor, gates, caseOnly, active, step) {
|
|
30
|
+
function contractNode(id, rank, title, actor, gates, caseOnly, active, step, hard) {
|
|
29
31
|
return {
|
|
30
32
|
id, title, actor, granularity: 'test-case', appliesTo: node_decl_1.ALL_KINDS, blocking: false, rank, gates, step,
|
|
31
33
|
requires: caseOnly ? ['unit.gate-fail'] : ['unit.run'], produces: ['contracts.lock.yaml', 'decisions/<id>.yaml'],
|
|
32
34
|
...(caseOnly ? { caseOnly: true } : {}),
|
|
33
35
|
active: (_s, tc) => active(tc),
|
|
34
36
|
satisfied: (_s, tc) => (0, test_case_satisfied_1.exemptionOf)(tc) !== null,
|
|
37
|
+
...(hard ? { surfacesPastCut: (_s, tc) => hard(tc) } : {}),
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
const conformanceStep = (s, cases) => {
|
|
@@ -49,8 +52,8 @@ exports.TEST_CASE_CONTRACT_NODES = [
|
|
|
49
52
|
contractNode('tc.contract-approve', 106, 'Re-approve this changed case', 'human', ['contract.hash-changed'], true, (tc) => classOf(tc) === 'hash-changed' && !tc.contract?.uncommitted, (s, [c]) => ({ kind: 'decide', command: `sungen contract approve --screen ${s.unit} --scenario ${c.id}`, because: `this case changed since QA approved it, not weaker${c.contract?.detail ? ` (${c.contract.detail})` : ''} — a QA re-approves this scenario on a terminal; until then review blocks \`sungen delivery\`. An agent presents it and never approves its own edit` })),
|
|
50
53
|
contractNode('tc.contract-check', 107, 'Restore the approved check of this case', 'human', ['contract.oracle-weakened', 'contract.target-changed', 'contract.assertion-lost', 'contract.lock-uncommitted'], true, (tc) => Boolean(tc.contract?.uncommitted) || HARD_LADDER.has(classOf(tc) ?? ''), (s, [c]) => ({ kind: 'blocked', command: check(s), because: c.contract?.uncommitted
|
|
51
54
|
? `its lock entry is not what QA approved and committed (contract.lock-uncommitted) — \`sungen next ${s.unit}\` names the repair; \`sungen delivery\` is blocked until then`
|
|
52
|
-
: `this case breaks its approved contract (${c.contract?.class}${c.contract?.detail ? `: ${c.contract.detail}` : ''}) — restore the approved check (in the .feature, or in the hand-written test of a free / impl:code case), or a QA approves the change on a terminal (\`sungen contract approve --screen ${s.unit} --scenario ${c.id}\`). \`sungen delivery\` is blocked until then; never weaken an expected value to go green` })),
|
|
53
|
-
contractNode('tc.unproven', 136, 'Prove the approved free cases with a trace', 'ai', ['contract.unproven'], false, (tc) => classOf(tc) === 'unproven', (s, cases) => ({ kind: 'do', command: `/sungen:run-test ${s.unit}${(0, test_case_nodes_1.idsArg)(cases)}`, because: `${cases.length} approved free / impl:code test case(s) have no trace that proves them (${withDetail(cases)}) — run them again with trace: 'on' and the sungen run-record reporter (run-test Phase 4 does), then \`${check(s, true)}\`. Until then \`sungen contract check\` fails (contract.unproven) and \`sungen delivery\` is blocked; re-approving or editing the .feature cannot prove them` })),
|
|
55
|
+
: `this case breaks its approved contract (${c.contract?.class}${c.contract?.detail ? `: ${c.contract.detail}` : ''}) — restore the approved check (in the .feature, or in the hand-written test of a free / impl:code case), or a QA approves the change on a terminal (\`sungen contract approve --screen ${s.unit} --scenario ${c.id}\`). \`sungen delivery\` is blocked until then; never weaken an expected value to go green` }), (tc) => Boolean(tc.contract?.uncommitted) || HARD_LADDER.has(classOf(tc) ?? '')),
|
|
56
|
+
contractNode('tc.unproven', 136, 'Prove the approved free cases with a trace', 'ai', ['contract.unproven'], false, (tc) => classOf(tc) === 'unproven', (s, cases) => ({ kind: 'do', command: `/sungen:run-test ${s.unit}${(0, test_case_nodes_1.idsArg)(cases)}`, because: `${cases.length} approved free / impl:code test case(s) have no trace that proves them (${withDetail(cases)}) — run them again with trace: 'on' and the sungen run-record reporter (run-test Phase 4 does), then \`${check(s, true)}\`. Until then \`sungen contract check\` fails (contract.unproven) and \`sungen delivery\` is blocked; re-approving or editing the .feature cannot prove them` }), (tc) => classOf(tc) === 'unproven'),
|
|
54
57
|
contractNode('tc.conformance', 138, 'Settle the traces in review', 'ai', ['contract.opaque-step', 'contract.inconclusive'], false, (tc) => classOf(tc) === 'opaque' || classOf(tc) === 'inconclusive', conformanceStep),
|
|
55
58
|
];
|
|
56
59
|
//# sourceMappingURL=test-case-contract-nodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-case-contract-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"test-case-contract-nodes.js","sourceRoot":"","sources":["../../../src/graph/nodes/test-case-contract-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* verdict `sungen contract check` and the delivery guard rebuild (buildContractVerdict), so the three
|
|
4
4
|
* never disagree. Always `decide`: an agent presents it and never approves its own edit.
|
|
5
5
|
*
|
|
6
|
-
* unit.contract-approve (rank 105, after the audit gate, before the first run
|
|
6
|
+
* unit.contract-approve (rank 105, after the audit gate, before the first run; a hard verdict —
|
|
7
|
+
* hard or uncommitted — is offered past a stale or failing audit too, #940)
|
|
7
8
|
* error the verdict could not be built → check it on a terminal
|
|
8
9
|
* uncommitted by kind: tampered → re-approve or restore · untracked → commit after review ·
|
|
9
10
|
* edited → review and commit, or `git checkout --` the lock · unverified → commit the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unit-contract-node.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unit-contract-node.d.ts","sourceRoot":"","sources":["../../../src/graph/nodes/unit-contract-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAuB,YAAY,EAAe,MAAM,cAAc,CAAC;AA2C9E,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EA2BtD,CAAC"}
|