@productbrain/mcp 0.0.1-beta.67 → 0.0.1-beta.69

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.
@@ -1698,7 +1698,10 @@ var fieldSchema = z6.object({
1698
1698
  type: z6.string().describe("Field type: 'string', 'select', 'array', 'number', 'boolean'"),
1699
1699
  required: z6.boolean().optional().describe("Whether this field is required"),
1700
1700
  options: z6.array(z6.string()).optional().describe("Options for 'select' type fields"),
1701
- searchable: z6.boolean().optional().describe("Whether this field is included in full-text search")
1701
+ searchable: z6.boolean().optional().describe("Whether this field is included in full-text search"),
1702
+ displayHint: z6.enum(["hero", "badge", "meta", "section", "hidden"]).optional().describe("V2 rendering hint: how the field should be displayed in Studio"),
1703
+ zone: z6.enum(["header", "body", "meta"]).optional().describe("V2 layout zone: where the field appears in the entry view"),
1704
+ colorMap: z6.record(z6.string()).optional().describe("V2 value-to-semantic-color mapping, e.g. { critical: 'danger', low: 'success' }")
1702
1705
  });
1703
1706
  var collectionsSchema = z6.object({
1704
1707
  action: z6.enum(COLLECTIONS_ACTIONS).describe(
@@ -3236,7 +3239,18 @@ var IMPLEMENTATION_REVIEW_WORKFLOW_DESCRIPTOR = {
3236
3239
 
3237
3240
  ## Sub-Agent Classification (for test failures)
3238
3241
 
3239
- When reviewing test results: (a) test staleness \u2014 code changed, test not updated; (b) regression \u2014 code broke behavior; (c) flaky/bad test \u2014 harness or timing issue.`,
3242
+ When reviewing test results: (a) test staleness \u2014 code changed, test not updated; (b) regression \u2014 code broke behavior; (c) flaky/bad test \u2014 harness or timing issue.
3243
+
3244
+ ## Structured Verdict (CRITICAL)
3245
+
3246
+ Round 05 MUST end with a structured verdict block containing exactly these five items:
3247
+ 1. **Verdict:** Y (ship) or N (do not ship) \u2014 one word, no hedging.
3248
+ 2. **What shipped:** One sentence describing what was built.
3249
+ 3. **Why it matters:** One sentence on the problem this solves.
3250
+ 4. **User benefit:** One sentence on the value for users.
3251
+ 5. **How to validate:** One sentence on how to verify it works as intended.
3252
+
3253
+ This block is the final deliverable of the review. Everything else is supporting evidence.`,
3240
3254
  rounds: [
3241
3255
  {
3242
3256
  id: "orient",
@@ -3300,10 +3314,10 @@ When reviewing test results: (a) test staleness \u2014 code changed, test not up
3300
3314
  label: "Synthesis & Sign-Off",
3301
3315
  type: "commit",
3302
3316
  instruction: "Summarize the review. Answer: Does this bring us closer to our vision and make our code and architecture cleaner? Refactoring needed? Ship or conditional? End with BET/chain IDs.",
3303
- facilitatorGuidance: "Present the full synthesis: standards pass/fail, code grade, test honesty, chain validation. Explicitly answer: Does this bring us closer to our vision and make our code and architecture cleaner? **Counter-Metric Mandate (STD-19):** For EVERY quantitative result you present, you MUST include: (1) the denominator \u2014 what is the total population measured, (2) the coverage/abstention rate \u2014 what was excluded, (3) at least one counter-metric that tells the opposite story (recall vs precision, error rate vs success rate), (4) the 'student exam' reframe \u2014 score on the full exam, not just questions answered. **Red-team your own synthesis:** Before presenting, ask yourself: 'What's the worst honest interpretation of these numbers? What metric looks good but hides a real problem? What would a skeptic challenge?' Present that alongside the headline. Recommend: ship, ship with conditions, or do not ship. CRITICAL: The output MUST end with one sentence: 'BET/feature IDs reviewed: [IDs]. [One-line summary].' Example: 'BET-xxx, STD-xxx reviewed. Conditional ship \u2014 fix [specific issues] and add [missing tests].'",
3317
+ facilitatorGuidance: "Present the full synthesis: standards pass/fail, code grade, test honesty, chain validation. Explicitly answer: Does this bring us closer to our vision and make our code and architecture cleaner? **Counter-Metric Mandate (STD-19):** For EVERY quantitative result you present, you MUST include: (1) the denominator \u2014 what is the total population measured, (2) the coverage/abstention rate \u2014 what was excluded, (3) at least one counter-metric that tells the opposite story (recall vs precision, error rate vs success rate), (4) the 'student exam' reframe \u2014 score on the full exam, not just questions answered. **Red-team your own synthesis:** Before presenting, ask yourself: 'What's the worst honest interpretation of these numbers? What metric looks good but hides a real problem? What would a skeptic challenge?' Present that alongside the headline. Recommend: ship, ship with conditions, or do not ship. CRITICAL: The output MUST end with one sentence: 'BET/feature IDs reviewed: [IDs]. [One-line summary].' Example: 'BET-xxx, STD-xxx reviewed. Conditional ship \u2014 fix [specific issues] and add [missing tests].' **Structured Verdict Block (REQUIRED):** After the full synthesis, present the verdict block with exactly 5 items: (1) Verdict: Y or N \u2014 one word. (2) What shipped: one sentence. (3) Why it matters: one sentence on the problem solved. (4) User benefit: one sentence on value for users. (5) How to validate: one sentence on verification. This block is the final deliverable. Everything else is supporting evidence.",
3304
3318
  outputSchema: {
3305
3319
  field: "synthesis",
3306
- description: "Full review synthesis with BET/chain IDs",
3320
+ description: "Full review synthesis with BET/chain IDs and structured verdict block (verdict Y/N, what shipped, why it matters, user benefit, how to validate)",
3307
3321
  format: "structured"
3308
3322
  },
3309
3323
  maxDurationHint: "5 min"
@@ -3314,7 +3328,7 @@ When reviewing test results: (a) test staleness \u2014 code changed, test not up
3314
3328
  label: "Capture & Close",
3315
3329
  type: "close",
3316
3330
  instruction: "Finalize the review as an insight draft. Use session-wrapup. Thank the participant.",
3317
- facilitatorGuidance: "Summarize the review for finalization. Complete the terminal round through `workflows action=checkpoint` with `isFinal=true` so the workflow substrate creates the draft insight record. Include: BET/feature IDs, verdict, key findings. Run session-wrapup before closing. Thank the participant. Remind them to commit-entry when ready.",
3331
+ facilitatorGuidance: "Summarize the review for finalization. Complete the terminal round through `workflows action=checkpoint` with `isFinal=true` so the workflow substrate creates the draft insight record. Include: BET/feature IDs, verdict, key findings, and the structured verdict block from Round 05. The insight description MUST include the 5-item verdict block (verdict Y/N, what shipped, why it matters, user benefit, how to validate). Run session-wrapup before closing. Thank the participant. Remind them to commit-entry when ready.",
3318
3332
  outputSchema: {
3319
3333
  field: "capture",
3320
3334
  description: "Insight entry created, BET IDs referenced",
@@ -11741,4 +11755,4 @@ export {
11741
11755
  SERVER_VERSION,
11742
11756
  createProductBrainServer
11743
11757
  };
11744
- //# sourceMappingURL=chunk-YARRUQBW.js.map
11758
+ //# sourceMappingURL=chunk-3HM3XRC7.js.map