@productbrain/mcp 0.0.1-beta.2312 → 0.0.1-beta.2320
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.
|
@@ -1186,7 +1186,13 @@ var captureSuccessOutputSchema = z2.object({
|
|
|
1186
1186
|
// Loose record (matching the qualityVerdict convention above) — the CoherencyRefusal contract
|
|
1187
1187
|
// is authored in convex/lib/gates/coherencyControls.ts; re-declaring its shape here would create
|
|
1188
1188
|
// a second source of truth. Required because the schema is `.strict()` (an undeclared key throws).
|
|
1189
|
-
coherencyRefusal: z2.record(z2.unknown()).optional()
|
|
1189
|
+
coherencyRefusal: z2.record(z2.unknown()).optional(),
|
|
1190
|
+
// WP-485 Slice 2b round 4 (Codex P2, FEAT-1370): the server's contradiction advisory
|
|
1191
|
+
// (ContradictionAdvisory, declared below) is emitted into structuredContent at line ~2203
|
|
1192
|
+
// but was missing here — since this schema is `.strict()`, any real capture response
|
|
1193
|
+
// carrying the advisory failed validation outright with `unrecognized_keys`. Loose record,
|
|
1194
|
+
// same single-source-of-truth rationale as coherencyRefusal above.
|
|
1195
|
+
contradictionAdvisory: z2.record(z2.unknown()).optional()
|
|
1190
1196
|
}).strict();
|
|
1191
1197
|
var captureClassifierOnlyOutputSchema = z2.object({
|
|
1192
1198
|
classifier: captureClassifierSchema
|
|
@@ -1217,7 +1223,11 @@ var batchCaptureOutputSchema = z2.object({
|
|
|
1217
1223
|
domain: z2.string().optional(),
|
|
1218
1224
|
// WP-465 surface parity: structured coherency refusal for a gate-refused auto-commit (batch
|
|
1219
1225
|
// shape). Loose record — same single-source rationale as captureSuccessOutputSchema above.
|
|
1220
|
-
coherencyRefusal: z2.record(z2.unknown()).optional()
|
|
1226
|
+
coherencyRefusal: z2.record(z2.unknown()).optional(),
|
|
1227
|
+
// WP-485 Slice 2b round 4 (Codex P2, FEAT-1370): per-entry contradiction advisory, emitted
|
|
1228
|
+
// into structuredContent at line ~2967 but undeclared here. Not `.strict()` so this one was
|
|
1229
|
+
// silently stripped rather than rejected — declared anyway so batch consumers actually see it.
|
|
1230
|
+
contradictionAdvisory: z2.record(z2.unknown()).optional()
|
|
1221
1231
|
})),
|
|
1222
1232
|
total: z2.number(),
|
|
1223
1233
|
failed: z2.number(),
|
|
@@ -8619,6 +8629,11 @@ var ORIENT_ACTION_SPECS = {
|
|
|
8619
8629
|
description: "All three fields are required."
|
|
8620
8630
|
}
|
|
8621
8631
|
};
|
|
8632
|
+
function coherencyCheckTag(status) {
|
|
8633
|
+
if (status === "not_checked") return " [not checked]";
|
|
8634
|
+
if (status === "check_incomplete") return " [check incomplete]";
|
|
8635
|
+
return "";
|
|
8636
|
+
}
|
|
8622
8637
|
function taskGroundingWarningLines(task, hasTaskGrounding = false) {
|
|
8623
8638
|
if (hasTaskGrounding) return [];
|
|
8624
8639
|
if (task) {
|
|
@@ -8871,7 +8886,7 @@ async function _handleOrient({ mode = "full", tier, task, scope, startupSignals,
|
|
|
8871
8886
|
const tensions = e.linkedTensions;
|
|
8872
8887
|
const tensionPart = tensions?.length ? ` \u2014 ${tensions.map((t) => `${t.entryId ?? t.name} (${t.severity ?? "\u2014"})`).join(", ")}` : "";
|
|
8873
8888
|
const originPart = e.origin ? ` (origin: ${e.origin})` : "";
|
|
8874
|
-
lines.push(`- \`${e.entryId ?? e._id}\` ${e.name}${originPart}${tensionPart}`);
|
|
8889
|
+
lines.push(`- \`${e.entryId ?? e._id}\` ${e.name}${originPart}${tensionPart}${coherencyCheckTag(e.coherencyCheckStatus)}`);
|
|
8875
8890
|
}
|
|
8876
8891
|
}
|
|
8877
8892
|
if (orientView?.trustMetrics) {
|
|
@@ -9046,7 +9061,8 @@ async function _handleOrient({ mode = "full", tier, task, scope, startupSignals,
|
|
|
9046
9061
|
const originPart = e.origin ? ` (origin: ${e.origin})` : "";
|
|
9047
9062
|
const mark = provenanceMark(e.provenance);
|
|
9048
9063
|
const anchorSuffix = e.anchoredBy ? ` (${e.anchoredBy})` : "";
|
|
9049
|
-
|
|
9064
|
+
const coherencyPart = coherencyCheckTag(e.coherencyCheckStatus);
|
|
9065
|
+
return `- ${mark}\`${e.entryId ?? e._id}\` [${type} \xB7 ${stratum}] ${e.name}${anchorSuffix}${originPart}${confidencePart}${overduePart}${coherencyPart}`;
|
|
9050
9066
|
};
|
|
9051
9067
|
const fullCoherence = buildCoherenceSection();
|
|
9052
9068
|
if (fullCoherence) {
|
|
@@ -15382,4 +15398,4 @@ export {
|
|
|
15382
15398
|
createProductBrainServer,
|
|
15383
15399
|
initFeatureFlags
|
|
15384
15400
|
};
|
|
15385
|
-
//# sourceMappingURL=chunk-
|
|
15401
|
+
//# sourceMappingURL=chunk-IBYIIL7T.js.map
|