@lucern/contracts 1.0.15 → 1.0.16
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.
- package/CHANGELOG.md +3 -0
- package/dist/context-pack.contract.d.ts +6 -0
- package/dist/context-pack.contract.js.map +1 -1
- package/dist/function-registry/beliefs.js +5 -1
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.js +5 -1
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.js +5 -1
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.js +5 -1
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.js +5 -1
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.js +5 -1
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.js +5 -1
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.js +5 -1
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.js +5 -1
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.js +5 -1
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.js +5 -1
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.js +5 -1
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.js +5 -1
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.js +5 -1
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/nodes.js +5 -1
- package/dist/function-registry/nodes.js.map +1 -1
- package/dist/function-registry/ontologies.js +5 -1
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.js +5 -1
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.js +5 -1
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.js +5 -1
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.js +5 -1
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/worktrees.js +5 -1
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/sdk-methods.contract.d.ts +6 -0
- package/dist/sdk-tools.contract.js +5 -1
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/sdk-tools.contract.registry.js +5 -1
- package/dist/sdk-tools.contract.registry.js.map +1 -1
- package/dist/sdk-tools.contract.values.js +5 -1
- package/dist/sdk-tools.contract.values.js.map +1 -1
- package/dist/tool-contracts.js +5 -1
- package/dist/tool-contracts.js.map +1 -1
- package/dist/tool-contracts.questions-listing.js +5 -1
- package/dist/tool-contracts.questions-listing.js.map +1 -1
- package/dist/tool-contracts.values.js +5 -1
- package/dist/tool-contracts.values.js.map +1 -1
- package/package.json +1 -1
|
@@ -785,6 +785,10 @@ var COMPILE_CONTEXT = {
|
|
|
785
785
|
type: "number",
|
|
786
786
|
description: "Optional per-section item limit"
|
|
787
787
|
},
|
|
788
|
+
contentTopicLimit: {
|
|
789
|
+
type: "number",
|
|
790
|
+
description: "Dimension-seeded compiles synthesize every matching worktree but bound raw belief/question/evidence enrichment to this many carrier topics (max 16) so hosted Convex queries remain fast. Receipts report any omitted raw topic enrichment."
|
|
791
|
+
},
|
|
788
792
|
maxDepth: {
|
|
789
793
|
type: "number",
|
|
790
794
|
description: "Optional descendant topic depth for neighborhood expansion"
|
|
@@ -813,7 +817,7 @@ var COMPILE_CONTEXT = {
|
|
|
813
817
|
relatedEntities: "array | undefined \u2014 ranked ontological entities in scope",
|
|
814
818
|
contextNarrative: "array \u2014 ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects",
|
|
815
819
|
retrievalReceipt: "object \u2014 candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions",
|
|
816
|
-
narrativeCoverage: "object \u2014 recordsSynthesized, recordsNamed, recordsOmitted, and blocksEmitted for the narrative",
|
|
820
|
+
narrativeCoverage: "object \u2014 recordsSynthesized, recordsNamed, recordsOmitted, topicsSynthesized, topicsEnriched, topicContentOmitted, enrichmentMode, and blocksEmitted for the narrative",
|
|
817
821
|
injectionPolicy: "object \u2014 token-budgeted section selections",
|
|
818
822
|
diagnostics: "object \u2014 scoring and utilization telemetry"
|
|
819
823
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tool-contracts.questions-listing.ts"],"names":[],"mappings":"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","file":"tool-contracts.questions-listing.js","sourcesContent":["import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CREATE_QUESTION: McpToolContract = {\n name: \"create_question\",\n description:\n \"Commit an investigation question to the reasoning graph. \" +\n \"Like `git issue` — creates a traceable question that drives research and evidence collection. \" +\n \"Questions test beliefs and guide worktree investigation.\",\n parameters: {\n text: { type: \"string\", description: \"The question text\" },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n priority: {\n type: \"string\",\n description: \"Priority: urgent, high, medium, low\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Belief this question tests\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional metadata merged into the question record\",\n },\n },\n required: [\"text\"],\n response: {\n description: \"The created canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const GET_QUESTION: McpToolContract = {\n name: \"get_question\",\n description:\n \"Read one question by ID. \" +\n \"Like `git show` — resolves the canonical question payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const REFINE_QUESTION: McpToolContract = {\n name: \"refine_question\",\n description:\n \"Refine a question's framing or scope. \" +\n \"Like `git commit --amend` for questions — updates the question text \" +\n \"while preserving its identity and linked evidence.\",\n parameters: {\n id: { type: \"string\", description: \"The question to refine\" },\n text: { type: \"string\", description: \"Updated question text\" },\n rationale: {\n type: \"string\",\n description: \"Why the question is being refined\",\n },\n },\n required: [\"id\", \"text\"],\n response: {\n description: \"The refined question\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n updatedText: \"string\",\n previousText: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LIST_QUESTIONS: McpToolContract = {\n name: \"list_questions\",\n description:\n \"List questions scoped to a topic or worktree. \" +\n \"Like `git issue list` — returns questions with their status, priority, and linked belief context. \" +\n \"Supports filtering by status and priority.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter by canonical question status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n priority: {\n type: \"string\",\n description: \"Filter by canonical question priority\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical question page\",\n fields: {\n questions: \"array — canonical question records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ANSWER_QUESTION: McpToolContract = {\n name: \"answer_question\",\n description:\n \"Answer a question with optional evidence links. \" +\n \"Like `git commit` on the question thread — records the answer and closes the loop with a canonical answered state.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n topicId: { type: \"string\", description: \"Topic scope for the answer\" },\n text: { type: \"string\", description: \"Answer text\" },\n confidence: {\n type: \"string\",\n description: \"Optional answer confidence\",\n enum: [\"weak\", \"medium\", \"strong\"],\n },\n evidenceIds: {\n type: \"array\",\n description: \"Optional canonical evidence IDs supporting the answer\",\n },\n rationale: { type: \"string\", description: \"Why this answer is credible\" },\n },\n required: [\"id\", \"topicId\", \"text\"],\n response: {\n description: \"Answer result\",\n fields: {\n questionId: \"string\",\n answerId: \"string\",\n status: \"string — answered\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_QUESTION_STATUS: McpToolContract = {\n name: \"update_question_status\",\n description:\n \"Transition a question's status through its lifecycle. \" +\n \"Like `git issue update` — moves a question through the canonical reasoning lifecycle. \" +\n \"Status transitions preserve history and keep linked evidence intact.\",\n parameters: {\n id: { type: \"string\", description: \"The question to update\" },\n status: {\n type: \"string\",\n description: \"New status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n rationale: { type: \"string\", description: \"Why the status is changing\" },\n },\n required: [\"id\", \"status\"],\n response: {\n description: \"Updated question status\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n previousStatus: \"string\",\n newStatus: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_QUESTION: McpToolContract = {\n name: \"archive_question\",\n description:\n \"Archive a question no longer relevant to current investigation scope. \" +\n \"Like `git issue close` — removes it from active work while preserving audit history. \" +\n \"Archived questions keep their existing links to beliefs and evidence.\",\n parameters: {\n questionId: { type: \"string\", description: \"The question to archive\" },\n reason: {\n type: \"string\",\n description: \"Why the question is being archived\",\n },\n },\n required: [\"questionId\"],\n response: {\n description: \"Archive confirmation\",\n fields: {\n questionId: \"string\",\n status: \"string — 'archived'\",\n archivedAt: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE_TO_QUESTION: McpToolContract = {\n name: \"link_evidence_to_question\",\n description:\n \"Link evidence to the question it helps answer. \" +\n \"Like `git notes add` — attaches supporting detail to an active question. \" +\n \"Question-level links improve answer quality and traceability to beliefs.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"The evidence to link\" },\n questionId: {\n type: \"string\",\n description: \"The question this evidence addresses\",\n },\n relevance: { type: \"number\", description: \"Relevance score in [0,1]\" },\n rationale: {\n type: \"string\",\n description: \"How this evidence bears on the question\",\n },\n },\n required: [\"evidenceId\", \"questionId\"],\n response: {\n description: \"The created edge\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n questionId: \"string\",\n relevance: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// ANSWER LIFECYCLE TOOLS\n// =============================================================================\n\nexport const CREATE_ANSWER: McpToolContract = {\n name: \"create_answer\",\n description:\n \"Create an answer node responding to a question. \" +\n \"Like `git commit` for resolved questions — creates an immutable answer snapshot at L2. \" +\n \"New answers supersede old ones, preserving full version history. \" +\n \"Answers link to supporting evidence via based_on edges.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID this answers\",\n },\n answerText: {\n type: \"string\",\n description: \"The answer content — the actual response to the question\",\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope (optional if question already has topicId)\",\n },\n confidence: {\n type: \"string\",\n description:\n \"Answer confidence: definitive, strong, moderate, weak, speculative\",\n },\n evidenceNodeIds: {\n type: \"array\",\n description: \"Supporting evidence node IDs to link via based_on edges\",\n },\n answerSource: {\n type: \"string\",\n description:\n \"How the answer was produced: human, ai_generated, deep_research, synthesis\",\n },\n },\n required: [\"questionNodeId\", \"answerText\"],\n response: {\n description: \"The created answer node with version metadata\",\n fields: {\n nodeId: \"string — unique node identifier\",\n globalId: \"string — globally unique ID\",\n versionNumber: \"number — version of this answer (auto-incremented)\",\n questionNodeId: \"string — the question this answers\",\n confidence: \"string — answer confidence level\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\nexport const GET_ANSWER: McpToolContract = {\n name: \"get_answer\",\n description:\n \"Get the latest answer for a question. \" +\n \"Like `git show HEAD` for a question's resolution — returns the active answer snapshot. \" +\n \"Returns null if the question is unanswered.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID to get the answer for\",\n },\n },\n required: [\"questionNodeId\"],\n response: {\n description: \"The active answer node or null\",\n fields: {\n nodeId: \"string | null\",\n globalId: \"string | null\",\n answerText: \"string | null\",\n versionNumber: \"number\",\n isLatest: \"boolean\",\n evidenceCount: \"number\",\n confidence: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const GET_HIGH_PRIORITY_QUESTIONS: McpToolContract = {\n name: \"get_high_priority_questions\",\n description:\n \"Rank open questions by urgency and expected decision impact. \" +\n \"Like `git issue list --sort=priority` — brings the highest-leverage open questions to the top. \" +\n \"Ranking accounts for linked belief criticality and evidence gaps.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n limit: { type: \"number\", description: \"Maximum results (default: 20)\" },\n includeAnswered: {\n type: \"boolean\",\n description: \"Include answered questions (default: false)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Priority-ranked questions\",\n fields: {\n questions:\n \"array — { questionId, text, priority, urgencyScore, linkedBeliefCount, evidenceGapCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const FIND_MISSING_QUESTIONS: McpToolContract = {\n name: \"find_missing_questions\",\n description:\n \"Identify beliefs missing testing questions. \" +\n \"Like `git diff --check` — surfaces reasoning coverage gaps before merge. \" +\n \"Returns candidate beliefs that need explicit question coverage.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n minConfidence: {\n type: \"number\",\n description: \"Only check beliefs above this confidence (default: 0)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Beliefs missing testing questions\",\n fields: {\n gaps: \"array — { beliefId, canonicalText, confidence, suggestedQuestions }\",\n totalGaps: \"number\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// LISTING & QUERY TOOLS\n// =============================================================================\n\nexport const LIST_BELIEFS: McpToolContract = {\n name: \"list_beliefs\",\n description:\n \"List beliefs scoped to a topic or worktree. \" +\n \"Like `git log --oneline` — returns beliefs with their confidence, status, and scoring state. \" +\n \"Supports filtering by status and confidence threshold.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter: unscored, scored, archived\",\n enum: [\"unscored\", \"scored\", \"archived\"],\n },\n minConfidence: {\n type: \"number\",\n description: \"Minimum confidence threshold\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical belief page\",\n fields: {\n beliefs: \"array — canonical belief records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const LIST_WORKTREES: McpToolContract = {\n name: \"list_worktrees\",\n description:\n \"List all worktrees for a topic. \" +\n \"Like `git worktree list` — shows active and completed investigation branches \" +\n \"with lifecycle phase, pipeline campaign/lane, status, and belief counts.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n status: {\n type: \"string\",\n description: \"Filter: active, merged, abandoned\",\n enum: [\"active\", \"merged\", \"abandoned\"],\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n lane: {\n type: \"string\",\n description: \"Filter by GitButler-aligned lane name.\",\n },\n campaign: {\n type: \"number\",\n description: \"Filter by top-level pipeline campaign number.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return.\",\n },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Worktrees with lifecycle phase, campaign, lane, status, belief count, and creation time\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, phase, campaign, lane, laneOrderInCampaign, orderInLane, status, beliefCount, createdAt }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_ALL_WORKTREES: McpToolContract = {\n name: \"list_all_worktrees\",\n description:\n \"List ALL worktrees across ALL topics in one query. No topic scope required. \" +\n \"Like `git worktree list --all` — returns the complete pipeline inventory with \" +\n \"campaign, lane, lane order, dependencies, and status. \" +\n \"Supports filtering by status, lane, and campaign. \" +\n \"This is the PM's primary pipeline query — one call, full picture.\",\n parameters: {\n status: {\n type: \"string\",\n description:\n \"Filter by status: planning, active, completed, abandoned, superseded, long_term, idea, paused, suggested, dismissed\",\n enum: [\n \"planning\",\n \"active\",\n \"completed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n \"paused\",\n \"suggested\",\n \"dismissed\",\n ],\n },\n lane: {\n type: \"string\",\n description:\n \"Filter by lane name (e.g., 'ontology', 'tc-scope', 'control-plane', 'dev-portal', 'mcp-sdk-parity')\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Filter by campaign number (e.g., 1, 2, 3). Returns only worktrees in that campaign.\",\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return (default: 500, max: 1000)\",\n },\n },\n required: [],\n response: {\n description: \"All worktrees across all topics with full pipeline metadata\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, topicId, topicName, phase, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate, createdAt }\",\n total: \"number — total count after filtering\",\n lanes: \"object — { laneName: count } summary of worktrees per lane\",\n campaigns:\n \"object — { campaignNumber: count } summary of worktrees per campaign\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const GET_WORKTREE: McpToolContract = {\n name: \"get_worktree\",\n description:\n \"Get one worktree by ID. \" +\n \"Like `git worktree list --porcelain <worktree>` — inspects one investigation branch without scanning the full pipeline inventory.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"Canonical worktree ID to retrieve\" },\n id: { type: \"string\", description: \"Legacy alias for worktreeId\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Single worktree record with pipeline metadata\",\n fields: {\n worktree:\n \"object — { worktreeId, title, topicId, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_CAMPAIGNS: McpToolContract = {\n name: \"list_campaigns\",\n description:\n \"List compact pipeline campaigns with their nested lanes. \" +\n \"Use this to see the top-level campaign > lane > worktree shape without pulling the full worktree inventory.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope.\",\n },\n status: {\n type: \"string\",\n description:\n \"Optional worktree status filter before grouping campaigns and lanes.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum worktrees to scan before grouping.\",\n },\n },\n required: [],\n response: {\n description: \"Pipeline campaigns with nested lane summaries.\",\n fields: {\n campaigns:\n \"array — { campaign, lanes: [{ lane, laneOrderInCampaign, worktreeCount, activeCount, readyCount, blockedCount, completedCount, nextWorktree }] }\",\n totalWorktrees: \"number — total worktrees scanned after filtering\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const ACTIVATE_WORKTREE: McpToolContract = {\n name: \"activate_worktree\",\n description:\n \"Activate a worktree to begin investigation. \" +\n \"Like `git checkout <branch>` — transitions a worktree from planning to active status. \" +\n \"Sets the initial phase and enables belief/question editing within the worktree scope.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to activate\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Activation result with initial phase\",\n fields: {\n worktreeId: \"string\",\n status: \"string — 'active'\",\n phase: \"string\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_TARGETS: McpToolContract = {\n name: \"update_worktree_targets\",\n description:\n \"Update the target beliefs and questions tracked by a worktree. \" +\n \"Like `git add/rm <files>` — stages or unstages beliefs/questions for investigation \" +\n \"within the worktree scope. Supports adding and removing targets atomically.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n addBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to add to the worktree\",\n },\n addQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to add to the worktree\",\n },\n removeBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to remove from the worktree\",\n },\n removeQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to remove from the worktree\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Updated target counts\",\n fields: {\n worktreeId: \"string\",\n beliefCount: \"number\",\n questionCount: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_METADATA: McpToolContract = {\n name: \"update_worktree_metadata\",\n description:\n \"Update worktree sequencing metadata — campaign, lane, dependencies, blocking relations, and gates. \" +\n \"Like `git config` for a worktree — sets the scheduling and dependency metadata that determines \" +\n \"when this worktree can activate relative to others. Use to backfill or correct sequencing data.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n hypothesis: {\n type: \"string\",\n description: \"Testable claim this worktree investigates\",\n },\n campaign: {\n type: \"number\",\n description: \"Top-level pipeline campaign number.\",\n },\n lane: {\n type: \"string\",\n description:\n \"GitButler-aligned workstream lane name inside the campaign.\",\n },\n laneOrderInCampaign: {\n type: \"number\",\n description: \"Ordering for this lane within the campaign.\",\n },\n orderInLane: {\n type: \"number\",\n description: \"Position of this worktree inside its lane.\",\n },\n dependsOn: {\n type: \"array\",\n description:\n \"Worktree IDs that must complete before this one can activate\",\n },\n blocks: {\n type: \"array\",\n description: \"Worktree IDs that are blocked until this one completes\",\n },\n gate: {\n type: \"string\",\n description: \"Exit gate name (e.g., 'gate:ontology-schema-hardened')\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this worktree is sequenced here\",\n },\n objective: {\n type: \"string\",\n description: \"What we're trying to learn/prove\",\n },\n proofArtifacts: {\n type: \"array\",\n description:\n \"Typed proof artifacts that define what evidence or deliverables this worktree must emit before it can claim success.\",\n },\n staffingHint: {\n type: \"string\",\n description:\n \"Advisory staffing shape for the worktree (for example `backend+tests` or `fullstack`).\",\n },\n lastReconciledAt: {\n type: \"number\",\n description:\n \"Timestamp of the last deterministic workflow reconciliation pass against this worktree.\",\n },\n autoFixPolicy: {\n type: \"object\",\n description:\n \"Calibrated auto-fix policy controlling dry-run vs safe execution, per-run action caps, and permitted mutation tiers.\",\n },\n status: {\n type: \"string\",\n description:\n \"Override the worktree status. Use for lifecycle transitions like marking a worktree superseded, long-term, or as a raw idea.\",\n enum: [\n \"suggested\",\n \"planning\",\n \"active\",\n \"paused\",\n \"completed\",\n \"dismissed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n ],\n },\n topicId: {\n type: \"string\",\n description:\n \"Reassign this worktree's primary topic. Validates the target topic exists before updating.\",\n },\n additionalTopicIds: {\n type: \"array\",\n description:\n \"Set additional topic associations for cross-topic worktrees. Each topic ID is validated before updating. \" +\n \"Use when a worktree spans multiple knowledge domains.\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Update confirmation\",\n fields: { worktreeId: \"string\", success: \"boolean\" },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const IDENTITY_WHOAMI: McpToolContract = {\n name: \"identity_whoami\",\n description:\n \"Read the authenticated identity summary for the current session. \" +\n \"Like `git config --get user.name` — shows who the current MCP session is acting as.\",\n parameters: {},\n required: [],\n response: {\n description: \"Canonical identity summary for the current session\",\n fields: {\n principalId:\n \"string — canonical principal identifier; for humans this is the Clerk user_... ID\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n tenantId: \"string | undefined — resolved tenant scope\",\n workspaceId: \"string | undefined — resolved workspace scope\",\n scopes: \"string[] | undefined — granted scopes for this session\",\n roles: \"string[] | undefined — canonical roles for this session\",\n },\n },\n ownerModule: \"identity-core\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const RESOLVE_INTERACTIVE_PRINCIPAL: McpToolContract = {\n name: \"resolve_interactive_principal\",\n description:\n \"Read the Permit-backed Lucern principal context for an authenticated Clerk user. \" +\n \"Like `git config --get user.email` plus the repository ACL — resolves the Clerk subject into tenant/workspace authorization context.\",\n parameters: {\n clerkId: {\n type: \"string\",\n description: \"Authenticated Clerk subject (`sub`). Clerk proves identity only; it is not the authorization record.\",\n },\n tenantId: {\n type: \"string\",\n description: \"Optional tenant scope. Omit only when the Clerk alias is globally unambiguous.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Optional workspace scope. Required when the principal has access to multiple workspaces and no default can be inferred.\",\n },\n providerProjectId: {\n type: \"string\",\n description: \"Optional Clerk project or provider instance id for tenants with multiple identity providers.\",\n },\n },\n required: [\"clerkId\"],\n response: {\n description: \"Permit-backed Lucern principal context for tenant SDK bootstrap\",\n fields: {\n principalId:\n \"string — canonical Clerk user_... ID for human sessions\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n clerkId: \"string — authenticated Clerk subject alias\",\n tenantId: \"string — resolved tenant scope\",\n workspaceId: \"string | null — resolved workspace scope\",\n roles: \"string[] — effective Permit roles\",\n scopes: \"string[] — effective scopes derived from Permit/control-plane projection\",\n groupIds: \"string[] — active Permit group memberships\",\n principalStatus: \"string — active, invited, suspended, disabled, revoked, or missing\",\n tenantStatus: \"string — projected tenant resource status\",\n workspaceStatus: \"string — projected workspace resource status\",\n permit: \"object — Permit subject, tenant, and optional workspace tuple\",\n },\n },\n ownerModule: \"control-plane\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const COMPILE_CONTEXT: McpToolContract = {\n name: \"compile_context\",\n description:\n \"Compile a focused reasoning context. If topicId is omitted, Lucern resolves the best topic from the query. \" +\n \"Like `git log --graph --decorate` for the reasoning substrate — returns the canonical Pillar 3 context pack through the public API shape.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope ID. Omit to resolve the topic from query.\",\n },\n query: {\n type: \"string\",\n description:\n \"Focus query used to resolve the topic and rank context items. Required when topicId is omitted.\",\n },\n topicHint: {\n type: \"string\",\n description:\n \"Optional natural-language topic hint used by the resolver when topicId is omitted or stale.\",\n },\n tags: {\n type: \"array\",\n description:\n \"Optional resolver tags. Useful for narrowing topic inference without knowing the exact topic id.\",\n },\n touchedPaths: {\n type: \"array\",\n description:\n \"Optional file or documentation paths used as resolver signals.\",\n },\n sourceRef: {\n type: \"string\",\n description:\n \"Optional source reference used as a resolver signal, such as a worktree id, PR, or feature slug.\",\n },\n sourceKind: {\n type: \"string\",\n description:\n \"Optional source kind used as a resolver signal, such as cli, worktree, commit, or docs.\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Optional campaign dimension seed. When supplied without topicId, the compiler fans out across all carrier topics for that campaign instead of resolving a single topic.\",\n },\n lane: {\n type: \"string\",\n description:\n \"Optional lane dimension seed. When supplied without topicId, the compiler reads all matching worktrees and their carrier topics.\",\n },\n status: {\n type: \"string\",\n description:\n \"Optional state/status dimension seed for worktrees and graph rows.\",\n },\n principalId: {\n type: \"string\",\n description:\n \"Optional principal seed for work authored, touched, or owned by a human, agent, group, or service principal.\",\n },\n workspaceId: {\n type: \"string\",\n description:\n \"Optional workspace seed used by hosted MCP and SDK clients when compiling tenant-scoped context.\",\n },\n budget: {\n type: \"number\",\n description: \"Token budget for prompt injection planning\",\n },\n tokenBudget: {\n type: \"number\",\n description:\n \"Compatibility alias for budget. External MCP clients may send tokenBudget when requesting prompt injection planning.\",\n },\n ranking: {\n type: \"string\",\n description: \"Ranking profile for context ordering\",\n enum: [\"baseline_v1\", \"weighted_v1\"],\n },\n limit: {\n type: \"number\",\n description: \"Optional per-section item limit\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Optional descendant topic depth for neighborhood expansion\",\n },\n includeEntities: {\n type: \"boolean\",\n description: \"Include related ontological entities in the compiled result\",\n },\n },\n required: [],\n response: {\n description: \"Compiled context pack for the requested topic\",\n fields: {\n schemaVersion: \"string\",\n topicId: \"string\",\n topicName: \"string\",\n scopedTopicIds: \"array — topic IDs included in the compilation neighborhood\",\n generatedAt:\n \"number — deterministic graph-backed reference timestamp for this compilation\",\n ranking: \"string — baseline_v1 | weighted_v1\",\n summary: \"object — counts and scoped health signals\",\n invariants: \"array — high-confidence invariant beliefs\",\n activeBeliefs: \"array — current high-signal beliefs\",\n openQuestions: \"array — unresolved questions ranked for this query\",\n recentEvidence: \"array — recent evidence ranked for this query\",\n contradictions: \"array — unresolved contradiction records\",\n relatedEntities: \"array | undefined — ranked ontological entities in scope\",\n contextNarrative:\n \"array — ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects\",\n retrievalReceipt:\n \"object — candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions\",\n narrativeCoverage:\n \"object — recordsSynthesized, recordsNamed, recordsOmitted, and blocksEmitted for the narrative\",\n injectionPolicy: \"object — token-budgeted section selections\",\n diagnostics: \"object — scoring and utilization telemetry\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// POLICY / ACL TOOLS\n// =============================================================================\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/tool-contracts.questions-listing.ts"],"names":[],"mappings":"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","file":"tool-contracts.questions-listing.js","sourcesContent":["import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CREATE_QUESTION: McpToolContract = {\n name: \"create_question\",\n description:\n \"Commit an investigation question to the reasoning graph. \" +\n \"Like `git issue` — creates a traceable question that drives research and evidence collection. \" +\n \"Questions test beliefs and guide worktree investigation.\",\n parameters: {\n text: { type: \"string\", description: \"The question text\" },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n priority: {\n type: \"string\",\n description: \"Priority: urgent, high, medium, low\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Belief this question tests\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional metadata merged into the question record\",\n },\n },\n required: [\"text\"],\n response: {\n description: \"The created canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const GET_QUESTION: McpToolContract = {\n name: \"get_question\",\n description:\n \"Read one question by ID. \" +\n \"Like `git show` — resolves the canonical question payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const REFINE_QUESTION: McpToolContract = {\n name: \"refine_question\",\n description:\n \"Refine a question's framing or scope. \" +\n \"Like `git commit --amend` for questions — updates the question text \" +\n \"while preserving its identity and linked evidence.\",\n parameters: {\n id: { type: \"string\", description: \"The question to refine\" },\n text: { type: \"string\", description: \"Updated question text\" },\n rationale: {\n type: \"string\",\n description: \"Why the question is being refined\",\n },\n },\n required: [\"id\", \"text\"],\n response: {\n description: \"The refined question\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n updatedText: \"string\",\n previousText: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LIST_QUESTIONS: McpToolContract = {\n name: \"list_questions\",\n description:\n \"List questions scoped to a topic or worktree. \" +\n \"Like `git issue list` — returns questions with their status, priority, and linked belief context. \" +\n \"Supports filtering by status and priority.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter by canonical question status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n priority: {\n type: \"string\",\n description: \"Filter by canonical question priority\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical question page\",\n fields: {\n questions: \"array — canonical question records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ANSWER_QUESTION: McpToolContract = {\n name: \"answer_question\",\n description:\n \"Answer a question with optional evidence links. \" +\n \"Like `git commit` on the question thread — records the answer and closes the loop with a canonical answered state.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n topicId: { type: \"string\", description: \"Topic scope for the answer\" },\n text: { type: \"string\", description: \"Answer text\" },\n confidence: {\n type: \"string\",\n description: \"Optional answer confidence\",\n enum: [\"weak\", \"medium\", \"strong\"],\n },\n evidenceIds: {\n type: \"array\",\n description: \"Optional canonical evidence IDs supporting the answer\",\n },\n rationale: { type: \"string\", description: \"Why this answer is credible\" },\n },\n required: [\"id\", \"topicId\", \"text\"],\n response: {\n description: \"Answer result\",\n fields: {\n questionId: \"string\",\n answerId: \"string\",\n status: \"string — answered\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_QUESTION_STATUS: McpToolContract = {\n name: \"update_question_status\",\n description:\n \"Transition a question's status through its lifecycle. \" +\n \"Like `git issue update` — moves a question through the canonical reasoning lifecycle. \" +\n \"Status transitions preserve history and keep linked evidence intact.\",\n parameters: {\n id: { type: \"string\", description: \"The question to update\" },\n status: {\n type: \"string\",\n description: \"New status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n rationale: { type: \"string\", description: \"Why the status is changing\" },\n },\n required: [\"id\", \"status\"],\n response: {\n description: \"Updated question status\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n previousStatus: \"string\",\n newStatus: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_QUESTION: McpToolContract = {\n name: \"archive_question\",\n description:\n \"Archive a question no longer relevant to current investigation scope. \" +\n \"Like `git issue close` — removes it from active work while preserving audit history. \" +\n \"Archived questions keep their existing links to beliefs and evidence.\",\n parameters: {\n questionId: { type: \"string\", description: \"The question to archive\" },\n reason: {\n type: \"string\",\n description: \"Why the question is being archived\",\n },\n },\n required: [\"questionId\"],\n response: {\n description: \"Archive confirmation\",\n fields: {\n questionId: \"string\",\n status: \"string — 'archived'\",\n archivedAt: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE_TO_QUESTION: McpToolContract = {\n name: \"link_evidence_to_question\",\n description:\n \"Link evidence to the question it helps answer. \" +\n \"Like `git notes add` — attaches supporting detail to an active question. \" +\n \"Question-level links improve answer quality and traceability to beliefs.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"The evidence to link\" },\n questionId: {\n type: \"string\",\n description: \"The question this evidence addresses\",\n },\n relevance: { type: \"number\", description: \"Relevance score in [0,1]\" },\n rationale: {\n type: \"string\",\n description: \"How this evidence bears on the question\",\n },\n },\n required: [\"evidenceId\", \"questionId\"],\n response: {\n description: \"The created edge\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n questionId: \"string\",\n relevance: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// ANSWER LIFECYCLE TOOLS\n// =============================================================================\n\nexport const CREATE_ANSWER: McpToolContract = {\n name: \"create_answer\",\n description:\n \"Create an answer node responding to a question. \" +\n \"Like `git commit` for resolved questions — creates an immutable answer snapshot at L2. \" +\n \"New answers supersede old ones, preserving full version history. \" +\n \"Answers link to supporting evidence via based_on edges.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID this answers\",\n },\n answerText: {\n type: \"string\",\n description: \"The answer content — the actual response to the question\",\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope (optional if question already has topicId)\",\n },\n confidence: {\n type: \"string\",\n description:\n \"Answer confidence: definitive, strong, moderate, weak, speculative\",\n },\n evidenceNodeIds: {\n type: \"array\",\n description: \"Supporting evidence node IDs to link via based_on edges\",\n },\n answerSource: {\n type: \"string\",\n description:\n \"How the answer was produced: human, ai_generated, deep_research, synthesis\",\n },\n },\n required: [\"questionNodeId\", \"answerText\"],\n response: {\n description: \"The created answer node with version metadata\",\n fields: {\n nodeId: \"string — unique node identifier\",\n globalId: \"string — globally unique ID\",\n versionNumber: \"number — version of this answer (auto-incremented)\",\n questionNodeId: \"string — the question this answers\",\n confidence: \"string — answer confidence level\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\nexport const GET_ANSWER: McpToolContract = {\n name: \"get_answer\",\n description:\n \"Get the latest answer for a question. \" +\n \"Like `git show HEAD` for a question's resolution — returns the active answer snapshot. \" +\n \"Returns null if the question is unanswered.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID to get the answer for\",\n },\n },\n required: [\"questionNodeId\"],\n response: {\n description: \"The active answer node or null\",\n fields: {\n nodeId: \"string | null\",\n globalId: \"string | null\",\n answerText: \"string | null\",\n versionNumber: \"number\",\n isLatest: \"boolean\",\n evidenceCount: \"number\",\n confidence: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const GET_HIGH_PRIORITY_QUESTIONS: McpToolContract = {\n name: \"get_high_priority_questions\",\n description:\n \"Rank open questions by urgency and expected decision impact. \" +\n \"Like `git issue list --sort=priority` — brings the highest-leverage open questions to the top. \" +\n \"Ranking accounts for linked belief criticality and evidence gaps.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n limit: { type: \"number\", description: \"Maximum results (default: 20)\" },\n includeAnswered: {\n type: \"boolean\",\n description: \"Include answered questions (default: false)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Priority-ranked questions\",\n fields: {\n questions:\n \"array — { questionId, text, priority, urgencyScore, linkedBeliefCount, evidenceGapCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const FIND_MISSING_QUESTIONS: McpToolContract = {\n name: \"find_missing_questions\",\n description:\n \"Identify beliefs missing testing questions. \" +\n \"Like `git diff --check` — surfaces reasoning coverage gaps before merge. \" +\n \"Returns candidate beliefs that need explicit question coverage.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n minConfidence: {\n type: \"number\",\n description: \"Only check beliefs above this confidence (default: 0)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Beliefs missing testing questions\",\n fields: {\n gaps: \"array — { beliefId, canonicalText, confidence, suggestedQuestions }\",\n totalGaps: \"number\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// LISTING & QUERY TOOLS\n// =============================================================================\n\nexport const LIST_BELIEFS: McpToolContract = {\n name: \"list_beliefs\",\n description:\n \"List beliefs scoped to a topic or worktree. \" +\n \"Like `git log --oneline` — returns beliefs with their confidence, status, and scoring state. \" +\n \"Supports filtering by status and confidence threshold.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter: unscored, scored, archived\",\n enum: [\"unscored\", \"scored\", \"archived\"],\n },\n minConfidence: {\n type: \"number\",\n description: \"Minimum confidence threshold\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical belief page\",\n fields: {\n beliefs: \"array — canonical belief records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const LIST_WORKTREES: McpToolContract = {\n name: \"list_worktrees\",\n description:\n \"List all worktrees for a topic. \" +\n \"Like `git worktree list` — shows active and completed investigation branches \" +\n \"with lifecycle phase, pipeline campaign/lane, status, and belief counts.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n status: {\n type: \"string\",\n description: \"Filter: active, merged, abandoned\",\n enum: [\"active\", \"merged\", \"abandoned\"],\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n lane: {\n type: \"string\",\n description: \"Filter by GitButler-aligned lane name.\",\n },\n campaign: {\n type: \"number\",\n description: \"Filter by top-level pipeline campaign number.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return.\",\n },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Worktrees with lifecycle phase, campaign, lane, status, belief count, and creation time\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, phase, campaign, lane, laneOrderInCampaign, orderInLane, status, beliefCount, createdAt }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_ALL_WORKTREES: McpToolContract = {\n name: \"list_all_worktrees\",\n description:\n \"List ALL worktrees across ALL topics in one query. No topic scope required. \" +\n \"Like `git worktree list --all` — returns the complete pipeline inventory with \" +\n \"campaign, lane, lane order, dependencies, and status. \" +\n \"Supports filtering by status, lane, and campaign. \" +\n \"This is the PM's primary pipeline query — one call, full picture.\",\n parameters: {\n status: {\n type: \"string\",\n description:\n \"Filter by status: planning, active, completed, abandoned, superseded, long_term, idea, paused, suggested, dismissed\",\n enum: [\n \"planning\",\n \"active\",\n \"completed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n \"paused\",\n \"suggested\",\n \"dismissed\",\n ],\n },\n lane: {\n type: \"string\",\n description:\n \"Filter by lane name (e.g., 'ontology', 'tc-scope', 'control-plane', 'dev-portal', 'mcp-sdk-parity')\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Filter by campaign number (e.g., 1, 2, 3). Returns only worktrees in that campaign.\",\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return (default: 500, max: 1000)\",\n },\n },\n required: [],\n response: {\n description: \"All worktrees across all topics with full pipeline metadata\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, topicId, topicName, phase, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate, createdAt }\",\n total: \"number — total count after filtering\",\n lanes: \"object — { laneName: count } summary of worktrees per lane\",\n campaigns:\n \"object — { campaignNumber: count } summary of worktrees per campaign\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const GET_WORKTREE: McpToolContract = {\n name: \"get_worktree\",\n description:\n \"Get one worktree by ID. \" +\n \"Like `git worktree list --porcelain <worktree>` — inspects one investigation branch without scanning the full pipeline inventory.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"Canonical worktree ID to retrieve\" },\n id: { type: \"string\", description: \"Legacy alias for worktreeId\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Single worktree record with pipeline metadata\",\n fields: {\n worktree:\n \"object — { worktreeId, title, topicId, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_CAMPAIGNS: McpToolContract = {\n name: \"list_campaigns\",\n description:\n \"List compact pipeline campaigns with their nested lanes. \" +\n \"Use this to see the top-level campaign > lane > worktree shape without pulling the full worktree inventory.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope.\",\n },\n status: {\n type: \"string\",\n description:\n \"Optional worktree status filter before grouping campaigns and lanes.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum worktrees to scan before grouping.\",\n },\n },\n required: [],\n response: {\n description: \"Pipeline campaigns with nested lane summaries.\",\n fields: {\n campaigns:\n \"array — { campaign, lanes: [{ lane, laneOrderInCampaign, worktreeCount, activeCount, readyCount, blockedCount, completedCount, nextWorktree }] }\",\n totalWorktrees: \"number — total worktrees scanned after filtering\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const ACTIVATE_WORKTREE: McpToolContract = {\n name: \"activate_worktree\",\n description:\n \"Activate a worktree to begin investigation. \" +\n \"Like `git checkout <branch>` — transitions a worktree from planning to active status. \" +\n \"Sets the initial phase and enables belief/question editing within the worktree scope.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to activate\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Activation result with initial phase\",\n fields: {\n worktreeId: \"string\",\n status: \"string — 'active'\",\n phase: \"string\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_TARGETS: McpToolContract = {\n name: \"update_worktree_targets\",\n description:\n \"Update the target beliefs and questions tracked by a worktree. \" +\n \"Like `git add/rm <files>` — stages or unstages beliefs/questions for investigation \" +\n \"within the worktree scope. Supports adding and removing targets atomically.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n addBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to add to the worktree\",\n },\n addQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to add to the worktree\",\n },\n removeBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to remove from the worktree\",\n },\n removeQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to remove from the worktree\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Updated target counts\",\n fields: {\n worktreeId: \"string\",\n beliefCount: \"number\",\n questionCount: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_METADATA: McpToolContract = {\n name: \"update_worktree_metadata\",\n description:\n \"Update worktree sequencing metadata — campaign, lane, dependencies, blocking relations, and gates. \" +\n \"Like `git config` for a worktree — sets the scheduling and dependency metadata that determines \" +\n \"when this worktree can activate relative to others. Use to backfill or correct sequencing data.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n hypothesis: {\n type: \"string\",\n description: \"Testable claim this worktree investigates\",\n },\n campaign: {\n type: \"number\",\n description: \"Top-level pipeline campaign number.\",\n },\n lane: {\n type: \"string\",\n description:\n \"GitButler-aligned workstream lane name inside the campaign.\",\n },\n laneOrderInCampaign: {\n type: \"number\",\n description: \"Ordering for this lane within the campaign.\",\n },\n orderInLane: {\n type: \"number\",\n description: \"Position of this worktree inside its lane.\",\n },\n dependsOn: {\n type: \"array\",\n description:\n \"Worktree IDs that must complete before this one can activate\",\n },\n blocks: {\n type: \"array\",\n description: \"Worktree IDs that are blocked until this one completes\",\n },\n gate: {\n type: \"string\",\n description: \"Exit gate name (e.g., 'gate:ontology-schema-hardened')\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this worktree is sequenced here\",\n },\n objective: {\n type: \"string\",\n description: \"What we're trying to learn/prove\",\n },\n proofArtifacts: {\n type: \"array\",\n description:\n \"Typed proof artifacts that define what evidence or deliverables this worktree must emit before it can claim success.\",\n },\n staffingHint: {\n type: \"string\",\n description:\n \"Advisory staffing shape for the worktree (for example `backend+tests` or `fullstack`).\",\n },\n lastReconciledAt: {\n type: \"number\",\n description:\n \"Timestamp of the last deterministic workflow reconciliation pass against this worktree.\",\n },\n autoFixPolicy: {\n type: \"object\",\n description:\n \"Calibrated auto-fix policy controlling dry-run vs safe execution, per-run action caps, and permitted mutation tiers.\",\n },\n status: {\n type: \"string\",\n description:\n \"Override the worktree status. Use for lifecycle transitions like marking a worktree superseded, long-term, or as a raw idea.\",\n enum: [\n \"suggested\",\n \"planning\",\n \"active\",\n \"paused\",\n \"completed\",\n \"dismissed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n ],\n },\n topicId: {\n type: \"string\",\n description:\n \"Reassign this worktree's primary topic. Validates the target topic exists before updating.\",\n },\n additionalTopicIds: {\n type: \"array\",\n description:\n \"Set additional topic associations for cross-topic worktrees. Each topic ID is validated before updating. \" +\n \"Use when a worktree spans multiple knowledge domains.\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Update confirmation\",\n fields: { worktreeId: \"string\", success: \"boolean\" },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const IDENTITY_WHOAMI: McpToolContract = {\n name: \"identity_whoami\",\n description:\n \"Read the authenticated identity summary for the current session. \" +\n \"Like `git config --get user.name` — shows who the current MCP session is acting as.\",\n parameters: {},\n required: [],\n response: {\n description: \"Canonical identity summary for the current session\",\n fields: {\n principalId:\n \"string — canonical principal identifier; for humans this is the Clerk user_... ID\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n tenantId: \"string | undefined — resolved tenant scope\",\n workspaceId: \"string | undefined — resolved workspace scope\",\n scopes: \"string[] | undefined — granted scopes for this session\",\n roles: \"string[] | undefined — canonical roles for this session\",\n },\n },\n ownerModule: \"identity-core\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const RESOLVE_INTERACTIVE_PRINCIPAL: McpToolContract = {\n name: \"resolve_interactive_principal\",\n description:\n \"Read the Permit-backed Lucern principal context for an authenticated Clerk user. \" +\n \"Like `git config --get user.email` plus the repository ACL — resolves the Clerk subject into tenant/workspace authorization context.\",\n parameters: {\n clerkId: {\n type: \"string\",\n description: \"Authenticated Clerk subject (`sub`). Clerk proves identity only; it is not the authorization record.\",\n },\n tenantId: {\n type: \"string\",\n description: \"Optional tenant scope. Omit only when the Clerk alias is globally unambiguous.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Optional workspace scope. Required when the principal has access to multiple workspaces and no default can be inferred.\",\n },\n providerProjectId: {\n type: \"string\",\n description: \"Optional Clerk project or provider instance id for tenants with multiple identity providers.\",\n },\n },\n required: [\"clerkId\"],\n response: {\n description: \"Permit-backed Lucern principal context for tenant SDK bootstrap\",\n fields: {\n principalId:\n \"string — canonical Clerk user_... ID for human sessions\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n clerkId: \"string — authenticated Clerk subject alias\",\n tenantId: \"string — resolved tenant scope\",\n workspaceId: \"string | null — resolved workspace scope\",\n roles: \"string[] — effective Permit roles\",\n scopes: \"string[] — effective scopes derived from Permit/control-plane projection\",\n groupIds: \"string[] — active Permit group memberships\",\n principalStatus: \"string — active, invited, suspended, disabled, revoked, or missing\",\n tenantStatus: \"string — projected tenant resource status\",\n workspaceStatus: \"string — projected workspace resource status\",\n permit: \"object — Permit subject, tenant, and optional workspace tuple\",\n },\n },\n ownerModule: \"control-plane\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const COMPILE_CONTEXT: McpToolContract = {\n name: \"compile_context\",\n description:\n \"Compile a focused reasoning context. If topicId is omitted, Lucern resolves the best topic from the query. \" +\n \"Like `git log --graph --decorate` for the reasoning substrate — returns the canonical Pillar 3 context pack through the public API shape.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope ID. Omit to resolve the topic from query.\",\n },\n query: {\n type: \"string\",\n description:\n \"Focus query used to resolve the topic and rank context items. Required when topicId is omitted.\",\n },\n topicHint: {\n type: \"string\",\n description:\n \"Optional natural-language topic hint used by the resolver when topicId is omitted or stale.\",\n },\n tags: {\n type: \"array\",\n description:\n \"Optional resolver tags. Useful for narrowing topic inference without knowing the exact topic id.\",\n },\n touchedPaths: {\n type: \"array\",\n description:\n \"Optional file or documentation paths used as resolver signals.\",\n },\n sourceRef: {\n type: \"string\",\n description:\n \"Optional source reference used as a resolver signal, such as a worktree id, PR, or feature slug.\",\n },\n sourceKind: {\n type: \"string\",\n description:\n \"Optional source kind used as a resolver signal, such as cli, worktree, commit, or docs.\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Optional campaign dimension seed. When supplied without topicId, the compiler fans out across all carrier topics for that campaign instead of resolving a single topic.\",\n },\n lane: {\n type: \"string\",\n description:\n \"Optional lane dimension seed. When supplied without topicId, the compiler reads all matching worktrees and their carrier topics.\",\n },\n status: {\n type: \"string\",\n description:\n \"Optional state/status dimension seed for worktrees and graph rows.\",\n },\n principalId: {\n type: \"string\",\n description:\n \"Optional principal seed for work authored, touched, or owned by a human, agent, group, or service principal.\",\n },\n workspaceId: {\n type: \"string\",\n description:\n \"Optional workspace seed used by hosted MCP and SDK clients when compiling tenant-scoped context.\",\n },\n budget: {\n type: \"number\",\n description: \"Token budget for prompt injection planning\",\n },\n tokenBudget: {\n type: \"number\",\n description:\n \"Compatibility alias for budget. External MCP clients may send tokenBudget when requesting prompt injection planning.\",\n },\n ranking: {\n type: \"string\",\n description: \"Ranking profile for context ordering\",\n enum: [\"baseline_v1\", \"weighted_v1\"],\n },\n limit: {\n type: \"number\",\n description: \"Optional per-section item limit\",\n },\n contentTopicLimit: {\n type: \"number\",\n description:\n \"Dimension-seeded compiles synthesize every matching worktree but bound raw belief/question/evidence enrichment to this many carrier topics (max 16) so hosted Convex queries remain fast. Receipts report any omitted raw topic enrichment.\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Optional descendant topic depth for neighborhood expansion\",\n },\n includeEntities: {\n type: \"boolean\",\n description: \"Include related ontological entities in the compiled result\",\n },\n },\n required: [],\n response: {\n description: \"Compiled context pack for the requested topic\",\n fields: {\n schemaVersion: \"string\",\n topicId: \"string\",\n topicName: \"string\",\n scopedTopicIds: \"array — topic IDs included in the compilation neighborhood\",\n generatedAt:\n \"number — deterministic graph-backed reference timestamp for this compilation\",\n ranking: \"string — baseline_v1 | weighted_v1\",\n summary: \"object — counts and scoped health signals\",\n invariants: \"array — high-confidence invariant beliefs\",\n activeBeliefs: \"array — current high-signal beliefs\",\n openQuestions: \"array — unresolved questions ranked for this query\",\n recentEvidence: \"array — recent evidence ranked for this query\",\n contradictions: \"array — unresolved contradiction records\",\n relatedEntities: \"array | undefined — ranked ontological entities in scope\",\n contextNarrative:\n \"array — ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects\",\n retrievalReceipt:\n \"object — candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions\",\n narrativeCoverage:\n \"object — recordsSynthesized, recordsNamed, recordsOmitted, topicsSynthesized, topicsEnriched, topicContentOmitted, enrichmentMode, and blocksEmitted for the narrative\",\n injectionPolicy: \"object — token-budgeted section selections\",\n diagnostics: \"object — scoring and utilization telemetry\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// POLICY / ACL TOOLS\n// =============================================================================\n"]}
|
|
@@ -4033,6 +4033,10 @@ var COMPILE_CONTEXT = {
|
|
|
4033
4033
|
type: "number",
|
|
4034
4034
|
description: "Optional per-section item limit"
|
|
4035
4035
|
},
|
|
4036
|
+
contentTopicLimit: {
|
|
4037
|
+
type: "number",
|
|
4038
|
+
description: "Dimension-seeded compiles synthesize every matching worktree but bound raw belief/question/evidence enrichment to this many carrier topics (max 16) so hosted Convex queries remain fast. Receipts report any omitted raw topic enrichment."
|
|
4039
|
+
},
|
|
4036
4040
|
maxDepth: {
|
|
4037
4041
|
type: "number",
|
|
4038
4042
|
description: "Optional descendant topic depth for neighborhood expansion"
|
|
@@ -4061,7 +4065,7 @@ var COMPILE_CONTEXT = {
|
|
|
4061
4065
|
relatedEntities: "array | undefined \u2014 ranked ontological entities in scope",
|
|
4062
4066
|
contextNarrative: "array \u2014 ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects",
|
|
4063
4067
|
retrievalReceipt: "object \u2014 candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions",
|
|
4064
|
-
narrativeCoverage: "object \u2014 recordsSynthesized, recordsNamed, recordsOmitted, and blocksEmitted for the narrative",
|
|
4068
|
+
narrativeCoverage: "object \u2014 recordsSynthesized, recordsNamed, recordsOmitted, topicsSynthesized, topicsEnriched, topicContentOmitted, enrichmentMode, and blocksEmitted for the narrative",
|
|
4065
4069
|
injectionPolicy: "object \u2014 token-budgeted section selections",
|
|
4066
4070
|
diagnostics: "object \u2014 scoring and utilization telemetry"
|
|
4067
4071
|
}
|