@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
- return `- ${mark}\`${e.entryId ?? e._id}\` [${type} \xB7 ${stratum}] ${e.name}${anchorSuffix}${originPart}${confidencePart}${overduePart}`;
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-LSQE77DR.js.map
15401
+ //# sourceMappingURL=chunk-IBYIIL7T.js.map