@duo-director/cli 0.3.0-rc.5 → 0.3.0-rc.6
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.
|
@@ -13661,7 +13661,9 @@ var TEMPLATES = {
|
|
|
13661
13661
|
unresolved: (id3) => `${id3} is not in the Project Truth. Which Requirement or Issue do you mean?`,
|
|
13662
13662
|
pending: (id3, title, on) => `${id3} "${title}" is an unconfirmed proposal. This task${on} depends on it; please confirm or reject it.`,
|
|
13663
13663
|
declared: (owner, text4) => `Open question in ${owner}: "${text4}". It affects this task; please decide it.`,
|
|
13664
|
-
|
|
13664
|
+
// C258 (T59): the signal is about the assembled context (Context packet intent tier), not about the task or the
|
|
13665
|
+
// Project Truth as a whole; a review may have no task and its rules may still apply a confirmed Decision.
|
|
13666
|
+
missingIntent: () => "The context DUO assembled contains no confirmed Requirement or Decision intent.",
|
|
13665
13667
|
note: (owner, text4) => `${owner}: UNKNOWN ${text4}`,
|
|
13666
13668
|
pendingNote: (id3, title) => `${id3} "${title}" is PENDING / NOT CONFIRMED`
|
|
13667
13669
|
},
|
|
@@ -13670,7 +13672,7 @@ var TEMPLATES = {
|
|
|
13670
13672
|
unresolved: (id3) => `${id3}\uAC00 \uD604\uC7AC Project Truth\uC5D0 \uC5C6\uC2B5\uB2C8\uB2E4. \uC5B4\uB5A4 Requirement/Issue\uB97C \uC758\uBBF8\uD558\uB294\uC9C0 \uD655\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.`,
|
|
13671
13673
|
pending: (id3, title, on) => `${id3} "${title}"\uB294 \uC544\uC9C1 \uD655\uC815\uB418\uC9C0 \uC54A\uC740 \uC81C\uC548\uC785\uB2C8\uB2E4. \uC774 \uC791\uC5C5${on}\uC740 \uC774 \uACB0\uC815\uC5D0 \uC758\uC874\uD558\uBBC0\uB85C \uD655\uC815 \uB610\uB294 \uAC70\uC808\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.`,
|
|
13672
13674
|
declared: (owner, text4) => `${owner}\uC758 \uBBF8\uD655\uC815 \uC0AC\uD56D: "${text4}". \uC774 \uC791\uC5C5\uC5D0 \uC601\uD5A5\uC744 \uC8FC\uBBC0\uB85C \uAC12\uC744 \uC815\uD574 \uC8FC\uC138\uC694.`,
|
|
13673
|
-
missingIntent: () => "\
|
|
13675
|
+
missingIntent: () => "DUO\uAC00 \uAD6C\uC131\uD55C Context\uC5D0 \uD655\uC815\uB41C Requirement/Decision intent\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",
|
|
13674
13676
|
note: (owner, text4) => `${owner}: UNKNOWN ${text4}`,
|
|
13675
13677
|
pendingNote: (id3, title) => `${id3} "${title}"\uB294 \uD655\uC815\uB418\uC9C0 \uC54A\uC740 \uC81C\uC548\uC785\uB2C8\uB2E4(PENDING / NOT CONFIRMED)`
|
|
13676
13678
|
}
|
|
@@ -14785,7 +14787,7 @@ function reviewVerdict(claims, gaps) {
|
|
|
14785
14787
|
const ask = gaps?.requiresHumanInput === true ? gaps.gaps.filter((g) => g.action === "ask").map((g) => g.id) : [];
|
|
14786
14788
|
const warn = [
|
|
14787
14789
|
...claims.filter((c) => !c.blockEligible && c.provenance !== "pre-existing" && (c.alignment === "PARTIAL" || c.alignment === "CONFLICT" || c.alignment === "UNKNOWN" && c.drift)).map((c) => c.id).sort(compareUtf8),
|
|
14788
|
-
...(gaps?.gaps ?? []).filter((g) => g.action === "surface").map((g) => g.id)
|
|
14790
|
+
...(gaps?.gaps ?? []).filter((g) => g.action === "surface" && g.kind !== "missing-intent").map((g) => g.id)
|
|
14789
14791
|
];
|
|
14790
14792
|
const verdict = blocking.length > 0 ? "BLOCK" : ask.length > 0 ? "ASK" : warn.length > 0 ? "WARN" : "PASS";
|
|
14791
14793
|
return { verdict, basis: { blocking, ask, warn } };
|
|
@@ -16555,7 +16557,14 @@ ${advice.join("\n")}`);
|
|
|
16555
16557
|
`Semantic assistance (supplemental, never blocks): ${a.status}${a.failure === void 0 ? "" : ` (${a.failure})`}`,
|
|
16556
16558
|
...a.claims.filter((c) => c.alignment !== "ALIGNED").map((c) => `- semantic ${c.alignment} ${c.claimId}: ${c.reason}`)
|
|
16557
16559
|
];
|
|
16558
|
-
|
|
16560
|
+
const q = r.gaps === void 0 ? void 0 : renderGapQuestions(r.gaps, { locale: "en" });
|
|
16561
|
+
const gaps = q === void 0 || q.primaryQuestion === void 0 && q.notes.length === 0 ? [] : [
|
|
16562
|
+
"Knowledge gaps:",
|
|
16563
|
+
...q.primaryQuestion === void 0 ? [] : [`Question for the human: ${q.primaryQuestion}`],
|
|
16564
|
+
...q.additionalQuestions.map((a2) => `Question for the human: ${a2.question}`),
|
|
16565
|
+
...q.notes.map((n) => `- ${n.note}`)
|
|
16566
|
+
];
|
|
16567
|
+
return [`Verdict ${r.verdict ?? "-"} \xB7 ${r.claims.length} claims \xB7 llm calls ${r.metrics.llmCalls}`, ...lines4, ...gaps, ...semantic].join("\n");
|
|
16559
16568
|
}
|
|
16560
16569
|
},
|
|
16561
16570
|
duo_get_requirement: {
|
package/dist/duoctl.js
CHANGED
package/dist/runtime-tree.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "duo.runtime-tree/1",
|
|
3
|
-
"package": "@duo-director/cli@0.3.0-rc.
|
|
3
|
+
"package": "@duo-director/cli@0.3.0-rc.6",
|
|
4
4
|
"delivery": "bundleDependencies",
|
|
5
5
|
"lock": {
|
|
6
6
|
"file": "apps/cli/npm-shrinkwrap.json",
|
|
7
|
-
"sha256": "
|
|
7
|
+
"sha256": "b8f0e46860190ea06de77b421c413d8822d155202e9d1b7c5c3c2180a66173ef",
|
|
8
8
|
"registry": "https://registry.npmjs.org/"
|
|
9
9
|
},
|
|
10
10
|
"packages": [
|