@skrr-ai/cli 0.1.107 → 0.1.108
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.
|
@@ -58,10 +58,22 @@ function renderExecutionReceipt(receipt, log, verbose = false) {
|
|
|
58
58
|
log(` ${evidence.label}: ${location}`);
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
+
// "Next" names an action only when the receipt has one. A reason that only
|
|
62
|
+
// restates what happened (a typed blocker's summary, which servers before
|
|
63
|
+
// OSK-16429 sent as the reason) is narrative, not something to do: the actor
|
|
64
|
+
// is printed without it and the narrative stays with the blocker.
|
|
65
|
+
const narrative = [receipt.summary, receipt.blocker?.summary].filter(Boolean);
|
|
66
|
+
const action = receipt.nextActor?.reason && !narrative.includes(receipt.nextActor.reason)
|
|
67
|
+
? receipt.nextActor.reason
|
|
68
|
+
: '';
|
|
61
69
|
if (receipt.nextActor)
|
|
62
|
-
log(`Next: ${receipt.nextActor.label || receipt.nextActor.kind}${
|
|
70
|
+
log(`Next: ${receipt.nextActor.label || receipt.nextActor.kind}${action ? ` — ${action}` : ''}`);
|
|
63
71
|
if (receipt.blocker) {
|
|
64
72
|
log(`Blocker: ${receipt.blocker.code}`);
|
|
73
|
+
// The headline already carries a typed blocker's summary; say it again only
|
|
74
|
+
// when it differs.
|
|
75
|
+
if (receipt.blocker.summary && receipt.blocker.summary !== receipt.summary)
|
|
76
|
+
log(` Detail: ${receipt.blocker.summary}`);
|
|
65
77
|
for (const evidenceRef of receipt.blocker.evidenceRefs || [])
|
|
66
78
|
log(` Evidence: ${evidenceRef}`);
|
|
67
79
|
}
|