@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.
Files changed (165) hide show
  1. package/dist/capabilities/discover.d.ts +4 -0
  2. package/dist/capabilities/discover.d.ts.map +1 -1
  3. package/dist/capabilities/discover.js +16 -2
  4. package/dist/capabilities/discover.js.map +1 -1
  5. package/dist/cli/commands/audit.js +1 -1
  6. package/dist/cli/commands/audit.js.map +1 -1
  7. package/dist/cli/commands/contract-derive-command.d.ts +3 -2
  8. package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
  9. package/dist/cli/commands/contract-derive-command.js +3 -3
  10. package/dist/cli/commands/contract-derive-command.js.map +1 -1
  11. package/dist/cli/commands/contract.js +1 -1
  12. package/dist/cli/commands/contract.js.map +1 -1
  13. package/dist/cli/commands/delivery.d.ts.map +1 -1
  14. package/dist/cli/commands/delivery.js +9 -2
  15. package/dist/cli/commands/delivery.js.map +1 -1
  16. package/dist/cli/commands/journey.js +2 -2
  17. package/dist/cli/commands/journey.js.map +1 -1
  18. package/dist/cli/commands/next.d.ts.map +1 -1
  19. package/dist/cli/commands/next.js +8 -6
  20. package/dist/cli/commands/next.js.map +1 -1
  21. package/dist/cli/index.js +1 -1
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/project-sungen-invocation.d.ts +7 -0
  24. package/dist/cli/project-sungen-invocation.d.ts.map +1 -0
  25. package/dist/cli/project-sungen-invocation.js +76 -0
  26. package/dist/cli/project-sungen-invocation.js.map +1 -0
  27. package/dist/contract/derive-free-feature.d.ts +8 -0
  28. package/dist/contract/derive-free-feature.d.ts.map +1 -1
  29. package/dist/contract/derive-free-feature.js +10 -1
  30. package/dist/contract/derive-free-feature.js.map +1 -1
  31. package/dist/contract/trace/collect-trace-evidence.js +1 -1
  32. package/dist/contract/trace/collect-trace-evidence.js.map +1 -1
  33. package/dist/contract/trace/test-step-join.d.ts +3 -3
  34. package/dist/contract/trace/test-step-join.d.ts.map +1 -1
  35. package/dist/contract/trace/test-step-join.js +2 -2
  36. package/dist/contract/trace/test-step-join.js.map +1 -1
  37. package/dist/contract/trace/trace-file-reader.d.ts +7 -1
  38. package/dist/contract/trace/trace-file-reader.d.ts.map +1 -1
  39. package/dist/contract/trace/trace-file-reader.js +10 -4
  40. package/dist/contract/trace/trace-file-reader.js.map +1 -1
  41. package/dist/contract/trace/trace-run-record.d.ts +4 -1
  42. package/dist/contract/trace/trace-run-record.d.ts.map +1 -1
  43. package/dist/contract/trace/trace-run-record.js +20 -14
  44. package/dist/contract/trace/trace-run-record.js.map +1 -1
  45. package/dist/contract/trace/trace-steps.js +1 -1
  46. package/dist/contract/trace/trace-steps.js.map +1 -1
  47. package/dist/contract/trace/trace-zip-limits.d.ts +5 -1
  48. package/dist/contract/trace/trace-zip-limits.d.ts.map +1 -1
  49. package/dist/contract/trace/trace-zip-limits.js +6 -2
  50. package/dist/contract/trace/trace-zip-limits.js.map +1 -1
  51. package/dist/decisions/confirmed-decision-commands.d.ts +11 -0
  52. package/dist/decisions/confirmed-decision-commands.d.ts.map +1 -1
  53. package/dist/decisions/confirmed-decision-commands.js +21 -3
  54. package/dist/decisions/confirmed-decision-commands.js.map +1 -1
  55. package/dist/decisions/human-confirmation.d.ts +2 -0
  56. package/dist/decisions/human-confirmation.d.ts.map +1 -1
  57. package/dist/decisions/human-confirmation.js +6 -0
  58. package/dist/decisions/human-confirmation.js.map +1 -1
  59. package/dist/exporters/matrix/xlsx-cells.js +1 -1
  60. package/dist/exporters/matrix/xlsx-cells.js.map +1 -1
  61. package/dist/graph/evaluate-graph.d.ts +3 -1
  62. package/dist/graph/evaluate-graph.d.ts.map +1 -1
  63. package/dist/graph/evaluate-graph.js +8 -5
  64. package/dist/graph/evaluate-graph.js.map +1 -1
  65. package/dist/graph/node-decl.d.ts +7 -0
  66. package/dist/graph/node-decl.d.ts.map +1 -1
  67. package/dist/graph/node-decl.js.map +1 -1
  68. package/dist/graph/nodes/test-case-contract-nodes.d.ts +3 -1
  69. package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
  70. package/dist/graph/nodes/test-case-contract-nodes.js +7 -4
  71. package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
  72. package/dist/graph/nodes/unit-contract-node.d.ts +2 -1
  73. package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
  74. package/dist/graph/nodes/unit-contract-node.js +8 -1
  75. package/dist/graph/nodes/unit-contract-node.js.map +1 -1
  76. package/dist/graph/nodes/unit-design-nodes.d.ts.map +1 -1
  77. package/dist/graph/nodes/unit-design-nodes.js +2 -1
  78. package/dist/graph/nodes/unit-design-nodes.js.map +1 -1
  79. package/dist/harness/catalog/gate-rules.yaml +2 -2
  80. package/dist/harness/gates/audit-report-verification.d.ts +15 -6
  81. package/dist/harness/gates/audit-report-verification.d.ts.map +1 -1
  82. package/dist/harness/gates/audit-report-verification.js +49 -20
  83. package/dist/harness/gates/audit-report-verification.js.map +1 -1
  84. package/dist/harness/gates/delivery-checklist.js +2 -2
  85. package/dist/harness/gates/delivery-checklist.js.map +1 -1
  86. package/dist/harness/gates/delivery-decision-gate.d.ts +4 -0
  87. package/dist/harness/gates/delivery-decision-gate.d.ts.map +1 -1
  88. package/dist/harness/gates/delivery-decision-gate.js +26 -1
  89. package/dist/harness/gates/delivery-decision-gate.js.map +1 -1
  90. package/dist/harness/gates/delivery-decision-step.d.ts +4 -1
  91. package/dist/harness/gates/delivery-decision-step.d.ts.map +1 -1
  92. package/dist/harness/gates/delivery-decision-step.js +17 -2
  93. package/dist/harness/gates/delivery-decision-step.js.map +1 -1
  94. package/dist/harness/journey.d.ts +19 -0
  95. package/dist/harness/journey.d.ts.map +1 -1
  96. package/dist/harness/journey.js +94 -11
  97. package/dist/harness/journey.js.map +1 -1
  98. package/dist/harness/provenance.d.ts +29 -0
  99. package/dist/harness/provenance.d.ts.map +1 -1
  100. package/dist/harness/provenance.js +109 -9
  101. package/dist/harness/provenance.js.map +1 -1
  102. package/dist/hooks/guard-protected-paths.d.ts.map +1 -1
  103. package/dist/hooks/guard-protected-paths.js +3 -2
  104. package/dist/hooks/guard-protected-paths.js.map +1 -1
  105. package/dist/hooks/guard-rules.d.ts +1 -1
  106. package/dist/hooks/guard-tty-spoof-rule.d.ts +1 -1
  107. package/dist/hooks/guard-tty-spoof-rule.js +2 -2
  108. package/dist/hooks/guard-tty-spoof-rule.js.map +1 -1
  109. package/dist/hooks/hand-back-core.d.ts +5 -3
  110. package/dist/hooks/hand-back-core.d.ts.map +1 -1
  111. package/dist/hooks/hand-back-core.js +17 -10
  112. package/dist/hooks/hand-back-core.js.map +1 -1
  113. package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
  114. package/dist/hooks/session-start-unit-state-hook.js +5 -3
  115. package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
  116. package/dist/orchestrator/assets-drift.d.ts +5 -0
  117. package/dist/orchestrator/assets-drift.d.ts.map +1 -1
  118. package/dist/orchestrator/assets-drift.js +12 -3
  119. package/dist/orchestrator/assets-drift.js.map +1 -1
  120. package/dist/orchestrator/project-initializer.d.ts.map +1 -1
  121. package/dist/orchestrator/project-initializer.js +1 -0
  122. package/dist/orchestrator/project-initializer.js.map +1 -1
  123. package/dist/orchestrator/templates/ai-src/commands/create-test.md +2 -2
  124. package/dist/orchestrator/templates/ai-src/commands/run-test.md +1 -1
  125. package/package.json +3 -3
  126. package/src/capabilities/discover.ts +15 -2
  127. package/src/cli/commands/audit.ts +1 -1
  128. package/src/cli/commands/contract-derive-command.ts +7 -6
  129. package/src/cli/commands/contract.ts +1 -1
  130. package/src/cli/commands/delivery.ts +7 -2
  131. package/src/cli/commands/journey.ts +4 -4
  132. package/src/cli/commands/next.ts +8 -6
  133. package/src/cli/index.ts +1 -1
  134. package/src/cli/project-sungen-invocation.ts +39 -0
  135. package/src/contract/derive-free-feature.ts +12 -2
  136. package/src/contract/trace/collect-trace-evidence.ts +1 -1
  137. package/src/contract/trace/test-step-join.ts +6 -5
  138. package/src/contract/trace/trace-file-reader.ts +17 -7
  139. package/src/contract/trace/trace-run-record.ts +14 -8
  140. package/src/contract/trace/trace-steps.ts +1 -1
  141. package/src/contract/trace/trace-zip-limits.ts +6 -2
  142. package/src/decisions/confirmed-decision-commands.ts +25 -4
  143. package/src/decisions/human-confirmation.ts +5 -0
  144. package/src/exporters/matrix/xlsx-cells.ts +1 -1
  145. package/src/graph/evaluate-graph.ts +9 -5
  146. package/src/graph/node-decl.ts +7 -0
  147. package/src/graph/nodes/test-case-contract-nodes.ts +9 -4
  148. package/src/graph/nodes/unit-contract-node.ts +8 -1
  149. package/src/graph/nodes/unit-design-nodes.ts +2 -1
  150. package/src/harness/catalog/gate-rules.yaml +2 -2
  151. package/src/harness/gates/audit-report-verification.ts +51 -23
  152. package/src/harness/gates/delivery-checklist.ts +2 -2
  153. package/src/harness/gates/delivery-decision-gate.ts +29 -1
  154. package/src/harness/gates/delivery-decision-step.ts +19 -3
  155. package/src/harness/journey.ts +95 -13
  156. package/src/harness/provenance.ts +99 -11
  157. package/src/hooks/guard-protected-paths.ts +3 -2
  158. package/src/hooks/guard-rules.ts +1 -1
  159. package/src/hooks/guard-tty-spoof-rule.ts +3 -3
  160. package/src/hooks/hand-back-core.ts +17 -11
  161. package/src/hooks/session-start-unit-state-hook.ts +5 -3
  162. package/src/orchestrator/assets-drift.ts +12 -5
  163. package/src/orchestrator/project-initializer.ts +1 -0
  164. package/src/orchestrator/templates/ai-src/commands/create-test.md +2 -2
  165. 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.RUN_RECORD_DIR = void 0;
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` (one per run or shard).
46
- * Playwright wipes `test-results/` at the start of every run, so a record and its traces share a
47
- * lifetime.
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
- exports.RUN_RECORD_DIR = 'test-results';
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
- const dir = path.join(projectRoot, exports.RUN_RECORD_DIR);
58
- let names;
59
- try {
60
- names = fs.readdirSync(dir);
61
- }
62
- catch {
63
- return [];
64
- }
65
- return names.filter((n) => /^sungen-run-record(?:\.[A-Za-z0-9._-]+)?\.json$/.test(n)).sort().map((n) => path.join(dir, n));
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":"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"}
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.callNumber)),
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":"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"}
@@ -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
- /** Trace format versions this reader was verified against: 8 = Playwright 1.57, 9 = 1.63. */
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,6FAA6F;AAC7F,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAAmB,CAAC;AAE7E,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"}
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
- /** Trace format versions this reader was verified against: 8 = Playwright 1.57, 9 = 1.63. */
32
- exports.SUPPORTED_TRACE_VERSIONS = new Set([8, 9]);
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;AAoBD,kDAEC;AAhDD,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,6FAA6F;AAChF,QAAA,wBAAwB,GAAwB,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAM7E,+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"}
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":"AAkBA,OAAO,EAAE,aAAa,EAAqB,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAkB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAiB,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAExF,OAAO,EAAsB,cAAc,EAA2C,MAAM,sBAAsB,CAAC;AAInH,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,CAYjF;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"}
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
- const valid = (0, journey_1.runJourney)(i.projectRoot, i.unit).obligations.map((o) => o.id);
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":"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"}
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":"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"}
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 or proposed groups remain)';
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,iGAAiG,CAAC;IAC5G,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"}
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;;;;;;;;;;;GAWG;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,CAsBZ"}
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
- break;
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":";;AAqCA,sCAwBC;AAxCD,SAAS,QAAQ,CAAC,IAAc,EAAE,IAAc,EAAE,QAAiB;IACjE,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,SAAS,CAAC,IAAc,EAAE,CAAY,EAAE,QAAqC,EAAE,IAAa;IACnG,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED,SAAgB,aAAa,CAC3B,KAA0B,EAAE,CAAY,EAAE,QAA0B,EAAE,OAAwB,EAAE;IAEhG,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QACxH,IAAI,IAAI,GAAoB,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAAE,SAAS;YACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,SAAS;YAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM;IAC3B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
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;CAC9B;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;CACvE;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
+ {"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":";;;AA6DA,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"}
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
- * Exempt cases (DOS-11.2) open nothing. A proposed case (never approved) asks nothing of its own: a
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;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAuB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqCrE,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAe/D,CAAC"}
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
- * Exempt cases (DOS-11.2) open nothing. A proposed case (never approved) asks nothing of its own: a
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":"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"}
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;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAuB,YAAY,EAAe,MAAM,cAAc,CAAC;AA2C9E,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EAqBtD,CAAC"}
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"}