@productbrain/mcp 0.0.1-beta.4582 → 0.0.1-beta.4593

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.
@@ -6183,7 +6183,7 @@ function registerContextTools(server) {
6183
6183
  "context",
6184
6184
  {
6185
6185
  title: "Context",
6186
- description: "Assemble knowledge context in one call. Nine actions:\n\n- **gather**: Three modes \u2014 (1) By entry: traverse the graph around a specific entry. (2) By task: load task-relevant governance, binding constraints, and supporting domain knowledge for a natural-language task. (3) Graph mode (entryId + mode='graph'): enhanced traversal with provenance paths.\n- **build**: Structured build spec for any entry \u2014 data, related entries, business rules, glossary terms, chain refs. Use when starting a build. Requires active session.\n- **neighborhood**: Typed graph neighborhood \u2014 blocking chain (what this blocks, 3 hops), dependency chain (what blocks this), parent context (sibling count), related tensions, staleness signal, isolation signal. Fast indexed lookups. Requires entryId.\n- **changes**: Detect entries modified and relations created since a timestamp. Use for incremental updates instead of full traversal. Requires 'since' (ISO 8601). Returns grouped counts by collection. Cap: 200 entries.\n- **chain**: Directed deep traversal along one relation type to depth 4. Use for dependency analysis, governance chains, strategic alignment. Requires entryId. Optional: direction (outgoing/incoming), relationType, maxHops (1-4). Cycle detection, fan-out cap 10/hop, total cap 100 nodes. Returns tree + edges.\n- **cross-cut**: Structural aggregation \u2014 all relations of a given type across the workspace, grouped by source collection. Use to answer 'show me everything connected by part_of'. Requires 'relationType'. Cap: 500 entries.\n- **incremental**: Delta since last brief run for a skill. Returns only entries changed since the skill's last brief, filtering out previously surfaced entries. Requires 'skill' parameter. Use for steering briefs that need incremental awareness.\n- **brief**: Compound intelligence query composing multiple primitives. Requires 'briefType': 'steering' (7d changes + structure + delta + readiness), 'confidence' (7d changes + active bets + tensions), or 'delta' (changes since custom timestamp). Auto-records brief run for steering.\n- **last-verified-brief**: Fetch the most recent verified brief snapshot for a (templateId, scopeKey) pair (absorbs `documents`). Use to build delta narratives.",
6186
+ description: "Assemble knowledge context in one call. Nine actions:\n\n- **gather**: Three modes \u2014 (1) By entry: traverse the graph around a specific entry. (2) By task: load task-relevant governance, binding constraints, and supporting domain knowledge for a natural-language task. (3) Graph mode (entryId + mode='graph'): enhanced traversal with provenance paths.\n- **build**: Structured build spec for any entry \u2014 data, related entries, business rules, glossary terms, chain refs. Use when starting a build. Requires active session.\n- **neighborhood**: Typed graph neighborhood \u2014 blocking chain (what this blocks, 3 hops), dependency chain (what blocks this), parent context (sibling count), related tensions, staleness signal, isolation signal. Fast indexed lookups. Requires entryId.\n- **changes**: Detect entries modified and relations created since a timestamp. Use for incremental updates instead of full traversal. Requires 'since' (ISO 8601). Returns grouped counts by collection. Cap: 200 entries.\n- **chain**: Directed deep traversal along one relation type to depth 4. Use for dependency analysis, governance chains, strategic alignment. Requires entryId. Optional: direction (outgoing/incoming), relationType, maxHops (1-4). Cycle detection, fan-out cap 10/hop, total cap 100 nodes. Returns tree + edges.\n- **cross-cut**: Structural aggregation \u2014 all relations of a given type across the workspace, grouped by source collection. Use to answer 'show me everything connected by part_of'. Requires 'relationType'. Cap: 500 entries.\n- **incremental**: Delta since last brief run for a skill. Returns only entries changed since the skill's last brief, filtering out previously surfaced entries. Requires 'skill' parameter. Use for steering briefs that need incremental awareness.\n- **brief**: Compound intelligence query composing multiple primitives. Requires 'briefType': 'steering' (7d changes + structure + delta + readiness), 'confidence' (7d changes + active work packages + tensions), or 'delta' (changes since custom timestamp). Auto-records brief run for steering.\n- **last-verified-brief**: Fetch the most recent verified brief snapshot for a (templateId, scopeKey) pair (absorbs `documents`). Use to build delta narratives.",
6187
6187
  inputSchema: contextSchema,
6188
6188
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false }
6189
6189
  },
@@ -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/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 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 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.",
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 (work package data, constellation, drafts) from an existing work package entry.\n- **commit-constellation**: Atomically accept a work package 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-UT2T3MVR.js.map
17051
+ //# sourceMappingURL=chunk-B6IG44HB.js.map