@sun-asterisk/sungen 3.3.0-alpha.5 → 3.3.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/contract-derive-command.d.ts.map +1 -1
- package/dist/cli/commands/contract-derive-command.js +2 -0
- package/dist/cli/commands/contract-derive-command.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +21 -3
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +3 -1
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/next.d.ts +5 -2
- package/dist/cli/commands/next.d.ts.map +1 -1
- package/dist/cli/commands/next.js +14 -1
- package/dist/cli/commands/next.js.map +1 -1
- package/dist/cli/commands/triage.d.ts +2 -1
- package/dist/cli/commands/triage.d.ts.map +1 -1
- package/dist/cli/commands/triage.js +42 -2
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +6 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/json-error-on-exit.d.ts +34 -0
- package/dist/cli/json-error-on-exit.d.ts.map +1 -0
- package/dist/cli/json-error-on-exit.js +63 -0
- package/dist/cli/json-error-on-exit.js.map +1 -0
- package/dist/cli/waiting-for-you-block.d.ts +15 -0
- package/dist/cli/waiting-for-you-block.d.ts.map +1 -0
- package/dist/cli/waiting-for-you-block.js +19 -0
- package/dist/cli/waiting-for-you-block.js.map +1 -0
- package/dist/contract/derive-free-feature.d.ts +2 -0
- package/dist/contract/derive-free-feature.d.ts.map +1 -1
- package/dist/contract/derive-free-feature.js +22 -0
- package/dist/contract/derive-free-feature.js.map +1 -1
- package/dist/decisions/decision-schema.d.ts +2 -1
- package/dist/decisions/decision-schema.d.ts.map +1 -1
- package/dist/decisions/decision-schema.js +2 -1
- package/dist/decisions/decision-schema.js.map +1 -1
- package/dist/decisions/legacy-waiver-migration.d.ts +2 -0
- package/dist/decisions/legacy-waiver-migration.d.ts.map +1 -1
- package/dist/decisions/legacy-waiver-migration.js +5 -2
- package/dist/decisions/legacy-waiver-migration.js.map +1 -1
- package/dist/graph/board-human-actions.d.ts +5 -0
- package/dist/graph/board-human-actions.d.ts.map +1 -0
- package/dist/graph/board-human-actions.js +83 -0
- package/dist/graph/board-human-actions.js.map +1 -0
- package/dist/graph/evaluate-graph.d.ts +16 -0
- package/dist/graph/evaluate-graph.d.ts.map +1 -1
- package/dist/graph/evaluate-graph.js +29 -6
- package/dist/graph/evaluate-graph.js.map +1 -1
- package/dist/graph/human-action.d.ts +21 -0
- package/dist/graph/human-action.d.ts.map +1 -0
- package/dist/graph/human-action.js +3 -0
- package/dist/graph/human-action.js.map +1 -0
- package/dist/graph/manual-triage-decisions.d.ts +19 -0
- package/dist/graph/manual-triage-decisions.d.ts.map +1 -0
- package/dist/graph/manual-triage-decisions.js +53 -0
- package/dist/graph/manual-triage-decisions.js.map +1 -0
- package/dist/graph/node-decl.d.ts +9 -0
- package/dist/graph/node-decl.d.ts.map +1 -1
- package/dist/graph/node-decl.js +4 -1
- package/dist/graph/node-decl.js.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-contract-nodes.js +16 -3
- package/dist/graph/nodes/test-case-contract-nodes.js.map +1 -1
- package/dist/graph/nodes/test-case-nodes.d.ts +3 -0
- package/dist/graph/nodes/test-case-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/test-case-nodes.js +33 -4
- package/dist/graph/nodes/test-case-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.d.ts.map +1 -1
- package/dist/graph/nodes/unit-audit-nodes.js +1 -0
- package/dist/graph/nodes/unit-audit-nodes.js.map +1 -1
- package/dist/graph/nodes/unit-contract-node.d.ts.map +1 -1
- package/dist/graph/nodes/unit-contract-node.js +8 -0
- package/dist/graph/nodes/unit-contract-node.js.map +1 -1
- package/dist/graph/test-case-results.d.ts +1 -0
- package/dist/graph/test-case-results.d.ts.map +1 -1
- package/dist/graph/test-case-results.js +27 -3
- package/dist/graph/test-case-results.js.map +1 -1
- package/dist/graph/test-case-satisfied.d.ts +5 -4
- package/dist/graph/test-case-satisfied.d.ts.map +1 -1
- package/dist/graph/test-case-satisfied.js +4 -0
- package/dist/graph/test-case-satisfied.js.map +1 -1
- package/dist/graph/test-case-state-shape.d.ts +7 -1
- package/dist/graph/test-case-state-shape.d.ts.map +1 -1
- package/dist/graph/unit-results-freshness.d.ts +29 -0
- package/dist/graph/unit-results-freshness.d.ts.map +1 -0
- package/dist/graph/unit-results-freshness.js +213 -0
- package/dist/graph/unit-results-freshness.js.map +1 -0
- package/dist/harness/audit.d.ts +3 -2
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +4 -17
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/catalog/gate-rules.yaml +1 -1
- package/dist/harness/defect-draft.d.ts.map +1 -1
- package/dist/harness/defect-draft.js +12 -2
- package/dist/harness/defect-draft.js.map +1 -1
- package/dist/harness/defects.d.ts +14 -0
- package/dist/harness/defects.d.ts.map +1 -1
- package/dist/harness/defects.js +14 -10
- package/dist/harness/defects.js.map +1 -1
- package/dist/harness/flow-check.d.ts +9 -0
- package/dist/harness/flow-check.d.ts.map +1 -1
- package/dist/harness/flow-check.js +11 -0
- package/dist/harness/flow-check.js.map +1 -1
- package/dist/harness/gates/audit-gate-verdict.d.ts.map +1 -1
- package/dist/harness/gates/audit-gate-verdict.js +2 -1
- package/dist/harness/gates/audit-gate-verdict.js.map +1 -1
- package/dist/harness/gates/audit-input-hash.d.ts +2 -0
- package/dist/harness/gates/audit-input-hash.d.ts.map +1 -1
- package/dist/harness/gates/audit-input-hash.js +30 -2
- package/dist/harness/gates/audit-input-hash.js.map +1 -1
- package/dist/harness/gates/audit-report-verification.js +1 -1
- package/dist/harness/gates/audit-report-verification.js.map +1 -1
- package/dist/harness/gates/delivery-checklist.d.ts +3 -0
- package/dist/harness/gates/delivery-checklist.d.ts.map +1 -1
- package/dist/harness/gates/delivery-checklist.js +37 -4
- package/dist/harness/gates/delivery-checklist.js.map +1 -1
- package/dist/harness/gates/in-run-decision-check.d.ts.map +1 -1
- package/dist/harness/gates/in-run-decision-check.js +21 -1
- package/dist/harness/gates/in-run-decision-check.js.map +1 -1
- package/dist/harness/journey.d.ts +21 -0
- package/dist/harness/journey.d.ts.map +1 -1
- package/dist/harness/journey.js +61 -11
- package/dist/harness/journey.js.map +1 -1
- package/dist/harness/next-step.d.ts +17 -0
- package/dist/harness/next-step.d.ts.map +1 -1
- package/dist/harness/next-step.js +19 -0
- package/dist/harness/next-step.js.map +1 -1
- package/dist/harness/triage-manual-classification.d.ts +32 -0
- package/dist/harness/triage-manual-classification.d.ts.map +1 -0
- package/dist/harness/triage-manual-classification.js +56 -0
- package/dist/harness/triage-manual-classification.js.map +1 -0
- package/dist/harness/unit-paths.d.ts +8 -0
- package/dist/harness/unit-paths.d.ts.map +1 -1
- package/dist/harness/unit-paths.js +23 -1
- package/dist/harness/unit-paths.js.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts +3 -1
- package/dist/hooks/guard-tty-spoof-rule.d.ts.map +1 -1
- package/dist/hooks/guard-tty-spoof-rule.js +3 -2
- package/dist/hooks/guard-tty-spoof-rule.js.map +1 -1
- package/dist/hooks/hand-back-core.d.ts +1 -1
- package/dist/hooks/hand-back-core.d.ts.map +1 -1
- package/dist/hooks/hand-back-core.js +4 -2
- package/dist/hooks/hand-back-core.js.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts +2 -1
- package/dist/hooks/session-start-unit-state-hook.d.ts.map +1 -1
- package/dist/hooks/session-start-unit-state-hook.js +4 -1
- package/dist/hooks/session-start-unit-state-hook.js.map +1 -1
- package/dist/hooks/stop-next-step-hook.d.ts.map +1 -1
- package/dist/hooks/stop-next-step-hook.js +1 -0
- package/dist/hooks/stop-next-step-hook.js.map +1 -1
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/dist/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/dist/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
- package/package.json +3 -3
- package/src/cli/commands/contract-derive-command.ts +1 -0
- package/src/cli/commands/delivery.ts +20 -3
- package/src/cli/commands/generate.ts +3 -1
- package/src/cli/commands/next.ts +14 -3
- package/src/cli/commands/triage.ts +38 -2
- package/src/cli/commands/update.ts +6 -2
- package/src/cli/index.ts +4 -0
- package/src/cli/json-error-on-exit.ts +72 -0
- package/src/cli/waiting-for-you-block.ts +23 -0
- package/src/contract/derive-free-feature.ts +21 -0
- package/src/decisions/decision-schema.ts +2 -1
- package/src/decisions/legacy-waiver-migration.ts +5 -1
- package/src/graph/board-human-actions.ts +80 -0
- package/src/graph/evaluate-graph.ts +37 -8
- package/src/graph/human-action.ts +33 -0
- package/src/graph/manual-triage-decisions.ts +55 -0
- package/src/graph/node-decl.ts +11 -0
- package/src/graph/nodes/test-case-contract-nodes.ts +20 -4
- package/src/graph/nodes/test-case-nodes.ts +37 -5
- package/src/graph/nodes/unit-audit-nodes.ts +2 -1
- package/src/graph/nodes/unit-contract-node.ts +12 -1
- package/src/graph/test-case-results.ts +25 -4
- package/src/graph/test-case-satisfied.ts +7 -4
- package/src/graph/test-case-state-shape.ts +7 -2
- package/src/graph/unit-results-freshness.ts +165 -0
- package/src/harness/audit.ts +4 -13
- package/src/harness/catalog/gate-rules.yaml +1 -1
- package/src/harness/defect-draft.ts +13 -2
- package/src/harness/defects.ts +22 -9
- package/src/harness/flow-check.ts +11 -0
- package/src/harness/gates/audit-gate-verdict.ts +2 -1
- package/src/harness/gates/audit-input-hash.ts +27 -3
- package/src/harness/gates/audit-report-verification.ts +2 -2
- package/src/harness/gates/delivery-checklist.ts +37 -5
- package/src/harness/gates/in-run-decision-check.ts +22 -1
- package/src/harness/journey.ts +79 -8
- package/src/harness/next-step.ts +31 -1
- package/src/harness/triage-manual-classification.ts +76 -0
- package/src/harness/unit-paths.ts +19 -0
- package/src/hooks/guard-tty-spoof-rule.ts +6 -3
- package/src/hooks/hand-back-core.ts +4 -2
- package/src/hooks/session-start-unit-state-hook.ts +4 -1
- package/src/hooks/stop-next-step-hook.ts +1 -0
- package/src/orchestrator/templates/ai-src/commands/delivery.md +2 -0
- package/src/orchestrator/templates/ai-src/commands/review.md +2 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.claude.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.codex.md +11 -0
- package/src/orchestrator/templates/ai-src/partials/waiting-for-you.copilot.md +11 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-input-hash.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-input-hash.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"audit-input-hash.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-input-hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -199,7 +199,7 @@ function verifyAuditReport(projectRoot, unit) {
|
|
|
199
199
|
if (!unitDir)
|
|
200
200
|
return result('invalid', [{ code: 'unit-unresolved', message: `"${unit}" does not name exactly one unit, so the audit's inputs cannot be checked` }]);
|
|
201
201
|
if (r.inputsHash !== (0, audit_input_hash_1.auditInputsHash)(unitDir, unit, r.decisionsHash)) {
|
|
202
|
-
stale.push({ code: 'inputs-changed', message:
|
|
202
|
+
stale.push({ code: 'inputs-changed', message: (0, audit_input_hash_1.auditInputsChangedReason)(unitDir) });
|
|
203
203
|
}
|
|
204
204
|
if (stale.length)
|
|
205
205
|
return result('stale', stale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-report-verification.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,oCAMC;AAgDD,0CAEC;AAGD,oDAIC;AAED,8CAwCC;AAqBD,sDAMC;AAxMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,uCAAyB;AACzB,2CAA6B;AAC7B,yDAA+D;AAC/D,8CAA2C;AAC3C,8CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"audit-report-verification.js","sourceRoot":"","sources":["../../../src/harness/gates/audit-report-verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,9 @@ export interface ChecklistUnit {
|
|
|
13
13
|
kind: UnitKind;
|
|
14
14
|
resultsPath: string | null;
|
|
15
15
|
}
|
|
16
|
+
/** Which run the delivered counts come from — and whether the suite moved on since (#942). */
|
|
17
|
+
export declare function resultsBox(projectRoot: string, u: ChecklistUnit): ChecklistBox;
|
|
18
|
+
export declare function triageBox(projectRoot: string, u: ChecklistUnit): ChecklistBox;
|
|
16
19
|
export declare function unitChecklist(projectRoot: string, u: ChecklistUnit, accepted?: InRunAcceptance): Promise<ChecklistBox[]>;
|
|
17
20
|
export declare function renderChecklist(rows: Array<{
|
|
18
21
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-checklist.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery-checklist.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAkB,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AACnD,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AACjF,MAAM,WAAW,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AA2E/H,8FAA8F;AAC9F,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,CAW9E;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,YAAY,CAkB7E;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAE9H;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAAC,GAAG,MAAM,EAAE,CAQ/F"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resultsBox = resultsBox;
|
|
4
|
+
exports.triageBox = triageBox;
|
|
3
5
|
exports.unitChecklist = unitChecklist;
|
|
4
6
|
exports.renderChecklist = renderChecklist;
|
|
5
7
|
/**
|
|
@@ -10,7 +12,10 @@ exports.renderChecklist = renderChecklist;
|
|
|
10
12
|
* script-check runScriptCheck: OK | FAIL (`sungen script-check` 0 | 2)
|
|
11
13
|
* contract check buildContractVerdict: pass | review | fail (`sungen contract check` 0 | 0 | 2)
|
|
12
14
|
* decisions evaluateDeliveryDecisions: problems, in-run decisions (what this delivery checks)
|
|
13
|
-
*
|
|
15
|
+
* results resultsFreshness: the run the counts come from, not older than the .feature,
|
|
16
|
+
* compiled spec or spec.md, and present for SUNGEN_ENV (#942)
|
|
17
|
+
* triage testCaseStates: every red case classified, candidates decided — naming the classified
|
|
18
|
+
* reds still awaiting a test fix or an environment re-run
|
|
14
19
|
* A box that cannot apply is SKIPPED with its reason — never absent, never ticked. The checklist only
|
|
15
20
|
* reports: the gates before it decide whether the delivery runs, so no exit code moves because of it.
|
|
16
21
|
*/
|
|
@@ -19,6 +24,7 @@ const contract_git_1 = require("../../contract/contract-git");
|
|
|
19
24
|
const contracts_lock_file_1 = require("../../contract/contracts-lock-file");
|
|
20
25
|
const test_case_satisfied_1 = require("../../graph/test-case-satisfied");
|
|
21
26
|
const test_case_states_1 = require("../../graph/test-case-states");
|
|
27
|
+
const unit_results_freshness_1 = require("../../graph/unit-results-freshness");
|
|
22
28
|
const script_check_1 = require("../script-check");
|
|
23
29
|
const audit_report_verification_1 = require("./audit-report-verification");
|
|
24
30
|
const delivery_decision_gate_1 = require("./delivery-decision-gate");
|
|
@@ -47,6 +53,14 @@ async function quietly(fn) {
|
|
|
47
53
|
Object.assign(console, saved);
|
|
48
54
|
}
|
|
49
55
|
}
|
|
56
|
+
/** Findings a fresh `sungen generate` cures: the spec is out of step with the .feature, not hollow. */
|
|
57
|
+
const REGENERATE_CURES = /^(?:DRIFT|MISSING in spec|EXTRA in spec|Count mismatch)\b/;
|
|
58
|
+
/** The first finding's first sentence — its cause after "→" kept (#943) — and, when regenerating cures it, the command. */
|
|
59
|
+
function scriptCheckFailure(u, finding = 'not faithful') {
|
|
60
|
+
const first = finding.split(/\. /)[0].slice(0, 240);
|
|
61
|
+
const generate = `sungen generate --${u.kind === 'flow' ? 'flow' : u.kind === 'api' ? 'api' : 'screen'} ${u.unitName}`;
|
|
62
|
+
return `FAIL — ${first}${REGENERATE_CURES.test(finding) ? ` — run \`${generate}\` after fixing the scenario` : ''} (\`sungen script-check\` exits 2)`;
|
|
63
|
+
}
|
|
50
64
|
async function scriptCheckBox(u) {
|
|
51
65
|
try {
|
|
52
66
|
const r = await quietly(() => (0, script_check_1.runScriptCheck)(u.unitDir, u.unitName, u.kind));
|
|
@@ -54,7 +68,7 @@ async function scriptCheckBox(u) {
|
|
|
54
68
|
return box('script-check', 'skipped', 'no compiled spec to compare: nothing was compiled for this unit');
|
|
55
69
|
return r.status === 'OK'
|
|
56
70
|
? box('script-check', 'pass', `OK — the spec is a 1:1 of the .feature, no drift (${r.automatedScenarios} automated)`)
|
|
57
|
-
: box('script-check', 'fail',
|
|
71
|
+
: box('script-check', 'fail', scriptCheckFailure(u, r.findings[0]));
|
|
58
72
|
}
|
|
59
73
|
catch (e) {
|
|
60
74
|
return box('script-check', 'fail', `could not run: ${why(e)}`);
|
|
@@ -92,6 +106,21 @@ function decisionsBox(projectRoot, u, accepted) {
|
|
|
92
106
|
return box('decisions', 'fail', `could not be evaluated: ${why(e)}`);
|
|
93
107
|
}
|
|
94
108
|
}
|
|
109
|
+
/** Which run the delivered counts come from — and whether the suite moved on since (#942). */
|
|
110
|
+
function resultsBox(projectRoot, u) {
|
|
111
|
+
try {
|
|
112
|
+
const f = (0, unit_results_freshness_1.resultsFreshness)(projectRoot, u.unitDir, u.unitName);
|
|
113
|
+
if (!f)
|
|
114
|
+
return box('results', 'skipped', 'no run results: the unit has not run, every case reads Pending');
|
|
115
|
+
const run = `${(0, unit_results_freshness_1.describeResultsRun)(f)}${f.files.length > 1 ? `, ${f.files.length} files` : ''}`;
|
|
116
|
+
return f.warning
|
|
117
|
+
? box('results', 'fail', `${run} — ${f.warning}`)
|
|
118
|
+
: box('results', 'pass', `${run} — not older than the .feature, compiled spec or spec.md`);
|
|
119
|
+
}
|
|
120
|
+
catch (e) {
|
|
121
|
+
return box('results', 'fail', `could not be dated: ${why(e)}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
95
124
|
function triageBox(projectRoot, u) {
|
|
96
125
|
try {
|
|
97
126
|
const cases = (0, test_case_states_1.testCaseStates)(projectRoot, u.unitName, { unitDir: u.unitDir });
|
|
@@ -105,14 +134,18 @@ function triageBox(projectRoot, u) {
|
|
|
105
134
|
if (decide.length)
|
|
106
135
|
return box('triage', 'fail', `${decide.length} product-defect candidate(s) await a QA decision (\`sungen defect draft ${flag} ${u.unitName}\`)`);
|
|
107
136
|
const reds = cases.filter((c) => c.result === 'failed').length;
|
|
108
|
-
|
|
137
|
+
// Classified is not done: a test defect still needs its fix, an environment red its re-run (#928).
|
|
138
|
+
const waiting = cases.filter((c) => (0, test_case_satisfied_1.testCaseNeed)(c) === 'fix-test' || (0, test_case_satisfied_1.testCaseNeed)(c) === 'rerun-environment');
|
|
139
|
+
const named = waiting.length
|
|
140
|
+
? ` — ${waiting.length} awaiting a fix or a re-run (${waiting.slice(0, 4).map((c) => `${c.id}: ${c.triage?.class}`).join(', ')}${waiting.length > 4 ? ', …' : ''})` : '';
|
|
141
|
+
return box('triage', 'pass', reds ? `${reds} red test case(s), each classified or exempt${named}` : 'no red test case');
|
|
109
142
|
}
|
|
110
143
|
catch (e) {
|
|
111
144
|
return box('triage', 'fail', `could not be read: ${why(e)}`);
|
|
112
145
|
}
|
|
113
146
|
}
|
|
114
147
|
async function unitChecklist(projectRoot, u, accepted) {
|
|
115
|
-
return [auditBox(projectRoot, u), await scriptCheckBox(u), contractBox(projectRoot, u), decisionsBox(projectRoot, u, accepted), triageBox(projectRoot, u)];
|
|
148
|
+
return [auditBox(projectRoot, u), await scriptCheckBox(u), contractBox(projectRoot, u), decisionsBox(projectRoot, u, accepted), resultsBox(projectRoot, u), triageBox(projectRoot, u)];
|
|
116
149
|
}
|
|
117
150
|
const MARK = { pass: '[x]', fail: '[ ]', skipped: '[-]' };
|
|
118
151
|
function renderChecklist(rows) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../../src/harness/gates/delivery-checklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-run-decision-check.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"in-run-decision-check.d.ts","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAMrE,eAAO,MAAM,YAAY,2DAA4D,CAAC;AACtF,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,MAAM,WAAW,aAAa;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE;AAExH,sGAAsG;AACtG,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAI9E;AAQD,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CASpE;AAYD,wHAAwH;AACxH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,aAAa,EAAE,CAmC7I;AAED,2HAA2H;AAC3H,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAElG;AAED,0GAA0G;AAC1G,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAEpF"}
|
|
@@ -59,12 +59,20 @@ exports.hasInRunKindDecisions = hasInRunKindDecisions;
|
|
|
59
59
|
* file does not vouch for — absent, uncommitted, different, introduced beyond the commits the walk
|
|
60
60
|
* reads (#924) or at a shallow clone's boundary — is judged as any other; in the last two cases an
|
|
61
61
|
* in-run finding says why.
|
|
62
|
+
*
|
|
63
|
+
* A manual triage classification that claims a human typed it (`triage-classification` with
|
|
64
|
+
* `humanConfirmed`, #928) is a claim the entry makes about itself — a script can write one. What backs
|
|
65
|
+
* it is review, so it is in-run while git HEAD does not hold it (and, with no git, always: nothing
|
|
66
|
+
* shows it was reviewed). Judged by HEAD membership only: it is always recorded after the run it
|
|
67
|
+
* judges, so its commit time says nothing. Only a test-defect / environment entry that is not
|
|
68
|
+
* superseded counts — the only kind the reader puts in force on that claim.
|
|
62
69
|
*/
|
|
63
70
|
const fs = __importStar(require("fs"));
|
|
64
71
|
const path = __importStar(require("path"));
|
|
65
72
|
const decision_file_1 = require("../../decisions/decision-file");
|
|
66
73
|
const git_head_trust_1 = require("../../decisions/git-head-trust");
|
|
67
74
|
const read_decisions_1 = require("../../decisions/read-decisions");
|
|
75
|
+
const manual_triage_decisions_1 = require("../../graph/manual-triage-decisions");
|
|
68
76
|
const migrated_waiver_review_1 = require("./migrated-waiver-review");
|
|
69
77
|
exports.IN_RUN_KINDS = ['gate-override', 'waiver', 'contract-approval'];
|
|
70
78
|
exports.IN_RUN_RULE = 'decision.in-run';
|
|
@@ -94,6 +102,13 @@ function runStartOf(resultsPath) {
|
|
|
94
102
|
}
|
|
95
103
|
}
|
|
96
104
|
const isInRunKind = (kind) => exports.IN_RUN_KINDS.includes(kind);
|
|
105
|
+
/**
|
|
106
|
+
* A triage classification claiming a human typed it (#928): reviewed only once git HEAD holds it.
|
|
107
|
+
* Only what the reader (manual-triage-decisions.ts) can put in force: a superseded entry is never read,
|
|
108
|
+
* and a product classification needs no human — its claim backs nothing, so it blocks nothing.
|
|
109
|
+
*/
|
|
110
|
+
const claimsHumanTriage = (e) => e.kind === manual_triage_decisions_1.TRIAGE_DECISION_KIND && !e.superseded_by && e.payload?.humanConfirmed === true
|
|
111
|
+
&& manual_triage_decisions_1.HUMAN_ONLY_TRIAGE.has(e.payload?.class);
|
|
97
112
|
/** In-run decisions among `scopes`, judged against one run start (null: HEAD membership only) and the committed set. */
|
|
98
113
|
function inRunDecisions(projectRoot, scopes, runStart, committed) {
|
|
99
114
|
const out = [];
|
|
@@ -101,12 +116,17 @@ function inRunDecisions(projectRoot, scopes, runStart, committed) {
|
|
|
101
116
|
const migratedReview = committed ? (0, migrated_waiver_review_1.migratedWaiverReview)(projectRoot) : null;
|
|
102
117
|
for (const scope of scopes) {
|
|
103
118
|
for (const e of (0, read_decisions_1.readDecisions)(projectRoot, scope).entries) {
|
|
119
|
+
const rel = path.relative(projectRoot, e.path).split(path.sep).join('/');
|
|
120
|
+
if (claimsHumanTriage(e) && !committed?.has(rel)) {
|
|
121
|
+
out.push({ id: e.id, kind: e.kind, path: rel, visibility: e.visibility, why: [committed
|
|
122
|
+
? 'a classification by hand that claims a human typed it, not in git HEAD (never committed through review)'
|
|
123
|
+
: 'a classification by hand that claims a human typed it, and no git to show it was committed through review'] });
|
|
124
|
+
}
|
|
104
125
|
if (!isInRunKind(e.kind))
|
|
105
126
|
continue;
|
|
106
127
|
// A migrated waiver re-confirmed on a terminal is replaced: the new decision is judged on its own.
|
|
107
128
|
if (e.superseded_by && e.source?.where === 'migrated')
|
|
108
129
|
continue;
|
|
109
|
-
const rel = path.relative(projectRoot, e.path).split(path.sep).join('/');
|
|
110
130
|
const why = [];
|
|
111
131
|
const migrated = migratedReview?.reviewOf(scope, e) ?? null;
|
|
112
132
|
if (migrated?.at) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-run-decision-check.js","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"in-run-decision-check.js","sourceRoot":"","sources":["../../../src/harness/gates/in-run-decision-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,27 @@ export interface JourneyReport {
|
|
|
45
45
|
* A read-only checkout gets the same board without throwing.
|
|
46
46
|
*/
|
|
47
47
|
export declare function runJourney(projectRoot: string, unit: string): JourneyReport;
|
|
48
|
+
/** A waiver the board asks a human to give again: its evidence moved (stale), or git HEAD does not hold it (untrusted). */
|
|
49
|
+
export interface WaiverToRedecide {
|
|
50
|
+
obligation: string;
|
|
51
|
+
title: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
why: 'stale' | 'untrusted';
|
|
54
|
+
}
|
|
55
|
+
/** What the board asks of a human, read without writing anything (`sungen next`'s "Waiting for you", #954). */
|
|
56
|
+
export interface JourneyHumanAsks {
|
|
57
|
+
report: JourneyReport;
|
|
58
|
+
redecide: WaiverToRedecide[];
|
|
59
|
+
/** OB-signoff: `pending` (never given), `stale` (given before the audit changed), `given`. */
|
|
60
|
+
signoff: {
|
|
61
|
+
status: 'pending' | 'stale' | 'given';
|
|
62
|
+
at?: string;
|
|
63
|
+
};
|
|
64
|
+
/** `sungen journey --signoff` would be accepted now (assertCanSignOff holds). */
|
|
65
|
+
canSignOff: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** The board's asks, read-only: no import, no dual-write, no state file — the same reconcile `runJourney` commits. */
|
|
68
|
+
export declare function readJourneyHumanAsks(projectRoot: string, unit: string): JourneyHumanAsks;
|
|
48
69
|
/** The single human gate (DOS §3.4, S5): given with `--signoff`, never waived (#936). */
|
|
49
70
|
export declare const SIGNOFF_OBLIGATION = "OB-signoff";
|
|
50
71
|
export declare const signoffCommand: (unit: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":"AAwBA,OAAO,EAA4C,mBAAmB,EAAkG,MAAM,6BAA6B,CAAC;AAI5M,qHAAqH;AACrH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,MAAM;IAAG,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAAE;AACxE,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8GAA8G;IAC9G,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC1C;AAgLD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../src/harness/journey.ts"],"names":[],"mappings":"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"}
|
package/dist/harness/journey.js
CHANGED
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.CREATE_OBLIGATION = exports.signoffCommand = exports.SIGNOFF_OBLIGATION = void 0;
|
|
37
37
|
exports.runJourney = runJourney;
|
|
38
|
+
exports.readJourneyHumanAsks = readJourneyHumanAsks;
|
|
38
39
|
exports.assertWaivable = assertWaivable;
|
|
39
40
|
exports.waive = waive;
|
|
40
41
|
exports.assertCanSignOff = assertCanSignOff;
|
|
@@ -254,6 +255,34 @@ function computeNext(r, unit) {
|
|
|
254
255
|
* A read-only checkout gets the same board without throwing.
|
|
255
256
|
*/
|
|
256
257
|
function runJourney(projectRoot, unit) {
|
|
258
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
259
|
+
try {
|
|
260
|
+
(0, legacy_waiver_migration_1.commitWaiverSync)(projectRoot, unit, r.slug, r.sync, r.statePath, JSON.stringify(r.next, null, 2));
|
|
261
|
+
}
|
|
262
|
+
catch (err) {
|
|
263
|
+
if (!(err instanceof append_decision_1.DecisionConflictError))
|
|
264
|
+
throw err;
|
|
265
|
+
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
266
|
+
if (!r.decisionFindings.some((f) => f.path === rel))
|
|
267
|
+
r.decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
268
|
+
}
|
|
269
|
+
return finishReport(r, unit);
|
|
270
|
+
}
|
|
271
|
+
/** The board's asks, read-only: no import, no dual-write, no state file — the same reconcile `runJourney` commits. */
|
|
272
|
+
function readJourneyHumanAsks(projectRoot, unit) {
|
|
273
|
+
const r = reconcileJourney(projectRoot, unit);
|
|
274
|
+
const report = finishReport(r, unit);
|
|
275
|
+
let canSignOff = report.obligations.some((o) => o.id === exports.SIGNOFF_OBLIGATION);
|
|
276
|
+
try {
|
|
277
|
+
assertCanSignOff(report);
|
|
278
|
+
}
|
|
279
|
+
catch {
|
|
280
|
+
canSignOff = false;
|
|
281
|
+
}
|
|
282
|
+
return { report, redecide: r.redecide, signoff: r.signoff, canSignOff };
|
|
283
|
+
}
|
|
284
|
+
/** Compute fresh, apply the waivers and the sign-off in force — read-only; `runJourney` commits the plan. */
|
|
285
|
+
function reconcileJourney(projectRoot, unit) {
|
|
257
286
|
const slug = (0, unit_paths_1.reportSlug)(unit);
|
|
258
287
|
(0, migration_sentinel_1.assertNoPendingMigration)(projectRoot, slug);
|
|
259
288
|
const report = computeFresh(projectRoot, unit);
|
|
@@ -261,9 +290,12 @@ function runJourney(projectRoot, unit) {
|
|
|
261
290
|
const state = loadState(sp) || { unit, auditHash: '', waivers: {} };
|
|
262
291
|
const curHash = auditHashOf(projectRoot, slug);
|
|
263
292
|
const sync = (0, legacy_waiver_migration_1.planWaiverSync)(projectRoot, unit, slug, sp, state.waivers);
|
|
293
|
+
const redecide = [];
|
|
264
294
|
for (const u of sync.untrusted) {
|
|
265
295
|
const title = report.obligations.find((o) => o.id === u.obligation)?.title ?? u.obligation;
|
|
266
296
|
const ignored = unwaivableWhy(u.obligation, unit);
|
|
297
|
+
if (!ignored)
|
|
298
|
+
redecide.push({ obligation: u.obligation, title, reason: u.waiver.reason, why: 'untrusted' });
|
|
267
299
|
report.needsYou.unshift({ text: ignored ? ignoredWaiverText(u.obligation, ignored, u.waiver.reason) : (0, legacy_waiver_migration_1.untrustedWaiverText)(unit, slug, title, u), anchor: { vpId: u.obligation } });
|
|
268
300
|
}
|
|
269
301
|
for (const ob of report.obligations) {
|
|
@@ -282,34 +314,33 @@ function runJourney(projectRoot, unit) {
|
|
|
282
314
|
ob.detail = `waived — ${w.reason}`;
|
|
283
315
|
}
|
|
284
316
|
else {
|
|
317
|
+
redecide.push({ obligation: ob.id, title: ob.title, reason: w.reason, why: 'stale' });
|
|
285
318
|
report.needsYou.unshift({ text: `⚠️ Waiver on "${ob.title}" is STALE (evidence changed since ${w.at}) — re-decide. Was: ${w.reason}`, anchor: { vpId: ob.id } });
|
|
286
319
|
}
|
|
287
320
|
}
|
|
288
321
|
// S5 — sign-off reconcile: a recorded sign-off satisfies OB-signoff while its evidence holds;
|
|
289
322
|
// if the audit changed since, the sign-off is STALE → re-surface for re-review (anti-amnesia).
|
|
290
323
|
const signoffOb = report.obligations.find((o) => o.id === 'OB-signoff');
|
|
324
|
+
let signoff = { status: 'pending' };
|
|
291
325
|
if (signoffOb && state.signoff) {
|
|
292
326
|
if (state.signoff.auditHashAtSignoff === curHash) {
|
|
327
|
+
signoff = { status: 'given', at: state.signoff.at };
|
|
293
328
|
signoffOb.status = 'satisfied';
|
|
294
329
|
signoffOb.detail = `signed off${state.signoff.by ? ' by ' + state.signoff.by : ''}${state.signoff.recordedBy ? ` (recorded by ${state.signoff.recordedBy})` : ''} at ${state.signoff.at}`;
|
|
295
330
|
}
|
|
296
331
|
else {
|
|
332
|
+
signoff = { status: 'stale', at: state.signoff.at };
|
|
297
333
|
report.needsYou.unshift({ text: `⚠️ Sign-off is STALE (suite changed since ${state.signoff.at}) — re-review and sign off again.`, anchor: { vpId: 'OB-signoff' } });
|
|
298
334
|
}
|
|
299
335
|
}
|
|
300
336
|
// Phase-03 carry-over: a decision that does not verify is a FINDING the gate blocks on, not a crash.
|
|
301
337
|
const decisionFindings = (0, journey_gate_inputs_1.journeyDecisionFindings)(projectRoot, (0, journey_gate_inputs_1.unitOverrides)(projectRoot, unit));
|
|
302
338
|
const next = { unit, auditHash: curHash, waivers: sync.stateWaivers, signoff: state.signoff };
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
throw err;
|
|
309
|
-
const rel = path.relative(projectRoot, err.path).split(path.sep).join('/');
|
|
310
|
-
if (!decisionFindings.some((f) => f.path === rel))
|
|
311
|
-
decisionFindings.push({ rule: 'decision.mutated', path: rel, message: err.message });
|
|
312
|
-
}
|
|
339
|
+
return { report, slug, statePath: sp, sync, next, decisionFindings, redecide, signoff };
|
|
340
|
+
}
|
|
341
|
+
/** The decision findings on the board, then the next suggestion — after the waivers and the sign-off. */
|
|
342
|
+
function finishReport(r, unit) {
|
|
343
|
+
const { report, decisionFindings } = r;
|
|
313
344
|
if (decisionFindings.length) {
|
|
314
345
|
report.decisionFindings = decisionFindings;
|
|
315
346
|
for (const f of [...decisionFindings].reverse())
|
|
@@ -420,11 +451,30 @@ function writeJourneyFileBestEffort(file, text) {
|
|
|
420
451
|
}
|
|
421
452
|
}
|
|
422
453
|
const ICON = { satisfied: '✅', 'needs-work': '⚠️ ', pending: '⏳', waived: '🚫', overridden: '🔓' };
|
|
454
|
+
/** `ms` as a person reads a duration: `850 ms`, `45 s`, `8 min 40 s`. */
|
|
455
|
+
function elapsedLabel(ms) {
|
|
456
|
+
if (ms < 1000)
|
|
457
|
+
return `${ms} ms`;
|
|
458
|
+
const s = Math.round(ms / 1000);
|
|
459
|
+
return s < 60 ? `${s} s` : `${Math.floor(s / 60)} min${s % 60 ? ` ${s % 60} s` : ''}`;
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* A ledger step as the board shows it (#939 item 8). A step recorded with its elapsed milliseconds in the
|
|
463
|
+
* NAME (`--step "viewpoint 45000"`, the time meant for `--ms`) printed as a bare number; it reads
|
|
464
|
+
* `viewpoint (45 s)` now, and `timed` says the line needs its legend.
|
|
465
|
+
*/
|
|
466
|
+
function phaseLabel(step) {
|
|
467
|
+
const m = step.match(/^(.*\S)\s+(\d+)$/);
|
|
468
|
+
return m ? { label: `${m[1]} (${elapsedLabel(Number(m[2]))})`, timed: true } : { label: step, timed: false };
|
|
469
|
+
}
|
|
423
470
|
function renderJourneyBoard(r) {
|
|
424
471
|
const L = [];
|
|
425
472
|
L.push(`# Journey — ${r.unit}`);
|
|
426
473
|
L.push('');
|
|
427
|
-
|
|
474
|
+
const phases = r.phasesDone.map(phaseLabel);
|
|
475
|
+
const legend = phases.some((p) => p.timed) || phaseLabel(r.youAreHere).timed
|
|
476
|
+
? ` — a time is that phase's elapsed time, from the ledger (\`sungen ledger report --screen ${r.unit}\`)` : '';
|
|
477
|
+
L.push(`📍 **You are here:** ${phaseLabel(r.youAreHere).label}` + (phases.length ? ` (phases: ${phases.map((p) => p.label).join(' → ')})${legend}` : ''));
|
|
428
478
|
if (r.gateStatus)
|
|
429
479
|
L.push(` gate: **${r.gateStatus}** · score: ${r.score ?? '—'}/10`);
|
|
430
480
|
L.push('');
|