@productbrain/mcp 0.0.1-beta.4573 → 0.0.1-beta.4586

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.
@@ -10848,7 +10848,7 @@ This block is the final deliverable of the review. Everything else is supporting
10848
10848
  facilitatorGuidance: "Infer scope from conversation context, git status/diff, and recent edits \u2014 default is work in this conversation only. List every file touched (created, modified, or deleted) in the work under review; scope is not complete without this list. Call orient or start to load governance and active bets. Use context action=gather task='implementation review for [inferred-BET-or-feature]' to load related entries. State scope explicitly in one sentence (e.g. 'Scope: changes in this conversation for BET-72'). Present: stated scope, the full list of files touched, relevant BETs/DECs/BRs, and any stale entries orient surfaces. Frame the review: we will assess holistic coherence with our system, whether this brings us closer to our vision, and whether it makes our code and architecture cleaner. Ask the participant only if scope is ambiguous (e.g. 'Only the files we changed, or the whole feature?'). Note vision anchors (principles, strategy, active bet constraints) \u2014 you will reference these in Rounds 02\u201305.",
10849
10849
  outputSchema: {
10850
10850
  field: "scope",
10851
- description: "Explicit scope statement, every file touched, BET/feature IDs, related Chain context, vision anchors",
10851
+ description: "Explicit scope statement, every file touched, WP/feature IDs, related Chain context, vision anchors",
10852
10852
  format: "structured"
10853
10853
  },
10854
10854
  maxDurationHint: "2 min"
@@ -10904,7 +10904,7 @@ This block is the final deliverable of the review. Everything else is supporting
10904
10904
  facilitatorGuidance: "Present the full synthesis: standards pass/fail, code grade, test honesty, chain validation, fixes applied. **Vision delta:** Cite specific principles/strategy entries from Round 01. Answer: does this bring us closer to [cited vision]? **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.",
10905
10905
  outputSchema: {
10906
10906
  field: "synthesis",
10907
- description: "Full review synthesis with vision delta, fixes applied, BET/chain IDs, and structured verdict block",
10907
+ description: "Full review synthesis with vision delta, fixes applied, WP/chain IDs, and structured verdict block",
10908
10908
  format: "structured"
10909
10909
  },
10910
10910
  maxDurationHint: "3 min"
@@ -10918,7 +10918,7 @@ This block is the final deliverable of the review. Everything else is supporting
10918
10918
  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, fixes applied, 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). If learnings were captured in Round 04: run relations action=suggest for each new entry, then relations action=batch-create. Run session action=wrapup-review before closing. Thank the participant. State what was fixed, what was captured, what was deferred.",
10919
10919
  outputSchema: {
10920
10920
  field: "capture",
10921
- description: "Insight entry created, BET IDs referenced, learnings connected",
10921
+ description: "Insight entry created, WP IDs referenced, learnings connected",
10922
10922
  format: "structured"
10923
10923
  },
10924
10924
  kbCollection: "insights",
@@ -11968,9 +11968,9 @@ function evictVocabIfFull() {
11968
11968
  var AUDIT_ACTIONS = ["run"];
11969
11969
  var auditSchema = z22.object({
11970
11970
  action: z22.enum(AUDIT_ACTIONS).describe(
11971
- "'run': run the hygiene audit for a bet entry."
11971
+ "'run': run the hygiene audit for a work package entry."
11972
11972
  ),
11973
- entryId: z22.string().describe("Bet entry ID to audit, e.g. '<PREFIX>-<n>'"),
11973
+ entryId: z22.string().describe("Work package entry ID to audit, e.g. '<PREFIX>-<n>'"),
11974
11974
  phase: z22.enum(["shaping", "handoff"]).default("shaping").optional().describe(
11975
11975
  "'shaping': check shaping-phase fields only. 'handoff': check all required fields including buildContract/buildSequence/exclusions/risks. Default: shaping."
11976
11976
  )
@@ -11986,7 +11986,7 @@ async function handleAuditRun(entryId, phase) {
11986
11986
  `Entry '${entryId}' not found.`,
11987
11987
  "NOT_FOUND",
11988
11988
  `Entry '${entryId}' not found.`,
11989
- "Use entries action=search to find the correct BET-ID.",
11989
+ "Use entries action=search to find the correct ID.",
11990
11990
  [{ tool: "entries", description: "Search entries", parameters: { action: "search", query: entryId } }]
11991
11991
  );
11992
11992
  }
@@ -12166,7 +12166,7 @@ async function handleSpineCheck(story, refresh = false) {
12166
12166
  var QUALITY_ACTIONS = ["check", "re-evaluate", "verify-chain", "audit", "spine-check"];
12167
12167
  var qualitySchema = z23.object({
12168
12168
  action: z23.enum(QUALITY_ACTIONS).describe(
12169
- "'check': read the entry's server quality verdict (tier + criteria). 're-evaluate': trigger fresh evaluation. 'verify-chain': verify entries against the codebase (codeMapping drift, cross-references) \u2014 absorbs `verify`. 'audit': hygiene audit for a bet entry \u2014 absorbs `audit`. 'spine-check': structural completeness of the purpose+vision+strategy spine \u2014 story:true also runs the on-demand one-story judgment."
12169
+ "'check': read the entry's server quality verdict (tier + criteria). 're-evaluate': trigger fresh evaluation. 'verify-chain': verify entries against the codebase (codeMapping drift, cross-references) \u2014 absorbs `verify`. 'audit': hygiene audit for a work package entry \u2014 absorbs `audit`. 'spine-check': structural completeness of the purpose+vision+strategy spine \u2014 story:true also runs the on-demand one-story judgment."
12170
12170
  ),
12171
12171
  entryId: z23.string().max(200).optional().describe("For 'check'/'re-evaluate'/'audit': entry ID, e.g. 'TEN-graph-db', '<PREFIX>-<n>'."),
12172
12172
  context: z23.enum(["capture", "commit", "review"]).default("review").optional().describe("For re-evaluate: evaluation context"),
@@ -12256,7 +12256,7 @@ function registerQualityTools(server) {
12256
12256
  "quality",
12257
12257
  {
12258
12258
  title: "Quality",
12259
- description: "Assess, re-evaluate, and verify entry/bet quality. Five actions:\n\n- **check**: Read the entry's server quality verdict (tier + criteria) \u2014 it does not re-score. Suggests links when the entry has no relations.\n- **re-evaluate**: Trigger a fresh quality evaluation. Returns heuristic verdict immediately, schedules LLM evaluation in background.\n- **verify-chain**: Verify knowledge entries against the actual codebase (codeMapping drift, cross-references) \u2014 absorbs `verify`. Produces a trust report with a trust score.\n- **audit**: Run hygiene audit on a bet entry (13/18 gates) \u2014 absorbs `audit`.\n- **spine-check**: Structural completeness of the purpose+vision+strategy spine \u2014 duplicate singletons, connectedness, per-strategy refusal heuristic; story:true also runs the on-demand one-story LLM judgment (never scheduled, result labelled [unvalidated]). Async: a plain call reads back the latest stored verdict and auto-schedules a new run ONLY when none is already in flight AND the stored one is absent/stale/missing the requested story pass \u2014 repeated polling never re-triggers work. Pass refresh:true to force a fresh run regardless.",
12259
+ description: "Assess, re-evaluate, and verify entry/work package quality. Five actions:\n\n- **check**: Read the entry's server quality verdict (tier + criteria) \u2014 it does not re-score. Suggests links when the entry has no relations.\n- **re-evaluate**: Trigger a fresh quality evaluation. Returns heuristic verdict immediately, schedules LLM evaluation in background.\n- **verify-chain**: Verify knowledge entries against the actual codebase (codeMapping drift, cross-references) \u2014 absorbs `verify`. Produces a trust report with a trust score.\n- **audit**: Run hygiene audit on a work package entry (13/18 gates) \u2014 absorbs `audit`.\n- **spine-check**: Structural completeness of the purpose+vision+strategy spine \u2014 duplicate singletons, connectedness, per-strategy refusal heuristic; story:true also runs the on-demand one-story LLM judgment (never scheduled, result labelled [unvalidated]). Async: a plain call reads back the latest stored verdict and auto-schedules a new run ONLY when none is already in flight AND the stored one is absent/stale/missing the requested story pass \u2014 repeated polling never re-triggers work. Pass refresh:true to force a fresh run regardless.",
12260
12260
  inputSchema: qualitySchema,
12261
12261
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false }
12262
12262
  },
@@ -13317,7 +13317,7 @@ function registerSessionTools(server) {
13317
13317
  "session",
13318
13318
  {
13319
13319
  title: "Session \u2014 Lifecycle & Facilitation",
13320
- description: "Session lifecycle, wrapup review, and bet facilitation.\n\n- **start**: Begin a tracked write session for attribution. **This is the ONLY call that creates a session** \u2014 write tools (capture, entries action=update/commit, relations) require it. `orient action=start` orients an existing session and loads stage-aware context, but does NOT create one: call `session action=start` first, then `orient action=start`.\n- **close**: End the current session. Records structured data (entries created, modified, relations). Run `session action=wrapup-review` before closing.\n- **status**: Check current session \u2014 active or not, oriented, activity counts.\n- **wrapup-review**: Review uncommitted drafts with quality scores, suggested links. Run before close.\n- **wrapup-commit**: Accept all uncommitted drafts and create suggested links.\n- **resume**: Load session state (bet data, constellation, drafts) from an existing bet entry.\n- **commit-constellation**: Atomically accept a bet and all its linked draft entries in one call.",
13320
+ description: "Session lifecycle, wrapup review, and work package facilitation.\n\n- **start**: Begin a tracked write session for attribution. **This is the ONLY call that creates a session** \u2014 write tools (capture, entries action=update/commit, relations) require it. `orient action=start` orients an existing session and loads stage-aware context, but does NOT create one: call `session action=start` first, then `orient action=start`.\n- **close**: End the current session. Records structured data (entries created, modified, relations). Run `session action=wrapup-review` before closing.\n- **status**: Check current session \u2014 active or not, oriented, activity counts.\n- **wrapup-review**: Review uncommitted drafts with quality scores, suggested links. Run before close.\n- **wrapup-commit**: Accept all uncommitted drafts and create suggested links.\n- **resume**: Load session state (bet data, constellation, drafts) from an existing bet entry.\n- **commit-constellation**: Atomically accept a bet and all its linked draft entries in one call.",
13321
13321
  inputSchema: sessionSchema,
13322
13322
  // Mixed read/write noun (§3 R3): wrapup-commit/resume/commit-constellation write.
13323
13323
  annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false }
@@ -17048,4 +17048,4 @@ export {
17048
17048
  createProductBrainServer,
17049
17049
  initFeatureFlags
17050
17050
  };
17051
- //# sourceMappingURL=chunk-JEF4VLJE.js.map
17051
+ //# sourceMappingURL=chunk-EUMADRQX.js.map