@lucern/contracts 1.0.19 → 1.0.20
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/function-registry/beliefs.js +13 -20
- package/dist/function-registry/beliefs.js.map +1 -1
- package/dist/function-registry/coding.js +8 -9
- package/dist/function-registry/coding.js.map +1 -1
- package/dist/function-registry/context.js +8 -9
- package/dist/function-registry/context.js.map +1 -1
- package/dist/function-registry/contracts.js +8 -9
- package/dist/function-registry/contracts.js.map +1 -1
- package/dist/function-registry/coordination.js +8 -9
- package/dist/function-registry/coordination.js.map +1 -1
- package/dist/function-registry/edges.js +8 -9
- package/dist/function-registry/edges.js.map +1 -1
- package/dist/function-registry/evidence.js +8 -15
- package/dist/function-registry/evidence.js.map +1 -1
- package/dist/function-registry/graph.js +8 -9
- package/dist/function-registry/graph.js.map +1 -1
- package/dist/function-registry/helpers.d.ts +2 -1
- package/dist/function-registry/helpers.js +9 -10
- package/dist/function-registry/helpers.js.map +1 -1
- package/dist/function-registry/identity.js +8 -9
- package/dist/function-registry/identity.js.map +1 -1
- package/dist/function-registry/index.d.ts +1 -1
- package/dist/function-registry/index.js +9 -10
- package/dist/function-registry/index.js.map +1 -1
- package/dist/function-registry/judgments.js +8 -9
- package/dist/function-registry/judgments.js.map +1 -1
- package/dist/function-registry/legacy.js +8 -9
- package/dist/function-registry/legacy.js.map +1 -1
- package/dist/function-registry/lenses.js +8 -9
- package/dist/function-registry/lenses.js.map +1 -1
- package/dist/function-registry/nodes.js +8 -9
- package/dist/function-registry/nodes.js.map +1 -1
- package/dist/function-registry/ontologies.js +8 -9
- package/dist/function-registry/ontologies.js.map +1 -1
- package/dist/function-registry/pipeline.js +8 -9
- package/dist/function-registry/pipeline.js.map +1 -1
- package/dist/function-registry/questions.js +8 -9
- package/dist/function-registry/questions.js.map +1 -1
- package/dist/function-registry/tasks.js +8 -9
- package/dist/function-registry/tasks.js.map +1 -1
- package/dist/function-registry/topics.js +13 -11
- package/dist/function-registry/topics.js.map +1 -1
- package/dist/function-registry/worktrees.js +8 -9
- package/dist/function-registry/worktrees.js.map +1 -1
- package/dist/index.js +1 -9
- package/dist/index.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/sdk-methods.contract.d.ts +1 -3
- package/dist/sdk-tools.contract.js +1 -9
- package/dist/sdk-tools.contract.js.map +1 -1
- package/dist/sdk-tools.contract.registry.js +1 -9
- package/dist/sdk-tools.contract.registry.js.map +1 -1
- package/dist/sdk-tools.contract.values.js +1 -9
- package/dist/sdk-tools.contract.values.js.map +1 -1
- package/dist/tool-contracts.js +1 -9
- package/dist/tool-contracts.js.map +1 -1
- package/dist/tool-contracts.lifecycle.js +1 -9
- package/dist/tool-contracts.lifecycle.js.map +1 -1
- package/dist/tool-contracts.values.js +1 -9
- package/dist/tool-contracts.values.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ids.contract.ts","../../src/tool-contracts.lifecycle.ts","../../src/tool-contracts.worktrees.ts","../../src/types/reasoning-method.ts","../../src/tool-contracts.graph.ts","../../src/tool-contracts.embeddings.ts","../../src/tool-contracts.hybrid-discovery.ts","../../src/lens-workflow.contract.ts","../../src/tool-contracts.nodes-lenses.ts","../../src/tool-contracts.context-orientation.ts","../../src/tool-contracts.intelligence-evidence.ts","../../src/tool-contracts.questions-listing.ts","../../src/tool-contracts.policy-observation-task-topic.ts","../../src/tool-contracts.ontology.ts","../../src/tool-contracts.pipeline-coordination.ts","../../src/tool-contracts.ts","../../src/function-registry/manifest.ts","../../src/schemas/enums.ts","../../src/function-registry/helpers.ts","../../src/ids/index.ts","../../src/manifests/data-model-manifest.ts","../../src/manifests/composition-registry-shared.ts","../../src/manifests/composition-registry-early-entries.ts","../../src/manifests/composition-registry-reserved-entries.ts","../../src/manifests/composition-registry-late-entries.ts","../../src/manifests/composition-registry.ts","../../src/types/evidence-taxonomy-target-scope.ts","../../src/evidence-taxonomy-target-scope.contract.ts","../../src/projections/projection-dsl.ts","../../src/projections/create-evidence.projection.ts","../../src/function-registry/evidence.ts"],"names":["z","entries","relationWeight","compactRecord","recordValue","jsonRecordSchema","evidenceRelationSchema","evidenceMethodologySchema","evidenceInformationAsymmetrySchema","evidenceSourceQualitySchema","beliefRelationSchema"],"mappings":"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","file":"evidence.js","sourcesContent":["export type DecodedPrefixedId = {\n prefix: string;\n value: string;\n};\n\nconst PREFIXED_ID_PATTERN = /^([a-z][a-z0-9]*)_(.+)$/;\n\nexport function encodePrefixedId(prefix: string, value: string): string {\n const normalizedPrefix = prefix.trim();\n const normalizedValue = value.trim();\n\n if (!normalizedPrefix || !normalizedValue) {\n throw new Error(\"Both prefix and value are required to encode a prefixed ID.\");\n }\n\n return `${normalizedPrefix}_${normalizedValue}`;\n}\n\nexport function decodePrefixedId(id: string): DecodedPrefixedId {\n const normalized = id.trim();\n const match = PREFIXED_ID_PATTERN.exec(normalized);\n\n if (!match) {\n throw new Error(`Invalid prefixed ID: ${id}`);\n }\n\n return {\n prefix: match[1],\n value: match[2],\n };\n}\n\nexport function hasPrefixedIdPrefix(id: string, prefix: string): boolean {\n const decoded = decodePrefixedId(id);\n return decoded.prefix === prefix.trim();\n}\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CREATE_BELIEF: McpToolContract = {\n name: \"create_belief\",\n description:\n \"Commit a new belief (knowledge unit) to the reasoning graph. \" +\n \"Like `git commit` — creates an atomic, traceable knowledge object with a prior. \" +\n \"Creation requires a topic epistemic-node anchor and writes a `belongs_to` edge directly from belief node to topic node; orphan beliefs are invalid. \" +\n \"Creation stores the vacuous opinion `(0, 0, 1, a)`; attach supporting or contradicting evidence with create_evidence or link_evidence_to_belief to record evidential updates.\",\n parameters: {\n canonicalText: {\n type: \"string\",\n description: \"The belief statement — what the agent holds to be true\",\n },\n topicGlobalId: {\n type: \"string\",\n description:\n \"Required globalId (UUID) of the topic node in epistemicNodes that anchors the belief\",\n },\n topicNodeId: {\n type: \"string\",\n description:\n \"Optional internal epistemicNodes _id for the topic anchor. Prefer topicGlobalId for public callers.\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Deprecated compatibility alias for topicGlobalId. Must identify a topic epistemicNode, not a legacy topics-table row.\",\n },\n baseRate: {\n type: \"number\",\n description:\n \"Prior probability used to seed the vacuous opinion `(0, 0, 1, a)` at creation time. Defaults to 0.5 when omitted.\",\n },\n beliefType: {\n type: \"string\",\n description:\n \"Belief type (e.g., hypothesis, belief, principle, invariant, tenet, forecast). Validated against schemaEnumConfig.\",\n },\n metadata: {\n type: \"object\",\n description:\n \"Optional extra metadata merged into the node (e.g., { codeAnchors: ['path/to/file.ts'] } for coding intelligence)\",\n },\n },\n required: [\"canonicalText\", \"topicGlobalId\"],\n response: {\n description: \"The created canonical belief record\",\n fields: {\n id: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n beliefId: \"string — canonical belief ID\",\n text: \"string — canonical belief formulation\",\n topicId: \"string\",\n beliefStatus:\n \"string — assumption | hypothesis | active | superseded | resolved_true | resolved_false\",\n scoringState: \"string — unscored | scored\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const GET_BELIEF: McpToolContract = {\n name: \"get_belief\",\n description:\n \"Read one belief by ID. \" +\n \"Like `git show` — resolves the canonical belief payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical belief ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical belief record\",\n fields: {\n id: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n beliefId: \"string — canonical belief ID\",\n text: \"string — canonical belief formulation\",\n topicId: \"string\",\n beliefStatus:\n \"string — assumption | hypothesis | active | superseded | resolved_true | resolved_false\",\n scoringState: \"string — unscored | scored\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const REFINE_BELIEF: McpToolContract = {\n name: \"refine_belief\",\n description:\n \"Amend a draft belief in-place within an active worktree. \" +\n \"Like `git commit --amend` — rewrites the last commit on a feature branch. \" +\n \"Only valid before merge to main. Fails if the belief is already scored.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to refine\" },\n canonicalText: { type: \"string\", description: \"Updated belief statement\" },\n rationale: { type: \"string\", description: \"Why the refinement was made\" },\n },\n required: [\"nodeId\", \"canonicalText\"],\n response: {\n description: \"The updated belief node\",\n fields: {\n nodeId: \"string\",\n canonicalText: \"string — updated text\",\n updatedAt: \"number — timestamp\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const APPEND_SL_SCORING: McpToolContract = {\n name: \"append_sl_scoring\",\n description:\n \"Internal evidence-backed Subjective Logic scoring append. \" +\n \"This is not a public MCP tool: callers should attach supporting or contradicting evidence, and governed system paths append the derived SL tuple.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief receiving the SL score\" },\n belief: { type: \"number\", description: \"Subjective Logic belief mass b\" },\n disbelief: {\n type: \"number\",\n description: \"Subjective Logic disbelief mass d\",\n },\n uncertainty: {\n type: \"number\",\n description: \"Subjective Logic uncertainty mass u\",\n },\n baseRate: { type: \"number\", description: \"Subjective Logic base rate a\" },\n trigger: {\n type: \"string\",\n description: \"Evidence-bearing cause of the scoring event\",\n enum: [\n \"evidence_added\",\n \"evidence_removed\",\n \"contradiction_detected\",\n \"contradiction_resolved\",\n \"agent_assessment\",\n \"worktree_outcome\",\n \"worktree_completed\",\n \"fusion\",\n \"discount\",\n \"deduction\",\n \"backfill_synthetic\",\n ],\n },\n provenance: {\n type: \"object\",\n description:\n \"At least one of evidence, question, answer, contradiction, or worktree.\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this evidence-bearing event moved the SL tuple\",\n },\n },\n required: [\"nodeId\", \"belief\", \"disbelief\", \"uncertainty\", \"baseRate\", \"trigger\", \"rationale\"],\n response: {\n description: \"Internal SL scoring append receipt\",\n fields: {\n nodeId: \"string\",\n previousConfidence: \"number\",\n newConfidence: \"number\",\n beliefConfidenceId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const FORK_BELIEF: McpToolContract = {\n name: \"fork_belief\",\n description:\n \"Branch off an evidence-bearing belief to create a new formulation. \" +\n \"Like `git fork` — the parent remains immutable with full history, and every fork must cite evidence already attached to the parent through SL scoring. \" +\n \"`forkMode=supersede` marks the parent superseded and requires contradicting evidence; `forkMode=branch` preserves the parent and creates a derived child.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to fork from\" },\n newFormulation: {\n type: \"string\",\n description: \"The evolved belief statement\",\n },\n forkReason: {\n type: \"string\",\n description: \"Why this fork was created\",\n enum: [\n \"refinement\",\n \"contradiction_response\",\n \"scope_change\",\n \"confidence_collapse\",\n ],\n },\n forkMode: {\n type: \"string\",\n description:\n \"supersede replaces the parent; branch creates a child while preserving the parent.\",\n enum: [\"supersede\", \"branch\"],\n },\n triggeringEvidenceId: {\n type: \"string\",\n description:\n \"Evidence already attached to the parent belief that caused the fork.\",\n },\n },\n required: [\"nodeId\", \"newFormulation\", \"forkReason\", \"triggeringEvidenceId\"],\n response: {\n description: \"The forked canonical belief record\",\n fields: {\n id: \"string — canonical child belief ID\",\n nodeId: \"string — canonical child belief ID\",\n beliefId: \"string — canonical child belief ID\",\n parentBeliefId: \"string — canonical parent belief ID\",\n forkReason: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const ARCHIVE_BELIEF: McpToolContract = {\n name: \"archive_belief\",\n description:\n \"Soft-delete a belief by setting its status to archived. \" +\n \"Like `git rm` — removed from the working tree but preserved in history. \" +\n \"Beliefs are never truly deleted. Archived beliefs retain full lineage and confidence history.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to archive\" },\n rationale: {\n type: \"string\",\n description: \"Why this belief is being archived\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Archived canonical belief record\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n previousStatus: \"string | undefined\",\n newStatus: \"string — 'archived'\",\n status: \"string — 'archived'\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const CREATE_EPISTEMIC_CONTRACT: McpToolContract = {\n name: \"create_epistemic_contract\",\n description:\n \"Bind a machine-evaluable epistemic contract to a belief. \" +\n \"Like `git add` for falsification rules — records the verification condition, modulation policy, \" +\n \"and evaluation schedule that keep a belief accountable to reality.\",\n parameters: {\n beliefNodeId: {\n type: \"string\",\n description: \"The belief node to bind this contract to\",\n },\n title: {\n type: \"string\",\n description: \"Contract title\",\n },\n description: {\n type: \"string\",\n description: \"Optional contract description\",\n },\n conditionType: {\n type: \"string\",\n description: \"What kind of contract condition to evaluate\",\n enum: [\"assertion\", \"temporal\", \"evidential\", \"threshold\", \"composite\"],\n },\n direction: {\n type: \"string\",\n description: \"Whether satisfying the condition confirms or falsifies\",\n enum: [\"confirms\", \"falsifies\"],\n },\n condition: {\n type: \"object\",\n description:\n \"Condition payload: { expression, evaluator, evaluatorConfig? }\",\n },\n deadline: {\n type: \"number\",\n description: \"Optional Unix timestamp deadline for temporal contracts\",\n },\n compositeOf: {\n type: \"array\",\n description: \"Optional array of sub-contract IDs for composite contracts\",\n },\n compositeOperator: {\n type: \"string\",\n description: \"How composite sub-contracts should be combined\",\n enum: [\"all\", \"any\", \"majority\"],\n },\n modulation: {\n type: \"object\",\n description:\n \"Asymmetric modulation rules for confirmed, disconfirmed, expired, and partial outcomes\",\n },\n evaluationSchedule: {\n type: \"string\",\n description: \"When this contract should be evaluated\",\n enum: [\"on_demand\", \"on_evidence\", \"periodic\", \"event_driven\"],\n },\n periodicIntervalMs: {\n type: \"number\",\n description: \"Optional interval in milliseconds for periodic contracts\",\n },\n },\n required: [\n \"beliefNodeId\",\n \"title\",\n \"conditionType\",\n \"direction\",\n \"condition\",\n \"modulation\",\n \"evaluationSchedule\",\n ],\n response: {\n description: \"The created epistemic contract binding\",\n fields: {\n id: \"string — storage record ID\",\n contractId: \"string — contract identifier\",\n beliefId: \"string — canonical belief ID\",\n status: \"string — initial contract status\",\n title: \"string — contract title\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// EVIDENCE TOOLS\n// =============================================================================\n\nexport const ADD_EVIDENCE: McpToolContract = {\n name: \"add_evidence\",\n description:\n \"Commit evidence to the reasoning graph and attach it to a belief. \" +\n \"Like `git add && git commit` — an atomic write that creates a traceable evidence object. \" +\n \"Weight ranges from -1.0 (contradicts) to +1.0 (strongly supports). \" +\n \"Evidence is always context-bound: tied to its source, the time it was captured, and the belief it informs.\",\n parameters: {\n canonicalText: { type: \"string\", description: \"The evidence statement\" },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n sourceUrl: { type: \"string\", description: \"URL of the source material\" },\n targetNodeId: {\n type: \"string\",\n description: \"The belief this evidence bears on\",\n },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n reasoning: {\n type: \"string\",\n description: \"Why this evidence is relevant to the target belief\",\n },\n title: {\n type: \"string\",\n description: \"Optional short title for the evidence node\",\n },\n content: {\n type: \"string\",\n description:\n \"Optional long-form content (separate from canonicalText summary)\",\n },\n contentType: {\n type: \"string\",\n description:\n \"Content MIME type or format hint (e.g., 'text/markdown', 'code')\",\n },\n metadata: {\n type: \"object\",\n description:\n \"Optional extra metadata merged into the node (e.g., { codeAnchors: ['path/to/file.ts'], failedApproach: true } for coding intelligence)\",\n },\n },\n required: [\"canonicalText\", \"targetNodeId\", \"reasoning\"],\n response: {\n description: \"The created evidence node and its edge\",\n fields: {\n nodeId: \"string — evidence node ID\",\n edgeId: \"string — edge to target belief\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// CONTRADICTION TOOLS\n// =============================================================================\n\nexport const FLAG_CONTRADICTION: McpToolContract = {\n name: \"flag_contradiction\",\n description:\n \"Flag a contradiction between two beliefs. Contradictions are first-class objects \" +\n \"with their own lifecycle — they may remain permanently unresolved. \" +\n \"Like a merge conflict that is allowed to persist. \" +\n \"Contradictions can trigger structural changes: forking, confidence collapse, or decision blocking. \" +\n \"Resolution is NEVER automatic — always surfaces for human review.\",\n parameters: {\n beliefA: {\n type: \"string\",\n description: \"First belief in the contradiction\",\n },\n beliefB: {\n type: \"string\",\n description: \"Second belief in the contradiction\",\n },\n description: { type: \"string\", description: \"What the tension is about\" },\n severity: {\n type: \"string\",\n description: \"How serious the contradiction is\",\n enum: [\"low\", \"medium\", \"high\", \"critical\"],\n },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n defeatType: {\n type: \"string\",\n description:\n \"Pollock defeat classification: rebuts (direct contradiction), undercuts (attacks the inferential link), undermines (attacks a premise)\",\n enum: [\"rebuts\", \"undercuts\", \"undermines\"],\n },\n },\n required: [\"beliefA\", \"beliefB\", \"description\"],\n response: {\n description: \"The created contradiction object\",\n fields: {\n contradictionId: \"string\",\n status: \"string — 'unresolved'\",\n beliefA: \"string\",\n beliefB: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// WORKTREE TOOLS (git worktree add, git merge)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const ADD_WORKTREE: McpToolContract = {\n name: \"add_worktree\",\n description:\n \"Check out a branch into an active worktree for investigation. \" +\n \"Like `git worktree add <branch>` — creates independent working state on a thematic branch. \" +\n \"Beliefs committed within the worktree can be freely amended (draft code on a feature branch). \" +\n \"When investigation is complete, `merge` integrates findings into main.\",\n parameters: {\n title: { type: \"string\", description: \"Worktree name/objective\" },\n name: {\n type: \"string\",\n description:\n \"Optional storage-name alias for callers that already use backend naming\",\n },\n projectId: {\n type: \"string\",\n description: \"Legacy topicId alias or resolver hint\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope hint for resolver validation\",\n },\n topicHint: {\n type: \"string\",\n description: \"Natural-language topic hint for automatic topic resolution\",\n },\n branchId: {\n type: \"string\",\n description: \"The branch this worktree investigates\",\n },\n objective: {\n type: \"string\",\n description:\n \"Plain-text reasoning objective to auto-shape into a hypothesis, questions, tasks, and dependencies\",\n },\n hypothesis: {\n type: \"string\",\n description: \"The testable claim this worktree investigates\",\n },\n rationale: {\n type: \"string\",\n description:\n \"Why this worktree exists and why it belongs in the campaign\",\n },\n worktreeType: {\n type: \"string\",\n description:\n \"Schema-enum worktree type used by the kernel lifecycle and retrieval layers\",\n },\n gate: {\n type: \"string\",\n description: \"Exit gate name for this worktree\",\n },\n startDate: {\n type: \"number\",\n description: \"Planned start timestamp in milliseconds since epoch\",\n },\n endDate: {\n type: \"number\",\n description: \"Planned end timestamp in milliseconds since epoch\",\n },\n durationWeeks: {\n type: \"number\",\n description: \"Planned duration in weeks\",\n },\n confidenceImpact: {\n type: \"string\",\n description: \"Expected confidence impact if the worktree succeeds\",\n enum: [\"high\", \"medium\", \"low\"],\n },\n beliefFocus: {\n type: \"string\",\n description:\n \"Natural-language focus spanning the target belief neighborhood\",\n },\n beliefIds: {\n type: \"array\",\n description: \"Legacy alias for targetBeliefIds\",\n },\n beliefs: {\n type: \"array\",\n description: \"Legacy alias for targetBeliefIds\",\n },\n targetBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs this worktree is expected to test or update\",\n },\n targetQuestionIds: {\n type: \"array\",\n description: \"Question node IDs this worktree is expected to answer\",\n },\n keyQuestions: {\n type: \"array\",\n description:\n \"Inline key question objects with question, optional status, answer, answerConfidence, and linkedQuestionId\",\n },\n evidenceSignals: {\n type: \"array\",\n description:\n \"Evidence signal objects with signal, optional collected state, progress, and notes\",\n },\n decisionGate: {\n type: \"object\",\n description:\n \"Decision gate object with goCriteria, noGoSignals, optional verdict, rationale, decidedAt, and decidedBy\",\n },\n goCriteria: {\n type: \"array\",\n description: \"Shorthand go criteria used to build decisionGate\",\n },\n noGoSignals: {\n type: \"array\",\n description: \"Shorthand no-go signals used to build decisionGate\",\n },\n proofArtifacts: {\n type: \"array\",\n description: \"Expected proof artifacts required to close the worktree\",\n },\n autoShape: {\n type: \"boolean\",\n description:\n \"Whether to invoke inquiry auto-shaping during worktree creation\",\n },\n autoFixPolicy: {\n type: \"object\",\n description:\n \"Policy for permitted automatic remediation inside the worktree\",\n },\n domainPackId: {\n type: \"string\",\n description:\n \"Optional domain pack whose shaping hooks should influence generated questions and tasks\",\n },\n tags: {\n type: \"array\",\n description: \"Additional topic-resolution tags for the worktree\",\n },\n touchedPaths: {\n type: \"array\",\n description: \"File paths used as topic-resolution signals\",\n },\n sourceRef: {\n type: \"string\",\n description: \"Source reference used as a topic-resolution signal\",\n },\n sourceKind: {\n type: \"string\",\n description: \"Source kind used as a topic-resolution signal\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Top-level pipeline campaign number. Campaigns define the outer execution slice.\",\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:\n \"Ordering for this lane within its campaign.\",\n },\n orderInLane: {\n type: \"number\",\n description:\n \"Position of this worktree inside its lane.\",\n },\n dependsOn: {\n type: \"array\",\n description: \"Worktree IDs that must complete before this one can activate\",\n },\n blocks: {\n type: \"array\",\n description: \"Worktree IDs blocked by this worktree\",\n },\n staffingHint: {\n type: \"string\",\n description: \"Suggested staffing or agent allocation note\",\n },\n lensId: {\n type: \"string\",\n description: \"Lens that scopes this worktree when applicable\",\n },\n lastReconciledAt: {\n type: \"number\",\n description: \"Timestamp when worktree metadata was last reconciled\",\n },\n },\n required: [\"title\"],\n response: {\n description: \"The created worktree\",\n fields: {\n worktreeId: \"string\",\n branchId: \"string | null\",\n status: \"string — usually 'planning' or 'active'\",\n title: \"string\",\n hypothesis: \"string | null\",\n questionCount: \"number\",\n taskCount: \"number\",\n autoShapeApplied: \"boolean\",\n frameworkSuggestions: \"array\",\n dependencySuggestions: \"array\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const LIST_WORKTREES_BY_BELIEF: McpToolContract = {\n name: \"list_worktrees_by_belief\",\n description:\n \"List worktrees that adopted or reference a belief through the worktree-belief backref index. \" +\n \"Like `git branch --contains <commit>` for reasoning substrate — shows which \" +\n \"investigation branches carried a belief into the graph and with what adoption metadata.\",\n parameters: {\n beliefId: {\n type: \"string\",\n description: \"Belief node ID whose adopting worktrees should be listed.\",\n },\n status: {\n type: \"string\",\n description: \"Optional worktree lifecycle status filter.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum worktrees to return.\",\n },\n },\n required: [\"beliefId\"],\n response: {\n description: \"Worktrees that adopted or reference the belief\",\n fields: {\n beliefId: \"string — requested belief node id\",\n worktrees:\n \"array — worktree records with adoption relationType, confidence deltas, evidence counts, and timestamps\",\n total: \"number — returned worktree count\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const MERGE: McpToolContract = {\n name: \"merge\",\n description:\n \"Merge a worktree's findings into the stable knowledge base (main). \" +\n \"Like `git merge` to main — formulations freeze, confidence is recorded, findings are integrated. \" +\n \"Each belief gets a confidence score and rationale. After merge, beliefs can only evolve via fork. \" +\n \"Low-confidence beliefs may need forking.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to merge\" },\n outcomes: {\n type: \"array\",\n description:\n \"Merge outcomes as key-finding strings, or scoring outcomes for beliefs: { beliefId, confidence, rationale }\",\n },\n summary: { type: \"string\", description: \"Overall findings summary\" },\n },\n required: [\"worktreeId\", \"outcomes\"],\n response: {\n description: \"Merge result\",\n fields: {\n worktreeId: \"string\",\n status: \"string — 'merged'\",\n beliefsScored: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// LINEAGE AND AUDIT TOOLS\n// =============================================================================\n\nexport const PUSH: McpToolContract = {\n name: \"push\",\n description:\n \"Push scored beliefs from a merged worktree to other contexts. \" +\n \"Like `git push` — makes local findings available on the remote. \" +\n \"Only merged beliefs can be pushed. \" +\n \"Publication makes findings visible to other projects, teams, or external consumers.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The merged worktree whose findings to push\",\n },\n targetContext: {\n type: \"string\",\n description: \"Where to push (e.g., 'portfolio', 'ic_review', 'external')\",\n },\n beliefIds: {\n type: \"array\",\n description: \"Optional subset of beliefs to push (default: all scored)\",\n },\n },\n required: [\"worktreeId\", \"targetContext\"],\n response: {\n description: \"Push result\",\n fields: {\n pushedCount: \"number\",\n targetContext: \"string\",\n pushedAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// PULL REQUEST TOOLS (git pull request)\n// =============================================================================\n\nexport const OPEN_PULL_REQUEST: McpToolContract = {\n name: \"open_pull_request\",\n description:\n \"Open a pull request for peer review before merging a worktree. \" +\n \"Like opening a `git pull request` — the worktree's findings are ready but await approval before merge. \" +\n \"Reviewers can approve, request changes, or block the merge. \" +\n \"This is the gate between draft work and scored knowledge.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The worktree to submit for review\",\n },\n reviewers: {\n type: \"array\",\n description: \"User IDs of requested reviewers\",\n },\n summary: {\n type: \"string\",\n description: \"Summary of findings and why they're ready for merge\",\n },\n },\n required: [\"worktreeId\", \"summary\"],\n response: {\n description: \"The pull request\",\n fields: {\n pullRequestId: \"string\",\n worktreeId: \"string\",\n status: \"string — 'pending_review'\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// FORENSIC TOOLS (git bisect)\n// =============================================================================\n","/** Reasoning methods supported by the kernel edge schema. */\nexport const REASONING_METHODS = [\n \"deductive\",\n \"inductive\",\n \"abductive\",\n \"analogical\",\n \"causal\",\n \"correlational\",\n \"testimonial\",\n \"statistical\",\n \"implicit\",\n \"pattern_match\",\n] as const;\n\nexport type ReasoningMethod = (typeof REASONING_METHODS)[number];\n","import type { McpToolContract } from \"./tool-contracts.types\";\nimport { REASONING_METHODS } from \"./api-enums.contract\";\n\nexport const QUERY_LINEAGE: McpToolContract = {\n name: \"query_lineage\",\n description:\n \"Trace a belief's full ancestry — every fork, score, and SL scoring event. \" +\n \"Like `git log --graph`. \" +\n \"Returns the complete evolution chain showing how understanding developed over time. \" +\n \"Lineage is permanent and can never be erased (Invariant #3).\",\n parameters: {\n nodeId: { type: \"string\", description: \"Starting node to trace from\" },\n depth: {\n type: \"number\",\n description: \"How many generations to traverse (default: 5)\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Canonical lineage result\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n lineage: \"array — ancestry entries with beliefId, nodeId, formulation, forkReason, and createdAt\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const QUERY_ANCHOR_HISTORY: McpToolContract = {\n name: \"query_anchor_history\",\n description:\n \"Resolve anchor provenance history for a reasoning node. \" +\n \"Like `git log --ancestry-path` for derived reasoning — follows canonical \" +\n \"derived_from lineage while preserving the storage-only extracted_from alias.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Starting node to trace from\" },\n startNode: {\n type: \"string\",\n description: \"Starting node alias accepted by traversal callers\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth\",\n },\n mode: {\n type: \"string\",\n description: \"Traversal mode; defaults to anchor_down\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Anchor provenance lineage result\",\n fields: {\n lineage:\n \"array — provenance entries with node, depth, edgeType, and layer metadata\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_CONFIDENCE_HISTORY: McpToolContract = {\n name: \"get_confidence_history\",\n description:\n \"Get the full confidence history for a belief. \" +\n \"Each entry records the confidence level, trigger, rationale, and actor. \" +\n \"Like `git log` for a single metric — append-only, never overwritten.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to get history for\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Confidence history entries\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n entries: \"array — { confidence, trigger, rationale, timestamp, userId }\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const GET_AUDIT_TRAIL: McpToolContract = {\n name: \"get_audit_trail\",\n description:\n \"Get the full audit trail for a node — every mutation, who made it, when, and why. \" +\n \"Like `git blame` for knowledge. \" +\n \"All state transitions are explicit, attributable, and permanently queryable. \" +\n \"No silent changes are possible (Invariant #14).\",\n parameters: {\n nodeId: { type: \"string\", description: \"The node to audit\" },\n limit: {\n type: \"number\",\n description: \"Maximum entries to return (default: 50)\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Audit trail entries\",\n fields: {\n entries: \"array — { action, actor, timestamp, before, after, rationale }\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// GRAPH QUERY TOOLS\n// =============================================================================\n\nexport const TRAVERSE_GRAPH: McpToolContract = {\n name: \"traverse_graph\",\n description:\n \"Walk the reasoning graph from a starting node. \" +\n \"Like `git log --graph` — traverses connected lineage across nodes and edges. \" +\n \"Traversal follows epistemic layers: L4 (judgments) → L3 (beliefs, questions) → L2 (evidence) → L1 (sources). \" +\n \"Never skips layers. \" +\n \"Use direction 'up' to trace what a piece of evidence supports, 'down' to trace what supports a judgment.\",\n parameters: {\n startNode: { type: \"string\", description: \"Node to start traversal from\" },\n direction: {\n type: \"string\",\n description: \"Traversal direction\",\n enum: [\"up\", \"down\", \"both\"],\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth (default: 3)\",\n },\n },\n required: [\"startNode\"],\n response: {\n description: \"Subgraph of traversed nodes and edges\",\n fields: {\n nodes: \"array — traversed nodes\",\n edges: \"array — traversed edges\",\n depth: \"number\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_GRAPH_NEIGHBORHOOD: McpToolContract = {\n name: \"get_graph_neighborhood\",\n description:\n \"Retrieve the local neighborhood around one or more graph nodes. \" +\n \"Like `git log --graph --boundary` for a focused reasoning window. \" +\n \"Returns the canonical neighborhood payload shared by HTTP and SDK graph surfaces.\",\n parameters: {\n globalId: {\n type: \"string\",\n description: \"Single root node global identifier.\",\n },\n globalIds: {\n type: \"array\",\n description: \"Optional list of root node global identifiers.\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth (default: 2).\",\n },\n },\n required: [],\n response: {\n description: \"Canonical graph neighborhood payload\",\n fields: {\n nodes: \"array — graph nodes in the returned neighborhood\",\n edges: \"array — graph edges in the returned neighborhood\",\n depth: \"number — deepest traversed node depth\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const TRACE_ENTITY_IMPACT: McpToolContract = {\n name: \"trace_entity_impact\",\n description:\n \"Returns code-grounded beliefs, contracts, migration states, and failed attempts \" +\n \"anchored to a specific file or function path. \" +\n \"Like `git log -- <path>` — filters the knowledge graph to nodes anchored to a file path \" +\n \"via metadata.codeAnchors. Results are separated by coding belief type: decisions, contracts, \" +\n \"migrations, patterns, deprecations, and failures.\",\n parameters: {\n nodeId: {\n type: \"string\",\n description: \"Entity node ID to trace impact from\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description:\n \"Entity impact trace: direct beliefs, evidence, and indirect belief reach\",\n fields: {\n entityNodeId: \"string — the traced entity\",\n entityType: \"string — nodeType of the entity\",\n directBeliefConnections:\n \"array — beliefs directly connected via bridge edges\",\n evidenceConnections: \"array — evidence referencing this entity\",\n indirectBeliefConnections: \"array — beliefs reached through evidence\",\n totalBeliefReach: \"number — total unique beliefs impacted\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SEARCH_BELIEFS: McpToolContract = {\n name: \"search_beliefs\",\n description:\n \"Search for beliefs in the reasoning graph. \" +\n \"Like `git grep` — finds relevant beliefs across the full history and active state. \" +\n \"Supports semantic search, filtering by status (unscored, scored, archived), \" +\n \"confidence thresholds, and topic scope. \" +\n \"Returns beliefs with their current confidence, lineage depth, and contradiction count.\",\n parameters: {\n query: { type: \"string\", description: \"Semantic search query\" },\n status: {\n type: \"string\",\n description: \"Filter by belief status\",\n enum: [\"unscored\", \"scored\", \"archived\"],\n },\n minConfidence: {\n type: \"number\",\n description: \"Minimum confidence threshold (0-1)\",\n },\n topicId: { type: \"string\", description: \"Filter by topic\" },\n limit: { type: \"number\", description: \"Maximum results (default: 10)\" },\n },\n required: [\"query\"],\n response: {\n description: \"Matching beliefs with metadata\",\n fields: {\n results:\n \"array — { nodeId, canonicalText, confidence, status, contradictionCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const FIND_CONTRADICTIONS: McpToolContract = {\n name: \"find_contradictions\",\n description:\n \"Find contradictions in the reasoning graph — beliefs that are in tension with each other. \" +\n \"Like a merge conflict in `git` — surfaces incompatible states that require explicit resolution. \" +\n \"Contradictions are first-class objects that may remain permanently unresolved. \" +\n \"They can block judgments, trigger forks, or collapse confidence. \" +\n \"Filter by project, status (unresolved, resolved, accepted), and severity.\",\n parameters: {\n topicId: { type: \"string\", description: \"Required topic scope filter\" },\n nodeId: {\n type: \"string\",\n description: \"Optional belief identifier to filter contradictions within the topic\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\n \"unresolved\",\n \"investigating\",\n \"accepted_as_permanent\",\n \"resolved_by_fork\",\n \"resolved_by_evidence\",\n \"resolved_by_reinterpretation\",\n \"superseded\",\n ],\n },\n limit: { type: \"number\", description: \"Maximum contradictions to return\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Contradiction objects\",\n fields: {\n contradictions:\n \"array — { beliefA, beliefB, description, severity, status, defeatType }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// EDGE TOOLS\n// =============================================================================\n\nexport const BISECT_CONFIDENCE: McpToolContract = {\n name: \"bisect_confidence\",\n description:\n \"Find when a belief's confidence diverged from reality. \" +\n \"Like `git bisect` — binary search through the credence history to find the inflection point. \" +\n \"Given a belief that is now known to be wrong (or right), traces back through \" +\n \"SL scoring events to identify which evidence or event caused the divergence.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to bisect\" },\n expectedDirection: {\n type: \"string\",\n description: \"Was confidence too high or too low?\",\n enum: [\"overconfident\", \"underconfident\"],\n },\n timeRange: {\n type: \"object\",\n description:\n \"Optional time range to search within: { start: number, end: number }\",\n },\n },\n required: [\"nodeId\", \"expectedDirection\"],\n response: {\n description: \"The inflection point in confidence history\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n expectedDirection: \"string — overconfident | underconfident\",\n inflectionEntry: \"object — the scoring event where divergence began\",\n triggerEvent: \"string | null — what caused the divergence\",\n confidenceBefore: \"number | null\",\n confidenceAfter: \"number | null\",\n totalEntries: \"number\",\n inflectionIndex: \"number | null\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// GRAPH INTELLIGENCE TOOLS\n// =============================================================================\n\nexport const CREATE_EDGE: McpToolContract = {\n name: \"create_edge\",\n description:\n \"Commit a typed relationship between two nodes in the reasoning graph. \" +\n \"Like `git commit` — an atomic write that declares a dependency between nodes. \" +\n \"Accepts any public epistemic edge type between public graph node refs so agents can author the full spine.\",\n parameters: {\n from: {\n type: \"object\",\n description:\n \"Source graph ref, e.g. { kind: 'epistemic_node', nodeId: '...', nodeType: 'topic' }\",\n },\n to: {\n type: \"object\",\n description:\n \"Target graph ref, e.g. { kind: 'epistemic_node', nodeId: '...', nodeType: 'belief' }\",\n },\n edgeType: {\n type: \"string\",\n description:\n \"Relationship type from the public epistemic edge enum.\",\n },\n globalId: {\n type: \"string\",\n description: \"Optional idempotent edge global ID.\",\n },\n weight: {\n type: \"number\",\n description:\n \"Edge weight: -1.0 to +1.0 for informs edges, 0-1 for structural\",\n },\n reasoning: { type: \"string\", description: \"Why this relationship exists\" },\n reasoningMethod: {\n type: \"string\",\n description: \"How this was determined\",\n enum: [...REASONING_METHODS],\n },\n metadata: {\n type: \"object\",\n description: \"Optional edge metadata.\",\n },\n },\n required: [\"from\", \"to\", \"edgeType\"],\n response: {\n description: \"The created edge\",\n fields: {\n globalId: \"string — edge identifier\",\n edgeType: \"string\",\n fromLayer: \"string\",\n toLayer: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"showcase\",\n};\n\nexport const UPDATE_EDGE: McpToolContract = {\n name: \"update_edge\",\n description:\n \"Amend metadata on an existing graph edge. \" +\n \"Like `git commit --amend` — changes the edge annotation without recreating the relationship.\",\n parameters: {\n edgeId: { type: \"string\", description: \"Edge ID or global ID to update\" },\n weight: { type: \"number\", description: \"Updated edge weight\" },\n confidence: { type: \"number\", description: \"Updated confidence\" },\n context: { type: \"string\", description: \"Updated human-readable context\" },\n derivationType: { type: \"string\", description: \"Updated derivation type\" },\n metadata: { type: \"object\", description: \"Updated metadata\" },\n },\n required: [\"edgeId\"],\n response: {\n description: \"Edge update result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_EDGE: McpToolContract = {\n name: \"remove_edge\",\n description:\n \"Remove one graph edge by ID. \" +\n \"Like `git rm` — deletes a single explicit relationship from the spine.\",\n parameters: {\n edgeId: { type: \"string\", description: \"Edge ID or global ID to remove\" },\n },\n required: [\"edgeId\"],\n response: {\n description: \"Edge removal result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_EDGES_BETWEEN: McpToolContract = {\n name: \"remove_edges_between\",\n description:\n \"Remove graph edges between two nodes. \" +\n \"Like `git rm <pathspec>` — deletes relationships matching a source, target, and optional type.\",\n parameters: {\n fromNodeId: { type: \"string\", description: \"Source node ID or global ID\" },\n toNodeId: { type: \"string\", description: \"Target node ID or global ID\" },\n edgeType: { type: \"string\", description: \"Optional edge type filter\" },\n },\n required: [\"fromNodeId\", \"toNodeId\"],\n response: {\n description: \"Matched edge removal result\",\n fields: { deleted: \"number\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const BATCH_CREATE_EDGES: McpToolContract = {\n name: \"batch_create_edges\",\n description:\n \"Commit multiple typed graph edges. \" +\n \"Like `git commit` with many staged paths — writes a batch of explicit relationships atomically per edge.\",\n parameters: {\n edges: {\n type: \"array\",\n description:\n \"Edges to create, each with from, to, edgeType, and optional weight/confidence/context.\",\n },\n skipLayerValidation: {\n type: \"boolean\",\n description: \"Skip kernel layer validation for trusted materialization flows.\",\n },\n },\n required: [\"edges\"],\n response: {\n description: \"Batch edge creation result\",\n fields: {\n created: \"number\",\n results: \"array\",\n errors: \"array\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// EPISTEMIC NODE TOOLS\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nconst sharedEmbeddingParameters = {\n topicId: {\n type: \"string\",\n description: \"Topic whose epistemic node embedding index should be queried.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Workspace scope for the embedding operation.\",\n },\n nodeType: {\n type: \"string\",\n description: \"Optional epistemic node type filter.\",\n },\n embeddingModel: {\n type: \"string\",\n description: \"Optional embedding model filter.\",\n },\n includeInactive: {\n type: \"boolean\",\n description: \"Include archived, superseded, or otherwise inactive epistemic nodes in coverage checks.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum rows to return.\",\n },\n} satisfies McpToolContract[\"parameters\"];\n\nexport const LIST_MISSING_EMBEDDINGS: McpToolContract = {\n name: \"list_missing_embeddings\",\n description:\n \"List epistemic nodes missing fresh Convex embeddings. \" +\n \"Like `git status` for the semantic index — shows which graph nodes still need indexing before retrieval can be trusted.\",\n parameters: sharedEmbeddingParameters,\n required: [\"topicId\", \"workspaceId\"],\n response: {\n description: \"Missing or stale embedding candidates\",\n fields: {\n nodes: \"array — node candidates missing fresh embeddings\",\n total: \"number — candidate count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SEARCH_EMBEDDINGS: McpToolContract = {\n name: \"search_embeddings\",\n description:\n \"Search topic-scoped epistemic nodes through the Convex vector index. \" +\n \"Like `git grep` with semantic distance — finds matching beliefs, questions, evidence, and other nodes even when wording differs.\",\n parameters: {\n ...sharedEmbeddingParameters,\n queryText: {\n type: \"string\",\n description: \"Natural-language query to embed and search with.\",\n },\n queryVector: {\n type: \"array\",\n description: \"Optional precomputed query vector.\",\n },\n minScore: {\n type: \"number\",\n description: \"Optional minimum cosine-similarity score.\",\n },\n },\n required: [\"topicId\", \"workspaceId\"],\n response: {\n description: \"Vector search matches\",\n fields: {\n results: \"array — semantic matches with nodeId, nodeType, score, text, and provenance\",\n total: \"number — match count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_EMBEDDINGS_BY_NODE_IDS: McpToolContract = {\n name: \"get_embeddings_by_node_ids\",\n description:\n \"Fetch embedding records for explicit epistemic node IDs. \" +\n \"Like `git show` for semantic-index rows — inspects exactly which vectors exist for named graph nodes.\",\n parameters: {\n ...sharedEmbeddingParameters,\n nodeIds: {\n type: \"array\",\n description: \"Epistemic node IDs to inspect.\",\n },\n },\n required: [\"topicId\", \"workspaceId\", \"nodeIds\"],\n response: {\n description: \"Embedding records for explicit node IDs\",\n fields: {\n embeddings: \"array — embedding metadata records\",\n total: \"number — embedding count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const QUEUE_EMBEDDING_BACKFILL: McpToolContract = {\n name: \"queue_embedding_backfill\",\n description:\n \"Queue background embedding generation for explicit epistemic nodes. \" +\n \"Like `git add` for semantic-index work — stages graph nodes for the kernel backfill scheduler.\",\n parameters: {\n ...sharedEmbeddingParameters,\n nodeIds: {\n type: \"array\",\n description: \"Epistemic node IDs to queue for embedding generation.\",\n },\n },\n required: [\"topicId\", \"workspaceId\", \"nodeIds\"],\n response: {\n description: \"Backfill queue receipt\",\n fields: {\n queued: \"number — queued node count\",\n nodeIds: \"array — node IDs queued for embedding generation\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nconst hybridParameters = {\n query: {\n type: \"string\",\n description: \"Natural-language query text to resolve against the typed reasoning graph.\",\n },\n queryText: {\n type: \"string\",\n description: \"Explicit query text alias for clients that separate command words from search text.\",\n },\n text: {\n type: \"string\",\n description: \"Raw pasted text to use as a semantic retrieval seed.\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope. When omitted, semantic topic candidates are resolved first.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Optional workspace scope used by semantic topic candidates and vector search.\",\n },\n nodeId: {\n type: \"string\",\n description: \"Optional source node used for related-node or impact analysis.\",\n },\n include: {\n type: \"array\",\n description:\n \"Result families to include, such as topics, nodes, worktrees, tasks, evidence, and edges.\",\n },\n via: {\n type: \"array\",\n description:\n \"Retrieval methods to use: bm25, embeddings, edges, topic-tree, state, graph-algorithms.\",\n },\n depth: {\n type: \"number\",\n description: \"Graph expansion depth. Defaults to 1 and is capped by the server.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum rows per result family.\",\n },\n minScore: {\n type: \"number\",\n description: \"Minimum semantic or fused score for candidate rows.\",\n },\n campaign: {\n type: \"number\",\n description: \"Optional worktree campaign filter.\",\n },\n lane: {\n type: \"string\",\n description: \"Optional worktree lane filter.\",\n },\n status: {\n type: \"string\",\n description: \"Optional node, task, or worktree state/status filter.\",\n },\n nodeTypes: {\n type: \"array\",\n description: \"Optional epistemic node types to include.\",\n },\n changedPaths: {\n type: \"array\",\n description: \"Changed file paths used as impact-analysis query signals.\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional planner metadata for receipts and caller provenance.\",\n },\n} satisfies McpToolContract[\"parameters\"];\n\nconst hybridResponse = {\n description: \"Hybrid semantic graph planner response with ranked result families and retrieval receipt.\",\n fields: {\n results: \"array — ranked mixed graph results with score, kind, source, and ranking signals\",\n topics: \"array — candidate or traversed topics\",\n nodes: \"array — matching epistemic nodes\",\n worktrees: \"array — matching worktrees\",\n tasks: \"array — matching tasks\",\n evidence: \"array — matching evidence\",\n edges: \"array — graph neighborhood edges\",\n receipt: \"object — planner steps, candidate counts, ranking weights, source/cache posture\",\n },\n} satisfies McpToolContract[\"response\"];\n\nexport const HYBRID_DISCOVER: McpToolContract = {\n name: \"hybrid_discover\",\n description:\n \"Discover typed reasoning graph context with BM25, embeddings, topic tree traversal, and graph neighborhoods. \" +\n \"Like `git grep` plus `git log --graph` for Lucern's typed reasoning graph — finds the relevant branches of thought and explains why.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const RESOLVE_TOPIC_SEMANTIC: McpToolContract = {\n name: \"resolve_topic_semantic\",\n description:\n \"Resolve an ambiguous topic using BM25, vector candidates, and topic-tree context. \" +\n \"Like `git remote show` for a reasoning topic — finds the canonical branch and nearby branches before reading deeper.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const EXPAND_GRAPH_NEIGHBORHOOD: McpToolContract = {\n name: \"expand_graph_neighborhood\",\n description:\n \"Expand a typed graph neighborhood around a query, topic, or node. \" +\n \"Like `git log --graph --decorate` for reasoning state — follows typed edges and surfaces the surrounding context.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const FIND_RELATED_NODES: McpToolContract = {\n name: \"find_related_nodes\",\n description:\n \"Find semantically and structurally related nodes across the reasoning graph. \" +\n \"Like `git blame` across branches — starts from a node or text and finds nearby responsibility, evidence, and related claims.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const ANALYZE_GRAPH_IMPACT: McpToolContract = {\n name: \"analyze_graph_impact\",\n description:\n \"Analyze which graph objects are affected by files, PR text, incidents, or campaign objectives. \" +\n \"Like `git diff --name-only` plus semantic blame — maps a change signal onto topics, beliefs, tasks, and unresolved questions.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const DETECT_GRAPH_DRIFT: McpToolContract = {\n name: \"detect_graph_drift\",\n description:\n \"Detect duplicate, stale, orphaned, or weakly linked reasoning graph surface. \" +\n \"Like `git fsck` for the reasoning graph — finds semantic duplicates, stale docs/code references, and missing links.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n","/**\n * Canonical lens workflow contract shared across schema, SDK, and MCP surfaces.\n */\n\n// Re-export filter criteria types for consumers who import from lens-workflow\nexport type {\n LensFilterCriteria,\n TaxonomyFilterCriteriaV1,\n EntityTypeFilterV1,\n OntologyScope,\n FilterValidationResult,\n} from \"./lens-filter.contract\";\nexport {\n validateFilterCriteria,\n isLensFilterCriteria,\n isTaxonomyFilterCriteriaV1,\n} from \"./lens-filter.contract\";\n\nexport const LENS_PERSPECTIVE_TYPES = [\n \"investigation\",\n \"monitoring\",\n \"analysis\",\n \"comparison\",\n \"taxonomy\",\n] as const;\n\nexport type LensPerspectiveType = (typeof LENS_PERSPECTIVE_TYPES)[number];\n\nexport const LENS_STATUSES = [\"draft\", \"active\", \"archived\"] as const;\n\nexport type LensStatus = (typeof LENS_STATUSES)[number];\n\nexport const LENS_TASK_TEMPLATE_PRIORITIES = [\n \"critical\",\n \"high\",\n \"medium\",\n \"low\",\n] as const;\n\nexport type LensTaskTemplatePriority =\n (typeof LENS_TASK_TEMPLATE_PRIORITIES)[number];\n\nexport type LensLooseMetadata = Record<string, unknown>;\n\nexport type LensPromptTemplateReference = {\n key: string;\n promptRef: string;\n phase?: string;\n role?: string;\n version?: string;\n required?: boolean;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensWorkflowStepTemplate = {\n key: string;\n title: string;\n description?: string;\n promptTemplateKey?: string;\n taskTemplateKeys?: string[];\n metadata?: LensLooseMetadata;\n};\n\nexport type LensWorkflowTemplate = {\n key: string;\n name: string;\n description?: string;\n steps: LensWorkflowStepTemplate[];\n metadata?: LensLooseMetadata;\n};\n\nexport type LensTaskTemplate = {\n key: string;\n title: string;\n description?: string;\n priority?: LensTaskTemplatePriority;\n phase?: string;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensQuestionTemplate = {\n key: string;\n text: string;\n priority?: LensTaskTemplatePriority;\n linkedBeliefKey?: string;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensBranchMigrationSuggestion = {\n recommendedTool: \"create_lens\";\n perspectiveType: LensPerspectiveType;\n message: string;\n suggestedPayload: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n perspectiveType: LensPerspectiveType;\n };\n};\n\nexport const BRANCH_DEPRECATION_MESSAGE =\n \"Branches are deprecated for operational framing. Create a workspace-scoped lens instead.\";\n\nexport type DeprecatedBranchMetadata = {\n deprecated: true;\n deprecationMessage: string;\n lensSuggestion: LensBranchMigrationSuggestion;\n};\n\nexport function inferLensPerspectiveTypeFromBranchSchema(\n schema?: string | null\n): LensPerspectiveType {\n const normalized = schema?.trim().toLowerCase();\n if (normalized === \"phase\") {\n return \"monitoring\";\n }\n if (normalized === \"axis\" || normalized === \"dimension\") {\n return \"comparison\";\n }\n if (normalized === \"track\") {\n return \"investigation\";\n }\n return \"analysis\";\n}\n\nexport function migrateBranchToLens(args: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n schema?: string | null;\n}): LensBranchMigrationSuggestion {\n const perspectiveType = inferLensPerspectiveTypeFromBranchSchema(args.schema);\n return {\n recommendedTool: \"create_lens\",\n perspectiveType,\n message:\n \"Branches are deprecated for operational framing. Create a workspace-scoped lens with the suggested payload instead.\",\n suggestedPayload: {\n name: args.name,\n description: args.description,\n topicId: args.topicId,\n workspaceId: args.workspaceId,\n perspectiveType,\n },\n };\n}\n\nexport function buildDeprecatedBranchMetadata(args: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n schema?: string | null;\n}): DeprecatedBranchMetadata {\n return {\n deprecated: true,\n deprecationMessage: BRANCH_DEPRECATION_MESSAGE,\n lensSuggestion: migrateBranchToLens(args),\n };\n}\n","import type { McpToolContract } from \"./tool-contracts.types\";\nimport { LENS_PERSPECTIVE_TYPES } from \"./lens-workflow.contract\";\n\nexport const CREATE_EPISTEMIC_NODE: McpToolContract = {\n name: \"create_epistemic_node\",\n description:\n \"Commit a generic epistemic graph node. \" +\n \"Like `git commit` — creates a canonical node in the public spine for topics, beliefs, evidence, questions, answers, sources, and entities.\",\n parameters: {\n globalId: { type: \"string\", description: \"Optional idempotent node global ID\" },\n nodeType: { type: \"string\", description: \"Public epistemic node type\" },\n canonicalText: { type: \"string\", description: \"Canonical node text\" },\n text: { type: \"string\", description: \"Alias for canonicalText\" },\n contentHash: { type: \"string\", description: \"Optional idempotency content hash\" },\n sourceType: { type: \"string\", description: \"Source type for provenance\" },\n topicId: { type: \"string\", description: \"Optional topic scope\" },\n content: { type: \"string\", description: \"Extended content\" },\n title: { type: \"string\", description: \"Display title\" },\n metadata: { type: \"object\", description: \"Optional node metadata\" },\n },\n required: [\"nodeType\"],\n response: {\n description: \"Created node result\",\n fields: {\n nodeId: \"string\",\n nodeGlobalId: \"string\",\n isDuplicate: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_EPISTEMIC_NODE: McpToolContract = {\n name: \"get_epistemic_node\",\n description:\n \"Read one epistemic graph node. \" +\n \"Like `git show` — resolves a canonical spine node by ID or global ID.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"The resolved node\",\n fields: { node: \"object\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const LIST_EPISTEMIC_NODES: McpToolContract = {\n name: \"list_epistemic_nodes\",\n description:\n \"List epistemic graph nodes. \" +\n \"Like `git ls-tree` — lists canonical spine nodes by topic, type, status, or search query.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope\" },\n nodeType: { type: \"string\", description: \"Optional node type filter\" },\n status: { type: \"string\", description: \"Optional lifecycle status\" },\n searchQuery: { type: \"string\", description: \"Optional text search query\" },\n limit: { type: \"number\", description: \"Maximum nodes to return\" },\n },\n required: [],\n response: {\n description: \"Matching nodes\",\n fields: { nodes: \"array\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_EPISTEMIC_NODE: McpToolContract = {\n name: \"update_epistemic_node\",\n description:\n \"Amend an epistemic graph node. \" +\n \"Like `git commit --amend` — updates mutable node metadata, text, status, or verification fields.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n canonicalText: { type: \"string\", description: \"Updated canonical text\" },\n text: { type: \"string\", description: \"Alias for canonicalText\" },\n contentHash: { type: \"string\", description: \"Updated content hash\" },\n content: { type: \"string\", description: \"Updated content\" },\n title: { type: \"string\", description: \"Updated display title\" },\n metadata: { type: \"object\", description: \"Updated metadata\" },\n confidence: { type: \"number\", description: \"Updated confidence\" },\n verificationStatus: { type: \"string\", description: \"Updated verification status\" },\n status: { type: \"string\", description: \"Updated lifecycle status\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Node update result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_EPISTEMIC_NODE: McpToolContract = {\n name: \"archive_epistemic_node\",\n description:\n \"Archive an epistemic graph node. \" +\n \"Like `git rm --cached` — removes a node from active traversal without hard-deleting it.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Archive result\",\n fields: { success: \"boolean\", effectiveStatus: \"string\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const VERIFY_EPISTEMIC_NODE: McpToolContract = {\n name: \"verify_epistemic_node\",\n description:\n \"Record verification state on an epistemic graph node. \" +\n \"Like `git tag` — marks the node with a reviewed verification state.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n verificationStatus: { type: \"string\", description: \"Verification status\" },\n confidence: { type: \"number\", description: \"Optional confidence update\" },\n },\n required: [\"nodeId\", \"verificationStatus\"],\n response: {\n description: \"Verification result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SUPERSEDE_EPISTEMIC_NODE: McpToolContract = {\n name: \"supersede_epistemic_node\",\n description:\n \"Supersede an epistemic graph node with a new version. \" +\n \"Like `git commit --amend` on an immutable history branch — creates the replacement and marks the old node superseded.\",\n parameters: {\n oldNodeId: { type: \"string\", description: \"Node ID or global ID to supersede\" },\n newGlobalId: { type: \"string\", description: \"Optional replacement global ID\" },\n newCanonicalText: { type: \"string\", description: \"Replacement canonical text\" },\n text: { type: \"string\", description: \"Alias for newCanonicalText\" },\n newContentHash: { type: \"string\", description: \"Optional replacement content hash\" },\n reason: { type: \"string\", description: \"Reason for superseding\" },\n },\n required: [\"oldNodeId\"],\n response: {\n description: \"Supersede result\",\n fields: { oldNodeId: \"string\", newNodeId: \"string\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const BATCH_CREATE_EPISTEMIC_NODES: McpToolContract = {\n name: \"batch_create_epistemic_nodes\",\n description:\n \"Commit multiple epistemic graph nodes. \" +\n \"Like `git commit` with many staged files — writes a batch of canonical spine nodes.\",\n parameters: {\n nodes: {\n type: \"array\",\n description: \"Nodes to create with nodeType, canonicalText/text, and optional metadata.\",\n },\n },\n required: [\"nodes\"],\n response: {\n description: \"Batch node creation result\",\n fields: { created: \"number\", results: \"array\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// JUDGMENT TOOLS (Phase 1: new vocabulary, aliased to decision implementation)\n// =============================================================================\n\nexport const RECORD_JUDGMENT: McpToolContract = {\n name: \"record_judgment\",\n description:\n \"Record a judgment — an irreversible commitment based on the current epistemic state. \" +\n \"Like a `git tag` marking a release. \" +\n \"A judgment synthesizes beliefs, evidence, and uncertainties into a determination. \" +\n \"Once issued, a judgment is evaluated against the epistemic state that existed when it was made \" +\n \"(knowledge horizon evaluation, Invariant #10).\",\n parameters: {\n title: { type: \"string\", description: \"Short judgment statement\" },\n rationale: {\n type: \"string\",\n description: \"Full reasoning behind the judgment\",\n },\n topicId: { type: \"string\", description: \"Topic scope\" },\n beliefIds: {\n type: \"array\",\n description: \"Beliefs that warrant this judgment\",\n },\n confidence: {\n type: \"number\",\n description: \"Confidence in the judgment (0-1)\",\n },\n },\n required: [\"title\", \"rationale\"],\n response: {\n description: \"The recorded judgment\",\n fields: {\n judgmentId: \"string\",\n title: \"string\",\n status: \"string — 'issued'\",\n },\n },\n ownerModule: \"decisions\",\n ontologyPrimitive: \"judgment\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// LENS TOOLS (workspace-scoped operational frames)\n// =============================================================================\n\nexport const CREATE_LENS: McpToolContract = {\n name: \"create_lens\",\n description:\n \"Create a reusable lens that overlays a workspace topic with a specific analytical perspective. \" +\n \"Like `git branch <name>` for operational scaffolding — a lens persists across worktrees and carries prompts, workflows, and task templates. \" +\n \"Multiple topics in the same workspace can reuse the same lens.\",\n parameters: {\n name: {\n type: \"string\",\n description: \"Lens name (e.g., 'market dynamics', 'team quality')\",\n },\n workspaceId: {\n type: \"string\",\n description:\n \"Workspace scope for the lens. Required unless topicId resolves to a workspace-scoped topic.\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Optional originating topic scope. Lenses remain reusable across topics even when this is set.\",\n },\n description: {\n type: \"string\",\n description: \"What this lens is designed to investigate or monitor\",\n },\n perspectiveType: {\n type: \"string\",\n description:\n \"Perspective type for the lens. Validated against schemaEnumConfig category 'lens_perspective_type'.\",\n enum: [...LENS_PERSPECTIVE_TYPES],\n },\n promptTemplates: {\n type: \"array\",\n description: \"Langfuse prompt references used when operating through this lens\",\n },\n workflowTemplates: {\n type: \"array\",\n description: \"Guided workflow templates for lens-driven investigations\",\n },\n taskTemplates: {\n type: \"array\",\n description: \"Default task templates instantiated when the lens is applied\",\n },\n filterCriteria: {\n type: \"object\",\n description: \"Belief/evidence filtering rules applied by the lens\",\n },\n },\n required: [\"name\", \"perspectiveType\"],\n response: {\n description: \"The created lens\",\n fields: {\n lensId: \"string\",\n name: \"string\",\n workspaceId: \"string\",\n status: \"string — 'active'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"showcase\",\n};\n\nexport const LIST_LENSES: McpToolContract = {\n name: \"list_lenses\",\n description:\n \"List reusable lenses for a workspace, optionally scored by whether they are active on a topic. \" +\n \"Like `git branch --list` — shows the available named frames you can activate. \" +\n \"When topicId is provided, the response can indicate which lenses are already applied there.\",\n parameters: {\n workspaceId: {\n type: \"string\",\n description: \"Workspace scope to list lenses from\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Optional topic scope used to derive workspace and annotate applied lenses\",\n },\n status: {\n type: \"string\",\n description: \"Filter by lens lifecycle status\",\n enum: [\"draft\", \"active\", \"archived\"],\n },\n perspectiveType: {\n type: \"string\",\n description: \"Filter by perspective type\",\n enum: [...LENS_PERSPECTIVE_TYPES],\n },\n },\n required: [],\n response: {\n description: \"Available lenses\",\n fields: {\n lenses:\n \"array — each item includes lensId, name, workspaceId, perspectiveType, status, and optional isAppliedToTopic\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\nexport const APPLY_LENS_TO_TOPIC: McpToolContract = {\n name: \"apply_lens_to_topic\",\n description:\n \"Apply a lens to a topic so it becomes an active perspective overlay. \" +\n \"Like `git checkout <branch>` for a reusable frame — the topic keeps its knowledge, but the active lens shapes guidance and retrieval. \" +\n \"Multiple active lenses can coexist on the same topic.\",\n parameters: {\n lensId: { type: \"string\", description: \"Lens to activate on the topic\" },\n topicId: { type: \"string\", description: \"Topic that should receive the lens\" },\n },\n required: [\"lensId\", \"topicId\"],\n response: {\n description: \"Lens activation result\",\n fields: {\n bindingId: \"string\",\n lensId: \"string\",\n topicId: \"string\",\n status: \"string — 'active'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_LENS_FROM_TOPIC: McpToolContract = {\n name: \"remove_lens_from_topic\",\n description:\n \"Remove an active lens overlay from a topic. \" +\n \"Like `git switch` away from a frame — the topic remains, but the lens stops shaping the investigation context. \" +\n \"Historical binding state is preserved for auditability.\",\n parameters: {\n lensId: { type: \"string\", description: \"Lens to remove from the topic\" },\n topicId: { type: \"string\", description: \"Topic that currently has the lens applied\" },\n },\n required: [\"lensId\", \"topicId\"],\n response: {\n description: \"Lens removal result\",\n fields: {\n bindingId: \"string\",\n lensId: \"string\",\n topicId: \"string\",\n status: \"string — 'removed'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// PUSH TOOLS (git push)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const LUCERN_ORIENT: McpToolContract = {\n name: \"lucern_orient\",\n description:\n \"Load the Lucern reasoning grammar before operating. \" +\n \"Like `git help` plus a repository CONTRIBUTING guide for reasoning state - teaches the git-shaped model of topics, campaigns, lanes, worktrees, beliefs, questions, evidence, receipts, gates, and merges.\",\n parameters: {\n audience: {\n type: \"string\",\n description: \"Audience for the primer: agent, human, operator, or developer.\",\n enum: [\"agent\", \"human\", \"operator\", \"developer\"],\n },\n depth: {\n type: \"string\",\n description: \"Orientation depth: quick, standard, or deep.\",\n enum: [\"quick\", \"standard\", \"deep\"],\n },\n situation: {\n type: \"string\",\n description:\n \"Optional task or query context used to tailor suggested next calls.\",\n },\n includeExamples: {\n type: \"boolean\",\n description: \"Whether to include concrete tool-call examples.\",\n },\n includeToolMap: {\n type: \"boolean\",\n description: \"Whether to include situation-to-tool routing guidance.\",\n },\n includeFuture: {\n type: \"boolean\",\n description:\n \"Whether to include future exemplar, gauntlet, and training-data capabilities.\",\n },\n },\n required: [],\n response: {\n description:\n \"Canonical operator primer for Lucern's git-shaped reasoning substrate.\",\n fields: {\n schemaVersion: \"string - lucern_orientation.v1\",\n canonicalMentalModel:\n \"object - concise model of Lucern as git-shaped reasoning state\",\n workflow:\n \"array - recommended branch -> investigate -> prove gate -> merge workflow\",\n grammarMap:\n \"array - primitive-to-git-analogy map for topics, campaigns, worktrees, beliefs, questions, evidence, edges, contradictions, and gates\",\n firstMoves: \"array - recommended first tools for a cold-start agent\",\n receiptRules:\n \"array - how to interpret candidateCounts, broadening, coverageWarning, narrativeCoverage, synthesisLints, and noDefaultGlobalScan\",\n safetyRules:\n \"array - mutation and completion rules that preserve reasoning lineage\",\n toolMap:\n \"array | undefined - situation-to-tool routing map when requested\",\n examples: \"array | undefined - concrete tool-call examples when requested\",\n futureCapabilities:\n \"array | undefined - exemplar, gauntlet, trace-corpus, and native-model-training capabilities when requested\",\n suggestedNextCalls:\n \"array - safe next tool calls for the current situation\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const DETECT_CONFIRMATION_BIAS: McpToolContract = {\n name: \"detect_confirmation_bias\",\n description:\n \"Detect confirmation bias in the evidence graph. \" +\n \"Like `git diff --stat` for reasoning — analyzes the ratio of supporting vs challenging evidence \" +\n \"per belief and flags beliefs where the evidence is suspiciously one-sided. \" +\n \"Returns risk classification (critical/high/moderate/healthy).\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n threshold: {\n type: \"number\",\n description: \"Bias threshold (0-1, default 0.7)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Beliefs with bias scores, risk levels, and evidence counts\",\n fields: {\n beliefs:\n \"array — { nodeId, biasScore, riskLevel, supportingCount, challengingCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_GRAPH_STRUCTURE_ANALYSIS: McpToolContract = {\n name: \"get_graph_structure_analysis\",\n description:\n \"Run comprehensive structural analysis on the knowledge graph. \" +\n \"Like `git fsck` combined with PageRank — runs 14 algorithmic detectors including \" +\n \"PageRank centrality, Louvain community detection, Tarjan SCC, Fiedler vector spectral analysis, \" +\n \"Bayesian surprise, and overconfidence detection.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Structural analysis with detector results and recommendations\",\n fields: {\n topicId: \"string — canonical topic scope\",\n metric: \"string — analysis metric identifier\",\n payload: \"object — detector results, recommendations, graph metrics\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const LIST_GRAPH_INTELLIGENCE_QUERIES: McpToolContract = {\n name: \"list_graph_intelligence_queries\",\n description:\n \"List the Graph Intelligence query catalog that powers structural graph analysis experiences. \" +\n \"Returns categories, query IDs, prompt templates, modes, and the public tool plan each query can use.\",\n parameters: {\n categoryId: {\n type: \"string\",\n description: \"Optional category filter, such as problems or strategic\",\n },\n mode: {\n type: \"string\",\n description:\n \"Optional mode filter: core, bias, stress, operational, alpha, semantic, or evidence\",\n },\n },\n required: [],\n response: {\n description:\n \"Graph Intelligence query catalog and mode-to-tool mapping\",\n fields: {\n categories: \"array — query categories\",\n queries: \"array — query definitions with prompt templates and tools\",\n quickQueries: \"array — recommended one-click query presets\",\n publicToolNamesByMode:\n \"object — public tool names available to each Graph Intelligence mode\",\n },\n },\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const RUN_GRAPH_INTELLIGENCE_QUERY: McpToolContract = {\n name: \"run_graph_intelligence_query\",\n description:\n \"Run a named Graph Intelligence query against a tenant topic graph. \" +\n \"Returns the selected query, prompt, deterministic graph-analysis bundle, graph context, and public tool plan for model synthesis.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n queryId: {\n type: \"string\",\n description:\n \"Graph Intelligence query ID, such as confirmation-bias, pre-mortem, or thesis-summary\",\n },\n prompt: {\n type: \"string\",\n description: \"Optional custom prompt for custom analysis runs\",\n },\n input: {\n type: \"string\",\n description:\n \"Optional entity, theme, belief, company, or search text for input-driven queries\",\n },\n mode: {\n type: \"string\",\n description:\n \"Optional mode override: core, bias, stress, operational, alpha, semantic, or evidence\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum graph context rows to return\",\n },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Graph Intelligence query result bundle ready for model or prompt-library synthesis\",\n fields: {\n query: \"object — selected query definition\",\n prompt: \"string — resolved prompt template\",\n toolPlan: \"array — public tools and args the model can call next\",\n analysis:\n \"object — structure, coverage, gap, and confirmation-bias analysis\",\n context: \"object — sampled beliefs, questions, evidence, edges, and contradictions\",\n },\n },\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_FALSIFICATION_QUESTIONS: McpToolContract = {\n name: \"get_falsification_questions\",\n description:\n \"Generate Popperian falsification questions for beliefs. \" +\n \"Like `git test` — identifies the questions most likely to disprove current beliefs. \" +\n \"Karl Popper as a tool: surfaces what would need to be true to invalidate each belief.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n beliefIds: { type: \"array\", description: \"Specific beliefs to target\" },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Questions with falsification potential scores and target beliefs\",\n fields: {\n questions:\n \"array — { questionText, falsificationPotential, targetBeliefId, targetBeliefText }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// EVIDENCE OPERATION TOOLS\n// =============================================================================\n\nexport const SEARCH_EVIDENCE: McpToolContract = {\n name: \"search_evidence\",\n description:\n \"Search for evidence across the reasoning graph. \" +\n \"Like `git grep` — returns the evidence records that best match a textual query. \" +\n \"Results share the same canonical semantics as the HTTP and SDK evidence search surface.\",\n parameters: {\n q: { type: \"string\", description: \"Search text\" },\n topicId: { type: \"string\", description: \"Topic scope filter\" },\n targetId: {\n type: \"string\",\n description: \"Optional belief or question identifier to scope the search\",\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [\"q\"],\n response: {\n description: \"Canonical evidence search results page\",\n fields: {\n results:\n \"array — { evidenceId, nodeId, globalId?, text, source?, kind?, relevanceScore }\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const CREATE_EVIDENCE: McpToolContract = {\n name: \"create_evidence\",\n description:\n \"Commit evidence to the reasoning graph. \" +\n \"Like `git commit` — creates a traceable evidence record with canonical public IDs. \" +\n \"Evidence creation must link to at least one belief and must include a signed impact score. \" +\n \"Positive scores support the belief; negative scores contradict it. SL confidence is derived from these weighted evidence relations.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n text: { type: \"string\", description: \"Canonical evidence text\" },\n source: { type: \"string\", description: \"Source URL or source label\" },\n targetId: {\n type: \"string\",\n description: \"Belief identifier to link immediately\",\n },\n weight: {\n type: \"number\",\n description:\n \"Required nonzero signed impact score: -1.0 (contradicts) to +1.0 (supports).\",\n },\n evidenceRelation: {\n type: \"string\",\n enum: [\"supports\", \"contradicts\"],\n description:\n \"Canonical relation to targetId/linkedBeliefNodeId. Prefer this over relying on signed weight inference.\",\n },\n confidence: {\n type: \"number\",\n description:\n \"Deprecated hint. Runtime confidence is derived from the signed impact score.\",\n },\n beliefRelations: {\n type: \"array\",\n description:\n \"Optional additional belief relations: [{ beliefId|beliefNodeId|targetId, evidenceRelation|relation, confidence?, weight?, rationale? }]. Use one evidence node with multiple relations when the same fact supports or contradicts several beliefs.\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional metadata merged into the canonical evidence node\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this evidence should enter the reasoning graph\",\n },\n title: { type: \"string\", description: \"Optional short title\" },\n content: { type: \"string\", description: \"Optional long-form content\" },\n contentType: {\n type: \"string\",\n description: \"Optional content format or MIME hint\",\n },\n kind: { type: \"string\", description: \"Optional evidence kind\" },\n },\n required: [\"text\", \"rationale\", \"weight\"],\n response: {\n description: \"The created canonical evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n text: \"string\",\n topicId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const GET_EVIDENCE: McpToolContract = {\n name: \"get_evidence\",\n description:\n \"Read one evidence record by ID. \" +\n \"Like `git show` — resolves the canonical evidence payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical evidence ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n text: \"string\",\n topicId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const LIST_EVIDENCE: McpToolContract = {\n name: \"list_evidence\",\n description:\n \"List evidence records within a topic or linked to a target. \" +\n \"Like `git log -- path` — returns the canonical evidence page for a topic, belief, or question scope.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope filter\" },\n targetId: {\n type: \"string\",\n description: \"Optional belief or question identifier to scope by linkage\",\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [],\n response: {\n description: \"Canonical evidence page\",\n fields: {\n evidence: \"array — canonical evidence records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_EVIDENCE: McpToolContract = {\n name: \"archive_evidence\",\n description:\n \"Archive an evidence record while preserving its reasoning history. \" +\n \"Like `git rm` — removes evidence from active workflows without erasing the audit trail. \" +\n \"Use this for evidence hygiene after the evidence has been superseded, corrected, or ruled out.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical evidence ID\" },\n evidenceId: { type: \"string\", description: \"Evidence ID alias\" },\n nodeId: { type: \"string\", description: \"Evidence node ID alias\" },\n insightId: { type: \"string\", description: \"Legacy insight ID alias\" },\n reason: {\n type: \"string\",\n description: \"Why this evidence is being archived\",\n },\n },\n required: [],\n response: {\n description: \"Archive confirmation for the evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence node ID\",\n status: \"string — archived or removed from active evidence views\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE: McpToolContract = {\n name: \"link_evidence\",\n description:\n \"Link evidence to a belief or question. \" +\n \"Like `git notes add` — attaches a supporting or contradicting edge without rewriting the evidence itself.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"Canonical evidence ID\" },\n targetId: {\n type: \"string\",\n description: \"Canonical belief or question ID\",\n },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n rationale: { type: \"string\", description: \"Why this link exists\" },\n },\n required: [\"evidenceId\", \"targetId\", \"weight\"],\n response: {\n description: \"The created canonical evidence edge summary\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n targetId: \"string\",\n targetType: \"string — belief | question\",\n weight: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE_TO_BELIEF: McpToolContract = {\n name: \"link_evidence_to_belief\",\n description:\n \"Link evidence to a belief with a support weight. \" +\n \"Like `git add` — stages evidence in support of (or against) a belief. \" +\n \"The weight ranges from -1.0 (strongly contradicts) to +1.0 (strongly supports). \" +\n \"This relation appends to the SL confidence ledger; do not hand-write confidence separately.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"The evidence node ID\" },\n beliefId: { type: \"string\", description: \"The belief node ID\" },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n evidenceRelation: {\n type: \"string\",\n enum: [\"supports\", \"contradicts\"],\n description:\n \"Canonical semantic relation. If omitted, the sign of weight is used.\",\n },\n confidence: {\n type: \"number\",\n description: \"Confidence in this evidence-to-belief relation, 0.0 to 1.0\",\n },\n rationale: { type: \"string\", description: \"Why this evidence is relevant\" },\n },\n required: [\"evidenceId\", \"beliefId\", \"weight\"],\n response: {\n description: \"The created edge linking evidence to belief\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n beliefId: \"string\",\n weight: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// QUESTION OPERATION TOOLS\n// =============================================================================\n","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, scope, or worktree link \" +\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 linkedWorktreeId: {\n type: \"string\",\n description: \"Worktree this existing question belongs to\",\n },\n rationale: {\n type: \"string\",\n description: \"Why the question is being refined\",\n },\n },\n required: [\"id\"],\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 traversalMode: {\n type: \"string\",\n description:\n \"Optional C2-LK.2 traversal mode declaration for strict context compilation.\",\n enum: [\n \"anchored_ranked\",\n \"bounded_exploration\",\n \"contradiction_scan\",\n \"pattern_recall\",\n \"forensic_replay\",\n ],\n },\n requestedDepth: {\n type: \"string\",\n description:\n \"Optional C2-LK.2 constitutional depth declaration for context compilation.\",\n enum: [\"low\", \"medium\", \"high\", \"extra-high\"],\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 contextNarrative:\n \"array — first field; ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects\",\n narrativeCoverage:\n \"object — recordsSynthesized, recordsNamed, recordsOmitted, topicsSynthesized, topicsEnriched, topicContentOmitted, enrichmentMode, and blocksEmitted for the narrative\",\n synthesisLints:\n \"array — inline quality warnings for degenerate synthesis blocks or weak narrative coverage\",\n retrievalReceipt:\n \"object — candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions\",\n supportingObjects:\n \"object — raw graph records grouped behind the synthesis: invariants, activeBeliefs, openQuestions, recentEvidence, worktrees, lanes, entities, and contradictions\",\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 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","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CHECK_PERMISSION: McpToolContract = {\n name: \"check_permission\",\n description:\n \"Check whether a principal can read or mutate a topic scope. \" +\n \"Like `git check-ref-format` for ACLs — validates whether the requested operation is allowed before execution.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope to evaluate\" },\n permission: {\n type: \"string\",\n description: \"Permission to evaluate\",\n enum: [\"read\", \"write\"],\n },\n principal: {\n type: \"string\",\n description:\n \"Optional principal override (defaults to current principal)\",\n },\n beliefClusterId: {\n type: \"string\",\n description: \"Optional neighborhood scope within a topic\",\n },\n },\n required: [\"topicId\", \"permission\"],\n response: {\n description: \"Permission evaluation result\",\n fields: {\n allowed: \"boolean\",\n decision: \"string — allow | deny\",\n reasonCode: \"string\",\n principalId: \"string\",\n topicId: \"string\",\n permission: \"string — read | write\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\nexport const FILTER_BY_PERMISSION: McpToolContract = {\n name: \"filter_by_permission\",\n description:\n \"Filter a topic set down to ACL-authorized topics. \" +\n \"Like `git rev-list --ancestry-path` for policy boundaries — keeps only topics permitted for the requested action.\",\n parameters: {\n topicIds: { type: \"array\", description: \"Topic IDs to evaluate\" },\n permission: {\n type: \"string\",\n description: \"Permission filter\",\n enum: [\"read\", \"write\"],\n },\n principal: {\n type: \"string\",\n description: \"Optional principal override (tenant admin only)\",\n },\n },\n required: [\"topicIds\", \"permission\"],\n response: {\n description: \"Allowed/denied split for the requested topic set\",\n fields: {\n permission: \"string — read | write\",\n allowedTopicIds: \"array — topic IDs allowed by policy\",\n deniedTopics: \"array — { topicId, reasonCode }\",\n count: \"number\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\nexport const COMPILE_CAPABILITY_SLICE: McpToolContract = {\n name: \"compile_capability_slice\",\n description:\n \"Compile a Permit-clipped graph capability slice. \" +\n \"Like `git sparse-checkout` for policy-visible reasoning — returns allowed objects plus public-safe omission records.\",\n parameters: {\n sliceUuid: { type: \"string\", description: \"Stable slice UUID or request id\" },\n context: {\n type: \"string\",\n description:\n \"Slice context such as context_compile, graph_traversal, source_horizon, output_export, or agent_run\",\n },\n surface: {\n type: \"string\",\n description: \"Caller surface such as mcp, sdk, cli, rest, web, or agent\",\n },\n baseFacts: {\n type: \"object\",\n description: \"Graph policy facts for the root resource and principal\",\n },\n nodes: {\n type: \"array\",\n description: \"Candidate graph nodes/resources to clip\",\n },\n edges: {\n type: \"array\",\n description: \"Candidate graph edges to clip\",\n },\n fallbackPermitDecision: {\n type: \"object\",\n description: \"Fallback Permit decision; omitted decisions fail closed\",\n },\n permitDecisionsByResourceId: {\n type: \"object\",\n description: \"Permit decisions keyed by resourceId after PDP evaluation\",\n },\n },\n required: [\"baseFacts\", \"nodes\"],\n response: {\n description: \"Permission-clipped capability slice envelope\",\n fields: {\n decision: \"string — allow | allow_with_omissions | deny\",\n visibleNodes: \"array — policy-visible graph nodes/resources\",\n visibleEdges: \"array — policy-visible graph edges\",\n publicOmissionRecords: \"array — public-safe omission records\",\n sealedOmissionRecords: \"array — sealed audit-only omission records\",\n policy: \"object — Permit decision proof envelope\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// OBSERVATION TOOLS\n// =============================================================================\n\nexport const INGEST_OBSERVATION: McpToolContract = {\n name: \"ingest_observation\",\n description:\n \"Record an observational delta for a topic context stream. \" +\n \"Like `git notes add` — attaches structured observation metadata without mutating graph state directly. \" +\n \"Used by watcher/cowork agents to stage candidate updates before explicit write confirmation.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope hint for the observation\",\n },\n observationType: {\n type: \"string\",\n description: \"Observation class\",\n enum: [\n \"claim\",\n \"evidence\",\n \"question\",\n \"contradiction\",\n \"judgment\",\n \"note\",\n ],\n },\n summary: {\n type: \"string\",\n description: \"Human-readable observation summary\",\n },\n source: {\n type: \"string\",\n description: \"Optional source (message ID, tool name, URL, etc.)\",\n },\n confidence: { type: \"number\", description: \"Optional confidence in [0,1]\" },\n tags: { type: \"array\", description: \"Optional observation tags\" },\n metadata: {\n type: \"object\",\n description: \"Optional structured metadata payload\",\n },\n },\n required: [\"observationType\", \"summary\"],\n response: {\n description: \"Recorded observation entry\",\n fields: {\n observationId: \"string\",\n topicId: \"string\",\n observationType: \"string\",\n createdAt: \"number\",\n contextResourceUri: \"string\",\n },\n },\n ownerModule: \"agent-frameworks\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_OBSERVATION_CONTEXT: McpToolContract = {\n name: \"get_observation_context\",\n description:\n \"Retrieve observer-ready context for a topic, including recent deltas and semantic matches. \" +\n \"Like `git log --grep` — shows recent context and filtered matches across observation history. \" +\n \"This powers prompt context injection without mutating graph state.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n query: {\n type: \"string\",\n description: \"Optional semantic query over observation history\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum entries in each returned collection\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Observation context payload\",\n fields: {\n topicId: \"string\",\n totalObservations: \"number\",\n latest: \"array\",\n semanticMatches: \"array\",\n byType: \"object\",\n generatedAt: \"number\",\n },\n },\n ownerModule: \"agent-frameworks\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// TASK LIFECYCLE TOOLS\n// =============================================================================\n\nexport const CREATE_TASK: McpToolContract = {\n name: \"create_task\",\n description:\n \"Create an execution task tied to the reasoning state. \" +\n \"Like `git task` — tracks concrete work items (calls to make, data to gather, analyses to run) \" +\n \"linked to questions, beliefs, or worktrees.\",\n parameters: {\n title: { type: \"string\", description: \"Task title\" },\n topicId: { type: \"string\", description: \"Topic scope\" },\n description: {\n type: \"string\",\n description: \"Long-form task description\",\n },\n taskType: {\n type: \"string\",\n description: \"Task taxonomy\",\n enum: [\n \"general\",\n \"find_evidence\",\n \"verify_claim\",\n \"research\",\n \"review\",\n \"interview\",\n \"analysis\",\n \"track_metrics\",\n ],\n },\n priority: {\n type: \"string\",\n description: \"Priority\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n status: {\n type: \"string\",\n description: \"Initial status (defaults to todo)\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Worktree this task belongs to\",\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Belief this task supports\",\n },\n linkedQuestionId: {\n type: \"string\",\n description: \"Question this task addresses\",\n },\n assigneeId: {\n type: \"string\",\n description: \"Principal assigned to the task\",\n },\n dueDate: {\n type: \"number\",\n description: \"Due date as epoch milliseconds\",\n },\n tags: {\n type: \"array\",\n description: \"Free-form string tags\",\n },\n metadata: {\n type: \"object\",\n description: \"Structured task metadata for handoff context and routing hints\",\n },\n },\n required: [\"title\"],\n response: {\n description: \"The created task\",\n fields: {\n taskId: \"string\",\n status: \"string — 'pending'\",\n createdAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const COMPLETE_TASK: McpToolContract = {\n name: \"complete_task\",\n description:\n \"Mark a task as complete with an output summary. \" +\n \"Like `git tag` for work items — records the discrete completion event and captures what was learned. \" +\n \"Completed tasks feed back into the evidence graph.\",\n parameters: {\n taskId: { type: \"string\", description: \"The task to complete\" },\n outputSummary: {\n type: \"string\",\n description: \"What was accomplished or learned\",\n },\n evidenceCreated: {\n type: \"boolean\",\n description: \"Whether new evidence was created from this task\",\n },\n },\n required: [\"taskId\", \"outputSummary\"],\n response: {\n description: \"The completed task\",\n fields: {\n taskId: \"string\",\n completedAt: \"number\",\n outputSummary: \"string\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_TASK: McpToolContract = {\n name: \"update_task\",\n description:\n \"Update a task's fields — relink to a different worktree, belief, or question, change title/priority/status. \" +\n \"Like `git task edit` — mutates an existing task in place instead of requiring recreate-plus-supersede.\",\n parameters: {\n taskId: { type: \"string\", description: \"The task to update\" },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Reassign this task to a different worktree\",\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Link or relink this task to a belief node\",\n },\n linkedQuestionId: {\n type: \"string\",\n description: \"Link or relink this task to a question node\",\n },\n title: { type: \"string\", description: \"Updated task title\" },\n description: {\n type: \"string\",\n description: \"Updated task description\",\n },\n priority: {\n type: \"string\",\n description: \"Updated priority\",\n enum: [\"critical\", \"high\", \"medium\", \"low\"],\n },\n status: {\n type: \"string\",\n description: \"Updated status\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n metadata: {\n type: \"object\",\n description: \"Structured task metadata to replace or refine\",\n },\n },\n required: [\"taskId\"],\n response: {\n description: \"The updated task\",\n fields: {\n taskId: \"string\",\n updatedAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const LIST_TASKS: McpToolContract = {\n name: \"list_tasks\",\n description:\n \"List tasks for a topic or worktree. \" +\n \"Like `git task list` — returns tasks with status, priority, and linked nodes. \" +\n \"Filter by worktree to see tasks for a specific investigation, or by status to find incomplete work.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Filter to tasks linked to this worktree\",\n },\n worktreeId: {\n type: \"string\",\n description: \"Alias for linkedWorktreeId\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status: todo, in_progress, blocked, done\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n limit: { type: \"number\", description: \"Maximum results (default: 100)\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"List of tasks with metadata\",\n fields: { tasks: \"array of task objects\", count: \"number\" },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// TOPIC TOOLS (git init, git remote)\n// =============================================================================\n\nexport const CREATE_TOPIC: McpToolContract = {\n name: \"create_topic\",\n description:\n \"Create a new topic container for scoping knowledge. \" +\n \"Like `git init` — initializes a new repository for a knowledge domain. \" +\n \"Topics are hierarchical: a deal topic can nest under a theme topic. \" +\n \"Types: domain, theme, deal, strategy, constitution, project, portfolio.\",\n parameters: {\n globalId: {\n type: \"string\",\n description: \"Optional idempotent topic global ID\",\n },\n name: { type: \"string\", description: \"Topic name\" },\n type: {\n type: \"string\",\n description:\n \"Topic type. Validated against schemaEnumConfig category 'topic_type'.\",\n },\n description: { type: \"string\", description: \"What this topic covers\" },\n parentTopicId: {\n type: \"string\",\n description: \"Optional parent topic for nesting\",\n },\n parentTopicGlobalId: {\n type: \"string\",\n description: \"Optional parent topic global ID for nesting\",\n },\n tenantId: { type: \"string\", description: \"Optional tenant scope\" },\n workspaceId: { type: \"string\", description: \"Optional workspace scope\" },\n visibility: {\n type: \"string\",\n description: \"Topic visibility\",\n enum: [\"private\", \"team\", \"firm\", \"external\", \"public\"],\n },\n metadata: { type: \"object\", description: \"Optional topic metadata\" },\n createdBy: { type: \"string\", description: \"Who created this topic\" },\n },\n required: [\"name\", \"type\"],\n response: {\n description: \"The created topic\",\n fields: {\n id: \"string — topic ID\",\n globalId: \"string — globally unique ID\",\n topicGlobalId: \"string — topic global ID\",\n epistemicNodeId: \"string — materialized topic node ID\",\n epistemicNodeGlobalId: \"string — materialized topic node global ID\",\n depth: \"number — nesting depth\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const LIST_TOPICS: McpToolContract = {\n name: \"list_topics\",\n description:\n \"List topics, optionally filtered by type or parent. \" +\n \"Like `git remote -v` — shows all knowledge containers with their types and hierarchy.\",\n parameters: {\n type: {\n type: \"string\",\n description: \"Filter by topic type (e.g., 'theme', 'deal')\",\n },\n parentTopicId: {\n type: \"string\",\n description: \"Filter to children of this parent\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\"active\", \"archived\", \"watching\"],\n },\n },\n required: [],\n response: {\n description: \"List of topics with metadata\",\n fields: {\n topics: \"array — { id, name, type, depth, status, parentTopicId }\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC: McpToolContract = {\n name: \"get_topic\",\n description:\n \"Get one topic by ID. \" +\n \"Like `git remote show origin` — inspects a single knowledge container in detail.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Canonical topic ID to retrieve\",\n },\n id: {\n type: \"string\",\n description: \"Legacy alias for topicId\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Single topic record\",\n fields: {\n topic:\n \"object — { id, globalId, name, type, depth, status, parentTopicId, description }\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_TOPIC: McpToolContract = {\n name: \"update_topic\",\n description:\n \"Update an existing topic's metadata. \" +\n \"Like `git remote set-url` — changes the canonical configuration for a knowledge container without recreating it.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Canonical topic ID to update\",\n },\n id: {\n type: \"string\",\n description: \"Legacy alias for topicId\",\n },\n name: { type: \"string\", description: \"Updated topic name\" },\n description: { type: \"string\", description: \"Updated topic description\" },\n type: {\n type: \"string\",\n description:\n \"Updated topic type. Validated against schemaEnumConfig category 'topic_type'.\",\n },\n ontologyId: {\n type: \"string\",\n description: \"Updated ontology binding\",\n },\n clearOntologyId: {\n type: \"boolean\",\n description: \"Clear the current ontology binding\",\n },\n status: {\n type: \"string\",\n description: \"Updated topic status\",\n enum: [\"active\", \"archived\", \"watching\"],\n },\n visibility: {\n type: \"string\",\n description: \"Updated topic visibility\",\n enum: [\"private\", \"team\", \"firm\", \"external\", \"public\"],\n },\n },\n required: [],\n response: {\n description: \"The updated topic\",\n fields: {\n id: \"string — topic ID\",\n globalId: \"string — globally unique ID\",\n status: \"string — topic lifecycle status\",\n visibility: \"string — topic visibility\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC_TREE: McpToolContract = {\n name: \"get_topic_tree\",\n description:\n \"Get the full topic hierarchy from a root. \" +\n \"Like `git log --graph --all` — shows the complete tree of nested topics.\",\n parameters: {\n rootId: { type: \"string\", description: \"Root topic to start from\" },\n maxDepth: {\n type: \"number\",\n description: \"Maximum depth to traverse (default: 5)\",\n },\n },\n required: [\"rootId\"],\n response: {\n description: \"Tree of topics with nesting\",\n fields: { tree: \"array — topics in BFS order with depth and path\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const MATERIALIZE_TOPIC_GRAPH: McpToolContract = {\n name: \"materialize_topic_graph\",\n description:\n \"Backfill the topic graph spine. \" +\n \"Like `git fsck --connectivity-only` with repair enabled — creates missing topic nodes and parent-child edges idempotently.\",\n parameters: {\n rootTopicId: {\n type: \"string\",\n description: \"Optional root topic for a bounded materialization pass\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"When true, report missing rows without writing them\",\n },\n },\n required: [],\n response: {\n description: \"Topic graph materialization counts\",\n fields: {\n topicsSeen: \"number\",\n nodesCreated: \"number\",\n nodesExisting: \"number\",\n edgesCreated: \"number\",\n edgesExisting: \"number\",\n errors: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC_GRAPH_SPINE: McpToolContract = {\n name: \"get_topic_graph_spine\",\n description:\n \"Verify the topic graph spine. \" +\n \"Like `git fsck` — reads topics, materialized topic nodes, parent-child edges, and missing spine rows.\",\n parameters: {\n rootTopicId: {\n type: \"string\",\n description: \"Optional root topic for a bounded verifier pass\",\n },\n includeTopicBeliefEdges: {\n type: \"boolean\",\n description: \"Include topic -> belief edges in the verifier payload\",\n },\n },\n required: [],\n response: {\n description: \"Topic graph spine verification payload\",\n fields: {\n ok: \"boolean\",\n counts: \"object\",\n topics: \"array\",\n topicNodes: \"array\",\n parentEdges: \"array\",\n missingTopicNodes: \"array\",\n missingParentEdges: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// CODING INTELLIGENCE TOOLS (code-grounded knowledge)\n// =============================================================================\n\nexport const GET_CODE_CONTEXT: McpToolContract = {\n name: \"get_code_context\",\n description:\n \"Returns code-grounded beliefs, contracts, migration states, and failed attempts anchored to a specific file or function path. \" +\n \"Like `git log -- <path>` — filters the knowledge graph to nodes anchored to a file path via metadata.codeAnchors. \" +\n \"Results are separated by coding belief type: decisions, contracts, migrations, patterns, deprecations, and failures.\",\n parameters: {\n filePath: {\n type: \"string\",\n description:\n \"File path to search for (partial matches supported, e.g. 'epistemicBeliefs.ts' or 'convex/epistemicBeliefs.ts')\",\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope (optional, uses default if not provided)\",\n },\n includeFailures: {\n type: \"boolean\",\n description: \"Whether to include failed attempt evidence (default: true)\",\n },\n },\n required: [\"filePath\"],\n response: {\n description: \"Code-anchored beliefs and evidence grouped by type\",\n fields: {\n filePath: \"string — queried path\",\n decisions: \"array — implementation_decision beliefs\",\n contracts: \"array — interface_contract beliefs\",\n migrations: \"array — migration_state beliefs\",\n patterns: \"array — code_pattern beliefs\",\n deprecations: \"array — deprecation_notice beliefs\",\n failures: \"array — failed attempt evidence\",\n totalMatched: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const GET_CHANGE_HISTORY: McpToolContract = {\n name: \"get_change_history\",\n description:\n \"Returns recent changes and decisions for a file path — the 'why' behind recent code changes. \" +\n \"Like `git log --follow <path>` — shows the evolution of understanding anchored to a specific file. \" +\n \"Searches beliefs and evidence updated recently, sorted by most recent first.\",\n parameters: {\n filePath: { type: \"string\", description: \"File path to get history for\" },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n limit: { type: \"number\", description: \"Max results (default: 10)\" },\n },\n required: [\"filePath\"],\n response: {\n description: \"Recent code-anchored changes sorted by recency\",\n fields: {\n filePath: \"string — queried path\",\n changes:\n \"array — nodes with coding view (nodeId, beliefType, canonicalText, codeAnchors, timestamps)\",\n totalFound: \"number\",\n showing: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const RECORD_ATTEMPT: McpToolContract = {\n name: \"record_attempt\",\n description:\n \"Log a failed approach as evidence linked to a belief. \" +\n \"Like `git stash` for failed experiments — preserves what was tried so the same mistake isn't repeated. \" +\n \"Creates evidence with metadata.failedApproach=true and metadata.codeAnchors. \" +\n \"The key anti-repetition mechanism: future agents check the failure log before trying new approaches.\",\n parameters: {\n description: {\n type: \"string\",\n description: \"What was attempted and why it failed\",\n },\n filePaths: {\n type: \"array\",\n description: \"File paths involved in the attempt\",\n },\n errorMessage: {\n type: \"string\",\n description: \"Error message or failure reason\",\n },\n linkedBeliefId: {\n type: \"string\",\n description:\n \"Belief this attempt was targeting (creates -0.5 weight edge)\",\n },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n },\n required: [\"description\"],\n response: {\n description: \"The recorded failed attempt evidence node\",\n fields: {\n nodeId: \"string — evidence node ID\",\n edgeId: \"string | null — edge to linked belief\",\n recorded: \"boolean — true\",\n filePaths: \"array — anchored file paths\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\nexport const GET_FAILURE_LOG: McpToolContract = {\n name: \"get_failure_log\",\n description:\n \"Search past failed attempts matching a task description. \" +\n \"Like `git log --grep='FAILED'` — finds evidence of what was tried before and didn't work. \" +\n \"Before trying a new approach, check this log to avoid repeating the same mistake. \" +\n \"Filters to evidence with metadata.failedApproach=true, sorted by recency.\",\n parameters: {\n query: {\n type: \"string\",\n description: \"Description of the task or approach to search for\",\n },\n filePath: {\n type: \"string\",\n description: \"Optional file path to narrow results\",\n },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n limit: { type: \"number\", description: \"Max results (default: 5)\" },\n },\n required: [\"query\"],\n response: {\n description: \"Failed attempts matching the query\",\n fields: {\n query: \"string — search query\",\n failures: \"array — failed attempt evidence with coding view\",\n totalFound: \"number\",\n showing: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// GRAPH SELF-INTELLIGENCE TOOLS\n// =============================================================================\n\nexport const GET_TOPIC_COVERAGE: McpToolContract = {\n name: \"get_topic_coverage\",\n description:\n \"Returns per-topic belief/question/evidence counts across the topic tree. \" +\n \"Like `git diff --stat` for the knowledge graph — shows coverage density \" +\n \"and empty spots across the topic hierarchy. Use to identify which topics \" +\n \"need more beliefs, which lack questions, and overall graph health.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID (optional, uses default if not provided)\",\n },\n includeDescendants: {\n type: \"boolean\",\n description:\n \"Whether to include descendant topics in the coverage report (default: true)\",\n },\n maxDepth: {\n type: \"number\",\n description:\n \"Maximum descendant topic depth for neighborhood expansion. \" +\n \"Defaults to 4 for root/theme scopes, 2 for deeper scopes.\",\n },\n },\n required: [],\n response: {\n description: \"Per-topic coverage metrics and aggregate summary\",\n fields: {\n topics:\n \"array — per-topic { topicId, name, type, depth, beliefs, questions, evidence, coverage }\",\n summary:\n \"object — { totalTopics, coveredTopics, emptyTopics, coveragePercent, totalBeliefs, totalQuestions, totalEvidence }\",\n scopeTopicId: \"string — the root topic used for scoping\",\n },\n },\n ownerModule: \"coverage-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_GRAPH_GAPS: McpToolContract = {\n name: \"get_graph_gaps\",\n description:\n \"Identify structural gaps in the knowledge graph — empty topics, beliefs \" +\n \"without questions, beliefs without evidence, and orphan edges. \" +\n \"Like `git fsck` for reasoning coverage — surfaces holes that weaken \" +\n \"the epistemic foundation. Returns prioritized gap list.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID (optional, uses default if not provided)\",\n },\n maxDepth: {\n type: \"number\",\n description:\n \"Maximum descendant topic depth for neighborhood expansion (default: 4)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Prioritized list of graph gaps by category\",\n fields: {\n emptyTopics:\n \"array — topics with zero beliefs { topicId, name, type, depth }\",\n beliefsWithoutQuestions:\n \"array — beliefs that have no testing questions { nodeId, canonicalText, topicId }\",\n beliefsWithoutEvidence:\n \"array — beliefs that have no supporting evidence { nodeId, canonicalText, topicId }\",\n summary:\n \"object — { totalGaps, emptyTopicCount, untestedBeliefCount, unsupportedBeliefCount }\",\n scopeTopicId: \"string — the root topic used for scoping\",\n },\n },\n ownerModule: \"coverage-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// SESSION INITIALIZATION\n// =============================================================================\n\n// =============================================================================\n// WRITE POLICY (S2-13K Graph Compounding)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const MANAGE_WRITE_POLICY: McpToolContract = {\n name: \"manage_write_policy\",\n description:\n \"Manage write policies for MCP mutation tools. \" +\n \"Like `git config` for write permissions — sets per-topic or global \" +\n \"policies that control which roles can mutate the graph.\",\n parameters: {\n action: {\n type: \"string\",\n description:\n \"Action to perform: 'get' (read policies) or 'set' (upsert a policy)\",\n enum: [\"get\", \"set\"],\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope for the policy. Omit for global policies.\",\n },\n role: {\n type: \"string\",\n description:\n \"Role to set policy for (required for 'set'). E.g. 'agent:internal' or a Permit role key such as 'workspace_admin'.\",\n },\n permission: {\n type: \"string\",\n description: \"Permission level (required for 'set').\",\n enum: [\"allow\", \"deny\", \"read_only\"],\n },\n maxWritesPerSession: {\n type: \"number\",\n description: \"Optional per-session write limit for this role+scope.\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this policy is being set (audit trail).\",\n },\n },\n required: [\"action\"],\n response: {\n description: \"Policy operation result\",\n fields: {\n action: \"string — get | set\",\n topicId: \"string|null — topic scope or null for global\",\n policies: \"array — (for get) list of matching policies\",\n role: \"string — (for set) role that was updated\",\n permission: \"string — (for set) new permission level\",\n maxWritesPerSession: \"number|null — (for set) session write cap\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// ONTOLOGY TOOLS (ontology lifecycle, version management)\n// =============================================================================\n\nexport const LIST_ONTOLOGIES: McpToolContract = {\n name: \"list_ontologies\",\n description:\n \"List ontology definitions with optional filters. \" +\n \"Like `git remote -v` for ontologies — shows all registered ontology definitions \" +\n \"with their tier, status, and tenant scope.\",\n parameters: {\n tenantId: {\n type: \"string\",\n description: \"Filter by tenant ID. Omit for platform-level ontologies.\",\n },\n tier: {\n type: \"string\",\n description: \"Filter by tier\",\n enum: [\"platform\", \"pack\", \"tenant\"],\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\"draft\", \"active\", \"deprecated\", \"archived\"],\n },\n },\n required: [],\n response: {\n description: \"Array of ontology definitions\",\n fields: {\n ontologies:\n \"array — ontology definitions with id, ontologyKey, name, tier, status\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const GET_ONTOLOGY: McpToolContract = {\n name: \"get_ontology\",\n description:\n \"Get a single ontology definition by ID or ontologyKey. \" +\n \"Like `git show` for an ontology — returns the definition metadata plus the latest \" +\n \"published version with entity types and edge types.\",\n parameters: {\n id: {\n type: \"string\",\n description: \"Ontology definition ID (Convex document ID)\",\n },\n ontologyKey: {\n type: \"string\",\n description:\n \"Ontology key (e.g., 'investment-ontology'). Alternative to id.\",\n },\n tenantId: {\n type: \"string\",\n description: \"Tenant scope for key lookup. Omit for platform-level.\",\n },\n },\n required: [\"id\"],\n response: {\n description: \"Ontology definition with latest published version\",\n fields: {\n id: \"string — definition ID\",\n ontologyKey: \"string — unique key\",\n name: \"string — display name\",\n publishedVersion:\n \"object|null — latest published version with entityTypes and edgeTypes\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const APPLY_ONTOLOGY: McpToolContract = {\n name: \"apply_ontology\",\n description:\n \"Bind an ontology definition directly to a topic. \" +\n \"Like `git checkout` for a domain vocabulary — applies an ontology to a topic so the topic \" +\n \"and its descendants inherit the configured entity and edge schema.\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Canonical ontology identifier to bind\",\n },\n topicId: {\n type: \"string\",\n description: \"Canonical topic identifier to receive the binding\",\n },\n },\n required: [\"ontologyId\", \"topicId\"],\n response: {\n description: \"Ontology binding summary\",\n fields: {\n applied: \"boolean — true when the binding was written\",\n source: \"string — always 'direct' for an explicit bind\",\n ontologyId: \"string — canonical ontology ID\",\n ontologyKey: \"string — ontology key\",\n topicId: \"string — canonical topic ID\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const MATCH_ENTITY_TYPE: McpToolContract = {\n name: \"match_entity_type\",\n description:\n \"Classify free text against the effective ontology vocabulary. \" +\n \"Like `git grep` for ontology types — ranks the most likely entity types for the supplied text \" +\n \"using the topic-bound or explicitly selected ontology.\",\n parameters: {\n text: {\n type: \"string\",\n description: \"Free text to classify against ontology entity types\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Canonical topic ID used to resolve the effective ontology when ontologyId is omitted\",\n },\n ontologyId: {\n type: \"string\",\n description:\n \"Optional ontology definition ID to match against instead of the topic-bound ontology\",\n },\n minScore: {\n type: \"number\",\n description: \"Optional lower similarity bound for returned matches\",\n },\n limit: {\n type: \"number\",\n description: \"Optional maximum number of ranked matches to return\",\n },\n },\n required: [\"text\", \"ontologyId\"],\n response: {\n description: \"Ranked ontology entity type matches\",\n fields: {\n matches:\n \"array — ranked entity type matches with score, entityType, label, and optional description\",\n ontologyId: \"string|null — ontology used for matching\",\n topicId: \"string|null — topic scope used for ontology resolution\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const CREATE_ONTOLOGY: McpToolContract = {\n name: \"create_ontology\",\n description:\n \"Create a new ontology definition. \" +\n \"Like `git init` for a domain vocabulary — creates a named, versioned container for \" +\n \"entity types and edge types. Starts in 'draft' status.\",\n parameters: {\n ontologyKey: {\n type: \"string\",\n description:\n \"Unique key (lowercase, hyphens, e.g., 'investment-ontology')\",\n },\n name: { type: \"string\", description: \"Human-readable name\" },\n description: { type: \"string\", description: \"What this ontology covers\" },\n tenantId: {\n type: \"string\",\n description: \"Tenant scope. Omit for platform-level.\",\n },\n tier: {\n type: \"string\",\n description: \"Ontology tier\",\n enum: [\"platform\", \"pack\", \"tenant\"],\n },\n parentOntologyId: {\n type: \"string\",\n description: \"Parent ontology ID for layered composition\",\n },\n },\n required: [\"ontologyKey\", \"name\", \"tier\"],\n response: {\n description: \"Created ontology definition\",\n fields: {\n id: \"string — new definition ID\",\n ontologyKey: \"string — normalized key\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const UPDATE_ONTOLOGY: McpToolContract = {\n name: \"update_ontology\",\n description:\n \"Update an ontology definition's metadata (name, description, status). \" +\n \"Like `git config` for an ontology — updates mutable fields on the definition. \" +\n \"Only allowed while the ontology is in draft or active status.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology definition ID\" },\n name: { type: \"string\", description: \"New display name\" },\n description: { type: \"string\", description: \"New description\" },\n status: {\n type: \"string\",\n description: \"New status\",\n enum: [\"draft\", \"active\", \"deprecated\"],\n },\n },\n required: [\"id\"],\n response: {\n description: \"Update confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_ONTOLOGY: McpToolContract = {\n name: \"archive_ontology\",\n description:\n \"Archive an ontology definition. \" +\n \"Like `git rm` for an ontology — soft-deletes the definition. \" +\n \"Archived ontologies are preserved in history but no longer active.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology definition ID to archive\" },\n },\n required: [\"id\"],\n response: {\n description: \"Archive confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const CREATE_ONTOLOGY_VERSION: McpToolContract = {\n name: \"create_ontology_version\",\n description:\n \"Create a new version snapshot for an ontology definition. \" +\n \"Like `git commit` for ontology content — captures entity types and edge types \" +\n \"in a versioned snapshot. Starts in 'draft' status. Publish to freeze.\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Parent ontology definition ID\",\n },\n version: {\n type: \"string\",\n description: \"Semantic version string (X.Y.Z format)\",\n },\n entityTypes: {\n type: \"array\",\n description:\n \"Array of entity type definitions: [{ value, label, description?, schema?, subtypes? }]\",\n },\n edgeTypes: {\n type: \"array\",\n description:\n \"Array of edge type definitions: [{ value, label, description?, sourceTypes?, targetTypes?, constraintSeverity? }]\",\n },\n releaseNotes: {\n type: \"string\",\n description: \"Optional release notes for this version\",\n },\n },\n required: [\"ontologyId\", \"version\", \"entityTypes\", \"edgeTypes\"],\n response: {\n description: \"Created version\",\n fields: {\n id: \"string — new version ID\",\n version: \"string — version string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const PUBLISH_ONTOLOGY_VERSION: McpToolContract = {\n name: \"publish_ontology_version\",\n description:\n \"Publish a draft ontology version — freezes it permanently. \" +\n \"Like `git tag` for an ontology release — the version becomes immutable after publish. \" +\n \"If the parent definition is still in 'draft', promotes it to 'active'.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology version ID to publish\" },\n },\n required: [\"id\"],\n response: {\n description: \"Publish confirmation\",\n fields: {\n success: \"boolean\",\n publishedAt: \"number — timestamp\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const DEPRECATE_ONTOLOGY_VERSION: McpToolContract = {\n name: \"deprecate_ontology_version\",\n description:\n \"Deprecate a published ontology version. \" +\n \"Like `git tag -d` for an ontology release — marks the version as deprecated. \" +\n \"Only published versions can be deprecated.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology version ID to deprecate\" },\n },\n required: [\"id\"],\n response: {\n description: \"Deprecation confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const RESOLVE_EFFECTIVE_ONTOLOGY: McpToolContract = {\n name: \"resolve_effective_ontology\",\n description:\n \"Resolve the effective ontology by composing the parent chain. \" +\n \"Like `git merge --squash` for ontology layers — walks parentOntologyId chain \" +\n \"(max depth 3) and merges entity/edge types additively from root (platform) to leaf (tenant).\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Ontology definition ID to resolve from\",\n },\n },\n required: [\"ontologyId\"],\n response: {\n description: \"Merged ontology with composed entity and edge types\",\n fields: {\n entityTypes: \"array — merged entity types from all layers\",\n edgeTypes: \"array — merged edge types from all layers\",\n layers: \"array — ontology keys in composition order\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// FUNCTION SURFACE WORKFLOW TOOLS\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const RECORD_SCOPE_LEARNING: McpToolContract = {\n name: \"record_scope_learning\",\n description:\n \"Write a structured learning entry into the epistemic spine. \" +\n \"Like `git commit` for scope learnings — records evidence, can attach to a belief, and can open a follow-up belief/question in one atomic workflow.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope ID\" },\n summary: { type: \"string\", description: \"Atomic learning statement\" },\n title: {\n type: \"string\",\n description: \"Optional evidence title, such as a commit, doc, or issue.\",\n },\n body: {\n type: \"string\",\n description:\n \"Optional rich evidence body. If omitted, body is synthesized from summary and touched paths.\",\n },\n contentType: {\n type: \"string\",\n description: \"Optional evidence body format, such as markdown or text.\",\n },\n sourceKind: {\n type: \"string\",\n description: \"Source type for the learning event\",\n enum: [\"commit\", \"merge\", \"doc\", \"issue\", \"manual\"],\n },\n sourceRef: {\n type: \"string\",\n description: \"Optional source reference, such as SHA, PR number, or URL slug.\",\n },\n sourceUrl: { type: \"string\", description: \"Optional canonical source URL\" },\n touchedPaths: {\n type: \"array\",\n description: \"Optional touched file paths for retrieval hints\",\n },\n tags: { type: \"array\", description: \"Optional tags\" },\n linkedBeliefNodeId: {\n type: \"string\",\n description: \"Optional belief to attach evidence to\",\n },\n evidenceRelation: {\n type: \"string\",\n description: \"Relation to linked belief\",\n enum: [\"supports\", \"contradicts\"],\n },\n confidence: { type: \"number\", description: \"Optional confidence in [0,1]\" },\n createQuestionText: {\n type: \"string\",\n description: \"Optional follow-up question text\",\n },\n createBeliefText: {\n type: \"string\",\n description: \"Optional new belief text\",\n },\n beliefType: {\n type: \"string\",\n description: \"Optional belief type for createBeliefText\",\n },\n },\n required: [\"summary\"],\n response: {\n description: \"Created learning artifacts\",\n fields: {\n topicId: \"string — resolved topic ID\",\n evidenceNodeId: \"string\",\n linkedBeliefNodeId: \"string | null\",\n createdQuestionId: \"string | null\",\n createdBeliefId: \"string | null\",\n sourceUrl: \"string\",\n createdAt: \"number\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const PIPELINE_SNAPSHOT: McpToolContract = {\n name: \"pipeline_snapshot\",\n description:\n \"Summarize a topic's worktree pipeline in campaign-and-lane form. \" +\n \"Like `git status --short` for Lucern execution — returns the hinge worktree, next planned wave, blockers, critical path, superseded work, and graph hygiene debt.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope ID\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Human-oriented pipeline summary for a single topic scope\",\n fields: {\n topicId: \"string\",\n topicName: \"string\",\n currentCampaign: \"number | null\",\n nextCampaign: \"number | null\",\n activeWorktrees: \"array — current hinge worktree(s)\",\n nextWave: \"array — worktrees in the next planned campaign\",\n readyNow: \"array — planning worktrees with dependencies completed\",\n blockedBy: \"array — grouped blockers\",\n criticalPath: \"array — ordered incomplete worktree chain\",\n campaigns: \"array — incomplete worktrees grouped by campaign\",\n superseded: \"array — worktrees marked superseded or not for activation\",\n graphHygiene: \"object — untargeted and taskless worktree debt\",\n riskQuestions: \"array — critical/high open questions\",\n narrative: \"array — concise natural-language summary lines\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const DISCOVER: McpToolContract = {\n name: \"discover\",\n description:\n \"Navigate the topic tree to find where knowledge lives. \" +\n \"Like `git log --all --grep` — searches across the graph using bottom-up content matching plus top-down structural scoring.\",\n parameters: {\n query: {\n type: \"string\",\n description: \"What to look for across the topic tree\",\n },\n topK: {\n type: \"number\",\n description: \"How many matching topics to return (default: 3, max: 10)\",\n },\n includeNeighborhood: {\n type: \"boolean\",\n description:\n \"Whether to include beliefs/questions/evidence for matched topics\",\n },\n },\n required: [\"query\"],\n response: {\n description: \"Ranked topic matches with optional neighborhood content\",\n fields: {\n query: \"string — original query\",\n matchedTopics: \"array — ranked topics with scores and paths\",\n neighborhoods: \"array — beliefs, questions, evidence for each match\",\n totalTopicsScored: \"number\",\n topicTreeSize: \"number\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n deprecated: \"Deprecated: use lucern.context.compile() with topicId\",\n};\n\nexport const ANALYZE_TOPIC_DENSITY: McpToolContract = {\n name: \"analyze_topic_density\",\n description:\n \"Analyze topic belief density and identify natural conceptual clusters. \" +\n \"Like `git diff --stat` for topic organization — detects when a topic has accumulated too many beliefs and suggests subtopic decomposition.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic ID to analyze\" },\n threshold: {\n type: \"number\",\n description: \"Belief count threshold for density warning\",\n },\n minModularity: {\n type: \"number\",\n description: \"Minimum modularity score for suggesting decomposition\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Density analysis with cluster suggestions\",\n fields: {\n topicId: \"string\",\n topicName: \"string\",\n beliefCount: \"number\",\n edgeCount: \"number\",\n threshold: \"number\",\n isDense: \"boolean\",\n modularity: \"number\",\n clusterCount: \"number\",\n clusters: \"array — suggested belief clusters\",\n recommendation: \"string\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const APPLY_AUTO_BRANCHING: McpToolContract = {\n name: \"apply_auto_branching\",\n description:\n \"Execute topic decomposition by creating subtopics and reassigning beliefs. \" +\n \"Like `git subtree split` — splits a dense topic into focused subtopics while preserving belief identity and edges.\",\n parameters: {\n topicId: { type: \"string\", description: \"Parent topic ID to decompose\" },\n clusters: {\n type: \"array\",\n description:\n \"Cluster definitions from analyze_topic_density, each with name and beliefIds\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"Preview changes without applying them\",\n },\n },\n required: [\"topicId\", \"clusters\"],\n response: {\n description: \"Results of the auto-branching operation\",\n fields: {\n success: \"boolean\",\n parentTopicId: \"string\",\n createdSubtopics: \"array\",\n totalReassigned: \"number\",\n totalSkipped: \"number\",\n dryRun: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const SEED_BELIEF_LATTICE: McpToolContract = {\n name: \"seed_belief_lattice\",\n description:\n \"Seed belief lattice coverage for a topic based on its resolved ontology. \" +\n \"Like `git init` for ontology coverage — creates or previews seed beliefs for entity types that need a baseline anchor.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID. Lattice seeding must target a child topic.\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"Preview seeds without creating them\",\n },\n },\n required: [],\n response: {\n description: \"Lattice seed results with per-entity-type status\",\n fields: {\n topicId: \"string\",\n ontologyResolved: \"boolean\",\n ontologyKey: \"string | null\",\n ontologyVersion: \"string | null\",\n entityTypeCount: \"number\",\n seeds: \"array — per-entity-type seed status\",\n summary: \"object — created/existing/scored/total counts\",\n dryRun: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GET_LATTICE_COVERAGE: McpToolContract = {\n name: \"get_lattice_coverage\",\n description:\n \"Report belief lattice coverage for a topic. \" +\n \"Like `git fsck` for ontology coverage — identifies anchored, hollow, and missing entity-type belief coverage.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID to check lattice coverage for\",\n },\n },\n required: [],\n response: {\n description: \"Per-entity-type coverage with overall score\",\n fields: {\n topicId: \"string\",\n ontologyKey: \"string | null\",\n ontologyVersion: \"string | null\",\n entityTypes: \"array — per-entity-type coverage rows\",\n summary: \"object — total/anchored/hollow/missing/coverageScore\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const DISCOVER_ENTITY_CONNECTIONS: McpToolContract = {\n name: \"discover_entity_connections\",\n description:\n \"Find existing entities that should be connected to a belief/question/evidence node. \" +\n \"Like `git log --diff-filter=M` for missing entity connections — scans entities in scope and suggests bridge edge types.\",\n parameters: {\n nodeId: {\n type: \"string\",\n description: \"Epistemic node ID to find entity connections for\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope override\",\n },\n minScore: {\n type: \"number\",\n description: \"Minimum match score threshold\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum candidates to return\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Ranked entity connection candidates\",\n fields: {\n nodeId: \"string\",\n candidateCount: \"number\",\n candidates: \"array — suggested entity bridge candidates\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const TRIGGER_BELIEF_REVIEW: McpToolContract = {\n name: \"trigger_belief_review\",\n description:\n \"Flag beliefs for review after an entity changes. \" +\n \"Like `git bisect` for stale beliefs — traverses bridge edges from the changed entity and creates review questions for stale connected beliefs.\",\n parameters: {\n entityNodeId: {\n type: \"string\",\n description: \"The entity node that changed\",\n },\n changeDescription: {\n type: \"string\",\n description: \"What changed about the entity\",\n },\n maxQuestions: {\n type: \"number\",\n description: \"Maximum review questions to create\",\n },\n },\n required: [\"entityNodeId\"],\n response: {\n description: \"Affected beliefs and created review questions\",\n fields: {\n entityNodeId: \"string\",\n entityTitle: \"string\",\n entityType: \"string\",\n changeDescription: \"string\",\n affectedBeliefCount: \"number\",\n questionsCreated: \"number\",\n reviewedBeliefs: \"array\",\n questions: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const EVALUATE_CONTRACT: McpToolContract = {\n name: \"evaluate_contract\",\n description:\n \"Run a contract evaluation and record the append-only result. \" +\n \"Like `git test` for a belief binding — executes the evaluator, logs the result, and applies any allowed SL scoring action.\",\n parameters: {\n contractId: { type: \"string\", description: \"Which contract to evaluate\" },\n trigger: {\n type: \"string\",\n description: \"What caused this evaluation\",\n },\n },\n required: [\"contractId\"],\n response: {\n description: \"The most recent contract evaluation result\",\n fields: {\n evaluationId: \"string\",\n result: \"string\",\n status: \"string\",\n confidenceBefore: \"number\",\n confidenceAfter: \"number\",\n rationale: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const GET_CONTRACT_STATUS: McpToolContract = {\n name: \"get_contract_status\",\n description:\n \"Inspect epistemic contracts and their latest evaluations. \" +\n \"Like `git status` for verification bindings — returns the contract rows plus the freshest recorded evaluation for each one.\",\n parameters: {\n beliefNodeId: {\n type: \"string\",\n description: \"Return all contracts attached to a specific belief\",\n },\n contractId: {\n type: \"string\",\n description: \"Return one specific contract by contractId\",\n },\n status: {\n type: \"string\",\n description: \"Optional status filter applied after lookup\",\n enum: [\"active\", \"satisfied\", \"violated\", \"expired\", \"suspended\", \"archived\"],\n },\n },\n required: [],\n response: {\n description: \"Matching contract rows with latest evaluation context\",\n fields: {\n contracts: \"array — matching contracts with latestEvaluation attached\",\n count: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const REGISTER_SESSION: McpToolContract = {\n name: \"register_session\",\n description:\n \"Announce this agent session's presence to other parallel sessions. \" +\n \"Like `git init` for coordination — creates a session record so other agents can discover you.\",\n parameters: {\n sessionName: { type: \"string\", description: \"Human-readable session label\" },\n agentType: { type: \"string\", description: \"Agent type\" },\n topicId: { type: \"string\", description: \"Current Lucern topic scope ID\" },\n worktreeId: { type: \"string\", description: \"Active Lucern worktree ID\" },\n gitBranch: { type: \"string\", description: \"Current git branch name\" },\n },\n required: [],\n response: {\n description: \"Session registration result\",\n fields: {\n sessionId: \"string\",\n status: \"string — active\",\n isNew: \"boolean\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const HEARTBEAT_SESSION: McpToolContract = {\n name: \"heartbeat_session\",\n description:\n \"Update this session's heartbeat and optional status fields. \" +\n \"Like `git status` — signals liveness and updates what you are working on.\",\n parameters: {\n topicId: { type: \"string\", description: \"Updated topic scope\" },\n worktreeId: { type: \"string\", description: \"Updated worktree ID\" },\n gitBranch: { type: \"string\", description: \"Updated git branch\" },\n status: {\n type: \"string\",\n description: \"Session status update\",\n enum: [\"active\", \"idle\"],\n },\n },\n required: [],\n response: {\n description: \"Heartbeat result\",\n fields: {\n success: \"boolean\",\n message: \"string\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const END_SESSION: McpToolContract = {\n name: \"end_session\",\n description:\n \"Gracefully end this agent session. \" +\n \"Like `git stash` — marks the session as ended so other agents know you are gone.\",\n parameters: {},\n required: [],\n response: {\n description: \"Session end result\",\n fields: {\n success: \"boolean\",\n message: \"string\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const LIST_ACTIVE_SESSIONS: McpToolContract = {\n name: \"list_active_sessions\",\n description:\n \"See who else is online with active agent sessions, scope, branch, and file claims. \" +\n \"Like `git branch --list` for live agents — shows active and idle sessions before editing.\",\n parameters: {\n includeIdle: {\n type: \"boolean\",\n description: \"Include idle sessions\",\n },\n },\n required: [],\n response: {\n description: \"List of active/idle agent sessions\",\n fields: {\n sessions: \"array — active session records\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const SEND_AGENT_MESSAGE: McpToolContract = {\n name: \"send_agent_message\",\n description:\n \"Send a directed message to a specific agent session. \" +\n \"Like `git notes` — leaves a coordination note for a specific peer.\",\n parameters: {\n toSessionId: { type: \"string\", description: \"Target session ID\" },\n content: { type: \"string\", description: \"Message text\" },\n messageType: {\n type: \"string\",\n description: \"Message intent\",\n enum: [\"note\", \"question\", \"answer\", \"alert\", \"handoff\"],\n },\n relatedBeliefId: {\n type: \"string\",\n description: \"Optional related belief node ID\",\n },\n relatedWorktreeId: {\n type: \"string\",\n description: \"Optional related worktree ID\",\n },\n },\n required: [\"toSessionId\", \"content\"],\n response: {\n description: \"Message delivery result\",\n fields: { messageId: \"string\" },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const BROADCAST_MESSAGE: McpToolContract = {\n name: \"broadcast_message\",\n description:\n \"Send a message to all active agent sessions. \" +\n \"Like `git tag` — marks an important event visible to everyone.\",\n parameters: {\n content: { type: \"string\", description: \"Broadcast message text\" },\n messageType: {\n type: \"string\",\n description: \"Message intent\",\n enum: [\"note\", \"alert\", \"handoff\"],\n },\n relatedBeliefId: {\n type: \"string\",\n description: \"Optional related belief node ID\",\n },\n relatedWorktreeId: {\n type: \"string\",\n description: \"Optional related worktree ID\",\n },\n },\n required: [\"content\"],\n response: {\n description: \"Broadcast result\",\n fields: { messageId: \"string\" },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GET_AGENT_INBOX: McpToolContract = {\n name: \"get_agent_inbox\",\n description:\n \"Check unread messages addressed to this session. \" +\n \"Like `git log --incoming` — shows direct and broadcast messages from other agents.\",\n parameters: {\n limit: { type: \"number\", description: \"Max messages to return\" },\n markAsRead: {\n type: \"boolean\",\n description: \"Mark returned messages as read\",\n },\n },\n required: [],\n response: {\n description: \"Inbox messages\",\n fields: {\n messages: \"array — unread direct and broadcast messages\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const CLAIM_FILES: McpToolContract = {\n name: \"claim_files\",\n description:\n \"Declare which files this session is actively editing. \" +\n \"Like `git add` for coordination — tells other sessions what you are touching and returns advisory conflicts.\",\n parameters: {\n files: {\n type: \"array\",\n description: \"File paths this session is actively editing\",\n },\n },\n required: [\"files\"],\n response: {\n description: \"File claim result with conflict detection\",\n fields: {\n success: \"boolean\",\n conflicts: \"array — conflicting file claims\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GENERATE_SESSION_HANDOFF: McpToolContract = {\n name: \"generate_session_handoff\",\n description:\n \"Generate a complete, zero-context handoff message for a new coding session. \" +\n \"Like `git format-patch` — produces a self-contained instruction set that bootstraps a fresh Lucern worktree session.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The Lucern worktree ID to generate handoff instructions for\",\n },\n gitWorktreePath: {\n type: \"string\",\n description: \"Optional existing git worktree path\",\n },\n gitBranchName: {\n type: \"string\",\n description: \"Optional branch name for the session\",\n },\n additionalContext: {\n type: \"string\",\n description: \"Optional extra context to include in the handoff\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"A complete handoff message ready for a new coding session\",\n fields: {\n handoffMessage: \"string\",\n worktreeId: \"string\",\n worktreeName: \"string\",\n trackBoundary: \"object\",\n needsActivation: \"boolean\",\n needsGitSetup: \"string — create | fast-forward | ready\",\n },\n },\n ownerModule: \"bootstrap\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n internal: true,\n};\n\nexport const BEGIN_BUILD_SESSION: McpToolContract = {\n name: \"begin_build_session\",\n description:\n \"Bootstrap a coding build session for a Lucern worktree. \" +\n \"Like `git worktree add` plus `git status` — returns the compact context packet an agent needs before editing.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The Lucern worktree ID to bootstrap.\",\n },\n branch: {\n type: \"string\",\n description:\n \"Optional git branch name. Auto-generated from the worktree name when omitted.\",\n },\n branchBase: {\n type: \"string\",\n description: 'Base branch for the feature branch. Default: \"staging\".',\n },\n prBase: {\n type: \"string\",\n description: 'Target branch for the PR. Default: \"staging\".',\n },\n sessionMode: {\n type: \"string\",\n description:\n 'Session mode: \"async\" for Codex/headless or \"interactive\" for live sessions.',\n enum: [\"async\", \"interactive\"],\n },\n activateIfPlanning: {\n type: \"boolean\",\n description:\n \"When true, automatically activate a planning worktree during bootstrap.\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description:\n \"A compact build-session packet with worktree metadata, graph anchors, questions, dependencies, and git defaults.\",\n fields: {\n topicId: \"string — canonical topic scope\",\n topicName: \"string — human-readable topic name\",\n worktreeId: \"string — worktree ID\",\n worktreeName: \"string — human-readable worktree name\",\n branch: \"string — git branch name\",\n branchBase: \"string — base branch\",\n prBase: \"string — PR target branch\",\n campaign: \"number | null — top-level pipeline campaign\",\n lane: \"string — campaign lane\",\n gate: \"string — exit gate\",\n hypothesis: \"string — worktree hypothesis\",\n focus: \"string — session focus\",\n status: \"string — worktree status after optional activation\",\n sessionMode: \"string — async | interactive\",\n targetBeliefIds: \"array — scoped belief IDs\",\n targetQuestionIds: \"array — scoped question IDs\",\n taskIds: \"array — assigned task IDs for this worktree\",\n incompleteTaskIds:\n \"array — assigned task IDs that still require done/deferred/blocked proof\",\n tasks:\n \"array — assigned task packet with id, title, status, priority, links, and summaries\",\n topBeliefs: \"array — highest-confidence scoped beliefs\",\n openQuestions: \"array — open scoped questions\",\n resolvedDecisions: \"array — answered questions summarized for the session\",\n dependencies: \"array — upstream worktrees\",\n unblocks: \"array — downstream worktrees\",\n mergeOrderNotes: \"string — merge ordering advisory\",\n },\n },\n ownerModule: \"bootstrap\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n internal: true,\n};\n","/**\n * MCP Tool Contract Definitions\n *\n * Stable facade for the split MCP contract catalog. Contract literals live in\n * focused tool-contracts.* modules; this file preserves the public import path\n * and owns the registry plus validation helpers.\n */\n\nimport type { McpToolContract } from \"./tool-contracts.types\";\n\nimport {\n CREATE_BELIEF,\n GET_BELIEF,\n REFINE_BELIEF,\n APPEND_SL_SCORING,\n FORK_BELIEF,\n ARCHIVE_BELIEF,\n CREATE_EPISTEMIC_CONTRACT,\n ADD_EVIDENCE,\n FLAG_CONTRADICTION,\n} from \"./tool-contracts.lifecycle\";\n\nimport {\n ADD_WORKTREE,\n LIST_WORKTREES_BY_BELIEF,\n MERGE,\n PUSH,\n OPEN_PULL_REQUEST,\n} from \"./tool-contracts.worktrees\";\n\nimport {\n QUERY_LINEAGE,\n QUERY_ANCHOR_HISTORY,\n GET_CONFIDENCE_HISTORY,\n GET_AUDIT_TRAIL,\n TRAVERSE_GRAPH,\n GET_GRAPH_NEIGHBORHOOD,\n TRACE_ENTITY_IMPACT,\n SEARCH_BELIEFS,\n FIND_CONTRADICTIONS,\n BISECT_CONFIDENCE,\n CREATE_EDGE,\n UPDATE_EDGE,\n REMOVE_EDGE,\n REMOVE_EDGES_BETWEEN,\n BATCH_CREATE_EDGES,\n} from \"./tool-contracts.graph\";\n\nimport {\n GET_EMBEDDINGS_BY_NODE_IDS,\n LIST_MISSING_EMBEDDINGS,\n QUEUE_EMBEDDING_BACKFILL,\n SEARCH_EMBEDDINGS,\n} from \"./tool-contracts.embeddings\";\n\nimport {\n ANALYZE_GRAPH_IMPACT,\n DETECT_GRAPH_DRIFT,\n EXPAND_GRAPH_NEIGHBORHOOD,\n FIND_RELATED_NODES,\n HYBRID_DISCOVER,\n RESOLVE_TOPIC_SEMANTIC,\n} from \"./tool-contracts.hybrid-discovery\";\n\nimport {\n CREATE_EPISTEMIC_NODE,\n GET_EPISTEMIC_NODE,\n LIST_EPISTEMIC_NODES,\n UPDATE_EPISTEMIC_NODE,\n ARCHIVE_EPISTEMIC_NODE,\n VERIFY_EPISTEMIC_NODE,\n SUPERSEDE_EPISTEMIC_NODE,\n BATCH_CREATE_EPISTEMIC_NODES,\n RECORD_JUDGMENT,\n CREATE_LENS,\n LIST_LENSES,\n APPLY_LENS_TO_TOPIC,\n REMOVE_LENS_FROM_TOPIC,\n} from \"./tool-contracts.nodes-lenses\";\n\nimport { LUCERN_ORIENT } from \"./tool-contracts.context-orientation\";\n\nimport {\n DETECT_CONFIRMATION_BIAS,\n GET_GRAPH_STRUCTURE_ANALYSIS,\n LIST_GRAPH_INTELLIGENCE_QUERIES,\n RUN_GRAPH_INTELLIGENCE_QUERY,\n GET_FALSIFICATION_QUESTIONS,\n SEARCH_EVIDENCE,\n CREATE_EVIDENCE,\n GET_EVIDENCE,\n LIST_EVIDENCE,\n ARCHIVE_EVIDENCE,\n LINK_EVIDENCE,\n LINK_EVIDENCE_TO_BELIEF,\n} from \"./tool-contracts.intelligence-evidence\";\n\nimport {\n CREATE_QUESTION,\n GET_QUESTION,\n REFINE_QUESTION,\n LIST_QUESTIONS,\n ANSWER_QUESTION,\n UPDATE_QUESTION_STATUS,\n ARCHIVE_QUESTION,\n LINK_EVIDENCE_TO_QUESTION,\n CREATE_ANSWER,\n GET_ANSWER,\n GET_HIGH_PRIORITY_QUESTIONS,\n FIND_MISSING_QUESTIONS,\n LIST_BELIEFS,\n GET_WORKTREE,\n LIST_WORKTREES,\n LIST_ALL_WORKTREES,\n LIST_CAMPAIGNS,\n ACTIVATE_WORKTREE,\n UPDATE_WORKTREE_TARGETS,\n UPDATE_WORKTREE_METADATA,\n IDENTITY_WHOAMI,\n RESOLVE_INTERACTIVE_PRINCIPAL,\n COMPILE_CONTEXT,\n} from \"./tool-contracts.questions-listing\";\n\nimport {\n CHECK_PERMISSION,\n COMPILE_CAPABILITY_SLICE,\n FILTER_BY_PERMISSION,\n INGEST_OBSERVATION,\n GET_OBSERVATION_CONTEXT,\n CREATE_TASK,\n COMPLETE_TASK,\n UPDATE_TASK,\n LIST_TASKS,\n CREATE_TOPIC,\n LIST_TOPICS,\n GET_TOPIC,\n UPDATE_TOPIC,\n GET_TOPIC_TREE,\n MATERIALIZE_TOPIC_GRAPH,\n GET_TOPIC_GRAPH_SPINE,\n GET_CODE_CONTEXT,\n GET_CHANGE_HISTORY,\n RECORD_ATTEMPT,\n GET_FAILURE_LOG,\n GET_TOPIC_COVERAGE,\n GET_GRAPH_GAPS,\n} from \"./tool-contracts.policy-observation-task-topic\";\n\nimport {\n MANAGE_WRITE_POLICY,\n LIST_ONTOLOGIES,\n GET_ONTOLOGY,\n APPLY_ONTOLOGY,\n MATCH_ENTITY_TYPE,\n CREATE_ONTOLOGY,\n UPDATE_ONTOLOGY,\n ARCHIVE_ONTOLOGY,\n CREATE_ONTOLOGY_VERSION,\n PUBLISH_ONTOLOGY_VERSION,\n DEPRECATE_ONTOLOGY_VERSION,\n RESOLVE_EFFECTIVE_ONTOLOGY,\n} from \"./tool-contracts.ontology\";\n\nimport {\n RECORD_SCOPE_LEARNING,\n PIPELINE_SNAPSHOT,\n DISCOVER,\n ANALYZE_TOPIC_DENSITY,\n APPLY_AUTO_BRANCHING,\n SEED_BELIEF_LATTICE,\n GET_LATTICE_COVERAGE,\n DISCOVER_ENTITY_CONNECTIONS,\n TRIGGER_BELIEF_REVIEW,\n EVALUATE_CONTRACT,\n GET_CONTRACT_STATUS,\n REGISTER_SESSION,\n HEARTBEAT_SESSION,\n END_SESSION,\n LIST_ACTIVE_SESSIONS,\n SEND_AGENT_MESSAGE,\n BROADCAST_MESSAGE,\n GET_AGENT_INBOX,\n CLAIM_FILES,\n GENERATE_SESSION_HANDOFF,\n BEGIN_BUILD_SESSION,\n} from \"./tool-contracts.pipeline-coordination\";\n\nexport type { McpParameterDef, McpResponseDef, McpToolContract } from \"./tool-contracts.types\";\nexport * from \"./tool-contracts.lifecycle\";\nexport * from \"./tool-contracts.worktrees\";\nexport * from \"./tool-contracts.graph\";\nexport * from \"./tool-contracts.embeddings\";\nexport * from \"./tool-contracts.hybrid-discovery\";\nexport * from \"./tool-contracts.nodes-lenses\";\nexport * from \"./tool-contracts.context-orientation\";\nexport * from \"./tool-contracts.intelligence-evidence\";\nexport * from \"./tool-contracts.questions-listing\";\nexport * from \"./tool-contracts.policy-observation-task-topic\";\nexport * from \"./tool-contracts.ontology\";\nexport * from \"./tool-contracts.pipeline-coordination\";\n\n// =============================================================================\n// TOOL REGISTRY\n// =============================================================================\n\n/** All MCP tool contracts, indexed by name */\nexport const MCP_TOOL_CONTRACTS: Record<string, McpToolContract> = {\n // Belief lifecycle (commit, amend, fork, archive)\n create_belief: CREATE_BELIEF,\n get_belief: GET_BELIEF,\n refine_belief: REFINE_BELIEF,\n append_sl_scoring: APPEND_SL_SCORING,\n fork_belief: FORK_BELIEF,\n archive_belief: ARCHIVE_BELIEF,\n create_epistemic_contract: CREATE_EPISTEMIC_CONTRACT,\n evaluate_contract: EVALUATE_CONTRACT,\n get_contract_status: GET_CONTRACT_STATUS,\n // Evidence (commit)\n create_evidence: CREATE_EVIDENCE,\n get_evidence: GET_EVIDENCE,\n list_evidence: LIST_EVIDENCE,\n archive_evidence: ARCHIVE_EVIDENCE,\n link_evidence: LINK_EVIDENCE,\n add_evidence: ADD_EVIDENCE,\n // Contradictions (merge conflict)\n flag_contradiction: FLAG_CONTRADICTION,\n // Lens lifecycle (workspace-scoped operational frames)\n create_lens: CREATE_LENS,\n list_lenses: LIST_LENSES,\n apply_lens_to_topic: APPLY_LENS_TO_TOPIC,\n remove_lens_from_topic: REMOVE_LENS_FROM_TOPIC,\n // Worktree lifecycle (git worktree add → merge → push → pull request)\n add_worktree: ADD_WORKTREE,\n merge: MERGE,\n push: PUSH,\n open_pull_request: OPEN_PULL_REQUEST,\n // Lineage and audit (log, blame)\n query_lineage: QUERY_LINEAGE,\n query_anchor_history: QUERY_ANCHOR_HISTORY,\n get_confidence_history: GET_CONFIDENCE_HISTORY,\n get_audit_trail: GET_AUDIT_TRAIL,\n // Graph queries (traverse, search, bisect, entity impact)\n traverse_graph: TRAVERSE_GRAPH,\n get_graph_neighborhood: GET_GRAPH_NEIGHBORHOOD,\n trace_entity_impact: TRACE_ENTITY_IMPACT,\n search_beliefs: SEARCH_BELIEFS,\n find_contradictions: FIND_CONTRADICTIONS,\n bisect_confidence: BISECT_CONFIDENCE,\n list_missing_embeddings: LIST_MISSING_EMBEDDINGS,\n search_embeddings: SEARCH_EMBEDDINGS,\n get_embeddings_by_node_ids: GET_EMBEDDINGS_BY_NODE_IDS,\n queue_embedding_backfill: QUEUE_EMBEDDING_BACKFILL,\n hybrid_discover: HYBRID_DISCOVER,\n resolve_topic_semantic: RESOLVE_TOPIC_SEMANTIC,\n expand_graph_neighborhood: EXPAND_GRAPH_NEIGHBORHOOD,\n find_related_nodes: FIND_RELATED_NODES,\n analyze_graph_impact: ANALYZE_GRAPH_IMPACT,\n detect_graph_drift: DETECT_GRAPH_DRIFT,\n // Edges (commit)\n create_edge: CREATE_EDGE,\n update_edge: UPDATE_EDGE,\n remove_edge: REMOVE_EDGE,\n remove_edges_between: REMOVE_EDGES_BETWEEN,\n batch_create_edges: BATCH_CREATE_EDGES,\n // Epistemic node spine (commit/amend/show)\n create_epistemic_node: CREATE_EPISTEMIC_NODE,\n get_epistemic_node: GET_EPISTEMIC_NODE,\n list_epistemic_nodes: LIST_EPISTEMIC_NODES,\n update_epistemic_node: UPDATE_EPISTEMIC_NODE,\n archive_epistemic_node: ARCHIVE_EPISTEMIC_NODE,\n verify_epistemic_node: VERIFY_EPISTEMIC_NODE,\n supersede_epistemic_node: SUPERSEDE_EPISTEMIC_NODE,\n batch_create_epistemic_nodes: BATCH_CREATE_EPISTEMIC_NODES,\n // Judgments (tag)\n record_judgment: RECORD_JUDGMENT,\n // Graph intelligence (showcase)\n detect_confirmation_bias: DETECT_CONFIRMATION_BIAS,\n get_graph_structure_analysis: GET_GRAPH_STRUCTURE_ANALYSIS,\n list_graph_intelligence_queries: LIST_GRAPH_INTELLIGENCE_QUERIES,\n run_graph_intelligence_query: RUN_GRAPH_INTELLIGENCE_QUERY,\n get_falsification_questions: GET_FALSIFICATION_QUESTIONS,\n // Evidence operations (workhorse)\n search_evidence: SEARCH_EVIDENCE,\n link_evidence_to_belief: LINK_EVIDENCE_TO_BELIEF,\n // Answer lifecycle (L2 question responses)\n create_answer: CREATE_ANSWER,\n get_answer: GET_ANSWER,\n // Question operations (workhorse)\n create_question: CREATE_QUESTION,\n get_question: GET_QUESTION,\n refine_question: REFINE_QUESTION,\n list_questions: LIST_QUESTIONS,\n answer_question: ANSWER_QUESTION,\n update_question_status: UPDATE_QUESTION_STATUS,\n archive_question: ARCHIVE_QUESTION,\n link_evidence_to_question: LINK_EVIDENCE_TO_QUESTION,\n get_high_priority_questions: GET_HIGH_PRIORITY_QUESTIONS,\n find_missing_questions: FIND_MISSING_QUESTIONS,\n // Listing & query (workhorse)\n list_beliefs: LIST_BELIEFS,\n get_worktree: GET_WORKTREE,\n list_worktrees: LIST_WORKTREES,\n list_all_worktrees: LIST_ALL_WORKTREES,\n list_worktrees_by_belief: LIST_WORKTREES_BY_BELIEF,\n list_campaigns: LIST_CAMPAIGNS,\n activate_worktree: ACTIVATE_WORKTREE,\n update_worktree_targets: UPDATE_WORKTREE_TARGETS,\n update_worktree_metadata: UPDATE_WORKTREE_METADATA,\n identity_whoami: IDENTITY_WHOAMI,\n resolve_interactive_principal: RESOLVE_INTERACTIVE_PRINCIPAL,\n lucern_orient: LUCERN_ORIENT,\n compile_context: COMPILE_CONTEXT,\n record_scope_learning: RECORD_SCOPE_LEARNING,\n pipeline_snapshot: PIPELINE_SNAPSHOT,\n discover: DISCOVER,\n analyze_topic_density: ANALYZE_TOPIC_DENSITY,\n apply_auto_branching: APPLY_AUTO_BRANCHING,\n seed_belief_lattice: SEED_BELIEF_LATTICE,\n get_lattice_coverage: GET_LATTICE_COVERAGE,\n discover_entity_connections: DISCOVER_ENTITY_CONNECTIONS,\n trigger_belief_review: TRIGGER_BELIEF_REVIEW,\n register_session: REGISTER_SESSION,\n heartbeat_session: HEARTBEAT_SESSION,\n end_session: END_SESSION,\n list_active_sessions: LIST_ACTIVE_SESSIONS,\n send_agent_message: SEND_AGENT_MESSAGE,\n broadcast_message: BROADCAST_MESSAGE,\n get_agent_inbox: GET_AGENT_INBOX,\n claim_files: CLAIM_FILES,\n generate_session_handoff: GENERATE_SESSION_HANDOFF,\n begin_build_session: BEGIN_BUILD_SESSION,\n // Policy / ACL (workhorse)\n check_permission: CHECK_PERMISSION,\n compile_capability_slice: COMPILE_CAPABILITY_SLICE,\n filter_by_permission: FILTER_BY_PERMISSION,\n // Write policy (S2-13K Graph Compounding)\n manage_write_policy: MANAGE_WRITE_POLICY,\n // Observation context (workhorse)\n ingest_observation: INGEST_OBSERVATION,\n get_observation_context: GET_OBSERVATION_CONTEXT,\n // Task lifecycle (workhorse)\n create_task: CREATE_TASK,\n complete_task: COMPLETE_TASK,\n update_task: UPDATE_TASK,\n list_tasks: LIST_TASKS,\n // Topic lifecycle (init, remote)\n create_topic: CREATE_TOPIC,\n list_topics: LIST_TOPICS,\n get_topic: GET_TOPIC,\n update_topic: UPDATE_TOPIC,\n get_topic_tree: GET_TOPIC_TREE,\n materialize_topic_graph: MATERIALIZE_TOPIC_GRAPH,\n get_topic_graph_spine: GET_TOPIC_GRAPH_SPINE,\n // Coding intelligence (code-grounded knowledge)\n get_code_context: GET_CODE_CONTEXT,\n get_change_history: GET_CHANGE_HISTORY,\n record_attempt: RECORD_ATTEMPT,\n get_failure_log: GET_FAILURE_LOG,\n // Graph self-intelligence (coverage, gaps)\n get_topic_coverage: GET_TOPIC_COVERAGE,\n get_graph_gaps: GET_GRAPH_GAPS,\n // Ontology lifecycle (definition CRUD, version management)\n list_ontologies: LIST_ONTOLOGIES,\n get_ontology: GET_ONTOLOGY,\n apply_ontology: APPLY_ONTOLOGY,\n match_entity_type: MATCH_ENTITY_TYPE,\n create_ontology: CREATE_ONTOLOGY,\n update_ontology: UPDATE_ONTOLOGY,\n archive_ontology: ARCHIVE_ONTOLOGY,\n create_ontology_version: CREATE_ONTOLOGY_VERSION,\n publish_ontology_version: PUBLISH_ONTOLOGY_VERSION,\n deprecate_ontology_version: DEPRECATE_ONTOLOGY_VERSION,\n resolve_effective_ontology: RESOLVE_EFFECTIVE_ONTOLOGY,\n};\n\n/** Tool names that MUST include git-semantic language in descriptions */\nexport const GIT_SEMANTIC_REQUIRED_TOOLS = Object.keys(MCP_TOOL_CONTRACTS);\n\n/**\n * Lint validation: every tool description must contain \"Like `git\" or \"Like a `git\"\n * or reference a git operation in the first sentence.\n */\nexport function validateGitSemantics(tool: McpToolContract): {\n valid: boolean;\n reason?: string;\n} {\n const desc = tool.description;\n const hasGitReference =\n /Like (`git |a `git |a merge conflict|opening a `git)/.test(desc);\n if (!hasGitReference) {\n return {\n valid: false,\n reason: `Tool \"${tool.name}\" description missing git-semantic reference`,\n };\n }\n return { valid: true };\n}\n","import type {\n FunctionSurfaceIntent,\n SurfaceClass,\n SurfaceExposure,\n FunctionSurfaceMap,\n} from \"./types.js\";\n\nexport type LucernOperationManifestEntry = {\n name: string;\n surfaceClass: SurfaceClass;\n surfaceIntent: FunctionSurfaceIntent;\n surfaces: FunctionSurfaceMap;\n rationale: string;\n};\n\nconst publicEverywhere: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"public\",\n cli: \"public\",\n};\n\nconst internalSystem: FunctionSurfaceMap = {\n sdk: \"internal\",\n rest: \"internal\",\n mcp: \"internal\",\n cli: \"internal\",\n};\n\nconst internalSdkRestOnly: FunctionSurfaceMap = {\n sdk: \"internal\",\n rest: \"internal\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst publicWithInternalMcp: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"internal\",\n cli: \"public\",\n};\n\nconst publicWithoutMcp: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst sdkOnlyPublic: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"none\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst mcpOnlyInternal: FunctionSurfaceMap = {\n sdk: \"none\",\n rest: \"none\",\n mcp: \"internal\",\n cli: \"none\",\n};\n\nfunction entries(\n names: readonly string[],\n surfaceClass: SurfaceClass,\n surfaceIntent: FunctionSurfaceIntent,\n surfaces: FunctionSurfaceMap,\n rationale: string\n): Record<string, LucernOperationManifestEntry> {\n return Object.fromEntries(\n names.map((name) => [\n name,\n {\n name,\n surfaceClass,\n surfaceIntent,\n surfaces,\n rationale,\n },\n ])\n );\n}\n\nexport const MCP_CORE_OPERATION_NAMES = [\n \"lucern_orient\",\n \"compile_context\",\n \"identity_whoami\",\n \"resolve_interactive_principal\",\n \"check_permission\",\n \"compile_capability_slice\",\n \"filter_by_permission\",\n \"create_belief\",\n \"get_belief\",\n \"list_beliefs\",\n \"refine_belief\",\n \"fork_belief\",\n \"archive_belief\",\n \"search_beliefs\",\n \"bisect_confidence\",\n \"create_evidence\",\n \"get_evidence\",\n \"list_evidence\",\n \"archive_evidence\",\n \"search_evidence\",\n \"link_evidence_to_belief\",\n \"link_evidence_to_question\",\n \"create_question\",\n \"get_question\",\n \"list_questions\",\n \"refine_question\",\n \"update_question_status\",\n \"archive_question\",\n \"create_answer\",\n \"get_answer\",\n \"find_missing_questions\",\n \"get_high_priority_questions\",\n \"get_falsification_questions\",\n \"create_epistemic_node\",\n \"get_epistemic_node\",\n \"list_epistemic_nodes\",\n \"update_epistemic_node\",\n \"archive_epistemic_node\",\n \"verify_epistemic_node\",\n \"supersede_epistemic_node\",\n \"batch_create_epistemic_nodes\",\n \"create_topic\",\n \"get_topic\",\n \"list_topics\",\n \"update_topic\",\n \"get_topic_tree\",\n \"materialize_topic_graph\",\n \"get_topic_graph_spine\",\n] as const;\n\nexport const MCP_ANALYSIS_PLATFORM_OPERATION_NAMES = [\n \"create_edge\",\n \"update_edge\",\n \"remove_edge\",\n \"remove_edges_between\",\n \"batch_create_edges\",\n \"query_lineage\",\n \"query_anchor_history\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"get_graph_structure_analysis\",\n \"list_graph_intelligence_queries\",\n \"run_graph_intelligence_query\",\n \"list_missing_embeddings\",\n \"search_embeddings\",\n \"get_embeddings_by_node_ids\",\n \"queue_embedding_backfill\",\n \"hybrid_discover\",\n \"resolve_topic_semantic\",\n \"expand_graph_neighborhood\",\n \"find_related_nodes\",\n \"analyze_graph_impact\",\n \"detect_graph_drift\",\n \"find_contradictions\",\n \"flag_contradiction\",\n \"detect_confirmation_bias\",\n \"get_topic_coverage\",\n \"get_graph_gaps\",\n] as const;\n\nexport const MCP_ANALYSIS_TENANT_OPERATION_NAMES = [\n \"analyze_topic_density\",\n \"discover_entity_connections\",\n \"trace_entity_impact\",\n] as const;\n\nexport const MCP_WORKFLOW_PLATFORM_OPERATION_NAMES = [\n \"list_lenses\",\n \"apply_lens_to_topic\",\n \"remove_lens_from_topic\",\n \"get_ontology\",\n \"list_ontologies\",\n \"apply_ontology\",\n \"match_entity_type\",\n \"resolve_effective_ontology\",\n \"add_worktree\",\n \"get_worktree\",\n \"activate_worktree\",\n \"list_worktrees\",\n \"list_all_worktrees\",\n \"list_worktrees_by_belief\",\n \"list_campaigns\",\n \"update_worktree_targets\",\n \"update_worktree_metadata\",\n \"create_task\",\n \"list_tasks\",\n \"update_task\",\n \"complete_task\",\n] as const;\n\nexport const MCP_WORKFLOW_TENANT_OPERATION_NAMES = [\n \"resolve_effective_ontology\",\n \"get_observation_context\",\n \"ingest_observation\",\n \"merge\",\n] as const;\n\nexport const MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES = [\n \"create_lens\",\n \"create_ontology\",\n \"update_ontology\",\n \"archive_ontology\",\n \"create_ontology_version\",\n] as const;\n\nexport const MCP_GOVERNANCE_TENANT_OPERATION_NAMES = [\n \"create_epistemic_contract\",\n \"evaluate_contract\",\n \"get_contract_status\",\n \"publish_ontology_version\",\n \"deprecate_ontology_version\",\n \"manage_write_policy\",\n] as const;\n\nexport const MCP_AUTOMATION_OPERATION_NAMES = [\n \"apply_auto_branching\",\n \"trigger_belief_review\",\n] as const;\n\nexport const DUPLICATE_OPERATION_NAMES = [\n \"link_evidence\",\n] as const;\n\nexport const PLATFORM_PUBLIC_OPERATION_NAMES = [\n ...MCP_CORE_OPERATION_NAMES,\n ...MCP_ANALYSIS_PLATFORM_OPERATION_NAMES,\n ...MCP_WORKFLOW_PLATFORM_OPERATION_NAMES,\n ...MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES,\n ...DUPLICATE_OPERATION_NAMES,\n] as const;\n\nexport const TENANT_PUBLIC_OPERATION_NAMES = [\n ...MCP_ANALYSIS_TENANT_OPERATION_NAMES,\n ...MCP_WORKFLOW_TENANT_OPERATION_NAMES,\n ...MCP_GOVERNANCE_TENANT_OPERATION_NAMES,\n ...MCP_AUTOMATION_OPERATION_NAMES,\n] as const;\n\nexport const PLATFORM_INTERNAL_OPERATION_NAMES = [\n \"register_session\",\n \"heartbeat_session\",\n \"end_session\",\n \"list_active_sessions\",\n \"send_agent_message\",\n \"broadcast_message\",\n \"get_agent_inbox\",\n \"claim_files\",\n \"generate_session_handoff\",\n \"record_scope_learning\",\n \"pipeline_snapshot\",\n \"seed_belief_lattice\",\n \"get_lattice_coverage\",\n \"get_code_context\",\n \"get_change_history\",\n \"get_failure_log\",\n \"record_attempt\",\n \"begin_build_session\",\n \"push\",\n \"open_pull_request\",\n \"record_judgment\",\n \"get_audit_trail\",\n] as const;\n\nexport const LEGACY_COMPAT_OPERATION_NAMES = [\n \"discover\",\n \"add_evidence\",\n \"answer_question\",\n \"get_confidence_history\",\n] as const;\n\nexport const SDK_ONLY_OPERATION_NAMES = [\n \"start_worktree\",\n \"update_worktree_phase\",\n \"advance_worktree_phase\",\n \"add_note_to_worktree\",\n \"link_document_to_worktree\",\n \"link_evidence_to_worktree\",\n \"link_question_to_worktree\",\n \"link_belief_to_worktree\",\n \"create_synthesized_belief\",\n \"complete_hypothesis_formation\",\n \"complete_evidence_review\",\n \"refine_worktree_belief\",\n \"trace_provenance\",\n \"get_belief_relationships\",\n \"get_belief_support_chain\",\n \"explore_connections\",\n \"get_deep_lineage\",\n \"graph_aware_search\",\n \"get_collection_conviction\",\n \"get_conviction_trend\",\n \"analyze_belief_criticality\",\n \"analyze_belief_cluster_candidates\",\n \"create_belief_conditional\",\n \"get_necessary_evidence\",\n \"analyze_reasoning_depth\",\n \"get_evidence_by_methodology\",\n \"create_evidence_task\",\n \"get_task_counts\",\n \"add_research_action\",\n \"get_predictions\",\n \"get_surprise_detection\",\n \"get_challenged_beliefs\",\n \"get_causal_chains\",\n \"get_non_consensus_beliefs\",\n \"get_beliefs_by_epistemic_status\",\n \"detect_anchoring_bias\",\n \"detect_source_concentration\",\n \"find_soft_contradictions\",\n \"find_semantic_bridges\",\n \"find_semantic_orphans\",\n] as const;\n\nexport const MCP_ONLY_INTERNAL_OPERATION_NAMES = [\n \"evaluate_engineering_contract\",\n \"evaluate_research_contract\",\n] as const;\n\nexport const FORBIDDEN_APPLICATION_OPERATION_NAMES = [\n \"execute_deep_research\",\n \"search_sources\",\n \"search_resources\",\n \"get_privileged_evidence\",\n \"get_privileged_signals\",\n \"get_thesis_artifacts\",\n] as const;\n\nexport const LUCERN_OPERATION_MANIFEST = {\n ...entries(\n MCP_CORE_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_core\",\n publicEverywhere,\n \"Default conversational Lucern MCP primitive for reading, writing, and shaping the reasoning graph.\"\n ),\n ...entries(\n MCP_ANALYSIS_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"High-signal graph analysis operation that belongs in chat/MCP because users naturally ask for gaps, contradictions, lineage, and coverage.\"\n ),\n ...entries(\n MCP_ANALYSIS_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"Tenant-scoped analysis operation that remains MCP-visible because agents can answer graph-quality and impact questions from chat.\"\n ),\n ...entries(\n MCP_WORKFLOW_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_workflow\",\n publicEverywhere,\n \"Workflow operation expected by coding agents and human MCP users managing Lucern worktrees, tasks, lenses, and observations.\"\n ),\n ...entries(\n MCP_WORKFLOW_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_workflow\",\n publicEverywhere,\n \"Tenant-scoped workflow operation expected by coding agents and human MCP users managing observations and worktree lifecycle.\"\n ),\n ...entries(\n MCP_AUTOMATION_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"Tenant-scoped automation that remains MCP-visible because agents can explicitly request review or branching assistance.\"\n ),\n ...entries(\n MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_governance\",\n publicWithInternalMcp,\n \"Governance/admin operation. SDK, REST, and CLI remain public, but MCP is internal by default to keep chat surfaces focused.\"\n ),\n ...entries(\n MCP_GOVERNANCE_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_governance\",\n publicWithInternalMcp,\n \"Governance/admin operation. SDK, REST, and CLI remain public, but MCP is internal by default to keep chat surfaces focused.\"\n ),\n ...entries(\n DUPLICATE_OPERATION_NAMES,\n \"platform_public\",\n \"compatibility\",\n publicWithoutMcp,\n \"Duplicate compatibility operation kept for SDK/REST callers, removed from MCP/CLI discovery in favor of the canonical specific tool.\"\n ),\n ...entries(\n PLATFORM_INTERNAL_OPERATION_NAMES,\n \"platform_internal\",\n \"system\",\n internalSystem,\n \"Lucern system/background operation. Available to platform code paths, hidden from public MCP discovery.\"\n ),\n append_sl_scoring: {\n name: \"append_sl_scoring\",\n surfaceClass: \"platform_internal\",\n surfaceIntent: \"system\",\n surfaces: internalSdkRestOnly,\n rationale:\n \"Internal SL scoring append primitive. Public callers attach evidence or contradiction relations; confidence is derived algorithmically.\",\n },\n ...entries(\n LEGACY_COMPAT_OPERATION_NAMES,\n \"legacy_compat\",\n \"compatibility\",\n publicWithoutMcp,\n \"Temporary compatibility operation. Must name a canonical replacement before removal.\"\n ),\n ...entries(\n SDK_ONLY_OPERATION_NAMES,\n \"tenant_public\",\n \"sdk_granular\",\n sdkOnlyPublic,\n \"Granular Lucern SDK operation. Not an MCP, REST, or CLI tool until backed by the generated function pipe.\"\n ),\n ...entries(\n MCP_ONLY_INTERNAL_OPERATION_NAMES,\n \"platform_internal\",\n \"system\",\n mcpOnlyInternal,\n \"Lucern MCP-only platform operation for local agent/bootstrap or verification workflows. Hidden from public discovery.\"\n ),\n} as const satisfies Record<string, LucernOperationManifestEntry>;\n\nexport type LucernOperationName = keyof typeof LUCERN_OPERATION_MANIFEST;\n\nexport function surfaceEnabled(exposure: SurfaceExposure): boolean {\n return exposure !== \"none\";\n}\n\nexport function surfaceIntentGateViolations(\n entry: LucernOperationManifestEntry\n): string[] {\n const violations: string[] = [];\n if (entry.surfaceIntent === \"system\" && entry.surfaces.mcp === \"public\") {\n violations.push(\"system operations cannot be public MCP tools\");\n }\n if (\n entry.surfaceIntent === \"compatibility\" &&\n entry.surfaces.mcp !== \"none\"\n ) {\n violations.push(\"compatibility operations must not be MCP tools\");\n }\n if (entry.surfaceIntent === \"sdk_granular\" && entry.surfaces.mcp !== \"none\") {\n violations.push(\"SDK-granular operations must not be MCP tools\");\n }\n if (\n entry.surfaceIntent === \"mcp_governance\" &&\n entry.surfaces.mcp === \"public\"\n ) {\n violations.push(\"governance operations must be internal or absent from MCP\");\n }\n return violations;\n}\n","/**\n * Shared schema enums referenced by the initial table manifest.\n */\n\nimport { z } from 'zod';\n\nexport const NODE_TYPE = z.enum([\"decision\", \"belief\", \"question\", \"theme\", \"deal\", \"topic\", \"claim\", \"evidence\", \"synthesis\", \"answer\", \"atomic_fact\", \"excerpt\", \"source\", \"company\", \"person\", \"investor\", \"function\", \"value_chain\"]);\n\nexport const EDGE_TYPE_VALUES = [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\", \"belongs_to\", \"relates_to_thesis\", \"works_at\", \"invested_in\", \"competes_with\", \"participates_in\", \"founded_by\", \"evaluates\", \"performs\", \"function_in\", \"impacts\", \"raised_from\", \"mentioned_in\", \"perspective_on\", \"plays_theme\", \"answers\", \"explores\", \"qualifies\", \"based_on\", \"based_on_belief\", \"based_on_question\", \"blocked_by_contradiction\", \"informed_by_theme\", \"same_as\", \"reinforces\", \"parent_of\", \"child_of\", \"falsified_by\", \"exclusive_with\", \"collapses_if\", \"cascade_from\", \"counterfactual_of\", \"cascade_to\", \"mutually_exclusive\", \"correlates_with\", \"amplifies\", \"precondition_for\", \"in_tension_with\", \"strengthened_by\", \"weakened_by\", \"alternative_to\", \"subsumes\", \"validated_by\", \"required_for\", \"blocks\", \"prerequisite_for\", \"parallel_to\", \"corroborates\", \"extends\", \"same_source_as\", \"same_theme_as\", \"assumes\", \"would_predict\", \"analogous_to\", \"independent_of\", \"implements\", \"violates\", \"co_changes_with\", \"migrating_from\", \"migrating_to\", \"scoped_by\", \"about_entity\", \"entity_referenced_in\", \"contradicts\", \"cites\", \"summarizes\", \"related_to\", \"partially_answers\", \"refines\", \"branches_from\"] as const;\n\nexport const STORAGE_EDGE_TYPE_VALUES = [...EDGE_TYPE_VALUES, \"extracted_from\"] as const;\n\nexport const EDGE_TYPE = z.enum(EDGE_TYPE_VALUES);\n\n// Storage accepts the legacy provenance spelling while existing rows migrate.\n// Public surfaces should continue to expose EDGE_TYPE only.\nexport const STORAGE_EDGE_TYPE = z.enum(STORAGE_EDGE_TYPE_VALUES);\n\nexport const TOPIC_STATUS = z.enum([\"active\", \"archived\", \"watching\"]);\n\nexport const TOPIC_VISIBILITY = z.enum([\"private\", \"team\", \"firm\", \"external\", \"public\"]);\n","import { z } from \"zod\";\nimport type { FunctionEffect } from \"../dsl/defineFunction.js\";\nimport { encodePrefixedId } from \"../ids.contract.js\";\nimport type { McpParameterDef, McpToolContract } from \"../tool-contracts.js\";\nimport { MCP_TOOL_CONTRACTS } from \"../tool-contracts.js\";\nimport type {\n ContractProjectionContext,\n FunctionContract,\n SurfaceClass,\n} from \"./types.js\";\nimport {\n LUCERN_OPERATION_MANIFEST,\n type LucernOperationManifestEntry,\n} from \"./manifest.js\";\nexport { NODE_TYPE } from \"../schemas/enums.js\";\n\nexport const jsonObjectSchema = z.record(z.unknown());\nconst sdkSessionIdSchema = z.string().optional();\n\nexport function publicPrefixedId(prefix: string, rawId: string): string {\n return rawId.startsWith(`${prefix}_`) ? rawId : encodePrefixedId(prefix, rawId);\n}\n\nfunction mcpContractShape(contract: McpToolContract): z.ZodRawShape {\n const required = new Set(contract.required);\n return Object.fromEntries(\n Object.entries(contract.parameters).map(([name, parameter]) => {\n const schema = schemaForMcpParameter(parameter);\n return [\n name,\n required.has(name) || parameter.required ? schema : schema.optional(),\n ];\n }),\n );\n}\n\nfunction schemaForMcpParameter(parameter: McpParameterDef): z.ZodTypeAny {\n if (parameter.enum && parameter.enum.length > 0) {\n const [first, ...rest] = parameter.enum;\n return z.enum([first, ...rest] as [string, ...string[]]);\n }\n\n switch (parameter.type) {\n case \"array\":\n return z.array(z.unknown());\n case \"boolean\":\n return z.boolean();\n case \"number\":\n return z.number();\n case \"object\":\n return z.record(z.unknown());\n case \"string\":\n return z.string();\n }\n}\n\nexport function argsSchemaFromMcpContract(\n contract: McpToolContract,\n): z.ZodObject<z.ZodRawShape> {\n return z.object(mcpContractShape(contract));\n}\n\nexport function inputSchemaFromMcpContract(\n contract: McpToolContract,\n): z.ZodObject<z.ZodRawShape> {\n return withInternalSurfaceFields(argsSchemaFromMcpContract(contract));\n}\n\n// Backward compatibility helper: public contract builders still reserve the\n// internal SDK session field on object-shaped inputs.\nfunction withInternalSurfaceFields(\n schema: z.ZodObject<z.ZodRawShape>,\n): z.ZodObject<z.ZodRawShape> {\n return schema.extend({ __sdkSessionId: sdkSessionIdSchema }).strict();\n}\n\nfunction normalizeInputSchema(schema: z.ZodTypeAny): z.ZodTypeAny {\n if (schema instanceof z.ZodObject) {\n return withInternalSurfaceFields(schema);\n }\n return schema;\n}\n\nfunction unwrapObjectSchema(\n schema: z.ZodTypeAny,\n): z.ZodObject<z.ZodRawShape> | undefined {\n let current = schema;\n while (true) {\n switch (current._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodEffects:\n current = current._def.schema;\n continue;\n case z.ZodFirstPartyTypeKind.ZodBranded:\n current = current._def.type;\n continue;\n default:\n return current instanceof z.ZodObject ? current : undefined;\n }\n }\n}\n\nfunction getObjectShape(schema: z.ZodTypeAny) {\n const objectSchema = unwrapObjectSchema(schema);\n if (!objectSchema) {\n throw new Error(\n `Expected a Zod object schema, received ${schema._def.typeName}.`,\n );\n }\n const shape =\n typeof objectSchema._def.shape === \"function\"\n ? objectSchema._def.shape()\n : objectSchema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapMcpParameterSchema(schema: z.ZodTypeAny): {\n schema: z.ZodTypeAny;\n required: boolean;\n description?: string;\n} {\n let current = schema;\n let required = true;\n let description = schema.description;\n\n while (true) {\n description ??= current.description;\n\n switch (current._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodOptional:\n case z.ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n current = current._def.innerType;\n continue;\n case z.ZodFirstPartyTypeKind.ZodNullable:\n current = current._def.innerType;\n continue;\n case z.ZodFirstPartyTypeKind.ZodBranded:\n current = current._def.type;\n continue;\n case z.ZodFirstPartyTypeKind.ZodEffects:\n current = current._def.schema;\n continue;\n default:\n return {\n schema: current,\n required,\n description: description ?? current.description,\n };\n }\n }\n}\n\nfunction mcpParameterFromZod(\n fieldName: string,\n schema: z.ZodTypeAny,\n contractName: string,\n): { parameter: McpParameterDef; required: boolean } {\n const {\n schema: unwrapped,\n required,\n description: schemaDescription,\n } = unwrapMcpParameterSchema(schema);\n const description = schemaDescription ?? unwrapped.description ?? fieldName;\n\n switch (unwrapped._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodString:\n return { parameter: { type: \"string\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodNumber:\n return { parameter: { type: \"number\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodBoolean:\n return { parameter: { type: \"boolean\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodArray:\n return { parameter: { type: \"array\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodObject:\n case z.ZodFirstPartyTypeKind.ZodRecord:\n case z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n return { parameter: { type: \"object\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodEnum:\n return {\n parameter: {\n type: \"string\",\n description,\n enum: [...unwrapped._def.values],\n },\n required,\n };\n case z.ZodFirstPartyTypeKind.ZodLiteral:\n if (typeof unwrapped._def.value === \"string\") {\n return {\n parameter: {\n type: \"string\",\n description,\n enum: [unwrapped._def.value],\n },\n required,\n };\n }\n break;\n }\n\n throw new Error(\n `Function surface contract ${contractName}.${fieldName} cannot be lowered to an MCP parameter from ${unwrapped._def.typeName}.`,\n );\n}\n\nfunction mcpContractFromArgsSchema(\n base: FunctionContract[\"mcp\"],\n args: z.ZodTypeAny,\n contractName: string,\n): FunctionContract[\"mcp\"] {\n const entries = Object.entries(getObjectShape(args)).sort(([left], [right]) =>\n left.localeCompare(right),\n );\n const converted = entries.map(\n ([fieldName, schema]) =>\n [\n fieldName,\n mcpParameterFromZod(fieldName, schema, contractName),\n ] as const,\n );\n\n return {\n ...base,\n parameters: Object.fromEntries(\n converted.map(([fieldName, field]) => [fieldName, field.parameter]),\n ),\n required: converted\n .filter(([, field]) => field.required)\n .map(([fieldName]) => fieldName),\n };\n}\n\nexport const defineFunctionContract = <T extends FunctionContract>(\n contract: T,\n): T => contract;\n\nexport function classifyContract<\n T extends Omit<FunctionContract, \"surfaceClass\"> & {\n surfaceClass?: SurfaceClass;\n },\n>(contract: T, surfaceClass: SurfaceClass): T & { surfaceClass: SurfaceClass } {\n return {\n ...contract,\n surfaceClass: contract.surfaceClass ?? surfaceClass,\n };\n}\n\nexport function authUserId(context: ContractProjectionContext): string {\n return context.userId ?? context.principalId ?? \"lucern-agent\";\n}\n\nexport function withUserId(\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n): Record<string, unknown> {\n return {\n ...input,\n userId:\n typeof input.userId === \"string\" ? input.userId : authUserId(context),\n };\n}\n\nexport function withCreatedBy(\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n): Record<string, unknown> {\n return {\n ...input,\n createdBy:\n typeof input.createdBy === \"string\"\n ? input.createdBy\n : authUserId(context),\n };\n}\n\nexport function compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport function recordValue(value: unknown): Record<string, unknown> {\n return value && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {};\n}\n\nexport function surfaceMcpContract(name: string): FunctionContract[\"mcp\"] {\n const contract = MCP_TOOL_CONTRACTS[name];\n if (!contract) {\n throw new Error(\n `Function surface contract ${name} is missing from MCP_TOOL_CONTRACTS.`,\n );\n }\n\n return {\n ...contract,\n exposed: true,\n toolName: contract.name,\n };\n}\n\nfunction deriveFunctionEffects(args: {\n kind: FunctionContract[\"kind\"];\n domain: string;\n surfaceIntent: FunctionContract[\"surfaceIntent\"];\n}): readonly FunctionEffect[] {\n if (args.kind === \"query\") {\n return [\"read\"];\n }\n\n if (\n args.surfaceIntent === \"system\" ||\n args.surfaceIntent === \"mcp_governance\" ||\n args.domain === \"identity\" ||\n args.domain === \"contracts\" ||\n args.domain === \"coordination\" ||\n args.domain === \"pipeline\"\n ) {\n return [\"admin\"];\n }\n\n return [\"write\"];\n}\n\nexport function surfaceContract(args: {\n name: string;\n kind: FunctionContract[\"kind\"];\n domain: string;\n surfaceClass: SurfaceClass;\n method?: FunctionContract[\"rest\"][\"method\"];\n path: string;\n sdkNamespace: string;\n sdkMethod: string;\n summary: string;\n tags?: string[];\n scopes?: string[];\n replacedBy?: string;\n idempotent?: FunctionContract[\"idempotent\"];\n convex?: FunctionContract[\"convex\"];\n gateway?: FunctionContract[\"gateway\"];\n args?: z.ZodTypeAny;\n returns?: z.ZodTypeAny;\n input?: z.ZodTypeAny;\n output?: z.ZodTypeAny;\n effects?: readonly FunctionEffect[];\n invariants?: readonly string[];\n}) {\n const manifest = LUCERN_OPERATION_MANIFEST as Record<\n string,\n LucernOperationManifestEntry | undefined\n >;\n const manifestEntry = manifest[args.name];\n if (!manifestEntry) {\n throw new Error(\n `Function surface contract ${args.name} is not in LUCERN_OPERATION_MANIFEST.`,\n );\n }\n if (manifestEntry.surfaceClass !== args.surfaceClass) {\n throw new Error(\n `Function surface contract ${args.name} is classified as ${args.surfaceClass}, but manifest requires ${manifestEntry.surfaceClass}.`,\n );\n }\n if (\n manifestEntry.surfaces.sdk === \"none\" &&\n manifestEntry.surfaces.rest === \"none\"\n ) {\n throw new Error(\n `Function surface contract ${args.name} has no SDK or REST exposure in the manifest.`,\n );\n }\n\n const baseMcp = surfaceMcpContract(args.name);\n const canonicalArgs = args.args ?? argsSchemaFromMcpContract(baseMcp);\n const mcp = args.args\n ? mcpContractFromArgsSchema(baseMcp, canonicalArgs, args.name)\n : baseMcp;\n const canonicalReturns = args.returns ?? jsonObjectSchema;\n const input = normalizeInputSchema(\n args.input ?? inputSchemaFromMcpContract(mcp),\n );\n const output = args.output ?? canonicalReturns;\n\n return defineFunctionContract({\n name: args.name,\n kind: args.kind,\n idempotent: args.idempotent ?? (args.kind === \"query\" ? false : true),\n effects:\n args.effects ??\n deriveFunctionEffects({\n kind: args.kind,\n domain: args.domain,\n surfaceIntent: manifestEntry.surfaceIntent,\n }),\n invariants: args.invariants,\n surfaceIntent: manifestEntry.surfaceIntent,\n domain: args.domain,\n surfaceClass: manifestEntry.surfaceClass,\n surfaces: manifestEntry.surfaces,\n replacedBy: args.replacedBy,\n rest: {\n method: args.method ?? \"POST\",\n path: args.path,\n },\n sdk: {\n namespace: args.sdkNamespace,\n method: args.sdkMethod,\n },\n mcp,\n auth: {\n scopes: args.scopes ?? [\n args.kind === \"query\" ? `${args.domain}.read` : `${args.domain}.write`,\n ],\n allowedPrincipalTypes: [\n \"user\",\n \"service\",\n \"agent\",\n \"group\",\n \"external_viewer\",\n ],\n },\n convex: args.convex,\n gateway: args.gateway,\n args: canonicalArgs,\n returns: canonicalReturns,\n input,\n output,\n openapi: {\n summary: args.summary,\n tags: args.tags ?? [args.domain],\n },\n });\n}\n\nexport function assertSurfaceCoverage(contracts: readonly FunctionContract[]) {\n const names = new Set<string>();\n for (const contract of contracts) {\n if (names.has(contract.name)) {\n throw new Error(`Duplicate function contract name: ${contract.name}`);\n }\n names.add(contract.name);\n }\n\n for (const contract of contracts) {\n if (contract.replacedBy && !names.has(contract.replacedBy)) {\n throw new Error(\n `Function contract ${contract.name} replacedBy target ${contract.replacedBy} is not registered.`,\n );\n }\n }\n}\n","export * from \"./public-uuid-resolver.js\";\nexport * from \"./uuid-edge-spine.js\";\n\nconst UUID_PATTERN =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\nfunction formatUuid(bytes: Uint8Array): string {\n const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\")).join(\n \"\",\n );\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\nfunction timestampByte(nowMs: number, byteIndex: number): number {\n return Math.floor(nowMs / 2 ** (8 * (5 - byteIndex))) % 256;\n}\n\nexport function generateUuidV7(nowMs = Date.now()): string {\n if (!Number.isInteger(nowMs) || nowMs < 0 || nowMs > 0xffffffffffff) {\n throw new Error(\"UUIDv7 timestamp must be an integer Unix millisecond value below 2^48.\");\n }\n\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[0] = timestampByte(nowMs, 0);\n bytes[1] = timestampByte(nowMs, 1);\n bytes[2] = timestampByte(nowMs, 2);\n bytes[3] = timestampByte(nowMs, 3);\n bytes[4] = timestampByte(nowMs, 4);\n bytes[5] = timestampByte(nowMs, 5);\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n return formatUuid(bytes);\n}\n\nexport function generateGlobalId(): string {\n return generateUuidV7();\n}\n\nexport function isUuidV7(value: string): boolean {\n return UUID_PATTERN.test(value) && value[14]?.toLowerCase() === \"7\";\n}\n","import { z } from \"zod\";\n\nexport const DataModelDepthSchema = z.enum([\n \"low\",\n \"medium\",\n \"high\",\n \"extra-high\",\n]);\n\nexport const DataModelStorageKindSchema = z.enum([\n \"epistemic_node\",\n \"worktree_record\",\n \"runtime_record\",\n]);\n\nexport const DataModelIdentityStatusSchema = z.enum([\n \"declared_pending_c2_lt\",\n \"locked\",\n]);\n\nexport const DataModelRelationshipSchema = z.object({\n edgeType: z.string(),\n targetPrimitive: z.string(),\n required: z.boolean(),\n direction: z.enum([\"outbound\", \"inbound\"]),\n purpose: z.string(),\n});\n\nexport const DataModelIdentitySchema = z.object({\n canonicalPublicIdField: z.string(),\n canonicalPublicIdVersion: z.literal(\"uuidv7\"),\n status: DataModelIdentityStatusSchema,\n storageLocatorField: z.string(),\n storageLocatorSemantic: z.literal(false),\n compatibilityAliases: z.array(z.string()),\n});\n\nexport const DataModelPrimitiveSchema = z.object({\n key: z.string(),\n displayName: z.string(),\n storageKind: DataModelStorageKindSchema,\n nodeType: z.string().optional(),\n identity: DataModelIdentitySchema,\n requiredFieldsBeforeCodegen: z.array(z.string()).min(1),\n relationships: z.array(DataModelRelationshipSchema),\n docsAnchor: z.string(),\n});\n\nexport const DataModelWriteContractSchema = z.object({\n mode: z.enum([\n \"read_only\",\n \"primitive_create\",\n \"primitive_update\",\n \"edge_mutation\",\n \"runtime_record\",\n ]),\n objects: z.array(z.string()),\n edges: z.array(z.string()),\n ledgers: z.array(z.string()),\n projections: z.array(z.string()),\n runtimeRecords: z.array(z.string()),\n sideEffects: z.array(z.string()),\n});\n\nexport const DataModelPolicyResourceSchema = z.object({\n resourceType: z.string(),\n action: z.string(),\n});\n\nexport const DataModelConfidenceEffectSchema = z.object({\n effect: z.enum([\n \"none\",\n \"vacuous_prior_only\",\n \"sl_native_only\",\n \"signed_evidence_impact\",\n ]),\n provenanceRequired: z.string(),\n});\n\nexport const DataModelAuditEventSchema = z.object({\n eventShape: z.string(),\n required: z.boolean(),\n});\n\nexport const DataModelReplayBindingSchema = z.object({\n mode: z.enum([\n \"none\",\n \"optional_source_horizon\",\n \"required_run_binding\",\n \"required_bitemporal_event\",\n ]),\n requiredRefs: z.array(z.string()),\n});\n\nexport const DataModelLatencyBudgetSchema = z.object({\n byDepthMs: z.record(DataModelDepthSchema, z.number().int().positive()),\n});\n\nexport const DataModelSurfaceSchema = z.object({\n operation: z.string(),\n reasoningStateTouching: z.enum([\"none\", \"read\", \"write\", \"read_write\"]),\n compositionEmitted: z.string(),\n defaultDepth: DataModelDepthSchema,\n depthBehavior: z.record(DataModelDepthSchema, z.string()),\n writeContract: DataModelWriteContractSchema,\n policyResource: DataModelPolicyResourceSchema,\n calibrationRequirement: z.enum([\n \"none\",\n \"calibration_slice_optional\",\n \"action_gate_required\",\n ]),\n confidenceEffect: DataModelConfidenceEffectSchema,\n auditEvent: DataModelAuditEventSchema,\n replayBinding: DataModelReplayBindingSchema,\n latencyBudget: DataModelLatencyBudgetSchema,\n failureMode: z.string(),\n docsAnchor: z.string(),\n lints: z.array(z.string()).min(1),\n tests: z.array(z.string()).min(1),\n});\n\nexport const DataModelCompositionSchema = z.object({\n key: z.string(),\n emittedAs: z.string(),\n primitives: z.array(z.string()).min(1),\n defaultDepth: DataModelDepthSchema,\n qualityVector: z.array(z.string()),\n docsAnchor: z.string(),\n});\n\nexport const DataModelTriggerSchema = z.object({\n key: z.string(),\n eventShape: z.string(),\n requiredFor: z.array(z.string()).min(1),\n docsAnchor: z.string(),\n});\n\nexport const DataModelLintSchema = z.object({\n id: z.string(),\n severity: z.enum([\"block_pr\", \"warn\"]),\n assertion: z.string(),\n});\n\nexport const DataModelTestSchema = z.object({\n id: z.string(),\n command: z.string(),\n asserts: z.array(z.string()).min(1),\n});\n\nexport const DataModelManifestSkeletonSchema = z.object({\n manifestVersion: z.literal(\"1.0.0\"),\n campaign: z.literal(\"C2\"),\n worktree: z.literal(\"C2-LA.1\"),\n status: z.literal(\"skeleton\"),\n dependsOn: z.array(z.string()),\n sourceAnchors: z.array(z.string()).min(1),\n requiredCodegenFields: z.array(z.string()).min(1),\n primitives: z.array(DataModelPrimitiveSchema).min(1),\n compositions: z.array(DataModelCompositionSchema).min(1),\n triggers: z.array(DataModelTriggerSchema).min(1),\n surfaces: z.array(DataModelSurfaceSchema).min(1),\n lints: z.array(DataModelLintSchema).min(1),\n tests: z.array(DataModelTestSchema).min(1),\n});\n\nexport type DataModelManifestSkeleton = z.infer<\n typeof DataModelManifestSkeletonSchema\n>;\n\nexport const DATA_MODEL_MANIFEST_REQUIRED_CODEGEN_FIELDS = [\n \"primitive.key\",\n \"primitive.displayName\",\n \"primitive.storageKind\",\n \"primitive.identity.canonicalPublicIdField\",\n \"primitive.identity.canonicalPublicIdVersion\",\n \"primitive.identity.storageLocatorField\",\n \"primitive.requiredFieldsBeforeCodegen\",\n \"primitive.relationships\",\n \"composition.key\",\n \"composition.emittedAs\",\n \"composition.primitives\",\n \"trigger.key\",\n \"trigger.eventShape\",\n \"surface.operation\",\n \"surface.reasoningStateTouching\",\n \"surface.compositionEmitted\",\n \"surface.defaultDepth\",\n \"surface.depthBehavior\",\n \"surface.writeContract\",\n \"surface.policyResource\",\n \"surface.calibrationRequirement\",\n \"surface.confidenceEffect\",\n \"surface.auditEvent\",\n \"surface.replayBinding\",\n \"surface.latencyBudget\",\n \"surface.failureMode\",\n \"surface.docsAnchor\",\n \"lint.id\",\n \"test.id\",\n] as const;\n\nexport const DATA_MODEL_MANIFEST_SKELETON: DataModelManifestSkeleton = {\n manifestVersion: \"1.0.0\",\n campaign: \"C2\",\n worktree: \"C2-LA.1\",\n status: \"skeleton\",\n dependsOn: [\"C2-L0.2\"],\n sourceAnchors: [\n \"docs/roadmap/campaigns/c2-substrate/README.md#l2-c2-la-manifest-spine-2-worktrees\",\n \"docs/roadmap/themes/living-knowledge-compiler.md#function-surface-metadata-spine\",\n \"docs/reference/surfaces/function-surface.md#12-function-surface-metadata-spine\",\n \"docs/systems/reasoning-kernel/data-model/graph.md#65-campaign-2--substrate-constitution-and-calibration\",\n ],\n requiredCodegenFields: [...DATA_MODEL_MANIFEST_REQUIRED_CODEGEN_FIELDS],\n primitives: [\n {\n key: \"topic\",\n displayName: \"Topic\",\n storageKind: \"epistemic_node\",\n nodeType: \"topic\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"topicId\", \"nodeId\", \"slug\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"name\",\n \"canonicalText\",\n \"visibility\",\n \"parentUuid\",\n ],\n relationships: [\n {\n edgeType: \"parent_of\",\n targetPrimitive: \"topic\",\n required: false,\n direction: \"outbound\",\n purpose: \"topic tree lineage without a legacy topics table authority\",\n },\n ],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"belief\",\n displayName: \"Belief\",\n storageKind: \"epistemic_node\",\n nodeType: \"belief\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"beliefId\", \"beliefNodeId\", \"nodeId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalText\",\n \"epistemicKind\",\n \"maturity\",\n \"createdBy\",\n ],\n relationships: [\n {\n edgeType: \"belongs_to\",\n targetPrimitive: \"topic\",\n required: true,\n direction: \"outbound\",\n purpose: \"every belief belongs to a topic epistemic node\",\n },\n {\n edgeType: \"supports\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"signed evidence impact can support the belief\",\n },\n {\n edgeType: \"contradicts\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"signed evidence impact can contradict the belief\",\n },\n ],\n docsAnchor: \"docs/reference/surfaces/function-surface.md#create_belief\",\n },\n {\n key: \"evidence\",\n displayName: \"Evidence\",\n storageKind: \"epistemic_node\",\n nodeType: \"evidence\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"evidenceId\", \"evidenceNodeId\", \"targetId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalText\",\n \"sourceRef\",\n \"targetBeliefUuid\",\n \"signedImpact\",\n \"evidenceRelation\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceQuality\",\n ],\n relationships: [\n {\n edgeType: \"supports\",\n targetPrimitive: \"belief\",\n required: true,\n direction: \"outbound\",\n purpose: \"positive signedImpact in (0, 1]\",\n },\n {\n edgeType: \"contradicts\",\n targetPrimitive: \"belief\",\n required: true,\n direction: \"outbound\",\n purpose: \"negative signedImpact in [-1, 0)\",\n },\n ],\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n },\n {\n key: \"question\",\n displayName: \"Question\",\n storageKind: \"epistemic_node\",\n nodeType: \"question\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"questionId\", \"questionNodeId\", \"nodeId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalQuestion\",\n \"priority\",\n \"disposition\",\n \"testedBeliefUuids\",\n ],\n relationships: [\n {\n edgeType: \"tests\",\n targetPrimitive: \"belief\",\n required: false,\n direction: \"outbound\",\n purpose: \"question can test one or more substrate beliefs\",\n },\n {\n edgeType: \"answers\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"answers must remain evidence-backed\",\n },\n ],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"worktree\",\n displayName: \"Worktree\",\n storageKind: \"worktree_record\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"worktreeId\", \"branchName\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"campaign\",\n \"lane\",\n \"orderInLane\",\n \"gate\",\n \"targetBeliefUuids\",\n \"targetQuestionUuids\",\n ],\n relationships: [\n {\n edgeType: \"depends_on\",\n targetPrimitive: \"worktree\",\n required: false,\n direction: \"outbound\",\n purpose: \"lane execution order and dependency gates\",\n },\n {\n edgeType: \"implements\",\n targetPrimitive: \"belief\",\n required: false,\n direction: \"outbound\",\n purpose: \"worktree closes or strengthens substrate beliefs\",\n },\n ],\n docsAnchor: \"docs/engineering/dev-loop/worktree-task-workflows.md\",\n },\n {\n key: \"agent_run\",\n displayName: \"Agent Run\",\n storageKind: \"runtime_record\",\n identity: {\n canonicalPublicIdField: \"agentRunUuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"locked\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"runId\", \"agentRunId\", \"sessionId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"agentRunUuid\",\n \"compatibilityRunId\",\n \"principalUuid\",\n \"actorType\",\n \"surfaceOperation\",\n \"requestedDepth\",\n \"effectiveDepth\",\n \"traversalMode\",\n \"sourceHorizonRefs\",\n \"policyProofRefs\",\n \"writeContractRef\",\n \"startedAt\",\n \"actionGateRefs\",\n \"writeRefs\",\n \"outputObjectRefs\",\n \"replayRecordRefs\",\n ],\n relationships: [\n {\n edgeType: \"derived_from\",\n targetPrimitive: \"worktree\",\n required: false,\n direction: \"outbound\",\n purpose: \"agent run can be replayed against the worktree packet\",\n },\n ],\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n },\n ],\n compositions: [\n {\n key: \"context_pack_v1\",\n emittedAs: \"ContextPackV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"medium\",\n qualityVector: [\"coverageRatio\", \"narrativeCoverage\", \"synthesisLints\"],\n docsAnchor: \"docs/reference/contracts/context-pack.md\",\n },\n {\n key: \"worktree_packet_v1\",\n emittedAs: \"WorktreePacketV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\"taskDispositionCoverage\", \"evidenceCoverage\"],\n docsAnchor: \"docs/engineering/dev-loop/handoff-contract.md\",\n },\n {\n key: \"agent_run_trace_v1\",\n emittedAs: \"AgentRunTraceV1\",\n primitives: [\"agent_run\", \"worktree\", \"evidence\"],\n defaultDepth: \"medium\",\n qualityVector: [\n \"identityScopeCoverage\",\n \"sourceHorizonCoverage\",\n \"policyProofCoverage\",\n \"actionGateCoverage\",\n \"writeCoverage\",\n \"terminalImmutabilityCoverage\",\n \"replayBindingCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n },\n {\n key: \"traversal_mode_constitution_v1\",\n emittedAs: \"TraversalModeConstitutionV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"medium\",\n qualityVector: [\n \"modeCoverage\",\n \"depthCoverage\",\n \"surfaceDeclarationCoverage\",\n \"refusalFixtureCoverage\",\n \"agentRunBridgeCoverage\",\n \"legacyDepthModeSeparationCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n },\n {\n key: \"graph_traversal_canon_v1\",\n emittedAs: \"GraphTraversalCanonV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"layerCoverage\",\n \"allowedHopCoverage\",\n \"shortcutLintCoverage\",\n \"migrationWarningCoverage\",\n \"compressionBoundaryCoverage\",\n \"traversalModeBridgeCoverage\",\n \"sourceGroundingCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n },\n {\n key: \"evidence_scoring_policy_v1\",\n emittedAs: \"EvidenceScoringPolicyV1\",\n primitives: [\"evidence\", \"belief\", \"question\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"taxonomyFieldCoverage\",\n \"targetScopeCoverage\",\n \"scoringPolicyCoverage\",\n \"metadataDereferenceCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n },\n {\n key: \"schema_change_belief_v1\",\n emittedAs: \"SchemaChangeBeliefV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"rationaleCoverage\",\n \"migrationReceiptCoverage\",\n \"compatibilityWindowCoverage\",\n \"supersessionCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n },\n {\n key: \"concept_maturity_rubric_v1\",\n emittedAs: \"ConceptMaturityRubricV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"conceptTechnicalSeparationCoverage\",\n \"evidenceRequirementCoverage\",\n \"thresholdCoverage\",\n \"docsCloseGateCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n },\n {\n key: \"primitive_maturity_matrix_v1\",\n emittedAs: \"PrimitiveMaturityMatrixV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"manifestPrimitiveCoverage\",\n \"sourceCitationCoverage\",\n \"tableFieldOwnershipCoverage\",\n \"redOrangeFollowOnCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n },\n {\n key: \"evidence_question_forecast_maturity_v1\",\n emittedAs: \"EvidenceQuestionForecastMaturityV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"provenanceClassCoverage\",\n \"baseRateSourceCoverage\",\n \"signedImpactCoverage\",\n \"questionPressureCoverage\",\n \"forecastSemanticCoverage\",\n \"propagationActionBoundaryCoverage\",\n ],\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n },\n {\n key: \"worktree_graph_branch_maturity_v1\",\n emittedAs: \"WorktreeGraphBranchMaturityV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"currentSurfaceCoverage\",\n \"targetSemanticCoverage\",\n \"reciprocalLinkDebtRecorded\",\n \"metadataDebtRecorded\",\n \"conflictTaxonomyCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n },\n {\n key: \"worktree_delta_ledger_v1\",\n emittedAs: \"WorktreeDeltaLedgerV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"extra-high\",\n qualityVector: [\n \"scopeRefCoverage\",\n \"deltaLedgerCoverage\",\n \"graphDiffCoverage\",\n \"conflictTaxonomyCoverage\",\n \"occMvccCoverage\",\n \"metadataMigrationCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n },\n {\n key: \"observability_audit_store_migration_v1\",\n emittedAs: \"ObservabilityAuditStoreMigrationV1\",\n primitives: [\"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"writerInventoryCoverage\",\n \"typedBoundaryCoverage\",\n \"negativeGuardCoverage\",\n \"readModelClassificationCoverage\",\n \"legacyExportDryRunCoverage\",\n \"axiomQueryDimensionCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n },\n {\n key: \"docs_canon_reconciliation_loop_v1\",\n emittedAs: \"DocsCanonReconciliationLoopV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"sourceMaterialInventoryCoverage\",\n \"docOwnershipCoverage\",\n \"prChecklistCoverage\",\n \"maturityWritebackCoverage\",\n \"exemplarRewriteCoverage\",\n \"stalePathDispositionCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n },\n {\n key: \"canonical_edge_public_noun_lock_v1\",\n emittedAs: \"CanonicalEdgePublicNounLockV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"publicNounCoverage\",\n \"storageAliasCoverage\",\n \"confidenceBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n },\n {\n key: \"belongs_to_membership_model_v1\",\n emittedAs: \"BelongsToMembershipModelV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"membershipEdgeCoverage\",\n \"aclRelationCoverage\",\n \"scalarIndexDebtCoverage\",\n \"backfillLedgerCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n },\n {\n key: \"propagation_v2_contract_v1\",\n emittedAs: \"PropagationV2ContractV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"extra-high\",\n qualityVector: [\n \"layerBoundaryCoverage\",\n \"edgeSpecCoverage\",\n \"attributionFieldCoverage\",\n \"correlationPolicyCoverage\",\n \"actionGateBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n },\n {\n key: \"worktree_belief_adoption_projection_v1\",\n emittedAs: \"WorktreeBeliefAdoptionProjectionV1\",\n primitives: [\"belief\", \"worktree\", \"question\", \"evidence\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"worktreeReferenceCount\",\n \"descendantCount\",\n \"repeatedOperationalUseCount\",\n \"referencePaths\",\n \"intrinsicConfidenceMutation\",\n \"structuralAdoptionScore\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n },\n ],\n triggers: [\n {\n key: \"primitive_created\",\n eventShape: \"BitemporalEvent\",\n requiredFor: [\"auditEvent\", \"replayBinding\"],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"evidence_linked\",\n eventShape: \"SignedEvidenceImpactEvent\",\n requiredFor: [\"confidenceEffect\", \"auditEvent\"],\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n },\n {\n key: \"worktree_completed\",\n eventShape: \"WorktreeDeltaLedgerEvent\",\n requiredFor: [\"writeContract\", \"replayBinding\"],\n docsAnchor: \"docs/engineering/dev-loop/pr-handoff-package.md\",\n },\n ],\n surfaces: [\n {\n operation: \"compile_context\",\n reasoningStateTouching: \"read\",\n compositionEmitted: \"context_pack_v1\",\n defaultDepth: \"medium\",\n depthBehavior: {\n low: \"compact topic, belief, and question state\",\n medium: \"synthesis-first context narrative with ranked support objects\",\n high: \"adds contradiction, evidence, freshness, and diagnostics\",\n \"extra-high\": \"adds replay and source-horizon details when available\",\n },\n writeContract: {\n mode: \"read_only\",\n objects: [],\n edges: [],\n ledgers: [],\n projections: [\"contextNarrative\", \"retrievalReceipt\"],\n runtimeRecords: [],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"topic\",\n action: \"read_summarize\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"none\",\n provenanceRequired: \"read-only context compilation cannot move confidence\",\n },\n auditEvent: {\n eventShape: \"ContextCompileTrace\",\n required: false,\n },\n replayBinding: {\n mode: \"optional_source_horizon\",\n requiredRefs: [\"topicUuid\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 5000,\n high: 10000,\n \"extra-high\": 20000,\n },\n },\n failureMode: \"refuse_missing_scope\",\n docsAnchor: \"docs/reference/surfaces/function-surface.md#compile_context\",\n lints: [\"c2_la_required_surface_metadata\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"create_belief\",\n reasoningStateTouching: \"write\",\n compositionEmitted: \"belief\",\n defaultDepth: \"low\",\n depthBehavior: {\n low: \"returns the created belief envelope\",\n medium: \"includes topic and initial confidence projection\",\n high: \"includes write ledger and audit trace\",\n \"extra-high\": \"includes replay refs and policy diagnostics\",\n },\n writeContract: {\n mode: \"primitive_create\",\n objects: [\"belief\"],\n edges: [\"belongs_to\"],\n ledgers: [\"beliefHistory\"],\n projections: [\"beliefConfidence\"],\n runtimeRecords: [\"agent_run\"],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"topic\",\n action: \"node_mutate\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"vacuous_prior_only\",\n provenanceRequired: \"SL scoring must be supplied through evidence-backed paths\",\n },\n auditEvent: {\n eventShape: \"PrimitiveCreatedEvent\",\n required: true,\n },\n replayBinding: {\n mode: \"required_bitemporal_event\",\n requiredRefs: [\"topicUuid\", \"beliefUuid\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 3000,\n high: 6000,\n \"extra-high\": 12000,\n },\n },\n failureMode: \"refuse_missing_topic_or_policy\",\n docsAnchor: \"docs/reference/surfaces/function-surface.md#create_belief\",\n lints: [\"c2_la_required_surface_metadata\", \"c2_la_no_orphan_belief\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"create_evidence\",\n reasoningStateTouching: \"write\",\n compositionEmitted: \"evidence\",\n defaultDepth: \"low\",\n depthBehavior: {\n low: \"returns evidence and signed belief impact\",\n medium: \"includes linked belief refs and target topic\",\n high: \"includes confidence provenance and edge write receipt\",\n \"extra-high\": \"includes replay and bitemporal audit refs\",\n },\n writeContract: {\n mode: \"primitive_create\",\n objects: [\"evidence\"],\n edges: [\"supports\", \"contradicts\"],\n ledgers: [\"beliefHistory\"],\n projections: [\"beliefConfidence\"],\n runtimeRecords: [\"agent_run\"],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"belief\",\n action: \"evidence_mutate\",\n },\n calibrationRequirement: \"calibration_slice_optional\",\n confidenceEffect: {\n effect: \"signed_evidence_impact\",\n provenanceRequired: \"impact must be nonzero in [-1, 1] and match relation sign\",\n },\n auditEvent: {\n eventShape: \"SignedEvidenceImpactEvent\",\n required: true,\n },\n replayBinding: {\n mode: \"required_bitemporal_event\",\n requiredRefs: [\"evidenceUuid\", \"targetBeliefUuid\", \"signedImpact\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 4000,\n high: 8000,\n \"extra-high\": 16000,\n },\n },\n failureMode: \"refuse_orphan_or_unsigned_evidence\",\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n lints: [\"c2_la_required_surface_metadata\", \"c2_la_signed_evidence_impact\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"list_worktrees_by_belief\",\n reasoningStateTouching: \"read\",\n compositionEmitted: \"worktree_belief_adoption_projection_v1\",\n defaultDepth: \"high\",\n depthBehavior: {\n low: \"returns linked worktree ids and relation roles\",\n medium: \"includes lane, campaign, order, and reference paths\",\n high: \"includes structural adoption ranking signals separated from intrinsic SL\",\n \"extra-high\": \"includes replay/source-material adoption refs when available\",\n },\n writeContract: {\n mode: \"read_only\",\n objects: [\"belief\", \"worktree\"],\n edges: [],\n ledgers: [],\n projections: [\"adoptionProjection\", \"referencePaths\", \"rankingSignals\"],\n runtimeRecords: [],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"belief\",\n action: \"read_structure\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"none\",\n provenanceRequired:\n \"structural adoption is confidence-adjacent and never mutates intrinsic SL\",\n },\n auditEvent: {\n eventShape: \"WorktreeBeliefAdoptionProjectionTrace\",\n required: false,\n },\n replayBinding: {\n mode: \"optional_source_horizon\",\n requiredRefs: [\"beliefUuid\", \"worktreeUuid\", \"referencePath\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 3000,\n high: 6000,\n \"extra-high\": 12000,\n },\n },\n failureMode: \"refuse_missing_belief_or_backref_authority\",\n docsAnchor:\n \"docs/reference/contracts/worktree-belief-adoption.md\",\n lints: [\n \"c2_la_required_surface_metadata\",\n \"c2_rd_structural_adoption_no_intrinsic_confidence_mutation\",\n ],\n tests: [\"c2_la_manifest_skeleton\", \"c2_rd_worktree_belief_adoption\"],\n },\n ],\n lints: [\n {\n id: \"c2_la_required_surface_metadata\",\n severity: \"block_pr\",\n assertion:\n \"Every reasoning-state-touching surface declares depth, write, policy, confidence, audit, replay, failure, and docs metadata.\",\n },\n {\n id: \"c2_la_no_orphan_belief\",\n severity: \"block_pr\",\n assertion:\n \"Belief creation must include a required belongs_to edge to a topic epistemic node.\",\n },\n {\n id: \"c2_la_signed_evidence_impact\",\n severity: \"block_pr\",\n assertion:\n \"Evidence writes must declare signed support or contradiction impact in [-1, 1].\",\n },\n {\n id: \"c2_rd_structural_adoption_no_intrinsic_confidence_mutation\",\n severity: \"block_pr\",\n assertion:\n \"Worktree-belief adoption projection is read-only and must not modulate intrinsic Subjective Logic confidence.\",\n },\n ],\n tests: [\n {\n id: \"c2_la_manifest_skeleton\",\n command: \"npx tsx scripts/check-c2-la-manifest-skeleton.ts\",\n asserts: [\n \"six primitive shapes are present\",\n \"all surfaces carry the C2 metadata spine\",\n \"invalid fixtures fail schema validation\",\n ],\n },\n {\n id: \"c2_rd_worktree_belief_adoption\",\n command: \"npx tsx scripts/check-c2-rd-worktree-belief-adoption.ts\",\n asserts: [\n \"list_worktrees_by_belief emits the adoption projection composition\",\n \"Intent 2 ranks by structural adoption independently from intrinsic SL\",\n \"canonical pipeline belief hygiene separates SL uncertainty from adoption\",\n ],\n },\n ],\n};\n","import { z } from \"zod\";\nimport {\n DataModelDepthSchema,\n DataModelPolicyResourceSchema,\n} from \"./data-model-manifest.js\";\n\nexport const CompositionRegistryClassificationSchema = z.enum([\n \"substrate_contract\",\n \"runtime_product\",\n \"migration_projection\",\n]);\n\nexport const CompositionRegistryLifecycleSchema = z.enum([\n \"current\",\n \"target\",\n \"reserved\",\n]);\n\nexport const CompositionRegistryIdentitySchema = z.object({\n registryKeyField: z.literal(\"key\"),\n canonicalPublicIdField: z.literal(\"compositionUuid\"),\n canonicalPublicIdVersion: z.literal(\"uuidv7\"),\n storageLocatorSemantic: z.literal(false),\n contentAddressFields: z.array(z.string()).min(1),\n});\n\nexport const CompositionRegistryAuthorizationSchema = z.object({\n policyResource: DataModelPolicyResourceSchema,\n policyAdapter: z.literal(\"permit_authorize_v1\"),\n clippingRequired: z.boolean(),\n omissionRecord: z.string(),\n});\n\nexport const CompositionRegistrySourceHorizonSchema = z.object({\n mode: z.enum([\"none\", \"optional\", \"required\"]),\n requiredRefs: z.array(z.string()),\n});\n\nexport const CompositionRegistryFixtureMetadataSchema = z.object({\n positiveFixture: z.string(),\n refusalFixtures: z.array(z.string()).min(1),\n driftAssertions: z.array(z.string()).min(1),\n docsAnchor: z.string(),\n checkCommand: z.string(),\n});\n\nexport const CompositionRegistryEntrySchema = z.object({\n key: z.string(),\n emittedAs: z.string(),\n classification: CompositionRegistryClassificationSchema,\n lifecycle: CompositionRegistryLifecycleSchema,\n ownerLane: z.string(),\n dependsOn: z.array(z.string()),\n primitives: z.array(z.string()).min(1),\n sourceSurfaces: z.array(z.string()).min(1),\n defaultDepth: DataModelDepthSchema,\n allowedDepths: z.array(DataModelDepthSchema).min(1),\n qualityVector: z.array(z.string()).min(1),\n identity: CompositionRegistryIdentitySchema,\n authorization: CompositionRegistryAuthorizationSchema,\n sourceHorizon: CompositionRegistrySourceHorizonSchema,\n replayBinding: z.string(),\n docsAnchor: z.string(),\n fixtureMetadata: CompositionRegistryFixtureMetadataSchema,\n downstreamConsumers: z.array(z.string()).min(1),\n});\n\nexport const CompositionRegistrySchema = z.object({\n registryVersion: z.literal(\"c2_la_composition_registry.v1\"),\n worktree: z.literal(\"C2-LA.2\"),\n lane: z.literal(\"c2-la-manifest-spine\"),\n graphWorktreeId: z.literal(\"tn7ddh58hc7m64apsv33hy4t6d85ssm7\"),\n dependsOn: z.array(z.string()).min(1),\n sourceAnchors: z.array(z.string()).min(1),\n rules: z.array(z.string()).min(1),\n entries: z.array(CompositionRegistryEntrySchema).min(1),\n});\n\nexport type CompositionRegistryClassification = z.infer<\n typeof CompositionRegistryClassificationSchema\n>;\nexport type CompositionRegistryEntry = z.infer<\n typeof CompositionRegistryEntrySchema\n>;\nexport type CompositionRegistry = z.infer<typeof CompositionRegistrySchema>;\n\nexport const allDepths = [\"low\", \"medium\", \"high\", \"extra-high\"] as const;\n\nexport const registryIdentity = (\n contentAddressFields: readonly string[],\n): CompositionRegistryEntry[\"identity\"] => ({\n registryKeyField: \"key\",\n canonicalPublicIdField: \"compositionUuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n storageLocatorSemantic: false,\n contentAddressFields: [...contentAddressFields],\n});\n\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_EARLY_ENTRIES = [\n {\n key: \"context_pack_v1\",\n emittedAs: \"ContextPackV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-la-manifest-spine\",\n dependsOn: [\"C2-LA.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\"compile_context\"],\n defaultDepth: \"medium\",\n allowedDepths: [...allDepths],\n qualityVector: [\"coverageRatio\", \"narrativeCoverage\", \"synthesisLints\"],\n identity: registryIdentity([\"key\", \"primitives\", \"sourceSurfaces\", \"defaultDepth\"]),\n authorization: {\n policyResource: {\n resourceType: \"topic\",\n action: \"summarize\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"contextPack.omissions[]\",\n },\n sourceHorizon: {\n mode: \"optional\",\n requiredRefs: [\"topicUuid\", \"principalUuid\", \"policyVersion\"],\n },\n replayBinding: \"ContextCompileTrace\",\n docsAnchor: \"docs/reference/contracts/context-pack.md\",\n fixtureMetadata: {\n positiveFixture: \"compile_context_synthesis_first\",\n refusalFixtures: [\"unreadable_topic_refused\", \"missing_scope_refused\"],\n driftAssertions: [\n \"compile_context emits context_pack_v1\",\n \"context_pack_v1 quality vector contains coverageRatio\",\n ],\n docsAnchor: \"docs/reference/contracts/data-model-manifest.md\",\n checkCommand: \"pnpm c2:manifest-spine:check\",\n },\n downstreamConsumers: [\n \"c2-ra-surface-contract-reconciliation\",\n \"c3-a-context-compiler\",\n ],\n },\n {\n key: \"worktree_packet_v1\",\n emittedAs: \"WorktreePacketV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-la-manifest-spine\",\n dependsOn: [\"C2-LA.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\"worktrees.context\", \"begin_build_session\"],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\"taskDispositionCoverage\", \"evidenceCoverage\"],\n identity: registryIdentity([\"key\", \"worktreeUuid\", \"targetBeliefUuids\"]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreePacket.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\"worktreeUuid\", \"targetBeliefUuids\", \"targetQuestionUuids\"],\n },\n replayBinding: \"WorktreeDeltaLedgerEvent\",\n docsAnchor: \"docs/engineering/dev-loop/handoff-contract.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_packet_with_tasks_beliefs_questions_evidence\",\n refusalFixtures: [\"unreadable_worktree_refused\", \"open_blocking_question_refused\"],\n driftAssertions: [\n \"worktree_packet_v1 includes taskDispositionCoverage\",\n \"worktree_packet_v1 requires evidenceCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/data-model-manifest.md\",\n checkCommand: \"pnpm c2:manifest-spine:check\",\n },\n downstreamConsumers: [\n \"c2-lv-worktree-delta-ledger\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n ],\n },\n {\n key: \"agent_run_trace_v1\",\n emittedAs: \"AgentRunTraceV1\",\n classification: \"runtime_product\",\n lifecycle: \"current\",\n ownerLane: \"c2-lk-agent-run\",\n dependsOn: [\"C2-LA.2\", \"C2-LC.1\", \"C2-LR.4\", \"C2-LV.1\", \"C2-LK.1\"],\n primitives: [\"agent_run\", \"worktree\", \"evidence\"],\n sourceSurfaces: [\"agent_run\", \"tool_invocation\"],\n defaultDepth: \"medium\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"identityScopeCoverage\",\n \"sourceHorizonCoverage\",\n \"policyProofCoverage\",\n \"actionGateCoverage\",\n \"writeCoverage\",\n \"terminalImmutabilityCoverage\",\n \"replayBindingCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"agentRunUuid\",\n \"policyHorizonVersion\",\n \"writeContractRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"agent\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"agentRunTrace.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"agentRunUuid\",\n \"principalUuid\",\n \"sourceHorizonRefs\",\n \"policyProofRefs\",\n \"policyHorizonVersion\",\n \"writeContractRef\",\n ],\n },\n replayBinding: \"AgentRunRecord+ComputationRun+ReplayRecord+BitemporalEvent\",\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n fixtureMetadata: {\n positiveFixture: \"agent_run_strict_trace_with_policy_action_gate_and_replay_refs\",\n refusalFixtures: [\n \"missing_agent_run_uuid_refused\",\n \"non_uuidv7_agent_run_uuid_refused\",\n \"missing_source_horizon_refused\",\n \"missing_policy_proof_refused\",\n \"tool_call_without_action_gate_refused\",\n \"write_without_write_contract_refused\",\n \"terminal_run_mutation_refused\",\n \"replay_binding_missing_refused\",\n \"legacy_run_id_as_canonical_refused\",\n ],\n driftAssertions: [\n \"agent_run_trace_v1 is current after C2-LK.1 locks the primitive\",\n \"agent_run_trace_v1 declares source horizon and policy proof requirements\",\n \"agent_run_trace_v1 binds tool actions to Action Gate refs and replay outputs\",\n ],\n docsAnchor: \"docs/reference/contracts/composition-registry.md\",\n checkCommand: \"pnpm c2:agent-run-primitive:check\",\n },\n downstreamConsumers: [\n \"c2-lk-agent-run#C2-LK.2\",\n \"c2-rc-evidence-taxonomy-and-target-scope\",\n \"c3-runtime-agent-trace-attribution\",\n ],\n },\n {\n key: \"traversal_mode_constitution_v1\",\n emittedAs: \"TraversalModeConstitutionV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-lk-agent-run\",\n dependsOn: [\"C2-LA.2\", \"C2-LK.1\", \"C2-LV.1\", \"C2-LK.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"compile_context\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"discover_entity_connections\",\n \"trace_entity_impact\",\n \"run_graph_intelligence_query\",\n ],\n defaultDepth: \"medium\",\n allowedDepths: [...allDepths],\n qualityVector: [\n \"modeCoverage\",\n \"depthCoverage\",\n \"surfaceDeclarationCoverage\",\n \"refusalFixtureCoverage\",\n \"agentRunBridgeCoverage\",\n \"legacyDepthModeSeparationCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"traversalMode\",\n \"requestedDepth\",\n \"sourceHorizonRefs\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"traversalModeConstitution.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"traversalMode\",\n \"requestedDepth\",\n \"effectiveDepth\",\n \"principalUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"AgentRunRecord+ContextCompileTrace+TraversalReceipt\",\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n fixtureMetadata: {\n positiveFixture: \"anchored_ranked_topic_context\",\n refusalFixtures: [\n \"missing_traversal_mode_refused\",\n \"missing_traversal_depth_refused\",\n \"invalid_traversal_mode_refused\",\n \"invalid_traversal_depth_refused\",\n \"legacy_depth_as_mode_refused\",\n \"depth_exceeds_mode_ceiling_refused\",\n \"mode_without_required_anchor_refused\",\n \"bounded_exploration_scope_missing_refused\",\n \"pattern_recall_evidence_write_refused\",\n \"forensic_replay_horizon_missing_refused\",\n ],\n driftAssertions: [\n \"traversal_mode_constitution_v1 is current after C2-LK.2\",\n \"public traversal surfaces declare traversalMode and requestedDepth\",\n \"legacy depth-as-mode values are refused by strict traversal fixtures\",\n ],\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n checkCommand: \"pnpm c2:traversal-mode-constitution:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests\",\n \"c2-lr-authorization-permit#C2-LR.5\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-context-compiler\",\n ],\n },\n {\n key: \"graph_traversal_canon_v1\",\n emittedAs: \"GraphTraversalCanonV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-lh-constitution-tests\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LB.1\",\n \"C2-LB.2\",\n \"C2-LK.2\",\n \"C2-RC.1\",\n \"C2-LH.1\",\n ],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"compile_context\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"expand_graph_neighborhood\",\n \"graph_linter\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [...allDepths],\n qualityVector: [\n \"layerCoverage\",\n \"allowedHopCoverage\",\n \"shortcutLintCoverage\",\n \"migrationWarningCoverage\",\n \"compressionBoundaryCoverage\",\n \"traversalModeBridgeCoverage\",\n \"sourceGroundingCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"layerDefinitions\",\n \"allowedHops\",\n \"violationPolicies\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"graphTraversalCanon.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"traversalMode\",\n \"requestedDepth\",\n \"layerPath\",\n \"sourceHorizonRefs\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"TraversalReceipt+GraphLintReceipt+SourceHorizon\",\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n fixtureMetadata: {\n positiveFixture: \"source_to_evidence_to_belief_allows\",\n refusalFixtures: [\n \"layerless_node_refused\",\n \"missing_traversal_mode_refused\",\n \"missing_traversal_depth_refused\",\n \"illegal_edge_family_refused\",\n \"l1_to_l3_shortcut_refused\",\n \"l1_to_l4_shortcut_refused\",\n \"l2_to_l4_shortcut_refused\",\n \"missing_l2_evidence_bridge_refused\",\n \"missing_l1_source_grounding_refused\",\n \"compression_boundary_missing_refused\",\n ],\n driftAssertions: [\n \"graph_traversal_canon_v1 is current after C2-LH.1 locks layer canon\",\n \"new writes and runtime reads fail closed on L1-L4 shortcut violations\",\n \"legacy migration warnings are explicit and disappear at Graph V2 cutover\",\n ],\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n checkCommand: \"pnpm c2:graph-traversal-canon:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests#C2-LH.2\",\n \"c2-lh-constitution-tests#C2-LH.3\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c2-gg-substrate-resolution-ledger\",\n \"c2-lg-graph-v2-rebuild\",\n ],\n },\n {\n key: \"evidence_scoring_policy_v1\",\n emittedAs: \"EvidenceScoringPolicyV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-rc-evidence-taxonomy-and-target-scope\",\n dependsOn: [\"C2-LA.2\", \"C2-LC.3\", \"C2-LK.1\", \"C2-RC.1\"],\n primitives: [\"evidence\", \"belief\", \"question\"],\n sourceSurfaces: [\"create_evidence\", \"list_evidence\", \"paper_compiler.weakest_evidence\"],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"taxonomyFieldCoverage\",\n \"targetScopeCoverage\",\n \"scoringPolicyCoverage\",\n \"migrationFixtureCoverage\",\n \"metadataDereferenceCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"targetBeliefUuid\",\n \"evidenceRelation\",\n \"signedImpact\",\n \"sourceRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"evidenceScoringPolicy.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"targetBeliefUuid\",\n \"sourceRef\",\n \"sourceQuality\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"EvidenceScoringTrace\",\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n fixtureMetadata: {\n positiveFixture: \"weakest_evidence_target_scoped_policy\",\n refusalFixtures: [\n \"orphan_evidence_create_refused\",\n \"non_belief_create_target_refused\",\n \"zero_signed_impact_refused\",\n \"relation_signed_impact_mismatch_refused\",\n \"unscoped_list_evidence_refused\",\n \"metadata_scoring_plan_refused\",\n ],\n driftAssertions: [\n \"evidence_scoring_policy_v1 is current after C2-RC.1 locks taxonomy fields\",\n \"list_evidence targetId scope does not depend on metadata fallback\",\n \"paper compiler weakest_evidence plans contain no metadata dereferences\",\n ],\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n checkCommand: \"pnpm c2:evidence-taxonomy-target-scope:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c3-context-compiler-evidence-ranking\",\n \"c3-runtime-agent-trace-attribution\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_RESERVED_ENTRIES = [\n {\n key: \"published_belief_artifact_v1\",\n emittedAs: \"PublishedBeliefArtifactV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lx-atomic-publication-schema-beliefs\",\n dependsOn: [\"C2-LA.2\", \"C2-LR.1\", \"C2-LR.2\", \"C2-LT.3\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\"],\n sourceSurfaces: [\"publish_belief_artifact\", \"import_belief_artifact\"],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\"sourceLineageCoverage\", \"trustImportState\", \"revocationCoverage\"],\n identity: registryIdentity([\n \"key\",\n \"sourceBeliefUuid\",\n \"sourceGraphUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"output\",\n action: \"export\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"publishedBeliefArtifact.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"sourceBeliefUuid\",\n \"sourceGraphUuid\",\n \"tenantUuid\",\n \"workspaceUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"PublishedArtifactLedgerEvent\",\n docsAnchor:\n \"docs/roadmap/campaigns/c2-substrate/lanes/c2-la-manifest-spine/composition-registry.md\",\n fixtureMetadata: {\n positiveFixture: \"published_belief_artifact_round_trip\",\n refusalFixtures: [\n \"publish_without_policy_refused\",\n \"import_revoked_artifact_refused\",\n ],\n driftAssertions: [\n \"published_belief_artifact_v1 remains reserved until C2-LX.1 implements fixtures\",\n \"published belief artifacts use output export policy rather than cross-tenant references\",\n ],\n docsAnchor: \"docs/reference/contracts/composition-registry.md\",\n checkCommand: \"pnpm c2:composition-registry:check\",\n },\n downstreamConsumers: [\n \"c2-lx-atomic-publication-schema-beliefs\",\n \"c3-runtime-published-reasoning-imports\",\n ],\n },\n {\n key: \"schema_change_belief_v1\",\n emittedAs: \"SchemaChangeBeliefV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lx-atomic-publication-schema-beliefs\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"schema_change_belief_contract\",\n \"schema_migration_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"rationaleCoverage\",\n \"migrationReceiptCoverage\",\n \"compatibilityWindowCoverage\",\n \"supersessionCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"ownerPackage\",\n \"ownerTableOrContract\",\n \"diffDigest\",\n \"migrationReceiptUuid\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"mutate\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"schemaChangeBelief.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"schemaChangeUuid\",\n \"rationaleBeliefUuid\",\n \"reviewQuestionUuid\",\n \"migrationReceiptUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"SchemaChangeBeliefLedgerEvent\",\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n fixtureMetadata: {\n positiveFixture: \"schema_change_belief_with_migration_receipt\",\n refusalFixtures: [\n \"raw_convex_deploy_refused\",\n \"schema_change_without_migration_receipt_refused\",\n ],\n driftAssertions: [\n \"schema_change_belief_v1 remains reserved until C2-LX.2 closes\",\n \"schema changes carry rationale, migration receipt, compatibility window, and supersession coverage\",\n ],\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n checkCommand: \"pnpm c2:schema-change-belief:check\",\n },\n downstreamConsumers: [\n \"c2-ls-schema-fitness\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-schema-migration\",\n ],\n },\n {\n key: \"concept_maturity_rubric_v1\",\n emittedAs: \"ConceptMaturityRubricV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\", \"C2-LX.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"concept_maturity_audit\",\n \"maturity_gate_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"conceptTechnicalSeparationCoverage\",\n \"evidenceRequirementCoverage\",\n \"thresholdCoverage\",\n \"docsCloseGateCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"rubricUuid\",\n \"subjectKind\",\n \"subjectUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"conceptMaturityRubric.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"rubricUuid\",\n \"subjectUuid\",\n \"evidenceRefs\",\n \"reviewQuestionUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"ConceptMaturityAuditEvent\",\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n fixtureMetadata: {\n positiveFixture: \"concept_maturity_rubric_with_audit_fixture\",\n refusalFixtures: [\n \"code_existence_as_concept_maturity_refused\",\n \"green_without_evidence_refused\",\n ],\n driftAssertions: [\n \"concept_maturity_rubric_v1 remains reserved until C2-LY.1 closes\",\n \"concept and technical maturity scores remain separate quality dimensions\",\n ],\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n checkCommand: \"pnpm c2:concept-maturity:check\",\n },\n downstreamConsumers: [\n \"c2-ly-concept-maturity-industrialization\",\n \"c2-lb-edge-propagation-lock\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"primitive_maturity_matrix_v1\",\n emittedAs: \"PrimitiveMaturityMatrixV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"primitive_maturity_audit\",\n \"maturity_gate_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"manifestPrimitiveCoverage\",\n \"sourceCitationCoverage\",\n \"tableFieldOwnershipCoverage\",\n \"redOrangeFollowOnCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"matrixUuid\",\n \"primitiveUuid\",\n \"rubricCompositionKey\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"primitiveMaturityMatrix.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"matrixUuid\",\n \"primitiveUuid\",\n \"rubricUuid\",\n \"sourceCitations\",\n \"followOnWorktrees\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"PrimitiveMaturityAuditEvent\",\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n fixtureMetadata: {\n positiveFixture: \"primitive_maturity_matrix_all_manifest_primitives\",\n refusalFixtures: [\n \"primitive_missing_matrix_row_refused\",\n \"red_or_orange_without_follow_on_refused\",\n ],\n driftAssertions: [\n \"primitive_maturity_matrix_v1 remains reserved until C2-LY.2 closes\",\n \"every manifest primitive has source, table/field, docs, and follow-on coverage\",\n ],\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n checkCommand: \"pnpm c2:primitive-maturity:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lc-state-vectors\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"evidence_question_forecast_maturity_v1\",\n emittedAs: \"EvidenceQuestionForecastMaturityV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LY.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"evidence_question_forecast_maturity_audit\",\n \"confidence_propagation_input_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"provenanceClassCoverage\",\n \"baseRateSourceCoverage\",\n \"signedImpactCoverage\",\n \"questionPressureCoverage\",\n \"forecastSemanticCoverage\",\n \"propagationActionBoundaryCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"evidenceUuid\",\n \"questionUuid\",\n \"forecastUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"evidenceQuestionForecastMaturity.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"evidenceUuid\",\n \"questionUuid\",\n \"baseRateSource\",\n \"signedImpact\",\n \"forecastSemantic\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"EvidenceQuestionForecastMaturityAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n fixtureMetadata: {\n positiveFixture:\n \"evidence_question_forecast_maturity_with_boundaries\",\n refusalFixtures: [\n \"unsigned_evidence_contribution_refused\",\n \"forecast_without_range_semantics_refused\",\n ],\n driftAssertions: [\n \"evidence_question_forecast_maturity_v1 remains reserved until C2-LY.3 closes\",\n \"confidence propagation consumes signed evidence and pressure state but does not authorize action gates\",\n ],\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n checkCommand: \"pnpm c2:evidence-question-forecast:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lc-state-vectors\",\n \"c2-lj-calibration-action-gates-and-permit-bridge\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"worktree_graph_branch_maturity_v1\",\n emittedAs: \"WorktreeGraphBranchMaturityV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LY.2\", \"C2-LY.3\", \"C2-LS.4\", \"C2-LT.3\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\n \"worktree_graph_branch_maturity_audit\",\n \"worktree_delta_ledger_readiness_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"currentSurfaceCoverage\",\n \"targetSemanticCoverage\",\n \"reciprocalLinkDebtRecorded\",\n \"metadataDebtRecorded\",\n \"conflictTaxonomyCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"worktreeUuid\",\n \"scopeRefUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeGraphBranchMaturity.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"worktreeUuid\",\n \"scopeRefUuid\",\n \"targetBeliefUuids\",\n \"targetQuestionUuids\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"WorktreeGraphBranchMaturityAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_graph_branch_maturity_with_gap_map\",\n refusalFixtures: [\n \"graph_branch_without_delta_ledger_refused\",\n \"merge_without_graph_diff_refused\",\n ],\n driftAssertions: [\n \"worktree_graph_branch_maturity_v1 remains reserved until C2-LY.4 closes\",\n \"worktree graph-branch maturity records ScopeRef, delta ledger, GraphDiff, conflict taxonomy, and replay gaps\",\n ],\n docsAnchor:\n \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n checkCommand: \"pnpm c2:worktree-graph-branch:check\",\n },\n downstreamConsumers: [\n \"c2-lv-worktree-delta-ledger\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c3-runtime-substrate-readiness\",\n \"c4-runtime-replay\",\n ],\n },\n {\n key: \"worktree_delta_ledger_v1\",\n emittedAs: \"WorktreeDeltaLedgerV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lv-worktree-delta-ledger\",\n dependsOn: [\"C2-LS.2\", \"C2-LS.3\", \"C2-LT.3\", \"C2-LC.2\", \"C2-LY.4\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\n \"scope_ref\",\n \"worktree_delta_ledger_event\",\n \"graph_diff\",\n \"worktree_merge_conflict\",\n ],\n defaultDepth: \"extra-high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"scopeRefCoverage\",\n \"deltaLedgerCoverage\",\n \"graphDiffCoverage\",\n \"conflictTaxonomyCoverage\",\n \"occMvccCoverage\",\n \"metadataMigrationCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"scopeRefUuid\",\n \"worktreeUuid\",\n \"basisGraphRevision\",\n \"branchRevision\",\n \"policyScopeRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"mutate\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeDeltaLedger.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"scopeRefUuid\",\n \"worktreeUuid\",\n \"basisGraphRevision\",\n \"ledgerEventUuids\",\n \"sourceHorizonRefs\",\n \"policyScopeRef\",\n ],\n },\n replayBinding: \"WorktreeDeltaLedgerEvent\",\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_delta_ledger_with_graph_diff\",\n refusalFixtures: [\n \"draft_write_without_scope_ref_refused\",\n \"delta_event_without_revision_vector_refused\",\n \"graph_diff_without_ledger_event_refused\",\n \"merge_without_graph_diff_refused\",\n \"stale_basis_revision_refused\",\n \"metadata_worktree_id_as_scope_ref_refused\",\n \"target_array_as_branch_edge_refused\",\n \"conflict_without_taxonomy_refused\",\n ],\n driftAssertions: [\n \"worktree_delta_ledger_v1 remains reserved until C2-LV.1 closes\",\n \"worktree deltas require ScopeRef, ledger event, GraphDiff, typed conflict taxonomy, OCC/MVCC behavior, and metadata.worktreeId migration posture\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n checkCommand: \"pnpm c2:worktree-delta-ledger:check\",\n },\n downstreamConsumers: [\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c2-gg-substrate-resolution-ledger\",\n \"c2-gf-avatar-tree-foundation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c4-runtime-replay\",\n ],\n },\n {\n key: \"observability_audit_store_migration_v1\",\n emittedAs: \"ObservabilityAuditStoreMigrationV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ld-observability-audit-store-migration\",\n dependsOn: [\"C2-LA.2\", \"C2-LR.2\", \"C2-LV.1\"],\n primitives: [\"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"master_control_audit_event\",\n \"master_control_policy_decision\",\n \"axiom_master_control_audit_smoke\",\n \"observability_convex_write_guard\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"writerInventoryCoverage\",\n \"typedBoundaryCoverage\",\n \"negativeGuardCoverage\",\n \"readModelClassificationCoverage\",\n \"legacyExportDryRunCoverage\",\n \"axiomQueryDimensionCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"boundaryVersion\",\n \"surface\",\n \"eventNames\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"observability\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"observabilityAuditStoreMigration.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"boundaryVersion\",\n \"tenantId\",\n \"workspaceId\",\n \"correlationId\",\n \"policyTraceId\",\n \"legacyExportDryRunReceipt\",\n ],\n },\n replayBinding: \"MasterControlAxiomAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n fixtureMetadata: {\n positiveFixture:\n \"master_control_audit_policy_events_with_axiom_query_dimensions\",\n refusalFixtures: [\n \"direct_audit_log_write_refused\",\n \"direct_policy_decision_log_write_refused\",\n \"ingest_only_smoke_refused\",\n \"unclassified_mc_reader_refused\",\n \"legacy_export_without_dry_run_refused\",\n ],\n driftAssertions: [\n \"observability_audit_store_migration_v1 remains reserved until C2-LD.1 closes\",\n \"Master Control audit and policy-decision writes route through the typed observability boundary\",\n \"Axiom proof queries master_control events by tenant, workspace, request, policy trace, and correlation ID\",\n ],\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n checkCommand: \"pnpm c2:observability-audit-store:check\",\n },\n downstreamConsumers: [\n \"c2-gf-avatar-tree-foundation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c2-z-post-substrate-surface-upgrade\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"docs_canon_reconciliation_loop_v1\",\n emittedAs: \"DocsCanonReconciliationLoopV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-DOC.0\", \"C2-LA.2\", \"C2-LY.1\", \"C2-LY.4\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"docs_canon_reconciliation_check\",\n \"docs_maturity_writeback_receipt\",\n \"doc_companion_target_gate\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"sourceMaterialInventoryCoverage\",\n \"docOwnershipCoverage\",\n \"prChecklistCoverage\",\n \"maturityWritebackCoverage\",\n \"exemplarRewriteCoverage\",\n \"stalePathDispositionCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"sourceInventoryDigest\",\n \"ownershipMapDigest\",\n \"checklistVersion\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"docs\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"docsCanonReconciliation.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"sourceInventoryDigest\",\n \"ownershipMapDigest\",\n \"checklistVersion\",\n \"exemplarDocPath\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"DocsCanonReconciliationAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n fixtureMetadata: {\n positiveFixture:\n \"docs_canon_reconciliation_loop_with_inventory_ownership_and_exemplar\",\n refusalFixtures: [\n \"stale_source_alias_without_disposition_refused\",\n \"generated_manifest_as_conceptual_proof_refused\",\n ],\n driftAssertions: [\n \"docs_canon_reconciliation_loop_v1 remains reserved until C2-LY.5 closes\",\n \"docs canon reconciliation records source inventory, ownership map, PR checklist, maturity writeback, exemplar rewrite, and stale path disposition\",\n ],\n docsAnchor:\n \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n checkCommand: \"pnpm c2:docs-canon:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests\",\n \"c2-ra-surface-contract-reconciliation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"canonical_edge_public_noun_lock_v1\",\n emittedAs: \"CanonicalEdgePublicNounLockV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\", \"C2-LY.3\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"edge_policy_manifest\",\n \"create_edge\",\n \"edge_storage_alias_migration\",\n \"confidence_edge_dispatch\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"publicNounCoverage\",\n \"storageAliasCoverage\",\n \"confidenceBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"canonicalEdgeType\",\n \"storageAlias\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"canonicalEdgePublicNounLock.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"canonicalEdgeType\",\n \"storageAlias\",\n \"edgePolicyManifestVersion\",\n \"migrationReceiptId\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"CanonicalEdgePublicNounLockAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n fixtureMetadata: {\n positiveFixture:\n \"canonical_edge_public_noun_lock_with_storage_alias_boundary\",\n refusalFixtures: [\n \"public_extracted_from_write_refused\",\n \"provenance_edge_confidence_write_refused\",\n ],\n driftAssertions: [\n \"canonical_edge_public_noun_lock_v1 remains reserved until C2-LB.1 closes\",\n \"derived_from remains the public provenance noun while extracted_from remains storage/read alias only\",\n ],\n docsAnchor:\n \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n checkCommand: \"pnpm c2:canonical-edge-noun:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lg-graph-v2-rebuild\",\n \"c2-lh-constitution-tests\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"belongs_to_membership_model_v1\",\n emittedAs: \"BelongsToMembershipModelV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\", \"C2-LB.1\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"belief_topic_membership\",\n \"get_graph_neighborhood\",\n \"compile_context\",\n \"beliefs.getByTopic\",\n \"permit_relation_projection\",\n \"graph_v2_membership_backfill\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"membershipEdgeCoverage\",\n \"aclRelationCoverage\",\n \"scalarIndexDebtCoverage\",\n \"backfillLedgerCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"canonicalGraphEdgeType\",\n \"permitRelationAlias\",\n \"topicUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"belongsToMembershipModel.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"canonicalGraphEdgeType\",\n \"permitRelationAlias\",\n \"topicUuid\",\n \"policyVersion\",\n \"backfillLedgerId\",\n ],\n },\n replayBinding: \"BelongsToMembershipModelAuditEvent\",\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n fixtureMetadata: {\n positiveFixture:\n \"belongs_to_membership_model_with_permit_alias_and_topicid_index\",\n refusalFixtures: [\n \"public_in_topic_edge_write_refused\",\n \"topic_id_as_semantic_source_refused\",\n \"backfill_cutover_without_ledgers_refused\",\n ],\n driftAssertions: [\n \"belongs_to_membership_model_v1 remains reserved until C2-LB.2 closes\",\n \"belongs_to remains the canonical public graph edge while in_topic remains Permit relation vocabulary\",\n \"topicId remains a repaired performance index only after edge parity\",\n ],\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n checkCommand: \"pnpm c2:belongs-to-membership:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c2-lh-constitution-tests\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"propagation_v2_contract_v1\",\n emittedAs: \"PropagationV2ContractV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n \"C2-LB.1\",\n \"C2-LB.2\",\n \"C2-LY.3\",\n \"C2-LJ.1\",\n ],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"edge_policy_manifest\",\n \"confidence_edge_dispatch\",\n \"sl_evidence_modulation\",\n \"confidence_propagation_v2\",\n \"calibration_slice\",\n \"action_gate_record\",\n ],\n defaultDepth: \"extra-high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"layerBoundaryCoverage\",\n \"edgeSpecCoverage\",\n \"attributionFieldCoverage\",\n \"correlationPolicyCoverage\",\n \"actionGateBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"propagationSpecVersion\",\n \"layerBoundaryVersion\",\n \"calibrationSliceId\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"propagationV2Contract.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"propagationSpecVersion\",\n \"layerBoundaryVersion\",\n \"requiredAttributionFields\",\n \"correlationPolicyVersion\",\n \"calibrationSliceId\",\n \"actionGatePolicyVersion\",\n ],\n },\n replayBinding: \"PropagationV2ContractAuditEvent\",\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n fixtureMetadata: {\n positiveFixture:\n \"direct_evidence_intrinsic_modulation_with_projection_snapshot\",\n refusalFixtures: [\n \"derived_pressure_written_as_intrinsic_confidence_refused\",\n \"projection_without_path_attribution_refused\",\n \"actionability_without_gate_refused\",\n \"correlated_paths_independence_refused\",\n ],\n driftAssertions: [\n \"propagation_v2_contract_v1 remains reserved until C2-LB.3 closes\",\n \"derived pressure never writes intrinsic confidence directly\",\n \"actionable confidence requires calibration and an action gate record\",\n ],\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n checkCommand: \"pnpm c2:propagation-v2:check\",\n },\n downstreamConsumers: [\n \"c2-lc-state-vectors\",\n \"c2-lh-constitution-tests\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_LATE_ENTRIES = [\n {\n key: \"worktree_belief_adoption_projection_v1\",\n emittedAs: \"WorktreeBeliefAdoptionProjectionV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-rd-worktree-belief-backrefs-and-adoption\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n \"C2-LC.3\",\n \"C2-LV.1\",\n \"C2-LK.2\",\n \"C2-RC.1\",\n \"C2-LH.1\",\n ],\n primitives: [\"belief\", \"worktree\", \"question\", \"evidence\"],\n sourceSurfaces: [\n \"list_worktrees_by_belief\",\n \"worktreeBeliefCluster\",\n \"worktrees.targetBeliefIds\",\n \"source_material_adoption_ledger\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"worktreeReferenceCount\",\n \"descendantCount\",\n \"repeatedOperationalUseCount\",\n \"referencePaths\",\n \"intrinsicConfidenceMutation\",\n \"structuralAdoptionScore\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"beliefUuid\",\n \"worktreeUuid\",\n \"projectionVersion\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"belief\",\n action: \"read_structure\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeBeliefAdoption.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"beliefUuid\",\n \"worktreeUuid\",\n \"referencePath\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"WorktreeBeliefAdoptionProjectionTrace\",\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n fixtureMetadata: {\n positiveFixture: \"canonical_pipeline_belief_structural_adoption\",\n refusalFixtures: [\n \"intrinsic_confidence_mutation_refused\",\n \"adoption_without_reference_path_refused\",\n \"intent2_intrinsic_sl_only_ranking_refused\",\n \"unclassified_empty_target_belief_worktree_refused\",\n ],\n driftAssertions: [\n \"list_worktrees_by_belief emits worktree_belief_adoption_projection_v1\",\n \"structural adoption ranking does not require intrinsic SL support\",\n \"adoption projection never mutates intrinsic confidence\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n checkCommand: \"pnpm c2:worktree-belief-adoption:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n \"C3-LB confidence projection and ranking operators\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import { DATA_MODEL_MANIFEST_SKELETON } from \"./data-model-manifest.js\";\nimport { C2_LA_COMPOSITION_EARLY_ENTRIES } from \"./composition-registry-early-entries.js\";\nimport { C2_LA_COMPOSITION_RESERVED_ENTRIES } from \"./composition-registry-reserved-entries.js\";\nimport { C2_LA_COMPOSITION_LATE_ENTRIES } from \"./composition-registry-late-entries.js\";\nimport {\n CompositionRegistrySchema,\n type CompositionRegistry,\n} from \"./composition-registry-shared.js\";\n\nexport {\n CompositionRegistryAuthorizationSchema,\n CompositionRegistryClassificationSchema,\n CompositionRegistryEntrySchema,\n CompositionRegistryFixtureMetadataSchema,\n CompositionRegistryIdentitySchema,\n CompositionRegistryLifecycleSchema,\n CompositionRegistrySchema,\n CompositionRegistrySourceHorizonSchema,\n} from \"./composition-registry-shared.js\";\nexport type {\n CompositionRegistry,\n CompositionRegistryClassification,\n CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_REGISTRY = {\n registryVersion: \"c2_la_composition_registry.v1\",\n worktree: \"C2-LA.2\",\n lane: \"c2-la-manifest-spine\",\n graphWorktreeId: \"tn7ddh58hc7m64apsv33hy4t6d85ssm7\",\n dependsOn: [\n \"C2-LA.1\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n ],\n sourceAnchors: [\n \"docs/epistemic/lucern-campaign-buildout-addendum.md\",\n \"docs/epistemic/lucern-graph-data-model.md\",\n \"docs/roadmap/2026-04-25-pulse-diamonds.md\",\n \"docs/roadmap/campaigns/c2-substrate/README.md#l2-c2-la-manifest-spine-2-worktrees\",\n ],\n rules: [\n \"Every data-model manifest composition must have one registry entry.\",\n \"Every reasoning-state-touching manifest surface must emit a registered composition or primitive.\",\n \"Every registry entry declares UUIDv7 composition identity and treats storage locators as non-semantic.\",\n \"Every substrate_contract entry declares authorization clipping, omission records, source horizon posture, quality vector, refusal fixtures, and downstream consumers.\",\n \"Runtime products may be target lifecycle rows, but they still need policy resources, replay binding, and refusal fixtures before codegen consumes them.\",\n ],\n entries: [\n ...C2_LA_COMPOSITION_EARLY_ENTRIES,\n ...C2_LA_COMPOSITION_RESERVED_ENTRIES,\n ...C2_LA_COMPOSITION_LATE_ENTRIES,\n ],\n} satisfies CompositionRegistry;\n\nexport const parsedCompositionRegistry = CompositionRegistrySchema.parse(\n C2_LA_COMPOSITION_REGISTRY,\n);\n\nexport const DATA_MODEL_MANIFEST_COMPOSITION_KEYS = DATA_MODEL_MANIFEST_SKELETON\n .compositions.map((composition) => composition.key);\n\nexport const DATA_MODEL_MANIFEST_SURFACE_COMPOSITION_KEYS =\n DATA_MODEL_MANIFEST_SKELETON.surfaces.map((surface) => surface.compositionEmitted);\n","import { z } from \"zod\";\n\nexport const EVIDENCE_RELATION_VALUES = [\n \"supports\",\n \"contradicts\",\n] as const;\n\nexport const EVIDENCE_METHODOLOGY_VALUES = [\n \"primary_research\",\n \"expert_interview\",\n \"customer_interview\",\n \"field_observation\",\n \"proprietary_data\",\n \"desk_research\",\n \"regulatory_filing\",\n \"news_article\",\n \"academic_paper\",\n \"ai_synthesis\",\n \"ai_extraction\",\n] as const;\n\nexport const EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [\n \"proprietary\",\n \"early\",\n \"common\",\n] as const;\n\nexport const EVIDENCE_SOURCE_QUALITY_VALUES = [\n \"primary\",\n \"analyzed\",\n \"secondary\",\n \"tertiary\",\n \"unknown\",\n] as const;\n\nexport const EVIDENCE_SOURCE_TYPE_VALUES = [\n \"human\",\n \"ai_extracted\",\n \"ai_generated\",\n \"imported\",\n \"system\",\n \"verified\",\n \"proprietary\",\n] as const;\n\nexport const EVIDENCE_SCORING_DIMENSIONS = [\n \"signedImpact\",\n \"evidenceRelation\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceRef\",\n \"targetBeliefId\",\n \"verificationStatus\",\n] as const;\n\nexport const EVIDENCE_TAXONOMY_REFUSAL_IDS = [\n \"orphan_evidence_create_refused\",\n \"non_belief_create_target_refused\",\n \"zero_signed_impact_refused\",\n \"relation_signed_impact_mismatch_refused\",\n \"unscoped_list_evidence_refused\",\n \"metadata_scoring_plan_refused\",\n] as const;\n\nexport type EvidenceRelation = (typeof EVIDENCE_RELATION_VALUES)[number];\nexport type EvidenceMethodology = (typeof EVIDENCE_METHODOLOGY_VALUES)[number];\nexport type EvidenceInformationAsymmetry =\n (typeof EVIDENCE_INFORMATION_ASYMMETRY_VALUES)[number];\nexport type EvidenceSourceQuality =\n (typeof EVIDENCE_SOURCE_QUALITY_VALUES)[number];\nexport type EvidenceSourceType = (typeof EVIDENCE_SOURCE_TYPE_VALUES)[number];\nexport type EvidenceScoringDimension =\n (typeof EVIDENCE_SCORING_DIMENSIONS)[number];\nexport type EvidenceTaxonomyRefusalId =\n (typeof EVIDENCE_TAXONOMY_REFUSAL_IDS)[number];\n\nexport const EvidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nexport const EvidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nexport const EvidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nexport const EvidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nexport const EvidenceSourceTypeSchema = z.enum(EVIDENCE_SOURCE_TYPE_VALUES);\nexport const EvidenceScoringDimensionSchema = z.enum(\n EVIDENCE_SCORING_DIMENSIONS,\n);\n","import { z } from \"zod\";\n\nimport { isUuidV7 } from \"./ids/index.js\";\nimport { C2_LA_COMPOSITION_REGISTRY } from \"./manifests/composition-registry.js\";\nimport {\n EvidenceInformationAsymmetrySchema,\n EvidenceMethodologySchema,\n EvidenceRelationSchema,\n EvidenceScoringDimensionSchema,\n EvidenceSourceQualitySchema,\n EvidenceSourceTypeSchema,\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SCORING_DIMENSIONS,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n EVIDENCE_SOURCE_TYPE_VALUES,\n EVIDENCE_TAXONOMY_REFUSAL_IDS,\n} from \"./types/evidence-taxonomy-target-scope.js\";\n\nexport {\n EvidenceInformationAsymmetrySchema,\n EvidenceMethodologySchema,\n EvidenceRelationSchema,\n EvidenceScoringDimensionSchema,\n EvidenceSourceQualitySchema,\n EvidenceSourceTypeSchema,\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SCORING_DIMENSIONS,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n EVIDENCE_SOURCE_TYPE_VALUES,\n EVIDENCE_TAXONOMY_REFUSAL_IDS,\n} from \"./types/evidence-taxonomy-target-scope.js\";\nexport type {\n EvidenceInformationAsymmetry,\n EvidenceMethodology,\n EvidenceRelation,\n EvidenceScoringDimension,\n EvidenceSourceQuality,\n EvidenceSourceType,\n EvidenceTaxonomyRefusalId,\n} from \"./types/evidence-taxonomy-target-scope.js\";\n\nexport const EVIDENCE_TAXONOMY_CONTRACT_VERSION =\n \"c2_rc_evidence_taxonomy_target_scope.v1\" as const;\nexport const EVIDENCE_TAXONOMY_WORKTREE = \"C2-RC.1\" as const;\nexport const EVIDENCE_TAXONOMY_LANE =\n \"c2-rc-evidence-taxonomy-and-target-scope\" as const;\nexport const EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID =\n \"tn74ztrs0q9f5f096p5y88rtx185wyzx\" as const;\nexport const EVIDENCE_TAXONOMY_COMPOSITION_KEY =\n \"evidence_scoring_policy_v1\" as const;\n\nconst UuidV7StringSchema = z\n .string()\n .uuid()\n .refine(isUuidV7, \"must be UUIDv7\");\n\nconst TopLevelEvidenceFieldSchema = z.object({\n field: z.enum([\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"targetBeliefGlobalId\",\n \"sourceRef\",\n \"sourceUrl\",\n \"sourceQuestionId\",\n \"sourceQuality\",\n \"sourceDescription\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceType\",\n \"externalSourceType\",\n \"verificationStatus\",\n \"kind\",\n \"tags\",\n ]),\n requiredForCreate: z.boolean(),\n metadataFallbackReadAllowed: z.boolean(),\n writeAuthority: z.literal(\"top_level\"),\n});\n\nconst EvidenceScoringPolicySchema = z.object({\n policyKey: z.literal(EVIDENCE_TAXONOMY_COMPOSITION_KEY),\n dimensions: z.array(EvidenceScoringDimensionSchema).min(1),\n metadataDereferencesAllowed: z.literal(false),\n scoreRange: z.object({\n min: z.literal(-1),\n max: z.literal(1),\n zeroAllowed: z.literal(false),\n }),\n targetScopeSurface: z.literal(\"list_evidence\"),\n targetScopeRequiredArgument: z.literal(\"targetId\"),\n});\n\nconst PaperCompilerIntentPlanSchema = z.object({\n intent: z.literal(\"weakest_evidence\"),\n naturalLanguagePrompt: z.literal(\"what evidence is weakest?\"),\n requiredSurface: z.literal(\"list_evidence\"),\n requiredArgs: z.array(z.literal(\"targetId\")).min(1),\n rankingFields: z.array(EvidenceScoringDimensionSchema).min(1),\n forbiddenDereferences: z.array(z.string()).min(1),\n});\n\nconst MigrationFixtureSchema = z.object({\n referenceEvidenceId: z.literal(\"n971nzc2nrr44srpynqmxcjqsd85wrh3\"),\n legacyShape: z.object({\n metadataFields: z.array(z.string()).min(1),\n }),\n canonicalShape: z.object({\n topLevelFields: z.array(TopLevelEvidenceFieldSchema.shape.field).min(1),\n targetScope: z.literal(\"belief\"),\n preservesSemantics: z.literal(true),\n }),\n});\n\nexport const EvidenceTaxonomyTargetScopeContractSchema = z\n .object({\n contractVersion: z.literal(EVIDENCE_TAXONOMY_CONTRACT_VERSION),\n modelUuid: UuidV7StringSchema,\n worktree: z.literal(EVIDENCE_TAXONOMY_WORKTREE),\n lane: z.literal(EVIDENCE_TAXONOMY_LANE),\n graphWorktreeId: z.literal(EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID),\n compositionKey: z.literal(EVIDENCE_TAXONOMY_COMPOSITION_KEY),\n topLevelFields: z.array(TopLevelEvidenceFieldSchema).min(1),\n scoringPolicy: EvidenceScoringPolicySchema,\n paperCompilerIntent: PaperCompilerIntentPlanSchema,\n migrationFixture: MigrationFixtureSchema,\n expectedRefusals: z.array(z.enum(EVIDENCE_TAXONOMY_REFUSAL_IDS)).min(1),\n quality: z.object({\n taxonomyFieldCoverage: z.literal(1),\n targetScopeCoverage: z.literal(1),\n scoringPolicyCoverage: z.literal(1),\n migrationFixtureCoverage: z.literal(1),\n metadataDereferenceCoverage: z.literal(1),\n }),\n })\n .superRefine((value, ctx) => {\n const fieldNames = new Set(value.topLevelFields.map((entry) => entry.field));\n for (const field of [\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"sourceRef\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n ] as const) {\n if (!fieldNames.has(field)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"topLevelFields\"],\n message: `missing canonical evidence field ${field}`,\n });\n }\n }\n\n for (const dimension of value.scoringPolicy.dimensions) {\n if (!fieldNames.has(dimension) && dimension !== \"verificationStatus\") {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"scoringPolicy\", \"dimensions\"],\n message: `${dimension} is not backed by a top-level evidence field`,\n });\n }\n }\n\n if (\n value.paperCompilerIntent.forbiddenDereferences.some(\n (path) => !path.startsWith(\"metadata.\"),\n )\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"paperCompilerIntent\", \"forbiddenDereferences\"],\n message: \"RC.1 forbidden compiler dereferences must name metadata paths\",\n });\n }\n });\n\nexport type EvidenceTaxonomyTargetScopeContract = z.infer<\n typeof EvidenceTaxonomyTargetScopeContractSchema\n>;\n\nexport const EVIDENCE_TAXONOMY_TARGET_SCOPE_CONTRACT = {\n contractVersion: EVIDENCE_TAXONOMY_CONTRACT_VERSION,\n modelUuid: \"019e92ff-95e7-7000-91b0-44af9c2a33d1\",\n worktree: EVIDENCE_TAXONOMY_WORKTREE,\n lane: EVIDENCE_TAXONOMY_LANE,\n graphWorktreeId: EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID,\n compositionKey: EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n topLevelFields: [\n {\n field: \"evidenceRelation\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"signedImpact\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"targetBeliefId\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"targetBeliefGlobalId\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceRef\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceUrl\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceQuestionId\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceQuality\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceDescription\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"methodology\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"informationAsymmetry\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceType\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: false,\n writeAuthority: \"top_level\",\n },\n {\n field: \"externalSourceType\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"verificationStatus\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"kind\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"tags\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n ],\n scoringPolicy: {\n policyKey: EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n dimensions: [...EVIDENCE_SCORING_DIMENSIONS],\n metadataDereferencesAllowed: false,\n scoreRange: {\n min: -1,\n max: 1,\n zeroAllowed: false,\n },\n targetScopeSurface: \"list_evidence\",\n targetScopeRequiredArgument: \"targetId\",\n },\n paperCompilerIntent: {\n intent: \"weakest_evidence\",\n naturalLanguagePrompt: \"what evidence is weakest?\",\n requiredSurface: \"list_evidence\",\n requiredArgs: [\"targetId\"],\n rankingFields: [\n \"signedImpact\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n \"verificationStatus\",\n ],\n forbiddenDereferences: [\n \"metadata.evidenceRelation\",\n \"metadata.methodology\",\n \"metadata.informationAsymmetry\",\n \"metadata.sourceQuality\",\n \"metadata.targetId\",\n ],\n },\n migrationFixture: {\n referenceEvidenceId: \"n971nzc2nrr44srpynqmxcjqsd85wrh3\",\n legacyShape: {\n metadataFields: [\n \"metadata.evidenceRelation\",\n \"metadata.methodology\",\n \"metadata.informationAsymmetry\",\n \"metadata.sourceQuality\",\n \"metadata.targetId\",\n \"metadata.linkedBeliefNodeId\",\n ],\n },\n canonicalShape: {\n topLevelFields: [\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"sourceRef\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n ],\n targetScope: \"belief\",\n preservesSemantics: true,\n },\n },\n expectedRefusals: [...EVIDENCE_TAXONOMY_REFUSAL_IDS],\n quality: {\n taxonomyFieldCoverage: 1,\n targetScopeCoverage: 1,\n scoringPolicyCoverage: 1,\n migrationFixtureCoverage: 1,\n metadataDereferenceCoverage: 1,\n },\n} as const satisfies EvidenceTaxonomyTargetScopeContract;\n\nexport const parsedEvidenceTaxonomyTargetScopeContract =\n EvidenceTaxonomyTargetScopeContractSchema.parse(\n EVIDENCE_TAXONOMY_TARGET_SCOPE_CONTRACT,\n );\n\nexport const EVIDENCE_TAXONOMY_COMPOSITION_ROW =\n C2_LA_COMPOSITION_REGISTRY.entries.find(\n (entry) => entry.key === EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n );\n","import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport {\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n} from \"../evidence-taxonomy-target-scope.contract.js\";\nimport { decodePrefixedId } from \"../ids.contract.js\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst evidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nconst evidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nconst evidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nconst evidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nconst evidenceRelationAliasSchema = z.enum([\n \"supports\",\n \"contradicts\",\n \"supporting\",\n \"contradicting\",\n]);\nconst beliefRelationSchema = z.object({\n beliefId: z.string().optional(),\n beliefNodeId: z.string().optional(),\n targetId: z.string().optional(),\n relation: evidenceRelationAliasSchema.optional(),\n evidenceRelation: evidenceRelationSchema.optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n rationale: z.string().optional(),\n});\n\nconst createEvidenceInputSchemaBase = z\n .object({\n projectId: z.string().optional(),\n topicId: z.string().optional(),\n text: z.string().optional(),\n canonicalText: z.string().optional(),\n title: z.string().optional(),\n content: z.string().optional(),\n contentType: z.string().optional(),\n kind: z.string().optional(),\n tags: z.array(z.string()).optional(),\n source: z.string().optional(),\n sourceUrl: z.string().optional(),\n externalSourceUrl: z.string().optional(),\n sourceType: z.string().optional(),\n externalSourceType: z.string().optional(),\n sourceQuestionId: z.string().optional(),\n methodology: evidenceMethodologySchema.optional(),\n informationAsymmetry: evidenceInformationAsymmetrySchema.optional(),\n sourceQuality: evidenceSourceQualitySchema.optional(),\n sourceDescription: z.string().optional(),\n targetId: z.string().optional(),\n targetNodeId: z.string().optional(),\n linkedBeliefNodeId: z.string().optional(),\n evidenceRelation: evidenceRelationSchema.optional(),\n beliefRelations: z.array(beliefRelationSchema).optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n reasoning: z.string().optional(),\n rationale: z.string(),\n metadata: jsonRecordSchema.optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n })\n .passthrough();\n\nfunction isSignedImpactScore(value: number | undefined): value is number {\n return (\n typeof value === \"number\" &&\n Number.isFinite(value) &&\n value >= -1 &&\n value <= 1 &&\n value !== 0\n );\n}\n\nfunction validateSignedImpactScore(\n value: number | undefined,\n ctx: z.RefinementCtx,\n path: (string | number)[],\n) {\n if (!isSignedImpactScore(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"evidence-to-belief links require an explicit nonzero signed impact score in [-1, 1]\",\n path,\n });\n return false;\n }\n return true;\n}\n\nfunction validateRelationImpactConsistency(\n relation: string | undefined,\n weight: number | undefined,\n ctx: z.RefinementCtx,\n path: (string | number)[],\n) {\n const normalized = normalizeRelationAlias(relation);\n if (!normalized || !isSignedImpactScore(weight)) {\n return;\n }\n if (normalized === \"supports\" && weight < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"supporting evidence requires a positive impact score\",\n path,\n });\n }\n if (normalized === \"contradicts\" && weight > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"contradicting evidence requires a negative impact score\",\n path,\n });\n }\n}\n\nexport const createEvidenceInputSchema = createEvidenceInputSchemaBase.superRefine(\n (input, ctx) => {\n if (!input.text && !input.canonicalText) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"create_evidence requires text\",\n path: [\"text\"],\n });\n }\n\n const target = input.targetId ?? input.targetNodeId;\n const kind = targetKind(target);\n const linksPrimaryBelief = Boolean(\n input.linkedBeliefNodeId ||\n kind === \"belief\" ||\n (kind === \"unknown\" && target),\n );\n const weight =\n typeof input.weight === \"number\" ? input.weight : undefined;\n const hasBeliefRelations = (input.beliefRelations?.length ?? 0) > 0;\n if (!linksPrimaryBelief && !hasBeliefRelations) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"create_evidence requires at least one linked belief; evidence cannot be created as an orphan or linked only to a question/worktree\",\n path: [\"linkedBeliefNodeId\"],\n });\n }\n if (kind === \"question\" || kind === \"worktree\") {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"create_evidence targetId must be a belief. Link evidence to questions/worktrees only after the evidence has a belief impact edge.\",\n path: [\"targetId\"],\n });\n }\n if (linksPrimaryBelief) {\n validateSignedImpactScore(weight, ctx, [\"weight\"]);\n validateRelationImpactConsistency(input.evidenceRelation, weight, ctx, [\n \"weight\",\n ]);\n }\n\n input.beliefRelations?.forEach((relation, index) => {\n const beliefNodeId =\n relation.beliefNodeId ?? relation.beliefId ?? relation.targetId;\n if (!beliefNodeId) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"beliefRelations entries require beliefId, beliefNodeId, or targetId\",\n path: [\"beliefRelations\", index, \"beliefNodeId\"],\n });\n }\n const relationWeight =\n typeof relation.weight === \"number\" ? relation.weight : undefined;\n if (beliefNodeId) {\n validateSignedImpactScore(relationWeight, ctx, [\n \"beliefRelations\",\n index,\n \"weight\",\n ]);\n validateRelationImpactConsistency(\n relation.evidenceRelation ?? relation.relation,\n relationWeight,\n ctx,\n [\"beliefRelations\", index, \"weight\"],\n );\n }\n });\n },\n);\n\nexport type CreateEvidenceProjectionInput = z.infer<\n typeof createEvidenceInputSchema\n>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction recordValue(value: unknown): Record<string, unknown> {\n return isRecord(value) ? value : {};\n}\n\nfunction normalizeTopicIdForKernel(\n topicId: string | undefined,\n): string | undefined {\n const normalized = topicId?.trim();\n if (!normalized) {\n return undefined;\n }\n\n try {\n const decoded = decodePrefixedId(normalized);\n return decoded.prefix === \"top\" ? decoded.value : normalized;\n } catch {\n return normalized;\n }\n}\n\nfunction normalizeWorktreeId(value: string | undefined): string | undefined {\n const normalized = value?.trim();\n if (!normalized) {\n return undefined;\n }\n if (normalized.startsWith(\"wt_\")) {\n return normalized.slice(\"wt_\".length);\n }\n return normalized;\n}\n\nfunction targetKind(\n targetId: string | undefined,\n): \"belief\" | \"question\" | \"worktree\" | \"unknown\" {\n const normalized = targetId?.trim();\n if (!normalized) {\n return \"unknown\";\n }\n if (normalized.startsWith(\"wt_\") || /^tn[a-z0-9]+$/i.test(normalized)) {\n return \"worktree\";\n }\n if (normalized.startsWith(\"que_\")) {\n return \"question\";\n }\n if (normalized.startsWith(\"bel_\")) {\n return \"belief\";\n }\n return \"unknown\";\n}\n\nfunction normalizeRelationAlias(value: string | undefined) {\n if (value === \"supports\" || value === \"supporting\") {\n return \"supports\" as const;\n }\n if (value === \"contradicts\" || value === \"contradicting\") {\n return \"contradicts\" as const;\n }\n return undefined;\n}\n\nfunction normalizeRelation(value: string | undefined, weight: number | undefined) {\n const alias = normalizeRelationAlias(value);\n if (alias) {\n return alias;\n }\n if (weight === undefined || !hasNonzeroWeight(weight)) {\n return undefined;\n }\n return weight < 0 ? (\"contradicts\" as const) : (\"supports\" as const);\n}\n\nfunction hasNonzeroWeight(value: number | undefined): boolean {\n return typeof value === \"number\" && Number.isFinite(value) && value !== 0;\n}\n\nfunction normalizeConfidence(\n confidence: number | undefined,\n weight: number | undefined,\n) {\n if (confidence !== undefined) {\n return Math.min(1, Math.max(0, confidence));\n }\n if (weight === undefined) {\n return undefined;\n }\n return Math.min(1, Math.max(0, Math.abs(weight)));\n}\n\nfunction normalizeBeliefRelation(\n relation: z.infer<typeof beliefRelationSchema>,\n) {\n const beliefNodeId =\n relation.beliefNodeId ?? relation.beliefId ?? relation.targetId;\n if (!beliefNodeId) {\n return undefined;\n }\n const weight =\n typeof relation.weight === \"number\" ? relation.weight : undefined;\n const evidenceRelation = normalizeRelation(\n relation.evidenceRelation ?? relation.relation,\n weight,\n );\n if (!evidenceRelation) {\n return undefined;\n }\n return compactRecord({\n beliefNodeId,\n relation: evidenceRelation,\n confidence: normalizeConfidence(relation.confidence, weight),\n weight,\n rationale: relation.rationale,\n });\n}\n\nexport const createEvidenceProjection = defineProjection({\n contractName: \"create_evidence\",\n inputSchema: createEvidenceInputSchema,\n project: (input: CreateEvidenceProjectionInput) => {\n const text = input.text ?? input.canonicalText;\n const weight = typeof input.weight === \"number\" ? input.weight : undefined;\n const target = input.targetId ?? input.targetNodeId;\n const kind = targetKind(target);\n const linkedWorktreeId =\n kind === \"worktree\" ? normalizeWorktreeId(target) : undefined;\n const linkedBeliefNodeId =\n input.linkedBeliefNodeId ??\n (kind === \"belief\" || kind === \"unknown\"\n ? (input.targetNodeId ?? input.targetId)\n : undefined);\n const evidenceRelation = linkedBeliefNodeId\n ? normalizeRelation(input.evidenceRelation, weight)\n : undefined;\n const confidence = evidenceRelation\n ? normalizeConfidence(input.confidence, weight)\n : undefined;\n const beliefRelations = input.beliefRelations\n ?.map(normalizeBeliefRelation)\n .filter(\n (relation): relation is Record<string, unknown> => relation !== undefined,\n );\n\n return compactRecord({\n projectId: input.projectId,\n topicId: normalizeTopicIdForKernel(input.topicId),\n text,\n title: input.title ?? text,\n content: input.content ?? text,\n contentType: input.contentType,\n kind: input.kind,\n tags: input.tags,\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType,\n sourceRef: input.sourceUrl ?? input.externalSourceUrl ?? input.source,\n sourceUrl: input.sourceUrl ?? input.externalSourceUrl ?? input.source,\n sourceQuestionId: input.sourceQuestionId,\n methodology: input.methodology,\n informationAsymmetry: input.informationAsymmetry,\n sourceQuality: input.sourceQuality,\n sourceDescription: input.sourceDescription,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n source: input.source,\n targetId: input.targetId,\n targetNodeId: input.targetNodeId,\n targetKind: kind === \"unknown\" ? undefined : kind,\n linkedWorktreeId,\n weight,\n reasoning: input.reasoning,\n rationale: input.rationale,\n }),\n linkedBeliefNodeId,\n targetBeliefId: linkedBeliefNodeId,\n evidenceRelation,\n signedImpact: weight,\n confidence,\n weight,\n beliefRelations:\n beliefRelations && beliefRelations.length > 0\n ? beliefRelations\n : undefined,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n });\n },\n convexArgsValidator: v.object({\n projectId: v.optional(v.string()),\n topicId: v.optional(v.string()),\n text: v.string(),\n title: v.optional(v.string()),\n content: v.optional(v.string()),\n contentType: v.optional(v.string()),\n kind: v.optional(v.string()),\n tags: v.optional(v.array(v.string())),\n sourceType: v.optional(v.string()),\n externalSourceType: v.optional(v.string()),\n sourceRef: v.optional(v.string()),\n sourceUrl: v.optional(v.string()),\n sourceQuestionId: v.optional(v.string()),\n methodology: v.optional(v.string()),\n informationAsymmetry: v.optional(v.string()),\n sourceQuality: v.optional(v.string()),\n sourceDescription: v.optional(v.string()),\n metadata: v.optional(v.record(v.string(), v.any())),\n linkedBeliefNodeId: v.optional(v.string()),\n targetBeliefId: v.optional(v.string()),\n evidenceRelation: v.optional(\n v.union(\n v.literal(\"supports\"),\n v.literal(\"contradicts\"),\n ),\n ),\n weight: v.optional(v.number()),\n signedImpact: v.optional(v.number()),\n beliefRelations: v.optional(\n v.array(\n v.object({\n beliefNodeId: v.string(),\n relation: v.union(v.literal(\"supports\"), v.literal(\"contradicts\")),\n confidence: v.optional(v.number()),\n weight: v.number(),\n rationale: v.optional(v.string()),\n }),\n ),\n ),\n confidence: v.optional(v.number()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n","import {\n compactRecord,\n recordValue,\n surfaceContract,\n withCreatedBy,\n withUserId,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { createEvidenceProjection } from \"../projections/create-evidence.projection.js\";\nimport {\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n} from \"../types/evidence-taxonomy-target-scope.js\";\nimport { z } from \"zod\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst evidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nconst evidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nconst evidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nconst evidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nconst beliefRelationSchema = z.object({\n beliefId: z.string().optional().describe(\"Belief ID this evidence bears on.\"),\n beliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node ID this evidence bears on.\"),\n targetId: z\n .string()\n .optional()\n .describe(\"Belief target ID alias for beliefId/beliefNodeId.\"),\n relation: z\n .enum([\"supports\", \"contradicts\", \"supporting\", \"contradicting\"])\n .optional()\n .describe(\"Relation alias for how the evidence bears on the belief.\"),\n evidenceRelation: evidenceRelationSchema\n .optional()\n .describe(\"Canonical relation: supports or contradicts.\"),\n confidence: z\n .number()\n .optional()\n .describe(\n \"Deprecated read-only hint. Runtime SL confidence is derived from signed weight.\",\n ),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\"Required signed impact score from -1.0 to +1.0 for this belief.\"),\n rationale: z.string().optional().describe(\"Why this relation exists.\"),\n});\n\nconst createEvidenceArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope for the evidence.\"),\n text: z.string().describe(\"Canonical evidence text.\"),\n source: z.string().optional().describe(\"Source URL or source label.\"),\n sourceUrl: z.string().optional().describe(\"Canonical source URL.\"),\n externalSourceUrl: z\n .string()\n .optional()\n .describe(\"Backward-compatible alias for sourceUrl.\"),\n targetId: z\n .string()\n .optional()\n .describe(\n \"Belief identifier to link immediately. Evidence creation cannot target only a question or worktree.\",\n ),\n linkedBeliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node this evidence bears on.\"),\n evidenceRelation: evidenceRelationSchema\n .optional()\n .describe(\n \"How the evidence relates to the linked belief. Use supports for proof/fixes; use contradicts for bugs, regressions, or falsifying observations.\",\n ),\n beliefRelations: z\n .array(beliefRelationSchema)\n .optional()\n .describe(\n \"Additional belief relations for one evidence record. Use when the same evidence supports or contradicts multiple beliefs.\",\n ),\n confidence: z\n .number()\n .optional()\n .describe(\n \"Deprecated hint. Runtime confidence is derived from signed weight.\",\n ),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\n \"Required signed impact score from -1.0 to +1.0 for targetId/linkedBeliefNodeId.\",\n ),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Metadata merged into the canonical evidence node.\"),\n rationale: z\n .string()\n .describe(\"Why this evidence should enter the reasoning graph.\"),\n reasoning: z\n .string()\n .optional()\n .describe(\"Reasoning note preserved in evidence metadata.\"),\n title: z.string().optional().describe(\"Optional short title.\"),\n content: z.string().optional().describe(\"Optional long-form content.\"),\n contentType: z.string().optional().describe(\"Content format or MIME hint.\"),\n kind: z.string().optional().describe(\"Evidence kind.\"),\n tags: z.array(z.string()).optional().describe(\"Evidence tags.\"),\n sourceType: z.string().optional().describe(\"Evidence source type.\"),\n externalSourceType: z\n .string()\n .optional()\n .describe(\"External source type for imported evidence.\"),\n sourceQuestionId: z\n .string()\n .optional()\n .describe(\"Question that sourced this evidence.\"),\n methodology: evidenceMethodologySchema\n .optional()\n .describe(\"Manifest-backed collection methodology.\"),\n informationAsymmetry: evidenceInformationAsymmetrySchema\n .optional()\n .describe(\"Information asymmetry class.\"),\n sourceQuality: evidenceSourceQualitySchema\n .optional()\n .describe(\"Manifest-backed source quality tier.\"),\n sourceDescription: z\n .string()\n .optional()\n .describe(\"Human-readable source description.\"),\n});\n\nconst archiveEvidenceArgs = z\n .object({\n id: z.string().optional().describe(\"Canonical evidence ID.\"),\n evidenceId: z.string().optional().describe(\"Evidence ID alias.\"),\n nodeId: z.string().optional().describe(\"Evidence node ID alias.\"),\n insightId: z.string().optional().describe(\"Legacy insight ID alias.\"),\n reason: z.string().optional().describe(\"Why this evidence is archived.\"),\n })\n .superRefine((input, ctx) => {\n if (input.id || input.evidenceId || input.nodeId || input.insightId) {\n return;\n }\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"archive_evidence requires id, evidenceId, nodeId, or insightId.\",\n path: [\"id\"],\n });\n });\n\nconst listEvidenceBaseArgs = z.object({\n topicId: z.string().optional().describe(\"Optional topic scope filter.\"),\n targetId: z\n .string()\n .optional()\n .describe(\n \"Optional belief, question, raw node, or global node identifier to scope evidence by linkage.\",\n ),\n limit: z.number().optional().describe(\"Maximum results.\"),\n cursor: z.string().optional().describe(\"Pagination cursor.\"),\n});\n\nfunction requireListEvidenceScope(\n input: z.infer<typeof listEvidenceBaseArgs>,\n ctx: z.RefinementCtx,\n) {\n if (input.topicId || input.targetId) {\n return;\n }\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"list_evidence requires topicId or targetId.\",\n path: [\"topicId\"],\n });\n}\n\nconst listEvidenceArgs = listEvidenceBaseArgs.superRefine(\n requireListEvidenceScope,\n);\nconst listEvidenceInput = listEvidenceBaseArgs\n .extend({ __sdkSessionId: z.string().optional() })\n .strict()\n .superRefine(requireListEvidenceScope);\n\nconst addEvidenceArgs = z.object({\n canonicalText: z.string().describe(\"The evidence statement.\"),\n text: z\n .string()\n .optional()\n .describe(\"Canonical evidence text alias used by newer callers.\"),\n topicId: z.string().optional().describe(\"Topic scope hint.\"),\n sourceUrl: z.string().optional().describe(\"URL of the source material.\"),\n targetNodeId: z.string().describe(\"The belief this evidence bears on.\"),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\"Required signed impact score from -1.0 to +1.0.\"),\n reasoning: z\n .string()\n .describe(\"Why this evidence is relevant to the target belief.\"),\n title: z.string().optional().describe(\"Optional short title.\"),\n content: z\n .string()\n .optional()\n .describe(\"Optional long-form evidence content.\"),\n contentType: z.string().optional().describe(\"Content format or MIME hint.\"),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Optional metadata merged into the evidence node.\"),\n});\n\nconst createEvidenceInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const parsed = createEvidenceProjection.inputSchema.safeParse(input);\n if (!parsed.success) {\n throw new Error(\n `create_evidence projection input rejected: ${parsed.error.message}`,\n );\n }\n\n return withUserId(\n compactRecord(createEvidenceProjection.project(parsed.data)),\n context,\n );\n};\n\nfunction relationWeight(input: Record<string, unknown>): number {\n if (\n typeof input.weight === \"number\" &&\n Number.isFinite(input.weight) &&\n input.weight !== 0 &&\n input.weight >= -1 &&\n input.weight <= 1\n ) {\n const relation = String(\n input.evidenceRelation ?? input.relation ?? input.type ?? \"\",\n );\n if (\n (relation === \"supports\" || relation === \"supporting\") &&\n input.weight < 0\n ) {\n throw new Error(\"Supporting evidence links require positive weight.\");\n }\n if (\n (relation === \"contradicts\" || relation === \"contradicting\") &&\n input.weight > 0\n ) {\n throw new Error(\"Contradicting evidence links require negative weight.\");\n }\n return input.weight;\n }\n throw new Error(\n \"Belief evidence links require explicit nonzero weight in [-1, 1].\",\n );\n}\n\nconst linkEvidenceToBeliefInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const weight = relationWeight(input);\n return withUserId(\n compactRecord({\n beliefNodeId: input.beliefNodeId ?? input.beliefId ?? input.targetId,\n insightId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n type: weight < 0 ? \"contradicting\" : \"supporting\",\n weight,\n confidence: Math.min(1, Math.abs(weight)),\n rationale: input.rationale ?? input.context,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n};\n\nconst linkEvidenceToBeliefEdgeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withCreatedBy(\n compactRecord({\n fromNodeId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n toNodeId: input.beliefNodeId ?? input.beliefId ?? input.targetId,\n edgeType: \"informs\",\n globalId:\n input.globalId ??\n `edge:${String(\n input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n )}:${String(\n input.beliefNodeId ?? input.beliefId ?? input.targetId,\n )}:informs`,\n weight: relationWeight(input),\n context: input.rationale ?? input.context,\n skipLayerValidation: true,\n topicId: input.topicId,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n\nconst linkEvidenceToQuestionEdgeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withCreatedBy(\n compactRecord({\n fromNodeId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n toNodeId: input.questionId ?? input.questionNodeId ?? input.targetId,\n edgeType: \"responds_to\",\n globalId:\n input.globalId ??\n `edge:${String(\n input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n )}:${String(\n input.questionId ?? input.questionNodeId ?? input.targetId,\n )}:responds_to`,\n weight: input.impactScore ?? input.weight,\n context: input.rationale ?? input.context,\n skipLayerValidation: true,\n topicId: input.topicId,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n\nexport const evidenceContracts = [\n surfaceContract({\n name: \"create_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"createEvidence\",\n summary: \"Create evidence.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createEvidenceInput,\n },\n args: createEvidenceArgs,\n }),\n surfaceContract({\n name: \"add_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"legacy_compat\",\n replacedBy: \"create_evidence\",\n path: \"/evidence/add\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"addEvidence\",\n summary:\n \"Legacy evidence creation alias that writes through create_evidence.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) => {\n if (\n typeof input.weight !== \"number\" ||\n !Number.isFinite(input.weight) ||\n input.weight === 0 ||\n input.weight < -1 ||\n input.weight > 1\n ) {\n throw new Error(\n \"add_evidence requires explicit nonzero weight in [-1, 1].\",\n );\n }\n const weight = input.weight;\n return createEvidenceInput(\n {\n ...input,\n text: input.text ?? input.canonicalText,\n sourceUrl: input.sourceUrl,\n linkedBeliefNodeId:\n input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,\n evidenceRelation: weight < 0 ? \"contradicts\" : \"supports\",\n confidence: Math.min(1, Math.max(0, Math.abs(weight))),\n weight,\n rationale: input.reasoning,\n metadata: {\n ...recordValue(input.metadata),\n reasoning: input.reasoning,\n sourceUrl: input.sourceUrl,\n },\n },\n context,\n );\n },\n },\n args: addEvidenceArgs,\n }),\n surfaceContract({\n name: \"get_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/evidence/get\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"getEvidence\",\n summary: \"Get evidence.\",\n gateway: {\n handler: \"evidence.get\",\n },\n }),\n surfaceContract({\n name: \"list_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"listEvidence\",\n summary: \"List evidence for a topic.\",\n gateway: {\n handler: \"evidence.list\",\n },\n args: listEvidenceArgs,\n input: listEvidenceInput,\n }),\n surfaceContract({\n name: \"archive_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"archiveEvidence\",\n summary: \"Archive evidence.\",\n gateway: {\n handler: \"evidence.remove\",\n },\n args: archiveEvidenceArgs,\n }),\n surfaceContract({\n name: \"search_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/search\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"searchEvidence\",\n summary: \"Search evidence.\",\n gateway: {\n handler: \"evidence.search\",\n },\n }),\n surfaceContract({\n name: \"link_evidence_to_belief\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link-belief\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidenceToBelief\",\n summary: \"Link evidence to a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"linkEvidence\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToBeliefInput,\n },\n }),\n surfaceContract({\n name: \"link_evidence_to_question\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link-question\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidenceToQuestion\",\n summary: \"Link evidence to a question.\",\n convex: {\n module: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToQuestionEdgeInput,\n },\n }),\n surfaceContract({\n name: \"link_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidence\",\n summary: \"Link evidence to a target node.\",\n convex: {\n module: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToBeliefEdgeInput,\n },\n }),\n] as const satisfies readonly FunctionContract[];\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/ids/index.ts","../../src/ids.contract.ts","../../src/tool-contracts.lifecycle.ts","../../src/tool-contracts.worktrees.ts","../../src/types/reasoning-method.ts","../../src/tool-contracts.graph.ts","../../src/tool-contracts.embeddings.ts","../../src/tool-contracts.hybrid-discovery.ts","../../src/lens-workflow.contract.ts","../../src/tool-contracts.nodes-lenses.ts","../../src/tool-contracts.context-orientation.ts","../../src/tool-contracts.intelligence-evidence.ts","../../src/tool-contracts.questions-listing.ts","../../src/tool-contracts.policy-observation-task-topic.ts","../../src/tool-contracts.ontology.ts","../../src/tool-contracts.pipeline-coordination.ts","../../src/tool-contracts.ts","../../src/function-registry/manifest.ts","../../src/schemas/enums.ts","../../src/function-registry/helpers.ts","../../src/manifests/data-model-manifest.ts","../../src/manifests/composition-registry-shared.ts","../../src/manifests/composition-registry-early-entries.ts","../../src/manifests/composition-registry-reserved-entries.ts","../../src/manifests/composition-registry-late-entries.ts","../../src/manifests/composition-registry.ts","../../src/types/evidence-taxonomy-target-scope.ts","../../src/evidence-taxonomy-target-scope.contract.ts","../../src/projections/projection-dsl.ts","../../src/projections/create-evidence.projection.ts","../../src/function-registry/evidence.ts"],"names":["z","entries","relationWeight","compactRecord","recordValue","jsonRecordSchema","evidenceRelationSchema","evidenceMethodologySchema","evidenceInformationAsymmetrySchema","evidenceSourceQualitySchema","beliefRelationSchema"],"mappings":"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","file":"evidence.js","sourcesContent":["export * from \"./public-uuid-resolver.js\";\nexport * from \"./uuid-edge-spine.js\";\n\nconst UUID_PATTERN =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n\nfunction formatUuid(bytes: Uint8Array): string {\n const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, \"0\")).join(\n \"\",\n );\n return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;\n}\n\nfunction timestampByte(nowMs: number, byteIndex: number): number {\n return Math.floor(nowMs / 2 ** (8 * (5 - byteIndex))) % 256;\n}\n\nexport function generateUuidV7(nowMs = Date.now()): string {\n if (!Number.isInteger(nowMs) || nowMs < 0 || nowMs > 0xffffffffffff) {\n throw new Error(\"UUIDv7 timestamp must be an integer Unix millisecond value below 2^48.\");\n }\n\n const bytes = new Uint8Array(16);\n crypto.getRandomValues(bytes);\n bytes[0] = timestampByte(nowMs, 0);\n bytes[1] = timestampByte(nowMs, 1);\n bytes[2] = timestampByte(nowMs, 2);\n bytes[3] = timestampByte(nowMs, 3);\n bytes[4] = timestampByte(nowMs, 4);\n bytes[5] = timestampByte(nowMs, 5);\n bytes[6] = (bytes[6] & 0x0f) | 0x70;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n return formatUuid(bytes);\n}\n\nexport function generateGlobalId(): string {\n return generateUuidV7();\n}\n\nexport function isUuidV7(value: string): boolean {\n return UUID_PATTERN.test(value) && value[14]?.toLowerCase() === \"7\";\n}\n","export type DecodedPrefixedId = {\n prefix: string;\n value: string;\n};\n\nconst PREFIXED_ID_PATTERN = /^([a-z][a-z0-9]*)_(.+)$/;\n\nexport function encodePrefixedId(prefix: string, value: string): string {\n const normalizedPrefix = prefix.trim();\n const normalizedValue = value.trim();\n\n if (!normalizedPrefix || !normalizedValue) {\n throw new Error(\"Both prefix and value are required to encode a prefixed ID.\");\n }\n\n return `${normalizedPrefix}_${normalizedValue}`;\n}\n\nexport function decodePrefixedId(id: string): DecodedPrefixedId {\n const normalized = id.trim();\n const match = PREFIXED_ID_PATTERN.exec(normalized);\n\n if (!match) {\n throw new Error(`Invalid prefixed ID: ${id}`);\n }\n\n return {\n prefix: match[1],\n value: match[2],\n };\n}\n\nexport function hasPrefixedIdPrefix(id: string, prefix: string): boolean {\n const decoded = decodePrefixedId(id);\n return decoded.prefix === prefix.trim();\n}\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CREATE_BELIEF: McpToolContract = {\n name: \"create_belief\",\n description:\n \"Commit a new belief (knowledge unit) to the reasoning graph. \" +\n \"Like `git commit` — creates an atomic, traceable knowledge object with a prior. \" +\n \"Creation requires a topic epistemic-node anchor and writes a `belongs_to` edge directly from belief node to topic node; orphan beliefs are invalid. \" +\n \"Creation stores the vacuous opinion `(0, 0, 1, a)`; attach supporting or contradicting evidence with create_evidence or link_evidence_to_belief to record evidential updates.\",\n parameters: {\n canonicalText: {\n type: \"string\",\n description: \"The belief statement — what the agent holds to be true\",\n },\n topicGlobalId: {\n type: \"string\",\n description:\n \"Required UUIDv7 globalId of the topic node in epistemicNodes that anchors the belief. Legacy topics-table ids, Convex storage locators, and UUIDv4 values are refused.\",\n },\n baseRate: {\n type: \"number\",\n description:\n \"Prior probability used to seed the vacuous opinion `(0, 0, 1, a)` at creation time. Defaults to 0.5 when omitted.\",\n },\n beliefType: {\n type: \"string\",\n description:\n \"Belief type (e.g., hypothesis, belief, principle, invariant, tenet, forecast). Validated against schemaEnumConfig.\",\n },\n metadata: {\n type: \"object\",\n description:\n \"Optional extra metadata merged into the node (e.g., { codeAnchors: ['path/to/file.ts'] } for coding intelligence)\",\n },\n },\n required: [\"canonicalText\", \"topicGlobalId\"],\n response: {\n description: \"The created canonical belief record\",\n fields: {\n id: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n beliefId: \"string — canonical belief ID\",\n text: \"string — canonical belief formulation\",\n topicId: \"string\",\n beliefStatus:\n \"string — assumption | hypothesis | active | superseded | resolved_true | resolved_false\",\n scoringState: \"string — unscored | scored\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const GET_BELIEF: McpToolContract = {\n name: \"get_belief\",\n description:\n \"Read one belief by ID. \" +\n \"Like `git show` — resolves the canonical belief payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical belief ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical belief record\",\n fields: {\n id: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n beliefId: \"string — canonical belief ID\",\n text: \"string — canonical belief formulation\",\n topicId: \"string\",\n beliefStatus:\n \"string — assumption | hypothesis | active | superseded | resolved_true | resolved_false\",\n scoringState: \"string — unscored | scored\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const REFINE_BELIEF: McpToolContract = {\n name: \"refine_belief\",\n description:\n \"Amend a draft belief in-place within an active worktree. \" +\n \"Like `git commit --amend` — rewrites the last commit on a feature branch. \" +\n \"Only valid before merge to main. Fails if the belief is already scored.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to refine\" },\n canonicalText: { type: \"string\", description: \"Updated belief statement\" },\n rationale: { type: \"string\", description: \"Why the refinement was made\" },\n },\n required: [\"nodeId\", \"canonicalText\"],\n response: {\n description: \"The updated belief node\",\n fields: {\n nodeId: \"string\",\n canonicalText: \"string — updated text\",\n updatedAt: \"number — timestamp\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const APPEND_SL_SCORING: McpToolContract = {\n name: \"append_sl_scoring\",\n description:\n \"Internal evidence-backed Subjective Logic scoring append. \" +\n \"This is not a public MCP tool: callers should attach supporting or contradicting evidence, and governed system paths append the derived SL tuple.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief receiving the SL score\" },\n belief: { type: \"number\", description: \"Subjective Logic belief mass b\" },\n disbelief: {\n type: \"number\",\n description: \"Subjective Logic disbelief mass d\",\n },\n uncertainty: {\n type: \"number\",\n description: \"Subjective Logic uncertainty mass u\",\n },\n baseRate: { type: \"number\", description: \"Subjective Logic base rate a\" },\n trigger: {\n type: \"string\",\n description: \"Evidence-bearing cause of the scoring event\",\n enum: [\n \"evidence_added\",\n \"evidence_removed\",\n \"contradiction_detected\",\n \"contradiction_resolved\",\n \"agent_assessment\",\n \"worktree_outcome\",\n \"worktree_completed\",\n \"fusion\",\n \"discount\",\n \"deduction\",\n \"backfill_synthetic\",\n ],\n },\n provenance: {\n type: \"object\",\n description:\n \"At least one of evidence, question, answer, contradiction, or worktree.\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this evidence-bearing event moved the SL tuple\",\n },\n },\n required: [\"nodeId\", \"belief\", \"disbelief\", \"uncertainty\", \"baseRate\", \"trigger\", \"rationale\"],\n response: {\n description: \"Internal SL scoring append receipt\",\n fields: {\n nodeId: \"string\",\n previousConfidence: \"number\",\n newConfidence: \"number\",\n beliefConfidenceId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const FORK_BELIEF: McpToolContract = {\n name: \"fork_belief\",\n description:\n \"Branch off an evidence-bearing belief to create a new formulation. \" +\n \"Like `git fork` — the parent remains immutable with full history, and every fork must cite evidence already attached to the parent through SL scoring. \" +\n \"`forkMode=supersede` marks the parent superseded and requires contradicting evidence; `forkMode=branch` preserves the parent and creates a derived child.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to fork from\" },\n newFormulation: {\n type: \"string\",\n description: \"The evolved belief statement\",\n },\n forkReason: {\n type: \"string\",\n description: \"Why this fork was created\",\n enum: [\n \"refinement\",\n \"contradiction_response\",\n \"scope_change\",\n \"confidence_collapse\",\n ],\n },\n forkMode: {\n type: \"string\",\n description:\n \"supersede replaces the parent; branch creates a child while preserving the parent.\",\n enum: [\"supersede\", \"branch\"],\n },\n triggeringEvidenceId: {\n type: \"string\",\n description:\n \"Evidence already attached to the parent belief that caused the fork.\",\n },\n },\n required: [\"nodeId\", \"newFormulation\", \"forkReason\", \"triggeringEvidenceId\"],\n response: {\n description: \"The forked canonical belief record\",\n fields: {\n id: \"string — canonical child belief ID\",\n nodeId: \"string — canonical child belief ID\",\n beliefId: \"string — canonical child belief ID\",\n parentBeliefId: \"string — canonical parent belief ID\",\n forkReason: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const ARCHIVE_BELIEF: McpToolContract = {\n name: \"archive_belief\",\n description:\n \"Soft-delete a belief by setting its status to archived. \" +\n \"Like `git rm` — removed from the working tree but preserved in history. \" +\n \"Beliefs are never truly deleted. Archived beliefs retain full lineage and confidence history.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to archive\" },\n rationale: {\n type: \"string\",\n description: \"Why this belief is being archived\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Archived canonical belief record\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n previousStatus: \"string | undefined\",\n newStatus: \"string — 'archived'\",\n status: \"string — 'archived'\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const CREATE_EPISTEMIC_CONTRACT: McpToolContract = {\n name: \"create_epistemic_contract\",\n description:\n \"Bind a machine-evaluable epistemic contract to a belief. \" +\n \"Like `git add` for falsification rules — records the verification condition, modulation policy, \" +\n \"and evaluation schedule that keep a belief accountable to reality.\",\n parameters: {\n beliefNodeId: {\n type: \"string\",\n description: \"The belief node to bind this contract to\",\n },\n title: {\n type: \"string\",\n description: \"Contract title\",\n },\n description: {\n type: \"string\",\n description: \"Optional contract description\",\n },\n conditionType: {\n type: \"string\",\n description: \"What kind of contract condition to evaluate\",\n enum: [\"assertion\", \"temporal\", \"evidential\", \"threshold\", \"composite\"],\n },\n direction: {\n type: \"string\",\n description: \"Whether satisfying the condition confirms or falsifies\",\n enum: [\"confirms\", \"falsifies\"],\n },\n condition: {\n type: \"object\",\n description:\n \"Condition payload: { expression, evaluator, evaluatorConfig? }\",\n },\n deadline: {\n type: \"number\",\n description: \"Optional Unix timestamp deadline for temporal contracts\",\n },\n compositeOf: {\n type: \"array\",\n description: \"Optional array of sub-contract IDs for composite contracts\",\n },\n compositeOperator: {\n type: \"string\",\n description: \"How composite sub-contracts should be combined\",\n enum: [\"all\", \"any\", \"majority\"],\n },\n modulation: {\n type: \"object\",\n description:\n \"Asymmetric modulation rules for confirmed, disconfirmed, expired, and partial outcomes\",\n },\n evaluationSchedule: {\n type: \"string\",\n description: \"When this contract should be evaluated\",\n enum: [\"on_demand\", \"on_evidence\", \"periodic\", \"event_driven\"],\n },\n periodicIntervalMs: {\n type: \"number\",\n description: \"Optional interval in milliseconds for periodic contracts\",\n },\n },\n required: [\n \"beliefNodeId\",\n \"title\",\n \"conditionType\",\n \"direction\",\n \"condition\",\n \"modulation\",\n \"evaluationSchedule\",\n ],\n response: {\n description: \"The created epistemic contract binding\",\n fields: {\n id: \"string — storage record ID\",\n contractId: \"string — contract identifier\",\n beliefId: \"string — canonical belief ID\",\n status: \"string — initial contract status\",\n title: \"string — contract title\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// EVIDENCE TOOLS\n// =============================================================================\n\nexport const ADD_EVIDENCE: McpToolContract = {\n name: \"add_evidence\",\n description:\n \"Commit evidence to the reasoning graph and attach it to a belief. \" +\n \"Like `git add && git commit` — an atomic write that creates a traceable evidence object. \" +\n \"Weight ranges from -1.0 (contradicts) to +1.0 (strongly supports). \" +\n \"Evidence is always context-bound: tied to its source, the time it was captured, and the belief it informs.\",\n parameters: {\n canonicalText: { type: \"string\", description: \"The evidence statement\" },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n sourceUrl: { type: \"string\", description: \"URL of the source material\" },\n targetNodeId: {\n type: \"string\",\n description: \"The belief this evidence bears on\",\n },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n reasoning: {\n type: \"string\",\n description: \"Why this evidence is relevant to the target belief\",\n },\n title: {\n type: \"string\",\n description: \"Optional short title for the evidence node\",\n },\n content: {\n type: \"string\",\n description:\n \"Optional long-form content (separate from canonicalText summary)\",\n },\n contentType: {\n type: \"string\",\n description:\n \"Content MIME type or format hint (e.g., 'text/markdown', 'code')\",\n },\n metadata: {\n type: \"object\",\n description:\n \"Optional extra metadata merged into the node (e.g., { codeAnchors: ['path/to/file.ts'], failedApproach: true } for coding intelligence)\",\n },\n },\n required: [\"canonicalText\", \"targetNodeId\", \"reasoning\"],\n response: {\n description: \"The created evidence node and its edge\",\n fields: {\n nodeId: \"string — evidence node ID\",\n edgeId: \"string — edge to target belief\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// CONTRADICTION TOOLS\n// =============================================================================\n\nexport const FLAG_CONTRADICTION: McpToolContract = {\n name: \"flag_contradiction\",\n description:\n \"Flag a contradiction between two beliefs. Contradictions are first-class objects \" +\n \"with their own lifecycle — they may remain permanently unresolved. \" +\n \"Like a merge conflict that is allowed to persist. \" +\n \"Contradictions can trigger structural changes: forking, confidence collapse, or decision blocking. \" +\n \"Resolution is NEVER automatic — always surfaces for human review.\",\n parameters: {\n beliefA: {\n type: \"string\",\n description: \"First belief in the contradiction\",\n },\n beliefB: {\n type: \"string\",\n description: \"Second belief in the contradiction\",\n },\n description: { type: \"string\", description: \"What the tension is about\" },\n severity: {\n type: \"string\",\n description: \"How serious the contradiction is\",\n enum: [\"low\", \"medium\", \"high\", \"critical\"],\n },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n defeatType: {\n type: \"string\",\n description:\n \"Pollock defeat classification: rebuts (direct contradiction), undercuts (attacks the inferential link), undermines (attacks a premise)\",\n enum: [\"rebuts\", \"undercuts\", \"undermines\"],\n },\n },\n required: [\"beliefA\", \"beliefB\", \"description\"],\n response: {\n description: \"The created contradiction object\",\n fields: {\n contradictionId: \"string\",\n status: \"string — 'unresolved'\",\n beliefA: \"string\",\n beliefB: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// WORKTREE TOOLS (git worktree add, git merge)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const ADD_WORKTREE: McpToolContract = {\n name: \"add_worktree\",\n description:\n \"Check out a branch into an active worktree for investigation. \" +\n \"Like `git worktree add <branch>` — creates independent working state on a thematic branch. \" +\n \"Beliefs committed within the worktree can be freely amended (draft code on a feature branch). \" +\n \"When investigation is complete, `merge` integrates findings into main.\",\n parameters: {\n title: { type: \"string\", description: \"Worktree name/objective\" },\n name: {\n type: \"string\",\n description:\n \"Optional storage-name alias for callers that already use backend naming\",\n },\n projectId: {\n type: \"string\",\n description: \"Legacy topicId alias or resolver hint\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope hint for resolver validation\",\n },\n topicHint: {\n type: \"string\",\n description: \"Natural-language topic hint for automatic topic resolution\",\n },\n branchId: {\n type: \"string\",\n description: \"The branch this worktree investigates\",\n },\n objective: {\n type: \"string\",\n description:\n \"Plain-text reasoning objective to auto-shape into a hypothesis, questions, tasks, and dependencies\",\n },\n hypothesis: {\n type: \"string\",\n description: \"The testable claim this worktree investigates\",\n },\n rationale: {\n type: \"string\",\n description:\n \"Why this worktree exists and why it belongs in the campaign\",\n },\n worktreeType: {\n type: \"string\",\n description:\n \"Schema-enum worktree type used by the kernel lifecycle and retrieval layers\",\n },\n gate: {\n type: \"string\",\n description: \"Exit gate name for this worktree\",\n },\n startDate: {\n type: \"number\",\n description: \"Planned start timestamp in milliseconds since epoch\",\n },\n endDate: {\n type: \"number\",\n description: \"Planned end timestamp in milliseconds since epoch\",\n },\n durationWeeks: {\n type: \"number\",\n description: \"Planned duration in weeks\",\n },\n confidenceImpact: {\n type: \"string\",\n description: \"Expected confidence impact if the worktree succeeds\",\n enum: [\"high\", \"medium\", \"low\"],\n },\n beliefFocus: {\n type: \"string\",\n description:\n \"Natural-language focus spanning the target belief neighborhood\",\n },\n beliefIds: {\n type: \"array\",\n description: \"Legacy alias for targetBeliefIds\",\n },\n beliefs: {\n type: \"array\",\n description: \"Legacy alias for targetBeliefIds\",\n },\n targetBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs this worktree is expected to test or update\",\n },\n targetQuestionIds: {\n type: \"array\",\n description: \"Question node IDs this worktree is expected to answer\",\n },\n keyQuestions: {\n type: \"array\",\n description:\n \"Inline key question objects with question, optional status, answer, answerConfidence, and linkedQuestionId\",\n },\n evidenceSignals: {\n type: \"array\",\n description:\n \"Evidence signal objects with signal, optional collected state, progress, and notes\",\n },\n decisionGate: {\n type: \"object\",\n description:\n \"Decision gate object with goCriteria, noGoSignals, optional verdict, rationale, decidedAt, and decidedBy\",\n },\n goCriteria: {\n type: \"array\",\n description: \"Shorthand go criteria used to build decisionGate\",\n },\n noGoSignals: {\n type: \"array\",\n description: \"Shorthand no-go signals used to build decisionGate\",\n },\n proofArtifacts: {\n type: \"array\",\n description: \"Expected proof artifacts required to close the worktree\",\n },\n autoShape: {\n type: \"boolean\",\n description:\n \"Whether to invoke inquiry auto-shaping during worktree creation\",\n },\n autoFixPolicy: {\n type: \"object\",\n description:\n \"Policy for permitted automatic remediation inside the worktree\",\n },\n domainPackId: {\n type: \"string\",\n description:\n \"Optional domain pack whose shaping hooks should influence generated questions and tasks\",\n },\n tags: {\n type: \"array\",\n description: \"Additional topic-resolution tags for the worktree\",\n },\n touchedPaths: {\n type: \"array\",\n description: \"File paths used as topic-resolution signals\",\n },\n sourceRef: {\n type: \"string\",\n description: \"Source reference used as a topic-resolution signal\",\n },\n sourceKind: {\n type: \"string\",\n description: \"Source kind used as a topic-resolution signal\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Top-level pipeline campaign number. Campaigns define the outer execution slice.\",\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:\n \"Ordering for this lane within its campaign.\",\n },\n orderInLane: {\n type: \"number\",\n description:\n \"Position of this worktree inside its lane.\",\n },\n dependsOn: {\n type: \"array\",\n description: \"Worktree IDs that must complete before this one can activate\",\n },\n blocks: {\n type: \"array\",\n description: \"Worktree IDs blocked by this worktree\",\n },\n staffingHint: {\n type: \"string\",\n description: \"Suggested staffing or agent allocation note\",\n },\n lensId: {\n type: \"string\",\n description: \"Lens that scopes this worktree when applicable\",\n },\n lastReconciledAt: {\n type: \"number\",\n description: \"Timestamp when worktree metadata was last reconciled\",\n },\n },\n required: [\"title\"],\n response: {\n description: \"The created worktree\",\n fields: {\n worktreeId: \"string\",\n branchId: \"string | null\",\n status: \"string — usually 'planning' or 'active'\",\n title: \"string\",\n hypothesis: \"string | null\",\n questionCount: \"number\",\n taskCount: \"number\",\n autoShapeApplied: \"boolean\",\n frameworkSuggestions: \"array\",\n dependencySuggestions: \"array\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const LIST_WORKTREES_BY_BELIEF: McpToolContract = {\n name: \"list_worktrees_by_belief\",\n description:\n \"List worktrees that adopted or reference a belief through the worktree-belief backref index. \" +\n \"Like `git branch --contains <commit>` for reasoning substrate — shows which \" +\n \"investigation branches carried a belief into the graph and with what adoption metadata.\",\n parameters: {\n beliefId: {\n type: \"string\",\n description: \"Belief node ID whose adopting worktrees should be listed.\",\n },\n status: {\n type: \"string\",\n description: \"Optional worktree lifecycle status filter.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum worktrees to return.\",\n },\n },\n required: [\"beliefId\"],\n response: {\n description: \"Worktrees that adopted or reference the belief\",\n fields: {\n beliefId: \"string — requested belief node id\",\n worktrees:\n \"array — worktree records with adoption relationType, confidence deltas, evidence counts, and timestamps\",\n total: \"number — returned worktree count\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const MERGE: McpToolContract = {\n name: \"merge\",\n description:\n \"Merge a worktree's findings into the stable knowledge base (main). \" +\n \"Like `git merge` to main — formulations freeze, confidence is recorded, findings are integrated. \" +\n \"Each belief gets a confidence score and rationale. After merge, beliefs can only evolve via fork. \" +\n \"Low-confidence beliefs may need forking.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to merge\" },\n outcomes: {\n type: \"array\",\n description:\n \"Merge outcomes as key-finding strings, or scoring outcomes for beliefs: { beliefId, confidence, rationale }\",\n },\n summary: { type: \"string\", description: \"Overall findings summary\" },\n },\n required: [\"worktreeId\", \"outcomes\"],\n response: {\n description: \"Merge result\",\n fields: {\n worktreeId: \"string\",\n status: \"string — 'merged'\",\n beliefsScored: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// LINEAGE AND AUDIT TOOLS\n// =============================================================================\n\nexport const PUSH: McpToolContract = {\n name: \"push\",\n description:\n \"Push scored beliefs from a merged worktree to other contexts. \" +\n \"Like `git push` — makes local findings available on the remote. \" +\n \"Only merged beliefs can be pushed. \" +\n \"Publication makes findings visible to other projects, teams, or external consumers.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The merged worktree whose findings to push\",\n },\n targetContext: {\n type: \"string\",\n description: \"Where to push (e.g., 'portfolio', 'ic_review', 'external')\",\n },\n beliefIds: {\n type: \"array\",\n description: \"Optional subset of beliefs to push (default: all scored)\",\n },\n },\n required: [\"worktreeId\", \"targetContext\"],\n response: {\n description: \"Push result\",\n fields: {\n pushedCount: \"number\",\n targetContext: \"string\",\n pushedAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// PULL REQUEST TOOLS (git pull request)\n// =============================================================================\n\nexport const OPEN_PULL_REQUEST: McpToolContract = {\n name: \"open_pull_request\",\n description:\n \"Open a pull request for peer review before merging a worktree. \" +\n \"Like opening a `git pull request` — the worktree's findings are ready but await approval before merge. \" +\n \"Reviewers can approve, request changes, or block the merge. \" +\n \"This is the gate between draft work and scored knowledge.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The worktree to submit for review\",\n },\n reviewers: {\n type: \"array\",\n description: \"User IDs of requested reviewers\",\n },\n summary: {\n type: \"string\",\n description: \"Summary of findings and why they're ready for merge\",\n },\n },\n required: [\"worktreeId\", \"summary\"],\n response: {\n description: \"The pull request\",\n fields: {\n pullRequestId: \"string\",\n worktreeId: \"string\",\n status: \"string — 'pending_review'\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// FORENSIC TOOLS (git bisect)\n// =============================================================================\n","/** Reasoning methods supported by the kernel edge schema. */\nexport const REASONING_METHODS = [\n \"deductive\",\n \"inductive\",\n \"abductive\",\n \"analogical\",\n \"causal\",\n \"correlational\",\n \"testimonial\",\n \"statistical\",\n \"implicit\",\n \"pattern_match\",\n] as const;\n\nexport type ReasoningMethod = (typeof REASONING_METHODS)[number];\n","import type { McpToolContract } from \"./tool-contracts.types\";\nimport { REASONING_METHODS } from \"./api-enums.contract\";\n\nexport const QUERY_LINEAGE: McpToolContract = {\n name: \"query_lineage\",\n description:\n \"Trace a belief's full ancestry — every fork, score, and SL scoring event. \" +\n \"Like `git log --graph`. \" +\n \"Returns the complete evolution chain showing how understanding developed over time. \" +\n \"Lineage is permanent and can never be erased (Invariant #3).\",\n parameters: {\n nodeId: { type: \"string\", description: \"Starting node to trace from\" },\n depth: {\n type: \"number\",\n description: \"How many generations to traverse (default: 5)\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Canonical lineage result\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n lineage: \"array — ancestry entries with beliefId, nodeId, formulation, forkReason, and createdAt\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const QUERY_ANCHOR_HISTORY: McpToolContract = {\n name: \"query_anchor_history\",\n description:\n \"Resolve anchor provenance history for a reasoning node. \" +\n \"Like `git log --ancestry-path` for derived reasoning — follows canonical \" +\n \"derived_from lineage while preserving the storage-only extracted_from alias.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Starting node to trace from\" },\n startNode: {\n type: \"string\",\n description: \"Starting node alias accepted by traversal callers\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth\",\n },\n mode: {\n type: \"string\",\n description: \"Traversal mode; defaults to anchor_down\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Anchor provenance lineage result\",\n fields: {\n lineage:\n \"array — provenance entries with node, depth, edgeType, and layer metadata\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_CONFIDENCE_HISTORY: McpToolContract = {\n name: \"get_confidence_history\",\n description:\n \"Get the full confidence history for a belief. \" +\n \"Each entry records the confidence level, trigger, rationale, and actor. \" +\n \"Like `git log` for a single metric — append-only, never overwritten.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to get history for\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Confidence history entries\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n entries: \"array — { confidence, trigger, rationale, timestamp, userId }\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const GET_AUDIT_TRAIL: McpToolContract = {\n name: \"get_audit_trail\",\n description:\n \"Get the full audit trail for a node — every mutation, who made it, when, and why. \" +\n \"Like `git blame` for knowledge. \" +\n \"All state transitions are explicit, attributable, and permanently queryable. \" +\n \"No silent changes are possible (Invariant #14).\",\n parameters: {\n nodeId: { type: \"string\", description: \"The node to audit\" },\n limit: {\n type: \"number\",\n description: \"Maximum entries to return (default: 50)\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Audit trail entries\",\n fields: {\n entries: \"array — { action, actor, timestamp, before, after, rationale }\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// GRAPH QUERY TOOLS\n// =============================================================================\n\nexport const TRAVERSE_GRAPH: McpToolContract = {\n name: \"traverse_graph\",\n description:\n \"Walk the reasoning graph from a starting node. \" +\n \"Like `git log --graph` — traverses connected lineage across nodes and edges. \" +\n \"Traversal follows epistemic layers: L4 (judgments) → L3 (beliefs, questions) → L2 (evidence) → L1 (sources). \" +\n \"Never skips layers. \" +\n \"Use direction 'up' to trace what a piece of evidence supports, 'down' to trace what supports a judgment.\",\n parameters: {\n startNode: { type: \"string\", description: \"Node to start traversal from\" },\n direction: {\n type: \"string\",\n description: \"Traversal direction\",\n enum: [\"up\", \"down\", \"both\"],\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth (default: 3)\",\n },\n },\n required: [\"startNode\"],\n response: {\n description: \"Subgraph of traversed nodes and edges\",\n fields: {\n nodes: \"array — traversed nodes\",\n edges: \"array — traversed edges\",\n depth: \"number\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_GRAPH_NEIGHBORHOOD: McpToolContract = {\n name: \"get_graph_neighborhood\",\n description:\n \"Retrieve the local neighborhood around one or more graph nodes. \" +\n \"Like `git log --graph --boundary` for a focused reasoning window. \" +\n \"Returns the canonical neighborhood payload shared by HTTP and SDK graph surfaces.\",\n parameters: {\n globalId: {\n type: \"string\",\n description: \"Single root node global identifier.\",\n },\n globalIds: {\n type: \"array\",\n description: \"Optional list of root node global identifiers.\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Maximum traversal depth (default: 2).\",\n },\n },\n required: [],\n response: {\n description: \"Canonical graph neighborhood payload\",\n fields: {\n nodes: \"array — graph nodes in the returned neighborhood\",\n edges: \"array — graph edges in the returned neighborhood\",\n depth: \"number — deepest traversed node depth\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const TRACE_ENTITY_IMPACT: McpToolContract = {\n name: \"trace_entity_impact\",\n description:\n \"Returns code-grounded beliefs, contracts, migration states, and failed attempts \" +\n \"anchored to a specific file or function path. \" +\n \"Like `git log -- <path>` — filters the knowledge graph to nodes anchored to a file path \" +\n \"via metadata.codeAnchors. Results are separated by coding belief type: decisions, contracts, \" +\n \"migrations, patterns, deprecations, and failures.\",\n parameters: {\n nodeId: {\n type: \"string\",\n description: \"Entity node ID to trace impact from\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description:\n \"Entity impact trace: direct beliefs, evidence, and indirect belief reach\",\n fields: {\n entityNodeId: \"string — the traced entity\",\n entityType: \"string — nodeType of the entity\",\n directBeliefConnections:\n \"array — beliefs directly connected via bridge edges\",\n evidenceConnections: \"array — evidence referencing this entity\",\n indirectBeliefConnections: \"array — beliefs reached through evidence\",\n totalBeliefReach: \"number — total unique beliefs impacted\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SEARCH_BELIEFS: McpToolContract = {\n name: \"search_beliefs\",\n description:\n \"Search for beliefs in the reasoning graph. \" +\n \"Like `git grep` — finds relevant beliefs across the full history and active state. \" +\n \"Supports semantic search, filtering by status (unscored, scored, archived), \" +\n \"confidence thresholds, and topic scope. \" +\n \"Returns beliefs with their current confidence, lineage depth, and contradiction count.\",\n parameters: {\n query: { type: \"string\", description: \"Semantic search query\" },\n status: {\n type: \"string\",\n description: \"Filter by belief status\",\n enum: [\"unscored\", \"scored\", \"archived\"],\n },\n minConfidence: {\n type: \"number\",\n description: \"Minimum confidence threshold (0-1)\",\n },\n topicId: { type: \"string\", description: \"Filter by topic\" },\n limit: { type: \"number\", description: \"Maximum results (default: 10)\" },\n },\n required: [\"query\"],\n response: {\n description: \"Matching beliefs with metadata\",\n fields: {\n results:\n \"array — { nodeId, canonicalText, confidence, status, contradictionCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const FIND_CONTRADICTIONS: McpToolContract = {\n name: \"find_contradictions\",\n description:\n \"Find contradictions in the reasoning graph — beliefs that are in tension with each other. \" +\n \"Like a merge conflict in `git` — surfaces incompatible states that require explicit resolution. \" +\n \"Contradictions are first-class objects that may remain permanently unresolved. \" +\n \"They can block judgments, trigger forks, or collapse confidence. \" +\n \"Filter by project, status (unresolved, resolved, accepted), and severity.\",\n parameters: {\n topicId: { type: \"string\", description: \"Required topic scope filter\" },\n nodeId: {\n type: \"string\",\n description: \"Optional belief identifier to filter contradictions within the topic\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\n \"unresolved\",\n \"investigating\",\n \"accepted_as_permanent\",\n \"resolved_by_fork\",\n \"resolved_by_evidence\",\n \"resolved_by_reinterpretation\",\n \"superseded\",\n ],\n },\n limit: { type: \"number\", description: \"Maximum contradictions to return\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Contradiction objects\",\n fields: {\n contradictions:\n \"array — { beliefA, beliefB, description, severity, status, defeatType }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// EDGE TOOLS\n// =============================================================================\n\nexport const BISECT_CONFIDENCE: McpToolContract = {\n name: \"bisect_confidence\",\n description:\n \"Find when a belief's confidence diverged from reality. \" +\n \"Like `git bisect` — binary search through the credence history to find the inflection point. \" +\n \"Given a belief that is now known to be wrong (or right), traces back through \" +\n \"SL scoring events to identify which evidence or event caused the divergence.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to bisect\" },\n expectedDirection: {\n type: \"string\",\n description: \"Was confidence too high or too low?\",\n enum: [\"overconfident\", \"underconfident\"],\n },\n timeRange: {\n type: \"object\",\n description:\n \"Optional time range to search within: { start: number, end: number }\",\n },\n },\n required: [\"nodeId\", \"expectedDirection\"],\n response: {\n description: \"The inflection point in confidence history\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n expectedDirection: \"string — overconfident | underconfident\",\n inflectionEntry: \"object — the scoring event where divergence began\",\n triggerEvent: \"string | null — what caused the divergence\",\n confidenceBefore: \"number | null\",\n confidenceAfter: \"number | null\",\n totalEntries: \"number\",\n inflectionIndex: \"number | null\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// GRAPH INTELLIGENCE TOOLS\n// =============================================================================\n\nexport const CREATE_EDGE: McpToolContract = {\n name: \"create_edge\",\n description:\n \"Commit a typed relationship between two nodes in the reasoning graph. \" +\n \"Like `git commit` — an atomic write that declares a dependency between nodes. \" +\n \"Accepts any public epistemic edge type between public graph node refs so agents can author the full spine.\",\n parameters: {\n from: {\n type: \"object\",\n description:\n \"Source graph ref, e.g. { kind: 'epistemic_node', nodeId: '...', nodeType: 'topic' }\",\n },\n to: {\n type: \"object\",\n description:\n \"Target graph ref, e.g. { kind: 'epistemic_node', nodeId: '...', nodeType: 'belief' }\",\n },\n edgeType: {\n type: \"string\",\n description:\n \"Relationship type from the public epistemic edge enum.\",\n },\n globalId: {\n type: \"string\",\n description: \"Optional idempotent edge global ID.\",\n },\n weight: {\n type: \"number\",\n description:\n \"Edge weight: -1.0 to +1.0 for informs edges, 0-1 for structural\",\n },\n reasoning: { type: \"string\", description: \"Why this relationship exists\" },\n reasoningMethod: {\n type: \"string\",\n description: \"How this was determined\",\n enum: [...REASONING_METHODS],\n },\n metadata: {\n type: \"object\",\n description: \"Optional edge metadata.\",\n },\n },\n required: [\"from\", \"to\", \"edgeType\"],\n response: {\n description: \"The created edge\",\n fields: {\n globalId: \"string — edge identifier\",\n edgeType: \"string\",\n fromLayer: \"string\",\n toLayer: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"showcase\",\n};\n\nexport const UPDATE_EDGE: McpToolContract = {\n name: \"update_edge\",\n description:\n \"Amend metadata on an existing graph edge. \" +\n \"Like `git commit --amend` — changes the edge annotation without recreating the relationship.\",\n parameters: {\n edgeId: { type: \"string\", description: \"Edge ID or global ID to update\" },\n weight: { type: \"number\", description: \"Updated edge weight\" },\n confidence: { type: \"number\", description: \"Updated confidence\" },\n context: { type: \"string\", description: \"Updated human-readable context\" },\n derivationType: { type: \"string\", description: \"Updated derivation type\" },\n metadata: { type: \"object\", description: \"Updated metadata\" },\n },\n required: [\"edgeId\"],\n response: {\n description: \"Edge update result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_EDGE: McpToolContract = {\n name: \"remove_edge\",\n description:\n \"Remove one graph edge by ID. \" +\n \"Like `git rm` — deletes a single explicit relationship from the spine.\",\n parameters: {\n edgeId: { type: \"string\", description: \"Edge ID or global ID to remove\" },\n },\n required: [\"edgeId\"],\n response: {\n description: \"Edge removal result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_EDGES_BETWEEN: McpToolContract = {\n name: \"remove_edges_between\",\n description:\n \"Remove graph edges between two nodes. \" +\n \"Like `git rm <pathspec>` — deletes relationships matching a source, target, and optional type.\",\n parameters: {\n fromNodeId: { type: \"string\", description: \"Source node ID or global ID\" },\n toNodeId: { type: \"string\", description: \"Target node ID or global ID\" },\n edgeType: { type: \"string\", description: \"Optional edge type filter\" },\n },\n required: [\"fromNodeId\", \"toNodeId\"],\n response: {\n description: \"Matched edge removal result\",\n fields: { deleted: \"number\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const BATCH_CREATE_EDGES: McpToolContract = {\n name: \"batch_create_edges\",\n description:\n \"Commit multiple typed graph edges. \" +\n \"Like `git commit` with many staged paths — writes a batch of explicit relationships atomically per edge.\",\n parameters: {\n edges: {\n type: \"array\",\n description:\n \"Edges to create, each with from, to, edgeType, and optional weight/confidence/context.\",\n },\n skipLayerValidation: {\n type: \"boolean\",\n description: \"Skip kernel layer validation for trusted materialization flows.\",\n },\n },\n required: [\"edges\"],\n response: {\n description: \"Batch edge creation result\",\n fields: {\n created: \"number\",\n results: \"array\",\n errors: \"array\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// EPISTEMIC NODE TOOLS\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nconst sharedEmbeddingParameters = {\n topicId: {\n type: \"string\",\n description: \"Topic whose epistemic node embedding index should be queried.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Workspace scope for the embedding operation.\",\n },\n nodeType: {\n type: \"string\",\n description: \"Optional epistemic node type filter.\",\n },\n embeddingModel: {\n type: \"string\",\n description: \"Optional embedding model filter.\",\n },\n includeInactive: {\n type: \"boolean\",\n description: \"Include archived, superseded, or otherwise inactive epistemic nodes in coverage checks.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum rows to return.\",\n },\n} satisfies McpToolContract[\"parameters\"];\n\nexport const LIST_MISSING_EMBEDDINGS: McpToolContract = {\n name: \"list_missing_embeddings\",\n description:\n \"List epistemic nodes missing fresh Convex embeddings. \" +\n \"Like `git status` for the semantic index — shows which graph nodes still need indexing before retrieval can be trusted.\",\n parameters: sharedEmbeddingParameters,\n required: [\"topicId\", \"workspaceId\"],\n response: {\n description: \"Missing or stale embedding candidates\",\n fields: {\n nodes: \"array — node candidates missing fresh embeddings\",\n total: \"number — candidate count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SEARCH_EMBEDDINGS: McpToolContract = {\n name: \"search_embeddings\",\n description:\n \"Search topic-scoped epistemic nodes through the Convex vector index. \" +\n \"Like `git grep` with semantic distance — finds matching beliefs, questions, evidence, and other nodes even when wording differs.\",\n parameters: {\n ...sharedEmbeddingParameters,\n queryText: {\n type: \"string\",\n description: \"Natural-language query to embed and search with.\",\n },\n queryVector: {\n type: \"array\",\n description: \"Optional precomputed query vector.\",\n },\n minScore: {\n type: \"number\",\n description: \"Optional minimum cosine-similarity score.\",\n },\n },\n required: [\"topicId\", \"workspaceId\"],\n response: {\n description: \"Vector search matches\",\n fields: {\n results: \"array — semantic matches with nodeId, nodeType, score, text, and provenance\",\n total: \"number — match count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_EMBEDDINGS_BY_NODE_IDS: McpToolContract = {\n name: \"get_embeddings_by_node_ids\",\n description:\n \"Fetch embedding records for explicit epistemic node IDs. \" +\n \"Like `git show` for semantic-index rows — inspects exactly which vectors exist for named graph nodes.\",\n parameters: {\n ...sharedEmbeddingParameters,\n nodeIds: {\n type: \"array\",\n description: \"Epistemic node IDs to inspect.\",\n },\n },\n required: [\"topicId\", \"workspaceId\", \"nodeIds\"],\n response: {\n description: \"Embedding records for explicit node IDs\",\n fields: {\n embeddings: \"array — embedding metadata records\",\n total: \"number — embedding count\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const QUEUE_EMBEDDING_BACKFILL: McpToolContract = {\n name: \"queue_embedding_backfill\",\n description:\n \"Queue background embedding generation for explicit epistemic nodes. \" +\n \"Like `git add` for semantic-index work — stages graph nodes for the kernel backfill scheduler.\",\n parameters: {\n ...sharedEmbeddingParameters,\n nodeIds: {\n type: \"array\",\n description: \"Epistemic node IDs to queue for embedding generation.\",\n },\n },\n required: [\"topicId\", \"workspaceId\", \"nodeIds\"],\n response: {\n description: \"Backfill queue receipt\",\n fields: {\n queued: \"number — queued node count\",\n nodeIds: \"array — node IDs queued for embedding generation\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nconst hybridParameters = {\n query: {\n type: \"string\",\n description: \"Natural-language query text to resolve against the typed reasoning graph.\",\n },\n queryText: {\n type: \"string\",\n description: \"Explicit query text alias for clients that separate command words from search text.\",\n },\n text: {\n type: \"string\",\n description: \"Raw pasted text to use as a semantic retrieval seed.\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope. When omitted, semantic topic candidates are resolved first.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Optional workspace scope used by semantic topic candidates and vector search.\",\n },\n nodeId: {\n type: \"string\",\n description: \"Optional source node used for related-node or impact analysis.\",\n },\n include: {\n type: \"array\",\n description:\n \"Result families to include, such as topics, nodes, worktrees, tasks, evidence, and edges.\",\n },\n via: {\n type: \"array\",\n description:\n \"Retrieval methods to use: bm25, embeddings, edges, topic-tree, state, graph-algorithms.\",\n },\n depth: {\n type: \"number\",\n description: \"Graph expansion depth. Defaults to 1 and is capped by the server.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum rows per result family.\",\n },\n minScore: {\n type: \"number\",\n description: \"Minimum semantic or fused score for candidate rows.\",\n },\n campaign: {\n type: \"number\",\n description: \"Optional worktree campaign filter.\",\n },\n lane: {\n type: \"string\",\n description: \"Optional worktree lane filter.\",\n },\n status: {\n type: \"string\",\n description: \"Optional node, task, or worktree state/status filter.\",\n },\n nodeTypes: {\n type: \"array\",\n description: \"Optional epistemic node types to include.\",\n },\n changedPaths: {\n type: \"array\",\n description: \"Changed file paths used as impact-analysis query signals.\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional planner metadata for receipts and caller provenance.\",\n },\n} satisfies McpToolContract[\"parameters\"];\n\nconst hybridResponse = {\n description: \"Hybrid semantic graph planner response with ranked result families and retrieval receipt.\",\n fields: {\n results: \"array — ranked mixed graph results with score, kind, source, and ranking signals\",\n topics: \"array — candidate or traversed topics\",\n nodes: \"array — matching epistemic nodes\",\n worktrees: \"array — matching worktrees\",\n tasks: \"array — matching tasks\",\n evidence: \"array — matching evidence\",\n edges: \"array — graph neighborhood edges\",\n receipt: \"object — planner steps, candidate counts, ranking weights, source/cache posture\",\n },\n} satisfies McpToolContract[\"response\"];\n\nexport const HYBRID_DISCOVER: McpToolContract = {\n name: \"hybrid_discover\",\n description:\n \"Discover typed reasoning graph context with BM25, embeddings, topic tree traversal, and graph neighborhoods. \" +\n \"Like `git grep` plus `git log --graph` for Lucern's typed reasoning graph — finds the relevant branches of thought and explains why.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const RESOLVE_TOPIC_SEMANTIC: McpToolContract = {\n name: \"resolve_topic_semantic\",\n description:\n \"Resolve an ambiguous topic using BM25, vector candidates, and topic-tree context. \" +\n \"Like `git remote show` for a reasoning topic — finds the canonical branch and nearby branches before reading deeper.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const EXPAND_GRAPH_NEIGHBORHOOD: McpToolContract = {\n name: \"expand_graph_neighborhood\",\n description:\n \"Expand a typed graph neighborhood around a query, topic, or node. \" +\n \"Like `git log --graph --decorate` for reasoning state — follows typed edges and surfaces the surrounding context.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const FIND_RELATED_NODES: McpToolContract = {\n name: \"find_related_nodes\",\n description:\n \"Find semantically and structurally related nodes across the reasoning graph. \" +\n \"Like `git blame` across branches — starts from a node or text and finds nearby responsibility, evidence, and related claims.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const ANALYZE_GRAPH_IMPACT: McpToolContract = {\n name: \"analyze_graph_impact\",\n description:\n \"Analyze which graph objects are affected by files, PR text, incidents, or campaign objectives. \" +\n \"Like `git diff --name-only` plus semantic blame — maps a change signal onto topics, beliefs, tasks, and unresolved questions.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const DETECT_GRAPH_DRIFT: McpToolContract = {\n name: \"detect_graph_drift\",\n description:\n \"Detect duplicate, stale, orphaned, or weakly linked reasoning graph surface. \" +\n \"Like `git fsck` for the reasoning graph — finds semantic duplicates, stale docs/code references, and missing links.\",\n parameters: hybridParameters,\n required: [],\n response: hybridResponse,\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n","/**\n * Canonical lens workflow contract shared across schema, SDK, and MCP surfaces.\n */\n\n// Re-export filter criteria types for consumers who import from lens-workflow\nexport type {\n LensFilterCriteria,\n TaxonomyFilterCriteriaV1,\n EntityTypeFilterV1,\n OntologyScope,\n FilterValidationResult,\n} from \"./lens-filter.contract\";\nexport {\n validateFilterCriteria,\n isLensFilterCriteria,\n isTaxonomyFilterCriteriaV1,\n} from \"./lens-filter.contract\";\n\nexport const LENS_PERSPECTIVE_TYPES = [\n \"investigation\",\n \"monitoring\",\n \"analysis\",\n \"comparison\",\n \"taxonomy\",\n] as const;\n\nexport type LensPerspectiveType = (typeof LENS_PERSPECTIVE_TYPES)[number];\n\nexport const LENS_STATUSES = [\"draft\", \"active\", \"archived\"] as const;\n\nexport type LensStatus = (typeof LENS_STATUSES)[number];\n\nexport const LENS_TASK_TEMPLATE_PRIORITIES = [\n \"critical\",\n \"high\",\n \"medium\",\n \"low\",\n] as const;\n\nexport type LensTaskTemplatePriority =\n (typeof LENS_TASK_TEMPLATE_PRIORITIES)[number];\n\nexport type LensLooseMetadata = Record<string, unknown>;\n\nexport type LensPromptTemplateReference = {\n key: string;\n promptRef: string;\n phase?: string;\n role?: string;\n version?: string;\n required?: boolean;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensWorkflowStepTemplate = {\n key: string;\n title: string;\n description?: string;\n promptTemplateKey?: string;\n taskTemplateKeys?: string[];\n metadata?: LensLooseMetadata;\n};\n\nexport type LensWorkflowTemplate = {\n key: string;\n name: string;\n description?: string;\n steps: LensWorkflowStepTemplate[];\n metadata?: LensLooseMetadata;\n};\n\nexport type LensTaskTemplate = {\n key: string;\n title: string;\n description?: string;\n priority?: LensTaskTemplatePriority;\n phase?: string;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensQuestionTemplate = {\n key: string;\n text: string;\n priority?: LensTaskTemplatePriority;\n linkedBeliefKey?: string;\n metadata?: LensLooseMetadata;\n};\n\nexport type LensBranchMigrationSuggestion = {\n recommendedTool: \"create_lens\";\n perspectiveType: LensPerspectiveType;\n message: string;\n suggestedPayload: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n perspectiveType: LensPerspectiveType;\n };\n};\n\nexport const BRANCH_DEPRECATION_MESSAGE =\n \"Branches are deprecated for operational framing. Create a workspace-scoped lens instead.\";\n\nexport type DeprecatedBranchMetadata = {\n deprecated: true;\n deprecationMessage: string;\n lensSuggestion: LensBranchMigrationSuggestion;\n};\n\nexport function inferLensPerspectiveTypeFromBranchSchema(\n schema?: string | null\n): LensPerspectiveType {\n const normalized = schema?.trim().toLowerCase();\n if (normalized === \"phase\") {\n return \"monitoring\";\n }\n if (normalized === \"axis\" || normalized === \"dimension\") {\n return \"comparison\";\n }\n if (normalized === \"track\") {\n return \"investigation\";\n }\n return \"analysis\";\n}\n\nexport function migrateBranchToLens(args: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n schema?: string | null;\n}): LensBranchMigrationSuggestion {\n const perspectiveType = inferLensPerspectiveTypeFromBranchSchema(args.schema);\n return {\n recommendedTool: \"create_lens\",\n perspectiveType,\n message:\n \"Branches are deprecated for operational framing. Create a workspace-scoped lens with the suggested payload instead.\",\n suggestedPayload: {\n name: args.name,\n description: args.description,\n topicId: args.topicId,\n workspaceId: args.workspaceId,\n perspectiveType,\n },\n };\n}\n\nexport function buildDeprecatedBranchMetadata(args: {\n name: string;\n description?: string;\n topicId?: string;\n workspaceId?: string;\n schema?: string | null;\n}): DeprecatedBranchMetadata {\n return {\n deprecated: true,\n deprecationMessage: BRANCH_DEPRECATION_MESSAGE,\n lensSuggestion: migrateBranchToLens(args),\n };\n}\n","import type { McpToolContract } from \"./tool-contracts.types\";\nimport { LENS_PERSPECTIVE_TYPES } from \"./lens-workflow.contract\";\n\nexport const CREATE_EPISTEMIC_NODE: McpToolContract = {\n name: \"create_epistemic_node\",\n description:\n \"Commit a generic epistemic graph node. \" +\n \"Like `git commit` — creates a canonical node in the public spine for topics, beliefs, evidence, questions, answers, sources, and entities.\",\n parameters: {\n globalId: { type: \"string\", description: \"Optional idempotent node global ID\" },\n nodeType: { type: \"string\", description: \"Public epistemic node type\" },\n canonicalText: { type: \"string\", description: \"Canonical node text\" },\n text: { type: \"string\", description: \"Alias for canonicalText\" },\n contentHash: { type: \"string\", description: \"Optional idempotency content hash\" },\n sourceType: { type: \"string\", description: \"Source type for provenance\" },\n topicId: { type: \"string\", description: \"Optional topic scope\" },\n content: { type: \"string\", description: \"Extended content\" },\n title: { type: \"string\", description: \"Display title\" },\n metadata: { type: \"object\", description: \"Optional node metadata\" },\n },\n required: [\"nodeType\"],\n response: {\n description: \"Created node result\",\n fields: {\n nodeId: \"string\",\n nodeGlobalId: \"string\",\n isDuplicate: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_EPISTEMIC_NODE: McpToolContract = {\n name: \"get_epistemic_node\",\n description:\n \"Read one epistemic graph node. \" +\n \"Like `git show` — resolves a canonical spine node by ID or global ID.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"The resolved node\",\n fields: { node: \"object\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const LIST_EPISTEMIC_NODES: McpToolContract = {\n name: \"list_epistemic_nodes\",\n description:\n \"List epistemic graph nodes. \" +\n \"Like `git ls-tree` — lists canonical spine nodes by topic, type, status, or search query.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope\" },\n nodeType: { type: \"string\", description: \"Optional node type filter\" },\n status: { type: \"string\", description: \"Optional lifecycle status\" },\n searchQuery: { type: \"string\", description: \"Optional text search query\" },\n limit: { type: \"number\", description: \"Maximum nodes to return\" },\n },\n required: [],\n response: {\n description: \"Matching nodes\",\n fields: { nodes: \"array\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_EPISTEMIC_NODE: McpToolContract = {\n name: \"update_epistemic_node\",\n description:\n \"Amend an epistemic graph node. \" +\n \"Like `git commit --amend` — updates mutable node metadata, text, status, or verification fields.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n canonicalText: { type: \"string\", description: \"Updated canonical text\" },\n text: { type: \"string\", description: \"Alias for canonicalText\" },\n contentHash: { type: \"string\", description: \"Updated content hash\" },\n content: { type: \"string\", description: \"Updated content\" },\n title: { type: \"string\", description: \"Updated display title\" },\n metadata: { type: \"object\", description: \"Updated metadata\" },\n confidence: { type: \"number\", description: \"Updated confidence\" },\n verificationStatus: { type: \"string\", description: \"Updated verification status\" },\n status: { type: \"string\", description: \"Updated lifecycle status\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Node update result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_EPISTEMIC_NODE: McpToolContract = {\n name: \"archive_epistemic_node\",\n description:\n \"Archive an epistemic graph node. \" +\n \"Like `git rm --cached` — removes a node from active traversal without hard-deleting it.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Archive result\",\n fields: { success: \"boolean\", effectiveStatus: \"string\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const VERIFY_EPISTEMIC_NODE: McpToolContract = {\n name: \"verify_epistemic_node\",\n description:\n \"Record verification state on an epistemic graph node. \" +\n \"Like `git tag` — marks the node with a reviewed verification state.\",\n parameters: {\n nodeId: { type: \"string\", description: \"Node ID or global ID\" },\n verificationStatus: { type: \"string\", description: \"Verification status\" },\n confidence: { type: \"number\", description: \"Optional confidence update\" },\n },\n required: [\"nodeId\", \"verificationStatus\"],\n response: {\n description: \"Verification result\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const SUPERSEDE_EPISTEMIC_NODE: McpToolContract = {\n name: \"supersede_epistemic_node\",\n description:\n \"Supersede an epistemic graph node with a new version. \" +\n \"Like `git commit --amend` on an immutable history branch — creates the replacement and marks the old node superseded.\",\n parameters: {\n oldNodeId: { type: \"string\", description: \"Node ID or global ID to supersede\" },\n newGlobalId: { type: \"string\", description: \"Optional replacement global ID\" },\n newCanonicalText: { type: \"string\", description: \"Replacement canonical text\" },\n text: { type: \"string\", description: \"Alias for newCanonicalText\" },\n newContentHash: { type: \"string\", description: \"Optional replacement content hash\" },\n reason: { type: \"string\", description: \"Reason for superseding\" },\n },\n required: [\"oldNodeId\"],\n response: {\n description: \"Supersede result\",\n fields: { oldNodeId: \"string\", newNodeId: \"string\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const BATCH_CREATE_EPISTEMIC_NODES: McpToolContract = {\n name: \"batch_create_epistemic_nodes\",\n description:\n \"Commit multiple epistemic graph nodes. \" +\n \"Like `git commit` with many staged files — writes a batch of canonical spine nodes.\",\n parameters: {\n nodes: {\n type: \"array\",\n description: \"Nodes to create with nodeType, canonicalText/text, and optional metadata.\",\n },\n },\n required: [\"nodes\"],\n response: {\n description: \"Batch node creation result\",\n fields: { created: \"number\", results: \"array\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// JUDGMENT TOOLS (Phase 1: new vocabulary, aliased to decision implementation)\n// =============================================================================\n\nexport const RECORD_JUDGMENT: McpToolContract = {\n name: \"record_judgment\",\n description:\n \"Record a judgment — an irreversible commitment based on the current epistemic state. \" +\n \"Like a `git tag` marking a release. \" +\n \"A judgment synthesizes beliefs, evidence, and uncertainties into a determination. \" +\n \"Once issued, a judgment is evaluated against the epistemic state that existed when it was made \" +\n \"(knowledge horizon evaluation, Invariant #10).\",\n parameters: {\n title: { type: \"string\", description: \"Short judgment statement\" },\n rationale: {\n type: \"string\",\n description: \"Full reasoning behind the judgment\",\n },\n topicId: { type: \"string\", description: \"Topic scope\" },\n beliefIds: {\n type: \"array\",\n description: \"Beliefs that warrant this judgment\",\n },\n confidence: {\n type: \"number\",\n description: \"Confidence in the judgment (0-1)\",\n },\n },\n required: [\"title\", \"rationale\"],\n response: {\n description: \"The recorded judgment\",\n fields: {\n judgmentId: \"string\",\n title: \"string\",\n status: \"string — 'issued'\",\n },\n },\n ownerModule: \"decisions\",\n ontologyPrimitive: \"judgment\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// LENS TOOLS (workspace-scoped operational frames)\n// =============================================================================\n\nexport const CREATE_LENS: McpToolContract = {\n name: \"create_lens\",\n description:\n \"Create a reusable lens that overlays a workspace topic with a specific analytical perspective. \" +\n \"Like `git branch <name>` for operational scaffolding — a lens persists across worktrees and carries prompts, workflows, and task templates. \" +\n \"Multiple topics in the same workspace can reuse the same lens.\",\n parameters: {\n name: {\n type: \"string\",\n description: \"Lens name (e.g., 'market dynamics', 'team quality')\",\n },\n workspaceId: {\n type: \"string\",\n description:\n \"Workspace scope for the lens. Required unless topicId resolves to a workspace-scoped topic.\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Optional originating topic scope. Lenses remain reusable across topics even when this is set.\",\n },\n description: {\n type: \"string\",\n description: \"What this lens is designed to investigate or monitor\",\n },\n perspectiveType: {\n type: \"string\",\n description:\n \"Perspective type for the lens. Validated against schemaEnumConfig category 'lens_perspective_type'.\",\n enum: [...LENS_PERSPECTIVE_TYPES],\n },\n promptTemplates: {\n type: \"array\",\n description: \"Langfuse prompt references used when operating through this lens\",\n },\n workflowTemplates: {\n type: \"array\",\n description: \"Guided workflow templates for lens-driven investigations\",\n },\n taskTemplates: {\n type: \"array\",\n description: \"Default task templates instantiated when the lens is applied\",\n },\n filterCriteria: {\n type: \"object\",\n description: \"Belief/evidence filtering rules applied by the lens\",\n },\n },\n required: [\"name\", \"perspectiveType\"],\n response: {\n description: \"The created lens\",\n fields: {\n lensId: \"string\",\n name: \"string\",\n workspaceId: \"string\",\n status: \"string — 'active'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"showcase\",\n};\n\nexport const LIST_LENSES: McpToolContract = {\n name: \"list_lenses\",\n description:\n \"List reusable lenses for a workspace, optionally scored by whether they are active on a topic. \" +\n \"Like `git branch --list` — shows the available named frames you can activate. \" +\n \"When topicId is provided, the response can indicate which lenses are already applied there.\",\n parameters: {\n workspaceId: {\n type: \"string\",\n description: \"Workspace scope to list lenses from\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Optional topic scope used to derive workspace and annotate applied lenses\",\n },\n status: {\n type: \"string\",\n description: \"Filter by lens lifecycle status\",\n enum: [\"draft\", \"active\", \"archived\"],\n },\n perspectiveType: {\n type: \"string\",\n description: \"Filter by perspective type\",\n enum: [...LENS_PERSPECTIVE_TYPES],\n },\n },\n required: [],\n response: {\n description: \"Available lenses\",\n fields: {\n lenses:\n \"array — each item includes lensId, name, workspaceId, perspectiveType, status, and optional isAppliedToTopic\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\nexport const APPLY_LENS_TO_TOPIC: McpToolContract = {\n name: \"apply_lens_to_topic\",\n description:\n \"Apply a lens to a topic so it becomes an active perspective overlay. \" +\n \"Like `git checkout <branch>` for a reusable frame — the topic keeps its knowledge, but the active lens shapes guidance and retrieval. \" +\n \"Multiple active lenses can coexist on the same topic.\",\n parameters: {\n lensId: { type: \"string\", description: \"Lens to activate on the topic\" },\n topicId: { type: \"string\", description: \"Topic that should receive the lens\" },\n },\n required: [\"lensId\", \"topicId\"],\n response: {\n description: \"Lens activation result\",\n fields: {\n bindingId: \"string\",\n lensId: \"string\",\n topicId: \"string\",\n status: \"string — 'active'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\nexport const REMOVE_LENS_FROM_TOPIC: McpToolContract = {\n name: \"remove_lens_from_topic\",\n description:\n \"Remove an active lens overlay from a topic. \" +\n \"Like `git switch` away from a frame — the topic remains, but the lens stops shaping the investigation context. \" +\n \"Historical binding state is preserved for auditability.\",\n parameters: {\n lensId: { type: \"string\", description: \"Lens to remove from the topic\" },\n topicId: { type: \"string\", description: \"Topic that currently has the lens applied\" },\n },\n required: [\"lensId\", \"topicId\"],\n response: {\n description: \"Lens removal result\",\n fields: {\n bindingId: \"string\",\n lensId: \"string\",\n topicId: \"string\",\n status: \"string — 'removed'\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"lens\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// PUSH TOOLS (git push)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const LUCERN_ORIENT: McpToolContract = {\n name: \"lucern_orient\",\n description:\n \"Load the Lucern reasoning grammar before operating. \" +\n \"Like `git help` plus a repository CONTRIBUTING guide for reasoning state - teaches the git-shaped model of topics, campaigns, lanes, worktrees, beliefs, questions, evidence, receipts, gates, and merges.\",\n parameters: {\n audience: {\n type: \"string\",\n description: \"Audience for the primer: agent, human, operator, or developer.\",\n enum: [\"agent\", \"human\", \"operator\", \"developer\"],\n },\n depth: {\n type: \"string\",\n description: \"Orientation depth: quick, standard, or deep.\",\n enum: [\"quick\", \"standard\", \"deep\"],\n },\n situation: {\n type: \"string\",\n description:\n \"Optional task or query context used to tailor suggested next calls.\",\n },\n includeExamples: {\n type: \"boolean\",\n description: \"Whether to include concrete tool-call examples.\",\n },\n includeToolMap: {\n type: \"boolean\",\n description: \"Whether to include situation-to-tool routing guidance.\",\n },\n includeFuture: {\n type: \"boolean\",\n description:\n \"Whether to include future exemplar, gauntlet, and training-data capabilities.\",\n },\n },\n required: [],\n response: {\n description:\n \"Canonical operator primer for Lucern's git-shaped reasoning substrate.\",\n fields: {\n schemaVersion: \"string - lucern_orientation.v1\",\n canonicalMentalModel:\n \"object - concise model of Lucern as git-shaped reasoning state\",\n workflow:\n \"array - recommended branch -> investigate -> prove gate -> merge workflow\",\n grammarMap:\n \"array - primitive-to-git-analogy map for topics, campaigns, worktrees, beliefs, questions, evidence, edges, contradictions, and gates\",\n firstMoves: \"array - recommended first tools for a cold-start agent\",\n receiptRules:\n \"array - how to interpret candidateCounts, broadening, coverageWarning, narrativeCoverage, synthesisLints, and noDefaultGlobalScan\",\n safetyRules:\n \"array - mutation and completion rules that preserve reasoning lineage\",\n toolMap:\n \"array | undefined - situation-to-tool routing map when requested\",\n examples: \"array | undefined - concrete tool-call examples when requested\",\n futureCapabilities:\n \"array | undefined - exemplar, gauntlet, trace-corpus, and native-model-training capabilities when requested\",\n suggestedNextCalls:\n \"array - safe next tool calls for the current situation\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const DETECT_CONFIRMATION_BIAS: McpToolContract = {\n name: \"detect_confirmation_bias\",\n description:\n \"Detect confirmation bias in the evidence graph. \" +\n \"Like `git diff --stat` for reasoning — analyzes the ratio of supporting vs challenging evidence \" +\n \"per belief and flags beliefs where the evidence is suspiciously one-sided. \" +\n \"Returns risk classification (critical/high/moderate/healthy).\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n threshold: {\n type: \"number\",\n description: \"Bias threshold (0-1, default 0.7)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Beliefs with bias scores, risk levels, and evidence counts\",\n fields: {\n beliefs:\n \"array — { nodeId, biasScore, riskLevel, supportingCount, challengingCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_GRAPH_STRUCTURE_ANALYSIS: McpToolContract = {\n name: \"get_graph_structure_analysis\",\n description:\n \"Run comprehensive structural analysis on the knowledge graph. \" +\n \"Like `git fsck` combined with PageRank — runs 14 algorithmic detectors including \" +\n \"PageRank centrality, Louvain community detection, Tarjan SCC, Fiedler vector spectral analysis, \" +\n \"Bayesian surprise, and overconfidence detection.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Structural analysis with detector results and recommendations\",\n fields: {\n topicId: \"string — canonical topic scope\",\n metric: \"string — analysis metric identifier\",\n payload: \"object — detector results, recommendations, graph metrics\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const LIST_GRAPH_INTELLIGENCE_QUERIES: McpToolContract = {\n name: \"list_graph_intelligence_queries\",\n description:\n \"List the Graph Intelligence query catalog that powers structural graph analysis experiences. \" +\n \"Returns categories, query IDs, prompt templates, modes, and the public tool plan each query can use.\",\n parameters: {\n categoryId: {\n type: \"string\",\n description: \"Optional category filter, such as problems or strategic\",\n },\n mode: {\n type: \"string\",\n description:\n \"Optional mode filter: core, bias, stress, operational, alpha, semantic, or evidence\",\n },\n },\n required: [],\n response: {\n description:\n \"Graph Intelligence query catalog and mode-to-tool mapping\",\n fields: {\n categories: \"array — query categories\",\n queries: \"array — query definitions with prompt templates and tools\",\n quickQueries: \"array — recommended one-click query presets\",\n publicToolNamesByMode:\n \"object — public tool names available to each Graph Intelligence mode\",\n },\n },\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const RUN_GRAPH_INTELLIGENCE_QUERY: McpToolContract = {\n name: \"run_graph_intelligence_query\",\n description:\n \"Run a named Graph Intelligence query against a tenant topic graph. \" +\n \"Returns the selected query, prompt, deterministic graph-analysis bundle, graph context, and public tool plan for model synthesis.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n queryId: {\n type: \"string\",\n description:\n \"Graph Intelligence query ID, such as confirmation-bias, pre-mortem, or thesis-summary\",\n },\n prompt: {\n type: \"string\",\n description: \"Optional custom prompt for custom analysis runs\",\n },\n input: {\n type: \"string\",\n description:\n \"Optional entity, theme, belief, company, or search text for input-driven queries\",\n },\n mode: {\n type: \"string\",\n description:\n \"Optional mode override: core, bias, stress, operational, alpha, semantic, or evidence\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum graph context rows to return\",\n },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Graph Intelligence query result bundle ready for model or prompt-library synthesis\",\n fields: {\n query: \"object — selected query definition\",\n prompt: \"string — resolved prompt template\",\n toolPlan: \"array — public tools and args the model can call next\",\n analysis:\n \"object — structure, coverage, gap, and confirmation-bias analysis\",\n context: \"object — sampled beliefs, questions, evidence, edges, and contradictions\",\n },\n },\n ownerModule: \"graph-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_FALSIFICATION_QUESTIONS: McpToolContract = {\n name: \"get_falsification_questions\",\n description:\n \"Generate Popperian falsification questions for beliefs. \" +\n \"Like `git test` — identifies the questions most likely to disprove current beliefs. \" +\n \"Karl Popper as a tool: surfaces what would need to be true to invalidate each belief.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic to analyze\" },\n beliefIds: { type: \"array\", description: \"Specific beliefs to target\" },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Questions with falsification potential scores and target beliefs\",\n fields: {\n questions:\n \"array — { questionText, falsificationPotential, targetBeliefId, targetBeliefText }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// EVIDENCE OPERATION TOOLS\n// =============================================================================\n\nexport const SEARCH_EVIDENCE: McpToolContract = {\n name: \"search_evidence\",\n description:\n \"Search for evidence across the reasoning graph. \" +\n \"Like `git grep` — returns the evidence records that best match a textual query. \" +\n \"Results share the same canonical semantics as the HTTP and SDK evidence search surface.\",\n parameters: {\n q: { type: \"string\", description: \"Search text\" },\n topicId: { type: \"string\", description: \"Topic scope filter\" },\n targetId: {\n type: \"string\",\n description: \"Optional belief or question identifier to scope the search\",\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [\"q\"],\n response: {\n description: \"Canonical evidence search results page\",\n fields: {\n results:\n \"array — { evidenceId, nodeId, globalId?, text, source?, kind?, relevanceScore }\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const CREATE_EVIDENCE: McpToolContract = {\n name: \"create_evidence\",\n description:\n \"Commit evidence to the reasoning graph. \" +\n \"Like `git commit` — creates a traceable evidence record with canonical public IDs. \" +\n \"Evidence creation must link to at least one belief and must include a signed impact score. \" +\n \"Positive scores support the belief; negative scores contradict it. SL confidence is derived from these weighted evidence relations.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n text: { type: \"string\", description: \"Canonical evidence text\" },\n source: { type: \"string\", description: \"Source URL or source label\" },\n targetId: {\n type: \"string\",\n description: \"Belief identifier to link immediately\",\n },\n weight: {\n type: \"number\",\n description:\n \"Required nonzero signed impact score: -1.0 (contradicts) to +1.0 (supports).\",\n },\n evidenceRelation: {\n type: \"string\",\n enum: [\"supports\", \"contradicts\"],\n description:\n \"Canonical relation to targetId/linkedBeliefNodeId. Prefer this over relying on signed weight inference.\",\n },\n confidence: {\n type: \"number\",\n description:\n \"Deprecated hint. Runtime confidence is derived from the signed impact score.\",\n },\n beliefRelations: {\n type: \"array\",\n description:\n \"Optional additional belief relations: [{ beliefId|beliefNodeId|targetId, evidenceRelation|relation, confidence?, weight?, rationale? }]. Use one evidence node with multiple relations when the same fact supports or contradicts several beliefs.\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional metadata merged into the canonical evidence node\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this evidence should enter the reasoning graph\",\n },\n title: { type: \"string\", description: \"Optional short title\" },\n content: { type: \"string\", description: \"Optional long-form content\" },\n contentType: {\n type: \"string\",\n description: \"Optional content format or MIME hint\",\n },\n kind: { type: \"string\", description: \"Optional evidence kind\" },\n },\n required: [\"text\", \"rationale\", \"weight\"],\n response: {\n description: \"The created canonical evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n text: \"string\",\n topicId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const GET_EVIDENCE: McpToolContract = {\n name: \"get_evidence\",\n description:\n \"Read one evidence record by ID. \" +\n \"Like `git show` — resolves the canonical evidence payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical evidence ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n text: \"string\",\n topicId: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const LIST_EVIDENCE: McpToolContract = {\n name: \"list_evidence\",\n description:\n \"List evidence records within a topic or linked to a target. \" +\n \"Like `git log -- path` — returns the canonical evidence page for a topic, belief, or question scope.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope filter\" },\n targetId: {\n type: \"string\",\n description: \"Optional belief or question identifier to scope by linkage\",\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [],\n response: {\n description: \"Canonical evidence page\",\n fields: {\n evidence: \"array — canonical evidence records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_EVIDENCE: McpToolContract = {\n name: \"archive_evidence\",\n description:\n \"Archive an evidence record while preserving its reasoning history. \" +\n \"Like `git rm` — removes evidence from active workflows without erasing the audit trail. \" +\n \"Use this for evidence hygiene after the evidence has been superseded, corrected, or ruled out.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical evidence ID\" },\n evidenceId: { type: \"string\", description: \"Evidence ID alias\" },\n nodeId: { type: \"string\", description: \"Evidence node ID alias\" },\n insightId: { type: \"string\", description: \"Legacy insight ID alias\" },\n reason: {\n type: \"string\",\n description: \"Why this evidence is being archived\",\n },\n },\n required: [],\n response: {\n description: \"Archive confirmation for the evidence record\",\n fields: {\n id: \"string — canonical evidence ID\",\n evidenceId: \"string — canonical evidence ID\",\n nodeId: \"string — canonical evidence node ID\",\n status: \"string — archived or removed from active evidence views\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE: McpToolContract = {\n name: \"link_evidence\",\n description:\n \"Link evidence to a belief or question. \" +\n \"Like `git notes add` — attaches a supporting or contradicting edge without rewriting the evidence itself.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"Canonical evidence ID\" },\n targetId: {\n type: \"string\",\n description: \"Canonical belief or question ID\",\n },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n rationale: { type: \"string\", description: \"Why this link exists\" },\n },\n required: [\"evidenceId\", \"targetId\", \"weight\"],\n response: {\n description: \"The created canonical evidence edge summary\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n targetId: \"string\",\n targetType: \"string — belief | question\",\n weight: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE_TO_BELIEF: McpToolContract = {\n name: \"link_evidence_to_belief\",\n description:\n \"Link evidence to a belief with a support weight. \" +\n \"Like `git add` — stages evidence in support of (or against) a belief. \" +\n \"The weight ranges from -1.0 (strongly contradicts) to +1.0 (strongly supports). \" +\n \"This relation appends to the SL confidence ledger; do not hand-write confidence separately.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"The evidence node ID\" },\n beliefId: { type: \"string\", description: \"The belief node ID\" },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\n },\n evidenceRelation: {\n type: \"string\",\n enum: [\"supports\", \"contradicts\"],\n description:\n \"Canonical semantic relation. If omitted, the sign of weight is used.\",\n },\n confidence: {\n type: \"number\",\n description: \"Confidence in this evidence-to-belief relation, 0.0 to 1.0\",\n },\n rationale: { type: \"string\", description: \"Why this evidence is relevant\" },\n },\n required: [\"evidenceId\", \"beliefId\", \"weight\"],\n response: {\n description: \"The created edge linking evidence to belief\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n beliefId: \"string\",\n weight: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// QUESTION OPERATION TOOLS\n// =============================================================================\n","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, scope, or worktree link \" +\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 linkedWorktreeId: {\n type: \"string\",\n description: \"Worktree this existing question belongs to\",\n },\n rationale: {\n type: \"string\",\n description: \"Why the question is being refined\",\n },\n },\n required: [\"id\"],\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 traversalMode: {\n type: \"string\",\n description:\n \"Optional C2-LK.2 traversal mode declaration for strict context compilation.\",\n enum: [\n \"anchored_ranked\",\n \"bounded_exploration\",\n \"contradiction_scan\",\n \"pattern_recall\",\n \"forensic_replay\",\n ],\n },\n requestedDepth: {\n type: \"string\",\n description:\n \"Optional C2-LK.2 constitutional depth declaration for context compilation.\",\n enum: [\"low\", \"medium\", \"high\", \"extra-high\"],\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 contextNarrative:\n \"array — first field; ordered synthesis blocks with kind/text, starting with executive_summary and canonical narrative blocks before raw objects\",\n narrativeCoverage:\n \"object — recordsSynthesized, recordsNamed, recordsOmitted, topicsSynthesized, topicsEnriched, topicContentOmitted, enrichmentMode, and blocksEmitted for the narrative\",\n synthesisLints:\n \"array — inline quality warnings for degenerate synthesis blocks or weak narrative coverage\",\n retrievalReceipt:\n \"object — candidateCounts, coverageWarning, narrativeCoverage, synthesisLints, and suggestedNextActions\",\n supportingObjects:\n \"object — raw graph records grouped behind the synthesis: invariants, activeBeliefs, openQuestions, recentEvidence, worktrees, lanes, entities, and contradictions\",\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 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","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const CHECK_PERMISSION: McpToolContract = {\n name: \"check_permission\",\n description:\n \"Check whether a principal can read or mutate a topic scope. \" +\n \"Like `git check-ref-format` for ACLs — validates whether the requested operation is allowed before execution.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope to evaluate\" },\n permission: {\n type: \"string\",\n description: \"Permission to evaluate\",\n enum: [\"read\", \"write\"],\n },\n principal: {\n type: \"string\",\n description:\n \"Optional principal override (defaults to current principal)\",\n },\n beliefClusterId: {\n type: \"string\",\n description: \"Optional neighborhood scope within a topic\",\n },\n },\n required: [\"topicId\", \"permission\"],\n response: {\n description: \"Permission evaluation result\",\n fields: {\n allowed: \"boolean\",\n decision: \"string — allow | deny\",\n reasonCode: \"string\",\n principalId: \"string\",\n topicId: \"string\",\n permission: \"string — read | write\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\nexport const FILTER_BY_PERMISSION: McpToolContract = {\n name: \"filter_by_permission\",\n description:\n \"Filter a topic set down to ACL-authorized topics. \" +\n \"Like `git rev-list --ancestry-path` for policy boundaries — keeps only topics permitted for the requested action.\",\n parameters: {\n topicIds: { type: \"array\", description: \"Topic IDs to evaluate\" },\n permission: {\n type: \"string\",\n description: \"Permission filter\",\n enum: [\"read\", \"write\"],\n },\n principal: {\n type: \"string\",\n description: \"Optional principal override (tenant admin only)\",\n },\n },\n required: [\"topicIds\", \"permission\"],\n response: {\n description: \"Allowed/denied split for the requested topic set\",\n fields: {\n permission: \"string — read | write\",\n allowedTopicIds: \"array — topic IDs allowed by policy\",\n deniedTopics: \"array — { topicId, reasonCode }\",\n count: \"number\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\nexport const COMPILE_CAPABILITY_SLICE: McpToolContract = {\n name: \"compile_capability_slice\",\n description:\n \"Compile a Permit-clipped graph capability slice. \" +\n \"Like `git sparse-checkout` for policy-visible reasoning — returns allowed objects plus public-safe omission records.\",\n parameters: {\n sliceUuid: { type: \"string\", description: \"Stable slice UUID or request id\" },\n context: {\n type: \"string\",\n description:\n \"Slice context such as context_compile, graph_traversal, source_horizon, output_export, or agent_run\",\n },\n surface: {\n type: \"string\",\n description: \"Caller surface such as mcp, sdk, cli, rest, web, or agent\",\n },\n baseFacts: {\n type: \"object\",\n description: \"Graph policy facts for the root resource and principal\",\n },\n nodes: {\n type: \"array\",\n description: \"Candidate graph nodes/resources to clip\",\n },\n edges: {\n type: \"array\",\n description: \"Candidate graph edges to clip\",\n },\n fallbackPermitDecision: {\n type: \"object\",\n description: \"Fallback Permit decision; omitted decisions fail closed\",\n },\n permitDecisionsByResourceId: {\n type: \"object\",\n description: \"Permit decisions keyed by resourceId after PDP evaluation\",\n },\n },\n required: [\"baseFacts\", \"nodes\"],\n response: {\n description: \"Permission-clipped capability slice envelope\",\n fields: {\n decision: \"string — allow | allow_with_omissions | deny\",\n visibleNodes: \"array — policy-visible graph nodes/resources\",\n visibleEdges: \"array — policy-visible graph edges\",\n publicOmissionRecords: \"array — public-safe omission records\",\n sealedOmissionRecords: \"array — sealed audit-only omission records\",\n policy: \"object — Permit decision proof envelope\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// OBSERVATION TOOLS\n// =============================================================================\n\nexport const INGEST_OBSERVATION: McpToolContract = {\n name: \"ingest_observation\",\n description:\n \"Record an observational delta for a topic context stream. \" +\n \"Like `git notes add` — attaches structured observation metadata without mutating graph state directly. \" +\n \"Used by watcher/cowork agents to stage candidate updates before explicit write confirmation.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope hint for the observation\",\n },\n observationType: {\n type: \"string\",\n description: \"Observation class\",\n enum: [\n \"claim\",\n \"evidence\",\n \"question\",\n \"contradiction\",\n \"judgment\",\n \"note\",\n ],\n },\n summary: {\n type: \"string\",\n description: \"Human-readable observation summary\",\n },\n source: {\n type: \"string\",\n description: \"Optional source (message ID, tool name, URL, etc.)\",\n },\n confidence: { type: \"number\", description: \"Optional confidence in [0,1]\" },\n tags: { type: \"array\", description: \"Optional observation tags\" },\n metadata: {\n type: \"object\",\n description: \"Optional structured metadata payload\",\n },\n },\n required: [\"observationType\", \"summary\"],\n response: {\n description: \"Recorded observation entry\",\n fields: {\n observationId: \"string\",\n topicId: \"string\",\n observationType: \"string\",\n createdAt: \"number\",\n contextResourceUri: \"string\",\n },\n },\n ownerModule: \"agent-frameworks\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_OBSERVATION_CONTEXT: McpToolContract = {\n name: \"get_observation_context\",\n description:\n \"Retrieve observer-ready context for a topic, including recent deltas and semantic matches. \" +\n \"Like `git log --grep` — shows recent context and filtered matches across observation history. \" +\n \"This powers prompt context injection without mutating graph state.\",\n parameters: {\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n query: {\n type: \"string\",\n description: \"Optional semantic query over observation history\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum entries in each returned collection\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Observation context payload\",\n fields: {\n topicId: \"string\",\n totalObservations: \"number\",\n latest: \"array\",\n semanticMatches: \"array\",\n byType: \"object\",\n generatedAt: \"number\",\n },\n },\n ownerModule: \"agent-frameworks\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// TASK LIFECYCLE TOOLS\n// =============================================================================\n\nexport const CREATE_TASK: McpToolContract = {\n name: \"create_task\",\n description:\n \"Create an execution task tied to the reasoning state. \" +\n \"Like `git task` — tracks concrete work items (calls to make, data to gather, analyses to run) \" +\n \"linked to questions, beliefs, or worktrees.\",\n parameters: {\n title: { type: \"string\", description: \"Task title\" },\n topicId: { type: \"string\", description: \"Topic scope\" },\n description: {\n type: \"string\",\n description: \"Long-form task description\",\n },\n taskType: {\n type: \"string\",\n description: \"Task taxonomy\",\n enum: [\n \"general\",\n \"find_evidence\",\n \"verify_claim\",\n \"research\",\n \"review\",\n \"interview\",\n \"analysis\",\n \"track_metrics\",\n ],\n },\n priority: {\n type: \"string\",\n description: \"Priority\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n status: {\n type: \"string\",\n description: \"Initial status (defaults to todo)\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Worktree this task belongs to\",\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Belief this task supports\",\n },\n linkedQuestionId: {\n type: \"string\",\n description: \"Question this task addresses\",\n },\n assigneeId: {\n type: \"string\",\n description: \"Principal assigned to the task\",\n },\n dueDate: {\n type: \"number\",\n description: \"Due date as epoch milliseconds\",\n },\n tags: {\n type: \"array\",\n description: \"Free-form string tags\",\n },\n metadata: {\n type: \"object\",\n description: \"Structured task metadata for handoff context and routing hints\",\n },\n },\n required: [\"title\"],\n response: {\n description: \"The created task\",\n fields: {\n taskId: \"string\",\n status: \"string — 'pending'\",\n createdAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const COMPLETE_TASK: McpToolContract = {\n name: \"complete_task\",\n description:\n \"Mark a task as complete with an output summary. \" +\n \"Like `git tag` for work items — records the discrete completion event and captures what was learned. \" +\n \"Completed tasks feed back into the evidence graph.\",\n parameters: {\n taskId: { type: \"string\", description: \"The task to complete\" },\n outputSummary: {\n type: \"string\",\n description: \"What was accomplished or learned\",\n },\n evidenceCreated: {\n type: \"boolean\",\n description: \"Whether new evidence was created from this task\",\n },\n },\n required: [\"taskId\", \"outputSummary\"],\n response: {\n description: \"The completed task\",\n fields: {\n taskId: \"string\",\n completedAt: \"number\",\n outputSummary: \"string\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_TASK: McpToolContract = {\n name: \"update_task\",\n description:\n \"Update a task's fields — relink to a different worktree, belief, or question, change title/priority/status. \" +\n \"Like `git task edit` — mutates an existing task in place instead of requiring recreate-plus-supersede.\",\n parameters: {\n taskId: { type: \"string\", description: \"The task to update\" },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Reassign this task to a different worktree\",\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Link or relink this task to a belief node\",\n },\n linkedQuestionId: {\n type: \"string\",\n description: \"Link or relink this task to a question node\",\n },\n title: { type: \"string\", description: \"Updated task title\" },\n description: {\n type: \"string\",\n description: \"Updated task description\",\n },\n priority: {\n type: \"string\",\n description: \"Updated priority\",\n enum: [\"critical\", \"high\", \"medium\", \"low\"],\n },\n status: {\n type: \"string\",\n description: \"Updated status\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n metadata: {\n type: \"object\",\n description: \"Structured task metadata to replace or refine\",\n },\n },\n required: [\"taskId\"],\n response: {\n description: \"The updated task\",\n fields: {\n taskId: \"string\",\n updatedAt: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\nexport const LIST_TASKS: McpToolContract = {\n name: \"list_tasks\",\n description:\n \"List tasks for a topic or worktree. \" +\n \"Like `git task list` — returns tasks with status, priority, and linked nodes. \" +\n \"Filter by worktree to see tasks for a specific investigation, or by status to find incomplete work.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n linkedWorktreeId: {\n type: \"string\",\n description: \"Filter to tasks linked to this worktree\",\n },\n worktreeId: {\n type: \"string\",\n description: \"Alias for linkedWorktreeId\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status: todo, in_progress, blocked, done\",\n enum: [\"todo\", \"in_progress\", \"blocked\", \"done\"],\n },\n limit: { type: \"number\", description: \"Maximum results (default: 100)\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"List of tasks with metadata\",\n fields: { tasks: \"array of task objects\", count: \"number\" },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"task\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// TOPIC TOOLS (git init, git remote)\n// =============================================================================\n\nexport const CREATE_TOPIC: McpToolContract = {\n name: \"create_topic\",\n description:\n \"Create a new topic container for scoping knowledge. \" +\n \"Like `git init` — initializes a new repository for a knowledge domain. \" +\n \"Topics are hierarchical: a deal topic can nest under a theme topic. \" +\n \"Types: domain, theme, deal, strategy, constitution, project, portfolio.\",\n parameters: {\n globalId: {\n type: \"string\",\n description: \"Optional idempotent topic global ID\",\n },\n name: { type: \"string\", description: \"Topic name\" },\n type: {\n type: \"string\",\n description:\n \"Topic type. Validated against schemaEnumConfig category 'topic_type'.\",\n },\n description: { type: \"string\", description: \"What this topic covers\" },\n parentTopicId: {\n type: \"string\",\n description: \"Optional parent topic for nesting\",\n },\n parentTopicGlobalId: {\n type: \"string\",\n description: \"Optional parent topic global ID for nesting\",\n },\n tenantId: { type: \"string\", description: \"Optional tenant scope\" },\n workspaceId: { type: \"string\", description: \"Optional workspace scope\" },\n visibility: {\n type: \"string\",\n description: \"Topic visibility\",\n enum: [\"private\", \"team\", \"firm\", \"external\", \"public\"],\n },\n metadata: { type: \"object\", description: \"Optional topic metadata\" },\n createdBy: { type: \"string\", description: \"Who created this topic\" },\n },\n required: [\"name\", \"type\"],\n response: {\n description: \"The created topic\",\n fields: {\n id: \"string — topic ID\",\n globalId: \"string — globally unique ID\",\n topicGlobalId: \"string — topic global ID\",\n epistemicNodeId: \"string — materialized topic node ID\",\n epistemicNodeGlobalId: \"string — materialized topic node global ID\",\n depth: \"number — nesting depth\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const LIST_TOPICS: McpToolContract = {\n name: \"list_topics\",\n description:\n \"List topics, optionally filtered by type or parent. \" +\n \"Like `git remote -v` — shows all knowledge containers with their types and hierarchy.\",\n parameters: {\n type: {\n type: \"string\",\n description: \"Filter by topic type (e.g., 'theme', 'deal')\",\n },\n parentTopicId: {\n type: \"string\",\n description: \"Filter to children of this parent\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\"active\", \"archived\", \"watching\"],\n },\n },\n required: [],\n response: {\n description: \"List of topics with metadata\",\n fields: {\n topics: \"array — { id, name, type, depth, status, parentTopicId }\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC: McpToolContract = {\n name: \"get_topic\",\n description:\n \"Get one topic by ID. \" +\n \"Like `git remote show origin` — inspects a single knowledge container in detail.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Canonical topic ID to retrieve\",\n },\n id: {\n type: \"string\",\n description: \"Legacy alias for topicId\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Single topic record\",\n fields: {\n topic:\n \"object — { id, globalId, name, type, depth, status, parentTopicId, description }\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_TOPIC: McpToolContract = {\n name: \"update_topic\",\n description:\n \"Update an existing topic's metadata. \" +\n \"Like `git remote set-url` — changes the canonical configuration for a knowledge container without recreating it.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Canonical topic ID to update\",\n },\n id: {\n type: \"string\",\n description: \"Legacy alias for topicId\",\n },\n name: { type: \"string\", description: \"Updated topic name\" },\n description: { type: \"string\", description: \"Updated topic description\" },\n type: {\n type: \"string\",\n description:\n \"Updated topic type. Validated against schemaEnumConfig category 'topic_type'.\",\n },\n ontologyId: {\n type: \"string\",\n description: \"Updated ontology binding\",\n },\n clearOntologyId: {\n type: \"boolean\",\n description: \"Clear the current ontology binding\",\n },\n status: {\n type: \"string\",\n description: \"Updated topic status\",\n enum: [\"active\", \"archived\", \"watching\"],\n },\n visibility: {\n type: \"string\",\n description: \"Updated topic visibility\",\n enum: [\"private\", \"team\", \"firm\", \"external\", \"public\"],\n },\n },\n required: [],\n response: {\n description: \"The updated topic\",\n fields: {\n id: \"string — topic ID\",\n globalId: \"string — globally unique ID\",\n status: \"string — topic lifecycle status\",\n visibility: \"string — topic visibility\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC_TREE: McpToolContract = {\n name: \"get_topic_tree\",\n description:\n \"Get the full topic hierarchy from a root. \" +\n \"Like `git log --graph --all` — shows the complete tree of nested topics.\",\n parameters: {\n rootId: { type: \"string\", description: \"Root topic to start from\" },\n maxDepth: {\n type: \"number\",\n description: \"Maximum depth to traverse (default: 5)\",\n },\n },\n required: [\"rootId\"],\n response: {\n description: \"Tree of topics with nesting\",\n fields: { tree: \"array — topics in BFS order with depth and path\" },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const MATERIALIZE_TOPIC_GRAPH: McpToolContract = {\n name: \"materialize_topic_graph\",\n description:\n \"Backfill the topic graph spine. \" +\n \"Like `git fsck --connectivity-only` with repair enabled — creates missing topic nodes and parent-child edges idempotently.\",\n parameters: {\n rootTopicId: {\n type: \"string\",\n description: \"Optional root topic for a bounded materialization pass\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"When true, report missing rows without writing them\",\n },\n },\n required: [],\n response: {\n description: \"Topic graph materialization counts\",\n fields: {\n topicsSeen: \"number\",\n nodesCreated: \"number\",\n nodesExisting: \"number\",\n edgesCreated: \"number\",\n edgesExisting: \"number\",\n errors: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\nexport const GET_TOPIC_GRAPH_SPINE: McpToolContract = {\n name: \"get_topic_graph_spine\",\n description:\n \"Verify the topic graph spine. \" +\n \"Like `git fsck` — reads topics, materialized topic nodes, parent-child edges, and missing spine rows.\",\n parameters: {\n rootTopicId: {\n type: \"string\",\n description: \"Optional root topic for a bounded verifier pass\",\n },\n includeTopicBeliefEdges: {\n type: \"boolean\",\n description: \"Include topic -> belief edges in the verifier payload\",\n },\n },\n required: [],\n response: {\n description: \"Topic graph spine verification payload\",\n fields: {\n ok: \"boolean\",\n counts: \"object\",\n topics: \"array\",\n topicNodes: \"array\",\n parentEdges: \"array\",\n missingTopicNodes: \"array\",\n missingParentEdges: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// CODING INTELLIGENCE TOOLS (code-grounded knowledge)\n// =============================================================================\n\nexport const GET_CODE_CONTEXT: McpToolContract = {\n name: \"get_code_context\",\n description:\n \"Returns code-grounded beliefs, contracts, migration states, and failed attempts anchored to a specific file or function path. \" +\n \"Like `git log -- <path>` — filters the knowledge graph to nodes anchored to a file path via metadata.codeAnchors. \" +\n \"Results are separated by coding belief type: decisions, contracts, migrations, patterns, deprecations, and failures.\",\n parameters: {\n filePath: {\n type: \"string\",\n description:\n \"File path to search for (partial matches supported, e.g. 'epistemicBeliefs.ts' or 'convex/epistemicBeliefs.ts')\",\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope (optional, uses default if not provided)\",\n },\n includeFailures: {\n type: \"boolean\",\n description: \"Whether to include failed attempt evidence (default: true)\",\n },\n },\n required: [\"filePath\"],\n response: {\n description: \"Code-anchored beliefs and evidence grouped by type\",\n fields: {\n filePath: \"string — queried path\",\n decisions: \"array — implementation_decision beliefs\",\n contracts: \"array — interface_contract beliefs\",\n migrations: \"array — migration_state beliefs\",\n patterns: \"array — code_pattern beliefs\",\n deprecations: \"array — deprecation_notice beliefs\",\n failures: \"array — failed attempt evidence\",\n totalMatched: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const GET_CHANGE_HISTORY: McpToolContract = {\n name: \"get_change_history\",\n description:\n \"Returns recent changes and decisions for a file path — the 'why' behind recent code changes. \" +\n \"Like `git log --follow <path>` — shows the evolution of understanding anchored to a specific file. \" +\n \"Searches beliefs and evidence updated recently, sorted by most recent first.\",\n parameters: {\n filePath: { type: \"string\", description: \"File path to get history for\" },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n limit: { type: \"number\", description: \"Max results (default: 10)\" },\n },\n required: [\"filePath\"],\n response: {\n description: \"Recent code-anchored changes sorted by recency\",\n fields: {\n filePath: \"string — queried path\",\n changes:\n \"array — nodes with coding view (nodeId, beliefType, canonicalText, codeAnchors, timestamps)\",\n totalFound: \"number\",\n showing: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const RECORD_ATTEMPT: McpToolContract = {\n name: \"record_attempt\",\n description:\n \"Log a failed approach as evidence linked to a belief. \" +\n \"Like `git stash` for failed experiments — preserves what was tried so the same mistake isn't repeated. \" +\n \"Creates evidence with metadata.failedApproach=true and metadata.codeAnchors. \" +\n \"The key anti-repetition mechanism: future agents check the failure log before trying new approaches.\",\n parameters: {\n description: {\n type: \"string\",\n description: \"What was attempted and why it failed\",\n },\n filePaths: {\n type: \"array\",\n description: \"File paths involved in the attempt\",\n },\n errorMessage: {\n type: \"string\",\n description: \"Error message or failure reason\",\n },\n linkedBeliefId: {\n type: \"string\",\n description:\n \"Belief this attempt was targeting (creates -0.5 weight edge)\",\n },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n },\n required: [\"description\"],\n response: {\n description: \"The recorded failed attempt evidence node\",\n fields: {\n nodeId: \"string — evidence node ID\",\n edgeId: \"string | null — edge to linked belief\",\n recorded: \"boolean — true\",\n filePaths: \"array — anchored file paths\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\nexport const GET_FAILURE_LOG: McpToolContract = {\n name: \"get_failure_log\",\n description:\n \"Search past failed attempts matching a task description. \" +\n \"Like `git log --grep='FAILED'` — finds evidence of what was tried before and didn't work. \" +\n \"Before trying a new approach, check this log to avoid repeating the same mistake. \" +\n \"Filters to evidence with metadata.failedApproach=true, sorted by recency.\",\n parameters: {\n query: {\n type: \"string\",\n description: \"Description of the task or approach to search for\",\n },\n filePath: {\n type: \"string\",\n description: \"Optional file path to narrow results\",\n },\n topicId: { type: \"string\", description: \"Topic scope (optional)\" },\n limit: { type: \"number\", description: \"Max results (default: 5)\" },\n },\n required: [\"query\"],\n response: {\n description: \"Failed attempts matching the query\",\n fields: {\n query: \"string — search query\",\n failures: \"array — failed attempt evidence with coding view\",\n totalFound: \"number\",\n showing: \"number\",\n },\n },\n ownerModule: \"coding-intelligence\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// GRAPH SELF-INTELLIGENCE TOOLS\n// =============================================================================\n\nexport const GET_TOPIC_COVERAGE: McpToolContract = {\n name: \"get_topic_coverage\",\n description:\n \"Returns per-topic belief/question/evidence counts across the topic tree. \" +\n \"Like `git diff --stat` for the knowledge graph — shows coverage density \" +\n \"and empty spots across the topic hierarchy. Use to identify which topics \" +\n \"need more beliefs, which lack questions, and overall graph health.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID (optional, uses default if not provided)\",\n },\n includeDescendants: {\n type: \"boolean\",\n description:\n \"Whether to include descendant topics in the coverage report (default: true)\",\n },\n maxDepth: {\n type: \"number\",\n description:\n \"Maximum descendant topic depth for neighborhood expansion. \" +\n \"Defaults to 4 for root/theme scopes, 2 for deeper scopes.\",\n },\n },\n required: [],\n response: {\n description: \"Per-topic coverage metrics and aggregate summary\",\n fields: {\n topics:\n \"array — per-topic { topicId, name, type, depth, beliefs, questions, evidence, coverage }\",\n summary:\n \"object — { totalTopics, coveredTopics, emptyTopics, coveragePercent, totalBeliefs, totalQuestions, totalEvidence }\",\n scopeTopicId: \"string — the root topic used for scoping\",\n },\n },\n ownerModule: \"coverage-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const GET_GRAPH_GAPS: McpToolContract = {\n name: \"get_graph_gaps\",\n description:\n \"Identify structural gaps in the knowledge graph — empty topics, beliefs \" +\n \"without questions, beliefs without evidence, and orphan edges. \" +\n \"Like `git fsck` for reasoning coverage — surfaces holes that weaken \" +\n \"the epistemic foundation. Returns prioritized gap list.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID (optional, uses default if not provided)\",\n },\n maxDepth: {\n type: \"number\",\n description:\n \"Maximum descendant topic depth for neighborhood expansion (default: 4)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Prioritized list of graph gaps by category\",\n fields: {\n emptyTopics:\n \"array — topics with zero beliefs { topicId, name, type, depth }\",\n beliefsWithoutQuestions:\n \"array — beliefs that have no testing questions { nodeId, canonicalText, topicId }\",\n beliefsWithoutEvidence:\n \"array — beliefs that have no supporting evidence { nodeId, canonicalText, topicId }\",\n summary:\n \"object — { totalGaps, emptyTopicCount, untestedBeliefCount, unsupportedBeliefCount }\",\n scopeTopicId: \"string — the root topic used for scoping\",\n },\n },\n ownerModule: \"coverage-intelligence\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\n// =============================================================================\n// SESSION INITIALIZATION\n// =============================================================================\n\n// =============================================================================\n// WRITE POLICY (S2-13K Graph Compounding)\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const MANAGE_WRITE_POLICY: McpToolContract = {\n name: \"manage_write_policy\",\n description:\n \"Manage write policies for MCP mutation tools. \" +\n \"Like `git config` for write permissions — sets per-topic or global \" +\n \"policies that control which roles can mutate the graph.\",\n parameters: {\n action: {\n type: \"string\",\n description:\n \"Action to perform: 'get' (read policies) or 'set' (upsert a policy)\",\n enum: [\"get\", \"set\"],\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope for the policy. Omit for global policies.\",\n },\n role: {\n type: \"string\",\n description:\n \"Role to set policy for (required for 'set'). E.g. 'agent:internal' or a Permit role key such as 'workspace_admin'.\",\n },\n permission: {\n type: \"string\",\n description: \"Permission level (required for 'set').\",\n enum: [\"allow\", \"deny\", \"read_only\"],\n },\n maxWritesPerSession: {\n type: \"number\",\n description: \"Optional per-session write limit for this role+scope.\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this policy is being set (audit trail).\",\n },\n },\n required: [\"action\"],\n response: {\n description: \"Policy operation result\",\n fields: {\n action: \"string — get | set\",\n topicId: \"string|null — topic scope or null for global\",\n policies: \"array — (for get) list of matching policies\",\n role: \"string — (for set) role that was updated\",\n permission: \"string — (for set) new permission level\",\n maxWritesPerSession: \"number|null — (for set) session write cap\",\n },\n },\n ownerModule: \"access-control\",\n ontologyPrimitive: \"policy\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// ONTOLOGY TOOLS (ontology lifecycle, version management)\n// =============================================================================\n\nexport const LIST_ONTOLOGIES: McpToolContract = {\n name: \"list_ontologies\",\n description:\n \"List ontology definitions with optional filters. \" +\n \"Like `git remote -v` for ontologies — shows all registered ontology definitions \" +\n \"with their tier, status, and tenant scope.\",\n parameters: {\n tenantId: {\n type: \"string\",\n description: \"Filter by tenant ID. Omit for platform-level ontologies.\",\n },\n tier: {\n type: \"string\",\n description: \"Filter by tier\",\n enum: [\"platform\", \"pack\", \"tenant\"],\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\"draft\", \"active\", \"deprecated\", \"archived\"],\n },\n },\n required: [],\n response: {\n description: \"Array of ontology definitions\",\n fields: {\n ontologies:\n \"array — ontology definitions with id, ontologyKey, name, tier, status\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const GET_ONTOLOGY: McpToolContract = {\n name: \"get_ontology\",\n description:\n \"Get a single ontology definition by ID or ontologyKey. \" +\n \"Like `git show` for an ontology — returns the definition metadata plus the latest \" +\n \"published version with entity types and edge types.\",\n parameters: {\n id: {\n type: \"string\",\n description: \"Ontology definition ID (Convex document ID)\",\n },\n ontologyKey: {\n type: \"string\",\n description:\n \"Ontology key (e.g., 'investment-ontology'). Alternative to id.\",\n },\n tenantId: {\n type: \"string\",\n description: \"Tenant scope for key lookup. Omit for platform-level.\",\n },\n },\n required: [\"id\"],\n response: {\n description: \"Ontology definition with latest published version\",\n fields: {\n id: \"string — definition ID\",\n ontologyKey: \"string — unique key\",\n name: \"string — display name\",\n publishedVersion:\n \"object|null — latest published version with entityTypes and edgeTypes\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const APPLY_ONTOLOGY: McpToolContract = {\n name: \"apply_ontology\",\n description:\n \"Bind an ontology definition directly to a topic. \" +\n \"Like `git checkout` for a domain vocabulary — applies an ontology to a topic so the topic \" +\n \"and its descendants inherit the configured entity and edge schema.\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Canonical ontology identifier to bind\",\n },\n topicId: {\n type: \"string\",\n description: \"Canonical topic identifier to receive the binding\",\n },\n },\n required: [\"ontologyId\", \"topicId\"],\n response: {\n description: \"Ontology binding summary\",\n fields: {\n applied: \"boolean — true when the binding was written\",\n source: \"string — always 'direct' for an explicit bind\",\n ontologyId: \"string — canonical ontology ID\",\n ontologyKey: \"string — ontology key\",\n topicId: \"string — canonical topic ID\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const MATCH_ENTITY_TYPE: McpToolContract = {\n name: \"match_entity_type\",\n description:\n \"Classify free text against the effective ontology vocabulary. \" +\n \"Like `git grep` for ontology types — ranks the most likely entity types for the supplied text \" +\n \"using the topic-bound or explicitly selected ontology.\",\n parameters: {\n text: {\n type: \"string\",\n description: \"Free text to classify against ontology entity types\",\n },\n topicId: {\n type: \"string\",\n description:\n \"Canonical topic ID used to resolve the effective ontology when ontologyId is omitted\",\n },\n ontologyId: {\n type: \"string\",\n description:\n \"Optional ontology definition ID to match against instead of the topic-bound ontology\",\n },\n minScore: {\n type: \"number\",\n description: \"Optional lower similarity bound for returned matches\",\n },\n limit: {\n type: \"number\",\n description: \"Optional maximum number of ranked matches to return\",\n },\n },\n required: [\"text\", \"ontologyId\"],\n response: {\n description: \"Ranked ontology entity type matches\",\n fields: {\n matches:\n \"array — ranked entity type matches with score, entityType, label, and optional description\",\n ontologyId: \"string|null — ontology used for matching\",\n topicId: \"string|null — topic scope used for ontology resolution\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const CREATE_ONTOLOGY: McpToolContract = {\n name: \"create_ontology\",\n description:\n \"Create a new ontology definition. \" +\n \"Like `git init` for a domain vocabulary — creates a named, versioned container for \" +\n \"entity types and edge types. Starts in 'draft' status.\",\n parameters: {\n ontologyKey: {\n type: \"string\",\n description:\n \"Unique key (lowercase, hyphens, e.g., 'investment-ontology')\",\n },\n name: { type: \"string\", description: \"Human-readable name\" },\n description: { type: \"string\", description: \"What this ontology covers\" },\n tenantId: {\n type: \"string\",\n description: \"Tenant scope. Omit for platform-level.\",\n },\n tier: {\n type: \"string\",\n description: \"Ontology tier\",\n enum: [\"platform\", \"pack\", \"tenant\"],\n },\n parentOntologyId: {\n type: \"string\",\n description: \"Parent ontology ID for layered composition\",\n },\n },\n required: [\"ontologyKey\", \"name\", \"tier\"],\n response: {\n description: \"Created ontology definition\",\n fields: {\n id: \"string — new definition ID\",\n ontologyKey: \"string — normalized key\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const UPDATE_ONTOLOGY: McpToolContract = {\n name: \"update_ontology\",\n description:\n \"Update an ontology definition's metadata (name, description, status). \" +\n \"Like `git config` for an ontology — updates mutable fields on the definition. \" +\n \"Only allowed while the ontology is in draft or active status.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology definition ID\" },\n name: { type: \"string\", description: \"New display name\" },\n description: { type: \"string\", description: \"New description\" },\n status: {\n type: \"string\",\n description: \"New status\",\n enum: [\"draft\", \"active\", \"deprecated\"],\n },\n },\n required: [\"id\"],\n response: {\n description: \"Update confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_ONTOLOGY: McpToolContract = {\n name: \"archive_ontology\",\n description:\n \"Archive an ontology definition. \" +\n \"Like `git rm` for an ontology — soft-deletes the definition. \" +\n \"Archived ontologies are preserved in history but no longer active.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology definition ID to archive\" },\n },\n required: [\"id\"],\n response: {\n description: \"Archive confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const CREATE_ONTOLOGY_VERSION: McpToolContract = {\n name: \"create_ontology_version\",\n description:\n \"Create a new version snapshot for an ontology definition. \" +\n \"Like `git commit` for ontology content — captures entity types and edge types \" +\n \"in a versioned snapshot. Starts in 'draft' status. Publish to freeze.\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Parent ontology definition ID\",\n },\n version: {\n type: \"string\",\n description: \"Semantic version string (X.Y.Z format)\",\n },\n entityTypes: {\n type: \"array\",\n description:\n \"Array of entity type definitions: [{ value, label, description?, schema?, subtypes? }]\",\n },\n edgeTypes: {\n type: \"array\",\n description:\n \"Array of edge type definitions: [{ value, label, description?, sourceTypes?, targetTypes?, constraintSeverity? }]\",\n },\n releaseNotes: {\n type: \"string\",\n description: \"Optional release notes for this version\",\n },\n },\n required: [\"ontologyId\", \"version\", \"entityTypes\", \"edgeTypes\"],\n response: {\n description: \"Created version\",\n fields: {\n id: \"string — new version ID\",\n version: \"string — version string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const PUBLISH_ONTOLOGY_VERSION: McpToolContract = {\n name: \"publish_ontology_version\",\n description:\n \"Publish a draft ontology version — freezes it permanently. \" +\n \"Like `git tag` for an ontology release — the version becomes immutable after publish. \" +\n \"If the parent definition is still in 'draft', promotes it to 'active'.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology version ID to publish\" },\n },\n required: [\"id\"],\n response: {\n description: \"Publish confirmation\",\n fields: {\n success: \"boolean\",\n publishedAt: \"number — timestamp\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"showcase\",\n};\n\nexport const DEPRECATE_ONTOLOGY_VERSION: McpToolContract = {\n name: \"deprecate_ontology_version\",\n description:\n \"Deprecate a published ontology version. \" +\n \"Like `git tag -d` for an ontology release — marks the version as deprecated. \" +\n \"Only published versions can be deprecated.\",\n parameters: {\n id: { type: \"string\", description: \"Ontology version ID to deprecate\" },\n },\n required: [\"id\"],\n response: {\n description: \"Deprecation confirmation\",\n fields: { success: \"boolean\" },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const RESOLVE_EFFECTIVE_ONTOLOGY: McpToolContract = {\n name: \"resolve_effective_ontology\",\n description:\n \"Resolve the effective ontology by composing the parent chain. \" +\n \"Like `git merge --squash` for ontology layers — walks parentOntologyId chain \" +\n \"(max depth 3) and merges entity/edge types additively from root (platform) to leaf (tenant).\",\n parameters: {\n ontologyId: {\n type: \"string\",\n description: \"Ontology definition ID to resolve from\",\n },\n },\n required: [\"ontologyId\"],\n response: {\n description: \"Merged ontology with composed entity and edge types\",\n fields: {\n entityTypes: \"array — merged entity types from all layers\",\n edgeTypes: \"array — merged edge types from all layers\",\n layers: \"array — ontology keys in composition order\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// FUNCTION SURFACE WORKFLOW TOOLS\n// =============================================================================\n","import type { McpToolContract } from \"./tool-contracts.types\";\n\nexport const RECORD_SCOPE_LEARNING: McpToolContract = {\n name: \"record_scope_learning\",\n description:\n \"Write a structured learning entry into the epistemic spine. \" +\n \"Like `git commit` for scope learnings — records evidence, can attach to a belief, and can open a follow-up belief/question in one atomic workflow.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope ID\" },\n summary: { type: \"string\", description: \"Atomic learning statement\" },\n title: {\n type: \"string\",\n description: \"Optional evidence title, such as a commit, doc, or issue.\",\n },\n body: {\n type: \"string\",\n description:\n \"Optional rich evidence body. If omitted, body is synthesized from summary and touched paths.\",\n },\n contentType: {\n type: \"string\",\n description: \"Optional evidence body format, such as markdown or text.\",\n },\n sourceKind: {\n type: \"string\",\n description: \"Source type for the learning event\",\n enum: [\"commit\", \"merge\", \"doc\", \"issue\", \"manual\"],\n },\n sourceRef: {\n type: \"string\",\n description: \"Optional source reference, such as SHA, PR number, or URL slug.\",\n },\n sourceUrl: { type: \"string\", description: \"Optional canonical source URL\" },\n touchedPaths: {\n type: \"array\",\n description: \"Optional touched file paths for retrieval hints\",\n },\n tags: { type: \"array\", description: \"Optional tags\" },\n linkedBeliefNodeId: {\n type: \"string\",\n description: \"Optional belief to attach evidence to\",\n },\n evidenceRelation: {\n type: \"string\",\n description: \"Relation to linked belief\",\n enum: [\"supports\", \"contradicts\"],\n },\n confidence: { type: \"number\", description: \"Optional confidence in [0,1]\" },\n createQuestionText: {\n type: \"string\",\n description: \"Optional follow-up question text\",\n },\n createBeliefText: {\n type: \"string\",\n description: \"Optional new belief text\",\n },\n beliefType: {\n type: \"string\",\n description: \"Optional belief type for createBeliefText\",\n },\n },\n required: [\"summary\"],\n response: {\n description: \"Created learning artifacts\",\n fields: {\n topicId: \"string — resolved topic ID\",\n evidenceNodeId: \"string\",\n linkedBeliefNodeId: \"string | null\",\n createdQuestionId: \"string | null\",\n createdBeliefId: \"string | null\",\n sourceUrl: \"string\",\n createdAt: \"number\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const PIPELINE_SNAPSHOT: McpToolContract = {\n name: \"pipeline_snapshot\",\n description:\n \"Summarize a topic's worktree pipeline in campaign-and-lane form. \" +\n \"Like `git status --short` for Lucern execution — returns the hinge worktree, next planned wave, blockers, critical path, superseded work, and graph hygiene debt.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope ID\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Human-oriented pipeline summary for a single topic scope\",\n fields: {\n topicId: \"string\",\n topicName: \"string\",\n currentCampaign: \"number | null\",\n nextCampaign: \"number | null\",\n activeWorktrees: \"array — current hinge worktree(s)\",\n nextWave: \"array — worktrees in the next planned campaign\",\n readyNow: \"array — planning worktrees with dependencies completed\",\n blockedBy: \"array — grouped blockers\",\n criticalPath: \"array — ordered incomplete worktree chain\",\n campaigns: \"array — incomplete worktrees grouped by campaign\",\n superseded: \"array — worktrees marked superseded or not for activation\",\n graphHygiene: \"object — untargeted and taskless worktree debt\",\n riskQuestions: \"array — critical/high open questions\",\n narrative: \"array — concise natural-language summary lines\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const DISCOVER: McpToolContract = {\n name: \"discover\",\n description:\n \"Navigate the topic tree to find where knowledge lives. \" +\n \"Like `git log --all --grep` — searches across the graph using bottom-up content matching plus top-down structural scoring.\",\n parameters: {\n query: {\n type: \"string\",\n description: \"What to look for across the topic tree\",\n },\n topK: {\n type: \"number\",\n description: \"How many matching topics to return (default: 3, max: 10)\",\n },\n includeNeighborhood: {\n type: \"boolean\",\n description:\n \"Whether to include beliefs/questions/evidence for matched topics\",\n },\n },\n required: [\"query\"],\n response: {\n description: \"Ranked topic matches with optional neighborhood content\",\n fields: {\n query: \"string — original query\",\n matchedTopics: \"array — ranked topics with scores and paths\",\n neighborhoods: \"array — beliefs, questions, evidence for each match\",\n totalTopicsScored: \"number\",\n topicTreeSize: \"number\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n deprecated: \"Deprecated: use lucern.context.compile() with topicId\",\n};\n\nexport const ANALYZE_TOPIC_DENSITY: McpToolContract = {\n name: \"analyze_topic_density\",\n description:\n \"Analyze topic belief density and identify natural conceptual clusters. \" +\n \"Like `git diff --stat` for topic organization — detects when a topic has accumulated too many beliefs and suggests subtopic decomposition.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic ID to analyze\" },\n threshold: {\n type: \"number\",\n description: \"Belief count threshold for density warning\",\n },\n minModularity: {\n type: \"number\",\n description: \"Minimum modularity score for suggesting decomposition\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Density analysis with cluster suggestions\",\n fields: {\n topicId: \"string\",\n topicName: \"string\",\n beliefCount: \"number\",\n edgeCount: \"number\",\n threshold: \"number\",\n isDense: \"boolean\",\n modularity: \"number\",\n clusterCount: \"number\",\n clusters: \"array — suggested belief clusters\",\n recommendation: \"string\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const APPLY_AUTO_BRANCHING: McpToolContract = {\n name: \"apply_auto_branching\",\n description:\n \"Execute topic decomposition by creating subtopics and reassigning beliefs. \" +\n \"Like `git subtree split` — splits a dense topic into focused subtopics while preserving belief identity and edges.\",\n parameters: {\n topicId: { type: \"string\", description: \"Parent topic ID to decompose\" },\n clusters: {\n type: \"array\",\n description:\n \"Cluster definitions from analyze_topic_density, each with name and beliefIds\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"Preview changes without applying them\",\n },\n },\n required: [\"topicId\", \"clusters\"],\n response: {\n description: \"Results of the auto-branching operation\",\n fields: {\n success: \"boolean\",\n parentTopicId: \"string\",\n createdSubtopics: \"array\",\n totalReassigned: \"number\",\n totalSkipped: \"number\",\n dryRun: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"graph\",\n tier: \"showcase\",\n};\n\nexport const SEED_BELIEF_LATTICE: McpToolContract = {\n name: \"seed_belief_lattice\",\n description:\n \"Seed belief lattice coverage for a topic based on its resolved ontology. \" +\n \"Like `git init` for ontology coverage — creates or previews seed beliefs for entity types that need a baseline anchor.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID. Lattice seeding must target a child topic.\",\n },\n dryRun: {\n type: \"boolean\",\n description: \"Preview seeds without creating them\",\n },\n },\n required: [],\n response: {\n description: \"Lattice seed results with per-entity-type status\",\n fields: {\n topicId: \"string\",\n ontologyResolved: \"boolean\",\n ontologyKey: \"string | null\",\n ontologyVersion: \"string | null\",\n entityTypeCount: \"number\",\n seeds: \"array — per-entity-type seed status\",\n summary: \"object — created/existing/scored/total counts\",\n dryRun: \"boolean\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GET_LATTICE_COVERAGE: McpToolContract = {\n name: \"get_lattice_coverage\",\n description:\n \"Report belief lattice coverage for a topic. \" +\n \"Like `git fsck` for ontology coverage — identifies anchored, hollow, and missing entity-type belief coverage.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Topic scope ID to check lattice coverage for\",\n },\n },\n required: [],\n response: {\n description: \"Per-entity-type coverage with overall score\",\n fields: {\n topicId: \"string\",\n ontologyKey: \"string | null\",\n ontologyVersion: \"string | null\",\n entityTypes: \"array — per-entity-type coverage rows\",\n summary: \"object — total/anchored/hollow/missing/coverageScore\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const DISCOVER_ENTITY_CONNECTIONS: McpToolContract = {\n name: \"discover_entity_connections\",\n description:\n \"Find existing entities that should be connected to a belief/question/evidence node. \" +\n \"Like `git log --diff-filter=M` for missing entity connections — scans entities in scope and suggests bridge edge types.\",\n parameters: {\n nodeId: {\n type: \"string\",\n description: \"Epistemic node ID to find entity connections for\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope override\",\n },\n minScore: {\n type: \"number\",\n description: \"Minimum match score threshold\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum candidates to return\",\n },\n },\n required: [\"nodeId\"],\n response: {\n description: \"Ranked entity connection candidates\",\n fields: {\n nodeId: \"string\",\n candidateCount: \"number\",\n candidates: \"array — suggested entity bridge candidates\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const TRIGGER_BELIEF_REVIEW: McpToolContract = {\n name: \"trigger_belief_review\",\n description:\n \"Flag beliefs for review after an entity changes. \" +\n \"Like `git bisect` for stale beliefs — traverses bridge edges from the changed entity and creates review questions for stale connected beliefs.\",\n parameters: {\n entityNodeId: {\n type: \"string\",\n description: \"The entity node that changed\",\n },\n changeDescription: {\n type: \"string\",\n description: \"What changed about the entity\",\n },\n maxQuestions: {\n type: \"number\",\n description: \"Maximum review questions to create\",\n },\n },\n required: [\"entityNodeId\"],\n response: {\n description: \"Affected beliefs and created review questions\",\n fields: {\n entityNodeId: \"string\",\n entityTitle: \"string\",\n entityType: \"string\",\n changeDescription: \"string\",\n affectedBeliefCount: \"number\",\n questionsCreated: \"number\",\n reviewedBeliefs: \"array\",\n questions: \"array\",\n },\n },\n ownerModule: \"reasoning-kernel\",\n ontologyPrimitive: \"ontology\",\n tier: \"workhorse\",\n};\n\nexport const EVALUATE_CONTRACT: McpToolContract = {\n name: \"evaluate_contract\",\n description:\n \"Run a contract evaluation and record the append-only result. \" +\n \"Like `git test` for a belief binding — executes the evaluator, logs the result, and applies any allowed SL scoring action.\",\n parameters: {\n contractId: { type: \"string\", description: \"Which contract to evaluate\" },\n trigger: {\n type: \"string\",\n description: \"What caused this evaluation\",\n },\n },\n required: [\"contractId\"],\n response: {\n description: \"The most recent contract evaluation result\",\n fields: {\n evaluationId: \"string\",\n result: \"string\",\n status: \"string\",\n confidenceBefore: \"number\",\n confidenceAfter: \"number\",\n rationale: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const GET_CONTRACT_STATUS: McpToolContract = {\n name: \"get_contract_status\",\n description:\n \"Inspect epistemic contracts and their latest evaluations. \" +\n \"Like `git status` for verification bindings — returns the contract rows plus the freshest recorded evaluation for each one.\",\n parameters: {\n beliefNodeId: {\n type: \"string\",\n description: \"Return all contracts attached to a specific belief\",\n },\n contractId: {\n type: \"string\",\n description: \"Return one specific contract by contractId\",\n },\n status: {\n type: \"string\",\n description: \"Optional status filter applied after lookup\",\n enum: [\"active\", \"satisfied\", \"violated\", \"expired\", \"suspended\", \"archived\"],\n },\n },\n required: [],\n response: {\n description: \"Matching contract rows with latest evaluation context\",\n fields: {\n contracts: \"array — matching contracts with latestEvaluation attached\",\n count: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const REGISTER_SESSION: McpToolContract = {\n name: \"register_session\",\n description:\n \"Announce this agent session's presence to other parallel sessions. \" +\n \"Like `git init` for coordination — creates a session record so other agents can discover you.\",\n parameters: {\n sessionName: { type: \"string\", description: \"Human-readable session label\" },\n agentType: { type: \"string\", description: \"Agent type\" },\n topicId: { type: \"string\", description: \"Current Lucern topic scope ID\" },\n worktreeId: { type: \"string\", description: \"Active Lucern worktree ID\" },\n gitBranch: { type: \"string\", description: \"Current git branch name\" },\n },\n required: [],\n response: {\n description: \"Session registration result\",\n fields: {\n sessionId: \"string\",\n status: \"string — active\",\n isNew: \"boolean\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const HEARTBEAT_SESSION: McpToolContract = {\n name: \"heartbeat_session\",\n description:\n \"Update this session's heartbeat and optional status fields. \" +\n \"Like `git status` — signals liveness and updates what you are working on.\",\n parameters: {\n topicId: { type: \"string\", description: \"Updated topic scope\" },\n worktreeId: { type: \"string\", description: \"Updated worktree ID\" },\n gitBranch: { type: \"string\", description: \"Updated git branch\" },\n status: {\n type: \"string\",\n description: \"Session status update\",\n enum: [\"active\", \"idle\"],\n },\n },\n required: [],\n response: {\n description: \"Heartbeat result\",\n fields: {\n success: \"boolean\",\n message: \"string\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const END_SESSION: McpToolContract = {\n name: \"end_session\",\n description:\n \"Gracefully end this agent session. \" +\n \"Like `git stash` — marks the session as ended so other agents know you are gone.\",\n parameters: {},\n required: [],\n response: {\n description: \"Session end result\",\n fields: {\n success: \"boolean\",\n message: \"string\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const LIST_ACTIVE_SESSIONS: McpToolContract = {\n name: \"list_active_sessions\",\n description:\n \"See who else is online with active agent sessions, scope, branch, and file claims. \" +\n \"Like `git branch --list` for live agents — shows active and idle sessions before editing.\",\n parameters: {\n includeIdle: {\n type: \"boolean\",\n description: \"Include idle sessions\",\n },\n },\n required: [],\n response: {\n description: \"List of active/idle agent sessions\",\n fields: {\n sessions: \"array — active session records\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const SEND_AGENT_MESSAGE: McpToolContract = {\n name: \"send_agent_message\",\n description:\n \"Send a directed message to a specific agent session. \" +\n \"Like `git notes` — leaves a coordination note for a specific peer.\",\n parameters: {\n toSessionId: { type: \"string\", description: \"Target session ID\" },\n content: { type: \"string\", description: \"Message text\" },\n messageType: {\n type: \"string\",\n description: \"Message intent\",\n enum: [\"note\", \"question\", \"answer\", \"alert\", \"handoff\"],\n },\n relatedBeliefId: {\n type: \"string\",\n description: \"Optional related belief node ID\",\n },\n relatedWorktreeId: {\n type: \"string\",\n description: \"Optional related worktree ID\",\n },\n },\n required: [\"toSessionId\", \"content\"],\n response: {\n description: \"Message delivery result\",\n fields: { messageId: \"string\" },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const BROADCAST_MESSAGE: McpToolContract = {\n name: \"broadcast_message\",\n description:\n \"Send a message to all active agent sessions. \" +\n \"Like `git tag` — marks an important event visible to everyone.\",\n parameters: {\n content: { type: \"string\", description: \"Broadcast message text\" },\n messageType: {\n type: \"string\",\n description: \"Message intent\",\n enum: [\"note\", \"alert\", \"handoff\"],\n },\n relatedBeliefId: {\n type: \"string\",\n description: \"Optional related belief node ID\",\n },\n relatedWorktreeId: {\n type: \"string\",\n description: \"Optional related worktree ID\",\n },\n },\n required: [\"content\"],\n response: {\n description: \"Broadcast result\",\n fields: { messageId: \"string\" },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GET_AGENT_INBOX: McpToolContract = {\n name: \"get_agent_inbox\",\n description:\n \"Check unread messages addressed to this session. \" +\n \"Like `git log --incoming` — shows direct and broadcast messages from other agents.\",\n parameters: {\n limit: { type: \"number\", description: \"Max messages to return\" },\n markAsRead: {\n type: \"boolean\",\n description: \"Mark returned messages as read\",\n },\n },\n required: [],\n response: {\n description: \"Inbox messages\",\n fields: {\n messages: \"array — unread direct and broadcast messages\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const CLAIM_FILES: McpToolContract = {\n name: \"claim_files\",\n description:\n \"Declare which files this session is actively editing. \" +\n \"Like `git add` for coordination — tells other sessions what you are touching and returns advisory conflicts.\",\n parameters: {\n files: {\n type: \"array\",\n description: \"File paths this session is actively editing\",\n },\n },\n required: [\"files\"],\n response: {\n description: \"File claim result with conflict detection\",\n fields: {\n success: \"boolean\",\n conflicts: \"array — conflicting file claims\",\n },\n },\n ownerModule: \"coordination\",\n ontologyPrimitive: \"graph\",\n tier: \"workhorse\",\n internal: true,\n};\n\nexport const GENERATE_SESSION_HANDOFF: McpToolContract = {\n name: \"generate_session_handoff\",\n description:\n \"Generate a complete, zero-context handoff message for a new coding session. \" +\n \"Like `git format-patch` — produces a self-contained instruction set that bootstraps a fresh Lucern worktree session.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The Lucern worktree ID to generate handoff instructions for\",\n },\n gitWorktreePath: {\n type: \"string\",\n description: \"Optional existing git worktree path\",\n },\n gitBranchName: {\n type: \"string\",\n description: \"Optional branch name for the session\",\n },\n additionalContext: {\n type: \"string\",\n description: \"Optional extra context to include in the handoff\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"A complete handoff message ready for a new coding session\",\n fields: {\n handoffMessage: \"string\",\n worktreeId: \"string\",\n worktreeName: \"string\",\n trackBoundary: \"object\",\n needsActivation: \"boolean\",\n needsGitSetup: \"string — create | fast-forward | ready\",\n },\n },\n ownerModule: \"bootstrap\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n internal: true,\n};\n\nexport const BEGIN_BUILD_SESSION: McpToolContract = {\n name: \"begin_build_session\",\n description:\n \"Bootstrap a coding build session for a Lucern worktree. \" +\n \"Like `git worktree add` plus `git status` — returns the compact context packet an agent needs before editing.\",\n parameters: {\n worktreeId: {\n type: \"string\",\n description: \"The Lucern worktree ID to bootstrap.\",\n },\n branch: {\n type: \"string\",\n description:\n \"Optional git branch name. Auto-generated from the worktree name when omitted.\",\n },\n branchBase: {\n type: \"string\",\n description: 'Base branch for the feature branch. Default: \"staging\".',\n },\n prBase: {\n type: \"string\",\n description: 'Target branch for the PR. Default: \"staging\".',\n },\n sessionMode: {\n type: \"string\",\n description:\n 'Session mode: \"async\" for Codex/headless or \"interactive\" for live sessions.',\n enum: [\"async\", \"interactive\"],\n },\n activateIfPlanning: {\n type: \"boolean\",\n description:\n \"When true, automatically activate a planning worktree during bootstrap.\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description:\n \"A compact build-session packet with worktree metadata, graph anchors, questions, dependencies, and git defaults.\",\n fields: {\n topicId: \"string — canonical topic scope\",\n topicName: \"string — human-readable topic name\",\n worktreeId: \"string — worktree ID\",\n worktreeName: \"string — human-readable worktree name\",\n branch: \"string — git branch name\",\n branchBase: \"string — base branch\",\n prBase: \"string — PR target branch\",\n campaign: \"number | null — top-level pipeline campaign\",\n lane: \"string — campaign lane\",\n gate: \"string — exit gate\",\n hypothesis: \"string — worktree hypothesis\",\n focus: \"string — session focus\",\n status: \"string — worktree status after optional activation\",\n sessionMode: \"string — async | interactive\",\n targetBeliefIds: \"array — scoped belief IDs\",\n targetQuestionIds: \"array — scoped question IDs\",\n taskIds: \"array — assigned task IDs for this worktree\",\n incompleteTaskIds:\n \"array — assigned task IDs that still require done/deferred/blocked proof\",\n tasks:\n \"array — assigned task packet with id, title, status, priority, links, and summaries\",\n topBeliefs: \"array — highest-confidence scoped beliefs\",\n openQuestions: \"array — open scoped questions\",\n resolvedDecisions: \"array — answered questions summarized for the session\",\n dependencies: \"array — upstream worktrees\",\n unblocks: \"array — downstream worktrees\",\n mergeOrderNotes: \"string — merge ordering advisory\",\n },\n },\n ownerModule: \"bootstrap\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n internal: true,\n};\n","/**\n * MCP Tool Contract Definitions\n *\n * Stable facade for the split MCP contract catalog. Contract literals live in\n * focused tool-contracts.* modules; this file preserves the public import path\n * and owns the registry plus validation helpers.\n */\n\nimport type { McpToolContract } from \"./tool-contracts.types\";\n\nimport {\n CREATE_BELIEF,\n GET_BELIEF,\n REFINE_BELIEF,\n APPEND_SL_SCORING,\n FORK_BELIEF,\n ARCHIVE_BELIEF,\n CREATE_EPISTEMIC_CONTRACT,\n ADD_EVIDENCE,\n FLAG_CONTRADICTION,\n} from \"./tool-contracts.lifecycle\";\n\nimport {\n ADD_WORKTREE,\n LIST_WORKTREES_BY_BELIEF,\n MERGE,\n PUSH,\n OPEN_PULL_REQUEST,\n} from \"./tool-contracts.worktrees\";\n\nimport {\n QUERY_LINEAGE,\n QUERY_ANCHOR_HISTORY,\n GET_CONFIDENCE_HISTORY,\n GET_AUDIT_TRAIL,\n TRAVERSE_GRAPH,\n GET_GRAPH_NEIGHBORHOOD,\n TRACE_ENTITY_IMPACT,\n SEARCH_BELIEFS,\n FIND_CONTRADICTIONS,\n BISECT_CONFIDENCE,\n CREATE_EDGE,\n UPDATE_EDGE,\n REMOVE_EDGE,\n REMOVE_EDGES_BETWEEN,\n BATCH_CREATE_EDGES,\n} from \"./tool-contracts.graph\";\n\nimport {\n GET_EMBEDDINGS_BY_NODE_IDS,\n LIST_MISSING_EMBEDDINGS,\n QUEUE_EMBEDDING_BACKFILL,\n SEARCH_EMBEDDINGS,\n} from \"./tool-contracts.embeddings\";\n\nimport {\n ANALYZE_GRAPH_IMPACT,\n DETECT_GRAPH_DRIFT,\n EXPAND_GRAPH_NEIGHBORHOOD,\n FIND_RELATED_NODES,\n HYBRID_DISCOVER,\n RESOLVE_TOPIC_SEMANTIC,\n} from \"./tool-contracts.hybrid-discovery\";\n\nimport {\n CREATE_EPISTEMIC_NODE,\n GET_EPISTEMIC_NODE,\n LIST_EPISTEMIC_NODES,\n UPDATE_EPISTEMIC_NODE,\n ARCHIVE_EPISTEMIC_NODE,\n VERIFY_EPISTEMIC_NODE,\n SUPERSEDE_EPISTEMIC_NODE,\n BATCH_CREATE_EPISTEMIC_NODES,\n RECORD_JUDGMENT,\n CREATE_LENS,\n LIST_LENSES,\n APPLY_LENS_TO_TOPIC,\n REMOVE_LENS_FROM_TOPIC,\n} from \"./tool-contracts.nodes-lenses\";\n\nimport { LUCERN_ORIENT } from \"./tool-contracts.context-orientation\";\n\nimport {\n DETECT_CONFIRMATION_BIAS,\n GET_GRAPH_STRUCTURE_ANALYSIS,\n LIST_GRAPH_INTELLIGENCE_QUERIES,\n RUN_GRAPH_INTELLIGENCE_QUERY,\n GET_FALSIFICATION_QUESTIONS,\n SEARCH_EVIDENCE,\n CREATE_EVIDENCE,\n GET_EVIDENCE,\n LIST_EVIDENCE,\n ARCHIVE_EVIDENCE,\n LINK_EVIDENCE,\n LINK_EVIDENCE_TO_BELIEF,\n} from \"./tool-contracts.intelligence-evidence\";\n\nimport {\n CREATE_QUESTION,\n GET_QUESTION,\n REFINE_QUESTION,\n LIST_QUESTIONS,\n ANSWER_QUESTION,\n UPDATE_QUESTION_STATUS,\n ARCHIVE_QUESTION,\n LINK_EVIDENCE_TO_QUESTION,\n CREATE_ANSWER,\n GET_ANSWER,\n GET_HIGH_PRIORITY_QUESTIONS,\n FIND_MISSING_QUESTIONS,\n LIST_BELIEFS,\n GET_WORKTREE,\n LIST_WORKTREES,\n LIST_ALL_WORKTREES,\n LIST_CAMPAIGNS,\n ACTIVATE_WORKTREE,\n UPDATE_WORKTREE_TARGETS,\n UPDATE_WORKTREE_METADATA,\n IDENTITY_WHOAMI,\n RESOLVE_INTERACTIVE_PRINCIPAL,\n COMPILE_CONTEXT,\n} from \"./tool-contracts.questions-listing\";\n\nimport {\n CHECK_PERMISSION,\n COMPILE_CAPABILITY_SLICE,\n FILTER_BY_PERMISSION,\n INGEST_OBSERVATION,\n GET_OBSERVATION_CONTEXT,\n CREATE_TASK,\n COMPLETE_TASK,\n UPDATE_TASK,\n LIST_TASKS,\n CREATE_TOPIC,\n LIST_TOPICS,\n GET_TOPIC,\n UPDATE_TOPIC,\n GET_TOPIC_TREE,\n MATERIALIZE_TOPIC_GRAPH,\n GET_TOPIC_GRAPH_SPINE,\n GET_CODE_CONTEXT,\n GET_CHANGE_HISTORY,\n RECORD_ATTEMPT,\n GET_FAILURE_LOG,\n GET_TOPIC_COVERAGE,\n GET_GRAPH_GAPS,\n} from \"./tool-contracts.policy-observation-task-topic\";\n\nimport {\n MANAGE_WRITE_POLICY,\n LIST_ONTOLOGIES,\n GET_ONTOLOGY,\n APPLY_ONTOLOGY,\n MATCH_ENTITY_TYPE,\n CREATE_ONTOLOGY,\n UPDATE_ONTOLOGY,\n ARCHIVE_ONTOLOGY,\n CREATE_ONTOLOGY_VERSION,\n PUBLISH_ONTOLOGY_VERSION,\n DEPRECATE_ONTOLOGY_VERSION,\n RESOLVE_EFFECTIVE_ONTOLOGY,\n} from \"./tool-contracts.ontology\";\n\nimport {\n RECORD_SCOPE_LEARNING,\n PIPELINE_SNAPSHOT,\n DISCOVER,\n ANALYZE_TOPIC_DENSITY,\n APPLY_AUTO_BRANCHING,\n SEED_BELIEF_LATTICE,\n GET_LATTICE_COVERAGE,\n DISCOVER_ENTITY_CONNECTIONS,\n TRIGGER_BELIEF_REVIEW,\n EVALUATE_CONTRACT,\n GET_CONTRACT_STATUS,\n REGISTER_SESSION,\n HEARTBEAT_SESSION,\n END_SESSION,\n LIST_ACTIVE_SESSIONS,\n SEND_AGENT_MESSAGE,\n BROADCAST_MESSAGE,\n GET_AGENT_INBOX,\n CLAIM_FILES,\n GENERATE_SESSION_HANDOFF,\n BEGIN_BUILD_SESSION,\n} from \"./tool-contracts.pipeline-coordination\";\n\nexport type { McpParameterDef, McpResponseDef, McpToolContract } from \"./tool-contracts.types\";\nexport * from \"./tool-contracts.lifecycle\";\nexport * from \"./tool-contracts.worktrees\";\nexport * from \"./tool-contracts.graph\";\nexport * from \"./tool-contracts.embeddings\";\nexport * from \"./tool-contracts.hybrid-discovery\";\nexport * from \"./tool-contracts.nodes-lenses\";\nexport * from \"./tool-contracts.context-orientation\";\nexport * from \"./tool-contracts.intelligence-evidence\";\nexport * from \"./tool-contracts.questions-listing\";\nexport * from \"./tool-contracts.policy-observation-task-topic\";\nexport * from \"./tool-contracts.ontology\";\nexport * from \"./tool-contracts.pipeline-coordination\";\n\n// =============================================================================\n// TOOL REGISTRY\n// =============================================================================\n\n/** All MCP tool contracts, indexed by name */\nexport const MCP_TOOL_CONTRACTS: Record<string, McpToolContract> = {\n // Belief lifecycle (commit, amend, fork, archive)\n create_belief: CREATE_BELIEF,\n get_belief: GET_BELIEF,\n refine_belief: REFINE_BELIEF,\n append_sl_scoring: APPEND_SL_SCORING,\n fork_belief: FORK_BELIEF,\n archive_belief: ARCHIVE_BELIEF,\n create_epistemic_contract: CREATE_EPISTEMIC_CONTRACT,\n evaluate_contract: EVALUATE_CONTRACT,\n get_contract_status: GET_CONTRACT_STATUS,\n // Evidence (commit)\n create_evidence: CREATE_EVIDENCE,\n get_evidence: GET_EVIDENCE,\n list_evidence: LIST_EVIDENCE,\n archive_evidence: ARCHIVE_EVIDENCE,\n link_evidence: LINK_EVIDENCE,\n add_evidence: ADD_EVIDENCE,\n // Contradictions (merge conflict)\n flag_contradiction: FLAG_CONTRADICTION,\n // Lens lifecycle (workspace-scoped operational frames)\n create_lens: CREATE_LENS,\n list_lenses: LIST_LENSES,\n apply_lens_to_topic: APPLY_LENS_TO_TOPIC,\n remove_lens_from_topic: REMOVE_LENS_FROM_TOPIC,\n // Worktree lifecycle (git worktree add → merge → push → pull request)\n add_worktree: ADD_WORKTREE,\n merge: MERGE,\n push: PUSH,\n open_pull_request: OPEN_PULL_REQUEST,\n // Lineage and audit (log, blame)\n query_lineage: QUERY_LINEAGE,\n query_anchor_history: QUERY_ANCHOR_HISTORY,\n get_confidence_history: GET_CONFIDENCE_HISTORY,\n get_audit_trail: GET_AUDIT_TRAIL,\n // Graph queries (traverse, search, bisect, entity impact)\n traverse_graph: TRAVERSE_GRAPH,\n get_graph_neighborhood: GET_GRAPH_NEIGHBORHOOD,\n trace_entity_impact: TRACE_ENTITY_IMPACT,\n search_beliefs: SEARCH_BELIEFS,\n find_contradictions: FIND_CONTRADICTIONS,\n bisect_confidence: BISECT_CONFIDENCE,\n list_missing_embeddings: LIST_MISSING_EMBEDDINGS,\n search_embeddings: SEARCH_EMBEDDINGS,\n get_embeddings_by_node_ids: GET_EMBEDDINGS_BY_NODE_IDS,\n queue_embedding_backfill: QUEUE_EMBEDDING_BACKFILL,\n hybrid_discover: HYBRID_DISCOVER,\n resolve_topic_semantic: RESOLVE_TOPIC_SEMANTIC,\n expand_graph_neighborhood: EXPAND_GRAPH_NEIGHBORHOOD,\n find_related_nodes: FIND_RELATED_NODES,\n analyze_graph_impact: ANALYZE_GRAPH_IMPACT,\n detect_graph_drift: DETECT_GRAPH_DRIFT,\n // Edges (commit)\n create_edge: CREATE_EDGE,\n update_edge: UPDATE_EDGE,\n remove_edge: REMOVE_EDGE,\n remove_edges_between: REMOVE_EDGES_BETWEEN,\n batch_create_edges: BATCH_CREATE_EDGES,\n // Epistemic node spine (commit/amend/show)\n create_epistemic_node: CREATE_EPISTEMIC_NODE,\n get_epistemic_node: GET_EPISTEMIC_NODE,\n list_epistemic_nodes: LIST_EPISTEMIC_NODES,\n update_epistemic_node: UPDATE_EPISTEMIC_NODE,\n archive_epistemic_node: ARCHIVE_EPISTEMIC_NODE,\n verify_epistemic_node: VERIFY_EPISTEMIC_NODE,\n supersede_epistemic_node: SUPERSEDE_EPISTEMIC_NODE,\n batch_create_epistemic_nodes: BATCH_CREATE_EPISTEMIC_NODES,\n // Judgments (tag)\n record_judgment: RECORD_JUDGMENT,\n // Graph intelligence (showcase)\n detect_confirmation_bias: DETECT_CONFIRMATION_BIAS,\n get_graph_structure_analysis: GET_GRAPH_STRUCTURE_ANALYSIS,\n list_graph_intelligence_queries: LIST_GRAPH_INTELLIGENCE_QUERIES,\n run_graph_intelligence_query: RUN_GRAPH_INTELLIGENCE_QUERY,\n get_falsification_questions: GET_FALSIFICATION_QUESTIONS,\n // Evidence operations (workhorse)\n search_evidence: SEARCH_EVIDENCE,\n link_evidence_to_belief: LINK_EVIDENCE_TO_BELIEF,\n // Answer lifecycle (L2 question responses)\n create_answer: CREATE_ANSWER,\n get_answer: GET_ANSWER,\n // Question operations (workhorse)\n create_question: CREATE_QUESTION,\n get_question: GET_QUESTION,\n refine_question: REFINE_QUESTION,\n list_questions: LIST_QUESTIONS,\n answer_question: ANSWER_QUESTION,\n update_question_status: UPDATE_QUESTION_STATUS,\n archive_question: ARCHIVE_QUESTION,\n link_evidence_to_question: LINK_EVIDENCE_TO_QUESTION,\n get_high_priority_questions: GET_HIGH_PRIORITY_QUESTIONS,\n find_missing_questions: FIND_MISSING_QUESTIONS,\n // Listing & query (workhorse)\n list_beliefs: LIST_BELIEFS,\n get_worktree: GET_WORKTREE,\n list_worktrees: LIST_WORKTREES,\n list_all_worktrees: LIST_ALL_WORKTREES,\n list_worktrees_by_belief: LIST_WORKTREES_BY_BELIEF,\n list_campaigns: LIST_CAMPAIGNS,\n activate_worktree: ACTIVATE_WORKTREE,\n update_worktree_targets: UPDATE_WORKTREE_TARGETS,\n update_worktree_metadata: UPDATE_WORKTREE_METADATA,\n identity_whoami: IDENTITY_WHOAMI,\n resolve_interactive_principal: RESOLVE_INTERACTIVE_PRINCIPAL,\n lucern_orient: LUCERN_ORIENT,\n compile_context: COMPILE_CONTEXT,\n record_scope_learning: RECORD_SCOPE_LEARNING,\n pipeline_snapshot: PIPELINE_SNAPSHOT,\n discover: DISCOVER,\n analyze_topic_density: ANALYZE_TOPIC_DENSITY,\n apply_auto_branching: APPLY_AUTO_BRANCHING,\n seed_belief_lattice: SEED_BELIEF_LATTICE,\n get_lattice_coverage: GET_LATTICE_COVERAGE,\n discover_entity_connections: DISCOVER_ENTITY_CONNECTIONS,\n trigger_belief_review: TRIGGER_BELIEF_REVIEW,\n register_session: REGISTER_SESSION,\n heartbeat_session: HEARTBEAT_SESSION,\n end_session: END_SESSION,\n list_active_sessions: LIST_ACTIVE_SESSIONS,\n send_agent_message: SEND_AGENT_MESSAGE,\n broadcast_message: BROADCAST_MESSAGE,\n get_agent_inbox: GET_AGENT_INBOX,\n claim_files: CLAIM_FILES,\n generate_session_handoff: GENERATE_SESSION_HANDOFF,\n begin_build_session: BEGIN_BUILD_SESSION,\n // Policy / ACL (workhorse)\n check_permission: CHECK_PERMISSION,\n compile_capability_slice: COMPILE_CAPABILITY_SLICE,\n filter_by_permission: FILTER_BY_PERMISSION,\n // Write policy (S2-13K Graph Compounding)\n manage_write_policy: MANAGE_WRITE_POLICY,\n // Observation context (workhorse)\n ingest_observation: INGEST_OBSERVATION,\n get_observation_context: GET_OBSERVATION_CONTEXT,\n // Task lifecycle (workhorse)\n create_task: CREATE_TASK,\n complete_task: COMPLETE_TASK,\n update_task: UPDATE_TASK,\n list_tasks: LIST_TASKS,\n // Topic lifecycle (init, remote)\n create_topic: CREATE_TOPIC,\n list_topics: LIST_TOPICS,\n get_topic: GET_TOPIC,\n update_topic: UPDATE_TOPIC,\n get_topic_tree: GET_TOPIC_TREE,\n materialize_topic_graph: MATERIALIZE_TOPIC_GRAPH,\n get_topic_graph_spine: GET_TOPIC_GRAPH_SPINE,\n // Coding intelligence (code-grounded knowledge)\n get_code_context: GET_CODE_CONTEXT,\n get_change_history: GET_CHANGE_HISTORY,\n record_attempt: RECORD_ATTEMPT,\n get_failure_log: GET_FAILURE_LOG,\n // Graph self-intelligence (coverage, gaps)\n get_topic_coverage: GET_TOPIC_COVERAGE,\n get_graph_gaps: GET_GRAPH_GAPS,\n // Ontology lifecycle (definition CRUD, version management)\n list_ontologies: LIST_ONTOLOGIES,\n get_ontology: GET_ONTOLOGY,\n apply_ontology: APPLY_ONTOLOGY,\n match_entity_type: MATCH_ENTITY_TYPE,\n create_ontology: CREATE_ONTOLOGY,\n update_ontology: UPDATE_ONTOLOGY,\n archive_ontology: ARCHIVE_ONTOLOGY,\n create_ontology_version: CREATE_ONTOLOGY_VERSION,\n publish_ontology_version: PUBLISH_ONTOLOGY_VERSION,\n deprecate_ontology_version: DEPRECATE_ONTOLOGY_VERSION,\n resolve_effective_ontology: RESOLVE_EFFECTIVE_ONTOLOGY,\n};\n\n/** Tool names that MUST include git-semantic language in descriptions */\nexport const GIT_SEMANTIC_REQUIRED_TOOLS = Object.keys(MCP_TOOL_CONTRACTS);\n\n/**\n * Lint validation: every tool description must contain \"Like `git\" or \"Like a `git\"\n * or reference a git operation in the first sentence.\n */\nexport function validateGitSemantics(tool: McpToolContract): {\n valid: boolean;\n reason?: string;\n} {\n const desc = tool.description;\n const hasGitReference =\n /Like (`git |a `git |a merge conflict|opening a `git)/.test(desc);\n if (!hasGitReference) {\n return {\n valid: false,\n reason: `Tool \"${tool.name}\" description missing git-semantic reference`,\n };\n }\n return { valid: true };\n}\n","import type {\n FunctionSurfaceIntent,\n SurfaceClass,\n SurfaceExposure,\n FunctionSurfaceMap,\n} from \"./types.js\";\n\nexport type LucernOperationManifestEntry = {\n name: string;\n surfaceClass: SurfaceClass;\n surfaceIntent: FunctionSurfaceIntent;\n surfaces: FunctionSurfaceMap;\n rationale: string;\n};\n\nconst publicEverywhere: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"public\",\n cli: \"public\",\n};\n\nconst internalSystem: FunctionSurfaceMap = {\n sdk: \"internal\",\n rest: \"internal\",\n mcp: \"internal\",\n cli: \"internal\",\n};\n\nconst internalSdkRestOnly: FunctionSurfaceMap = {\n sdk: \"internal\",\n rest: \"internal\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst publicWithInternalMcp: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"internal\",\n cli: \"public\",\n};\n\nconst publicWithoutMcp: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"public\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst sdkOnlyPublic: FunctionSurfaceMap = {\n sdk: \"public\",\n rest: \"none\",\n mcp: \"none\",\n cli: \"none\",\n};\n\nconst mcpOnlyInternal: FunctionSurfaceMap = {\n sdk: \"none\",\n rest: \"none\",\n mcp: \"internal\",\n cli: \"none\",\n};\n\nfunction entries(\n names: readonly string[],\n surfaceClass: SurfaceClass,\n surfaceIntent: FunctionSurfaceIntent,\n surfaces: FunctionSurfaceMap,\n rationale: string\n): Record<string, LucernOperationManifestEntry> {\n return Object.fromEntries(\n names.map((name) => [\n name,\n {\n name,\n surfaceClass,\n surfaceIntent,\n surfaces,\n rationale,\n },\n ])\n );\n}\n\nexport const MCP_CORE_OPERATION_NAMES = [\n \"lucern_orient\",\n \"compile_context\",\n \"identity_whoami\",\n \"resolve_interactive_principal\",\n \"check_permission\",\n \"compile_capability_slice\",\n \"filter_by_permission\",\n \"create_belief\",\n \"get_belief\",\n \"list_beliefs\",\n \"refine_belief\",\n \"fork_belief\",\n \"archive_belief\",\n \"search_beliefs\",\n \"bisect_confidence\",\n \"create_evidence\",\n \"get_evidence\",\n \"list_evidence\",\n \"archive_evidence\",\n \"search_evidence\",\n \"link_evidence_to_belief\",\n \"link_evidence_to_question\",\n \"create_question\",\n \"get_question\",\n \"list_questions\",\n \"refine_question\",\n \"update_question_status\",\n \"archive_question\",\n \"create_answer\",\n \"get_answer\",\n \"find_missing_questions\",\n \"get_high_priority_questions\",\n \"get_falsification_questions\",\n \"create_epistemic_node\",\n \"get_epistemic_node\",\n \"list_epistemic_nodes\",\n \"update_epistemic_node\",\n \"archive_epistemic_node\",\n \"verify_epistemic_node\",\n \"supersede_epistemic_node\",\n \"batch_create_epistemic_nodes\",\n \"create_topic\",\n \"get_topic\",\n \"list_topics\",\n \"update_topic\",\n \"get_topic_tree\",\n \"materialize_topic_graph\",\n \"get_topic_graph_spine\",\n] as const;\n\nexport const MCP_ANALYSIS_PLATFORM_OPERATION_NAMES = [\n \"create_edge\",\n \"update_edge\",\n \"remove_edge\",\n \"remove_edges_between\",\n \"batch_create_edges\",\n \"query_lineage\",\n \"query_anchor_history\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"get_graph_structure_analysis\",\n \"list_graph_intelligence_queries\",\n \"run_graph_intelligence_query\",\n \"list_missing_embeddings\",\n \"search_embeddings\",\n \"get_embeddings_by_node_ids\",\n \"queue_embedding_backfill\",\n \"hybrid_discover\",\n \"resolve_topic_semantic\",\n \"expand_graph_neighborhood\",\n \"find_related_nodes\",\n \"analyze_graph_impact\",\n \"detect_graph_drift\",\n \"find_contradictions\",\n \"flag_contradiction\",\n \"detect_confirmation_bias\",\n \"get_topic_coverage\",\n \"get_graph_gaps\",\n] as const;\n\nexport const MCP_ANALYSIS_TENANT_OPERATION_NAMES = [\n \"analyze_topic_density\",\n \"discover_entity_connections\",\n \"trace_entity_impact\",\n] as const;\n\nexport const MCP_WORKFLOW_PLATFORM_OPERATION_NAMES = [\n \"list_lenses\",\n \"apply_lens_to_topic\",\n \"remove_lens_from_topic\",\n \"get_ontology\",\n \"list_ontologies\",\n \"apply_ontology\",\n \"match_entity_type\",\n \"resolve_effective_ontology\",\n \"add_worktree\",\n \"get_worktree\",\n \"activate_worktree\",\n \"list_worktrees\",\n \"list_all_worktrees\",\n \"list_worktrees_by_belief\",\n \"list_campaigns\",\n \"update_worktree_targets\",\n \"update_worktree_metadata\",\n \"create_task\",\n \"list_tasks\",\n \"update_task\",\n \"complete_task\",\n] as const;\n\nexport const MCP_WORKFLOW_TENANT_OPERATION_NAMES = [\n \"resolve_effective_ontology\",\n \"get_observation_context\",\n \"ingest_observation\",\n \"merge\",\n] as const;\n\nexport const MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES = [\n \"create_lens\",\n \"create_ontology\",\n \"update_ontology\",\n \"archive_ontology\",\n \"create_ontology_version\",\n] as const;\n\nexport const MCP_GOVERNANCE_TENANT_OPERATION_NAMES = [\n \"create_epistemic_contract\",\n \"evaluate_contract\",\n \"get_contract_status\",\n \"publish_ontology_version\",\n \"deprecate_ontology_version\",\n \"manage_write_policy\",\n] as const;\n\nexport const MCP_AUTOMATION_OPERATION_NAMES = [\n \"apply_auto_branching\",\n \"trigger_belief_review\",\n] as const;\n\nexport const DUPLICATE_OPERATION_NAMES = [\n \"link_evidence\",\n] as const;\n\nexport const PLATFORM_PUBLIC_OPERATION_NAMES = [\n ...MCP_CORE_OPERATION_NAMES,\n ...MCP_ANALYSIS_PLATFORM_OPERATION_NAMES,\n ...MCP_WORKFLOW_PLATFORM_OPERATION_NAMES,\n ...MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES,\n ...DUPLICATE_OPERATION_NAMES,\n] as const;\n\nexport const TENANT_PUBLIC_OPERATION_NAMES = [\n ...MCP_ANALYSIS_TENANT_OPERATION_NAMES,\n ...MCP_WORKFLOW_TENANT_OPERATION_NAMES,\n ...MCP_GOVERNANCE_TENANT_OPERATION_NAMES,\n ...MCP_AUTOMATION_OPERATION_NAMES,\n] as const;\n\nexport const PLATFORM_INTERNAL_OPERATION_NAMES = [\n \"register_session\",\n \"heartbeat_session\",\n \"end_session\",\n \"list_active_sessions\",\n \"send_agent_message\",\n \"broadcast_message\",\n \"get_agent_inbox\",\n \"claim_files\",\n \"generate_session_handoff\",\n \"record_scope_learning\",\n \"pipeline_snapshot\",\n \"seed_belief_lattice\",\n \"get_lattice_coverage\",\n \"get_code_context\",\n \"get_change_history\",\n \"get_failure_log\",\n \"record_attempt\",\n \"begin_build_session\",\n \"push\",\n \"open_pull_request\",\n \"record_judgment\",\n \"get_audit_trail\",\n] as const;\n\nexport const LEGACY_COMPAT_OPERATION_NAMES = [\n \"discover\",\n \"add_evidence\",\n \"answer_question\",\n \"get_confidence_history\",\n] as const;\n\nexport const SDK_ONLY_OPERATION_NAMES = [\n \"start_worktree\",\n \"update_worktree_phase\",\n \"advance_worktree_phase\",\n \"add_note_to_worktree\",\n \"link_document_to_worktree\",\n \"link_evidence_to_worktree\",\n \"link_question_to_worktree\",\n \"link_belief_to_worktree\",\n \"create_synthesized_belief\",\n \"complete_hypothesis_formation\",\n \"complete_evidence_review\",\n \"refine_worktree_belief\",\n \"trace_provenance\",\n \"get_belief_relationships\",\n \"get_belief_support_chain\",\n \"explore_connections\",\n \"get_deep_lineage\",\n \"graph_aware_search\",\n \"get_collection_conviction\",\n \"get_conviction_trend\",\n \"analyze_belief_criticality\",\n \"analyze_belief_cluster_candidates\",\n \"create_belief_conditional\",\n \"get_necessary_evidence\",\n \"analyze_reasoning_depth\",\n \"get_evidence_by_methodology\",\n \"create_evidence_task\",\n \"get_task_counts\",\n \"add_research_action\",\n \"get_predictions\",\n \"get_surprise_detection\",\n \"get_challenged_beliefs\",\n \"get_causal_chains\",\n \"get_non_consensus_beliefs\",\n \"get_beliefs_by_epistemic_status\",\n \"detect_anchoring_bias\",\n \"detect_source_concentration\",\n \"find_soft_contradictions\",\n \"find_semantic_bridges\",\n \"find_semantic_orphans\",\n] as const;\n\nexport const MCP_ONLY_INTERNAL_OPERATION_NAMES = [\n \"evaluate_engineering_contract\",\n \"evaluate_research_contract\",\n] as const;\n\nexport const FORBIDDEN_APPLICATION_OPERATION_NAMES = [\n \"execute_deep_research\",\n \"search_sources\",\n \"search_resources\",\n \"get_privileged_evidence\",\n \"get_privileged_signals\",\n \"get_thesis_artifacts\",\n] as const;\n\nexport const LUCERN_OPERATION_MANIFEST = {\n ...entries(\n MCP_CORE_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_core\",\n publicEverywhere,\n \"Default conversational Lucern MCP primitive for reading, writing, and shaping the reasoning graph.\"\n ),\n ...entries(\n MCP_ANALYSIS_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"High-signal graph analysis operation that belongs in chat/MCP because users naturally ask for gaps, contradictions, lineage, and coverage.\"\n ),\n ...entries(\n MCP_ANALYSIS_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"Tenant-scoped analysis operation that remains MCP-visible because agents can answer graph-quality and impact questions from chat.\"\n ),\n ...entries(\n MCP_WORKFLOW_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_workflow\",\n publicEverywhere,\n \"Workflow operation expected by coding agents and human MCP users managing Lucern worktrees, tasks, lenses, and observations.\"\n ),\n ...entries(\n MCP_WORKFLOW_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_workflow\",\n publicEverywhere,\n \"Tenant-scoped workflow operation expected by coding agents and human MCP users managing observations and worktree lifecycle.\"\n ),\n ...entries(\n MCP_AUTOMATION_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_analysis\",\n publicEverywhere,\n \"Tenant-scoped automation that remains MCP-visible because agents can explicitly request review or branching assistance.\"\n ),\n ...entries(\n MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES,\n \"platform_public\",\n \"mcp_governance\",\n publicWithInternalMcp,\n \"Governance/admin operation. SDK, REST, and CLI remain public, but MCP is internal by default to keep chat surfaces focused.\"\n ),\n ...entries(\n MCP_GOVERNANCE_TENANT_OPERATION_NAMES,\n \"tenant_public\",\n \"mcp_governance\",\n publicWithInternalMcp,\n \"Governance/admin operation. SDK, REST, and CLI remain public, but MCP is internal by default to keep chat surfaces focused.\"\n ),\n ...entries(\n DUPLICATE_OPERATION_NAMES,\n \"platform_public\",\n \"compatibility\",\n publicWithoutMcp,\n \"Duplicate compatibility operation kept for SDK/REST callers, removed from MCP/CLI discovery in favor of the canonical specific tool.\"\n ),\n ...entries(\n PLATFORM_INTERNAL_OPERATION_NAMES,\n \"platform_internal\",\n \"system\",\n internalSystem,\n \"Lucern system/background operation. Available to platform code paths, hidden from public MCP discovery.\"\n ),\n append_sl_scoring: {\n name: \"append_sl_scoring\",\n surfaceClass: \"platform_internal\",\n surfaceIntent: \"system\",\n surfaces: internalSdkRestOnly,\n rationale:\n \"Internal SL scoring append primitive. Public callers attach evidence or contradiction relations; confidence is derived algorithmically.\",\n },\n ...entries(\n LEGACY_COMPAT_OPERATION_NAMES,\n \"legacy_compat\",\n \"compatibility\",\n publicWithoutMcp,\n \"Temporary compatibility operation. Must name a canonical replacement before removal.\"\n ),\n ...entries(\n SDK_ONLY_OPERATION_NAMES,\n \"tenant_public\",\n \"sdk_granular\",\n sdkOnlyPublic,\n \"Granular Lucern SDK operation. Not an MCP, REST, or CLI tool until backed by the generated function pipe.\"\n ),\n ...entries(\n MCP_ONLY_INTERNAL_OPERATION_NAMES,\n \"platform_internal\",\n \"system\",\n mcpOnlyInternal,\n \"Lucern MCP-only platform operation for local agent/bootstrap or verification workflows. Hidden from public discovery.\"\n ),\n} as const satisfies Record<string, LucernOperationManifestEntry>;\n\nexport type LucernOperationName = keyof typeof LUCERN_OPERATION_MANIFEST;\n\nexport function surfaceEnabled(exposure: SurfaceExposure): boolean {\n return exposure !== \"none\";\n}\n\nexport function surfaceIntentGateViolations(\n entry: LucernOperationManifestEntry\n): string[] {\n const violations: string[] = [];\n if (entry.surfaceIntent === \"system\" && entry.surfaces.mcp === \"public\") {\n violations.push(\"system operations cannot be public MCP tools\");\n }\n if (\n entry.surfaceIntent === \"compatibility\" &&\n entry.surfaces.mcp !== \"none\"\n ) {\n violations.push(\"compatibility operations must not be MCP tools\");\n }\n if (entry.surfaceIntent === \"sdk_granular\" && entry.surfaces.mcp !== \"none\") {\n violations.push(\"SDK-granular operations must not be MCP tools\");\n }\n if (\n entry.surfaceIntent === \"mcp_governance\" &&\n entry.surfaces.mcp === \"public\"\n ) {\n violations.push(\"governance operations must be internal or absent from MCP\");\n }\n return violations;\n}\n","/**\n * Shared schema enums referenced by the initial table manifest.\n */\n\nimport { z } from 'zod';\n\nexport const NODE_TYPE = z.enum([\"decision\", \"belief\", \"question\", \"theme\", \"deal\", \"topic\", \"claim\", \"evidence\", \"synthesis\", \"answer\", \"atomic_fact\", \"excerpt\", \"source\", \"company\", \"person\", \"investor\", \"function\", \"value_chain\"]);\n\nexport const EDGE_TYPE_VALUES = [\"supports\", \"informs\", \"depends_on\", \"derived_from\", \"contains\", \"tests\", \"supersedes\", \"responds_to\", \"belongs_to\", \"relates_to_thesis\", \"works_at\", \"invested_in\", \"competes_with\", \"participates_in\", \"founded_by\", \"evaluates\", \"performs\", \"function_in\", \"impacts\", \"raised_from\", \"mentioned_in\", \"perspective_on\", \"plays_theme\", \"answers\", \"explores\", \"qualifies\", \"based_on\", \"based_on_belief\", \"based_on_question\", \"blocked_by_contradiction\", \"informed_by_theme\", \"same_as\", \"reinforces\", \"parent_of\", \"child_of\", \"falsified_by\", \"exclusive_with\", \"collapses_if\", \"cascade_from\", \"counterfactual_of\", \"cascade_to\", \"mutually_exclusive\", \"correlates_with\", \"amplifies\", \"precondition_for\", \"in_tension_with\", \"strengthened_by\", \"weakened_by\", \"alternative_to\", \"subsumes\", \"validated_by\", \"required_for\", \"blocks\", \"prerequisite_for\", \"parallel_to\", \"corroborates\", \"extends\", \"same_source_as\", \"same_theme_as\", \"assumes\", \"would_predict\", \"analogous_to\", \"independent_of\", \"implements\", \"violates\", \"co_changes_with\", \"migrating_from\", \"migrating_to\", \"scoped_by\", \"about_entity\", \"entity_referenced_in\", \"contradicts\", \"cites\", \"summarizes\", \"related_to\", \"partially_answers\", \"refines\", \"branches_from\"] as const;\n\nexport const STORAGE_EDGE_TYPE_VALUES = [...EDGE_TYPE_VALUES, \"extracted_from\"] as const;\n\nexport const EDGE_TYPE = z.enum(EDGE_TYPE_VALUES);\n\n// Storage accepts the legacy provenance spelling while existing rows migrate.\n// Public surfaces should continue to expose EDGE_TYPE only.\nexport const STORAGE_EDGE_TYPE = z.enum(STORAGE_EDGE_TYPE_VALUES);\n\nexport const TOPIC_STATUS = z.enum([\"active\", \"archived\", \"watching\"]);\n\nexport const TOPIC_VISIBILITY = z.enum([\"private\", \"team\", \"firm\", \"external\", \"public\"]);\n","import { z } from \"zod\";\nimport type { FunctionEffect } from \"../dsl/defineFunction.js\";\nimport { isUuidV7 } from \"../ids/index.js\";\nimport { encodePrefixedId } from \"../ids.contract.js\";\nimport type { McpParameterDef, McpToolContract } from \"../tool-contracts.js\";\nimport { MCP_TOOL_CONTRACTS } from \"../tool-contracts.js\";\nimport type {\n ContractProjectionContext,\n FunctionContract,\n SurfaceClass,\n} from \"./types.js\";\nimport {\n LUCERN_OPERATION_MANIFEST,\n type LucernOperationManifestEntry,\n} from \"./manifest.js\";\nexport { NODE_TYPE } from \"../schemas/enums.js\";\n\nexport const jsonObjectSchema = z.record(z.unknown());\nexport const uuidV7StringSchema = z\n .string()\n .refine(isUuidV7, \"must be UUIDv7\");\nconst sdkSessionIdSchema = z.string().optional();\n\nexport function publicPrefixedId(prefix: string, rawId: string): string {\n return rawId.startsWith(`${prefix}_`) ? rawId : encodePrefixedId(prefix, rawId);\n}\n\nfunction mcpContractShape(contract: McpToolContract): z.ZodRawShape {\n const required = new Set(contract.required);\n return Object.fromEntries(\n Object.entries(contract.parameters).map(([name, parameter]) => {\n const schema = schemaForMcpParameter(parameter);\n return [\n name,\n required.has(name) || parameter.required ? schema : schema.optional(),\n ];\n }),\n );\n}\n\nfunction schemaForMcpParameter(parameter: McpParameterDef): z.ZodTypeAny {\n if (parameter.enum && parameter.enum.length > 0) {\n const [first, ...rest] = parameter.enum;\n return z.enum([first, ...rest] as [string, ...string[]]);\n }\n\n switch (parameter.type) {\n case \"array\":\n return z.array(z.unknown());\n case \"boolean\":\n return z.boolean();\n case \"number\":\n return z.number();\n case \"object\":\n return z.record(z.unknown());\n case \"string\":\n return z.string();\n }\n}\n\nexport function argsSchemaFromMcpContract(\n contract: McpToolContract,\n): z.ZodObject<z.ZodRawShape> {\n return z.object(mcpContractShape(contract));\n}\n\nexport function inputSchemaFromMcpContract(\n contract: McpToolContract,\n): z.ZodObject<z.ZodRawShape> {\n return withInternalSurfaceFields(argsSchemaFromMcpContract(contract));\n}\n\n// Backward compatibility helper: public contract builders still reserve the\n// internal SDK session field on object-shaped inputs.\nfunction withInternalSurfaceFields(\n schema: z.ZodObject<z.ZodRawShape>,\n): z.ZodObject<z.ZodRawShape> {\n return schema.extend({ __sdkSessionId: sdkSessionIdSchema }).strict();\n}\n\nfunction normalizeInputSchema(schema: z.ZodTypeAny): z.ZodTypeAny {\n if (schema instanceof z.ZodObject) {\n return withInternalSurfaceFields(schema);\n }\n return schema;\n}\n\nfunction unwrapObjectSchema(\n schema: z.ZodTypeAny,\n): z.ZodObject<z.ZodRawShape> | undefined {\n let current = schema;\n while (true) {\n switch (current._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodEffects:\n current = current._def.schema;\n continue;\n case z.ZodFirstPartyTypeKind.ZodBranded:\n current = current._def.type;\n continue;\n default:\n return current instanceof z.ZodObject ? current : undefined;\n }\n }\n}\n\nfunction getObjectShape(schema: z.ZodTypeAny) {\n const objectSchema = unwrapObjectSchema(schema);\n if (!objectSchema) {\n throw new Error(\n `Expected a Zod object schema, received ${schema._def.typeName}.`,\n );\n }\n const shape =\n typeof objectSchema._def.shape === \"function\"\n ? objectSchema._def.shape()\n : objectSchema._def.shape;\n return shape as z.ZodRawShape;\n}\n\nfunction unwrapMcpParameterSchema(schema: z.ZodTypeAny): {\n schema: z.ZodTypeAny;\n required: boolean;\n description?: string;\n} {\n let current = schema;\n let required = true;\n let description = schema.description;\n\n while (true) {\n description ??= current.description;\n\n switch (current._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodOptional:\n case z.ZodFirstPartyTypeKind.ZodDefault:\n required = false;\n current = current._def.innerType;\n continue;\n case z.ZodFirstPartyTypeKind.ZodNullable:\n current = current._def.innerType;\n continue;\n case z.ZodFirstPartyTypeKind.ZodBranded:\n current = current._def.type;\n continue;\n case z.ZodFirstPartyTypeKind.ZodEffects:\n current = current._def.schema;\n continue;\n default:\n return {\n schema: current,\n required,\n description: description ?? current.description,\n };\n }\n }\n}\n\nfunction mcpParameterFromZod(\n fieldName: string,\n schema: z.ZodTypeAny,\n contractName: string,\n): { parameter: McpParameterDef; required: boolean } {\n const {\n schema: unwrapped,\n required,\n description: schemaDescription,\n } = unwrapMcpParameterSchema(schema);\n const description = schemaDescription ?? unwrapped.description ?? fieldName;\n\n switch (unwrapped._def.typeName) {\n case z.ZodFirstPartyTypeKind.ZodString:\n return { parameter: { type: \"string\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodNumber:\n return { parameter: { type: \"number\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodBoolean:\n return { parameter: { type: \"boolean\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodArray:\n return { parameter: { type: \"array\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodObject:\n case z.ZodFirstPartyTypeKind.ZodRecord:\n case z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:\n return { parameter: { type: \"object\", description }, required };\n case z.ZodFirstPartyTypeKind.ZodEnum:\n return {\n parameter: {\n type: \"string\",\n description,\n enum: [...unwrapped._def.values],\n },\n required,\n };\n case z.ZodFirstPartyTypeKind.ZodLiteral:\n if (typeof unwrapped._def.value === \"string\") {\n return {\n parameter: {\n type: \"string\",\n description,\n enum: [unwrapped._def.value],\n },\n required,\n };\n }\n break;\n }\n\n throw new Error(\n `Function surface contract ${contractName}.${fieldName} cannot be lowered to an MCP parameter from ${unwrapped._def.typeName}.`,\n );\n}\n\nfunction mcpContractFromArgsSchema(\n base: FunctionContract[\"mcp\"],\n args: z.ZodTypeAny,\n contractName: string,\n): FunctionContract[\"mcp\"] {\n const entries = Object.entries(getObjectShape(args)).sort(([left], [right]) =>\n left.localeCompare(right),\n );\n const converted = entries.map(\n ([fieldName, schema]) =>\n [\n fieldName,\n mcpParameterFromZod(fieldName, schema, contractName),\n ] as const,\n );\n\n return {\n ...base,\n parameters: Object.fromEntries(\n converted.map(([fieldName, field]) => [fieldName, field.parameter]),\n ),\n required: converted\n .filter(([, field]) => field.required)\n .map(([fieldName]) => fieldName),\n };\n}\n\nexport const defineFunctionContract = <T extends FunctionContract>(\n contract: T,\n): T => contract;\n\nexport function classifyContract<\n T extends Omit<FunctionContract, \"surfaceClass\"> & {\n surfaceClass?: SurfaceClass;\n },\n>(contract: T, surfaceClass: SurfaceClass): T & { surfaceClass: SurfaceClass } {\n return {\n ...contract,\n surfaceClass: contract.surfaceClass ?? surfaceClass,\n };\n}\n\nexport function authUserId(context: ContractProjectionContext): string {\n return context.userId ?? context.principalId ?? \"lucern-agent\";\n}\n\nexport function withUserId(\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n): Record<string, unknown> {\n return {\n ...input,\n userId:\n typeof input.userId === \"string\" ? input.userId : authUserId(context),\n };\n}\n\nexport function withCreatedBy(\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n): Record<string, unknown> {\n return {\n ...input,\n createdBy:\n typeof input.createdBy === \"string\"\n ? input.createdBy\n : authUserId(context),\n };\n}\n\nexport function compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nexport function recordValue(value: unknown): Record<string, unknown> {\n return value && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {};\n}\n\nexport function surfaceMcpContract(name: string): FunctionContract[\"mcp\"] {\n const contract = MCP_TOOL_CONTRACTS[name];\n if (!contract) {\n throw new Error(\n `Function surface contract ${name} is missing from MCP_TOOL_CONTRACTS.`,\n );\n }\n\n return {\n ...contract,\n exposed: true,\n toolName: contract.name,\n };\n}\n\nfunction deriveFunctionEffects(args: {\n kind: FunctionContract[\"kind\"];\n domain: string;\n surfaceIntent: FunctionContract[\"surfaceIntent\"];\n}): readonly FunctionEffect[] {\n if (args.kind === \"query\") {\n return [\"read\"];\n }\n\n if (\n args.surfaceIntent === \"system\" ||\n args.surfaceIntent === \"mcp_governance\" ||\n args.domain === \"identity\" ||\n args.domain === \"contracts\" ||\n args.domain === \"coordination\" ||\n args.domain === \"pipeline\"\n ) {\n return [\"admin\"];\n }\n\n return [\"write\"];\n}\n\nexport function surfaceContract(args: {\n name: string;\n kind: FunctionContract[\"kind\"];\n domain: string;\n surfaceClass: SurfaceClass;\n method?: FunctionContract[\"rest\"][\"method\"];\n path: string;\n sdkNamespace: string;\n sdkMethod: string;\n summary: string;\n tags?: string[];\n scopes?: string[];\n replacedBy?: string;\n idempotent?: FunctionContract[\"idempotent\"];\n convex?: FunctionContract[\"convex\"];\n gateway?: FunctionContract[\"gateway\"];\n args?: z.ZodTypeAny;\n returns?: z.ZodTypeAny;\n input?: z.ZodTypeAny;\n output?: z.ZodTypeAny;\n effects?: readonly FunctionEffect[];\n invariants?: readonly string[];\n}) {\n const manifest = LUCERN_OPERATION_MANIFEST as Record<\n string,\n LucernOperationManifestEntry | undefined\n >;\n const manifestEntry = manifest[args.name];\n if (!manifestEntry) {\n throw new Error(\n `Function surface contract ${args.name} is not in LUCERN_OPERATION_MANIFEST.`,\n );\n }\n if (manifestEntry.surfaceClass !== args.surfaceClass) {\n throw new Error(\n `Function surface contract ${args.name} is classified as ${args.surfaceClass}, but manifest requires ${manifestEntry.surfaceClass}.`,\n );\n }\n if (\n manifestEntry.surfaces.sdk === \"none\" &&\n manifestEntry.surfaces.rest === \"none\"\n ) {\n throw new Error(\n `Function surface contract ${args.name} has no SDK or REST exposure in the manifest.`,\n );\n }\n\n const baseMcp = surfaceMcpContract(args.name);\n const canonicalArgs = args.args ?? argsSchemaFromMcpContract(baseMcp);\n const mcp = args.args\n ? mcpContractFromArgsSchema(baseMcp, canonicalArgs, args.name)\n : baseMcp;\n const canonicalReturns = args.returns ?? jsonObjectSchema;\n const input = normalizeInputSchema(\n args.input ?? inputSchemaFromMcpContract(mcp),\n );\n const output = args.output ?? canonicalReturns;\n\n return defineFunctionContract({\n name: args.name,\n kind: args.kind,\n idempotent: args.idempotent ?? (args.kind === \"query\" ? false : true),\n effects:\n args.effects ??\n deriveFunctionEffects({\n kind: args.kind,\n domain: args.domain,\n surfaceIntent: manifestEntry.surfaceIntent,\n }),\n invariants: args.invariants,\n surfaceIntent: manifestEntry.surfaceIntent,\n domain: args.domain,\n surfaceClass: manifestEntry.surfaceClass,\n surfaces: manifestEntry.surfaces,\n replacedBy: args.replacedBy,\n rest: {\n method: args.method ?? \"POST\",\n path: args.path,\n },\n sdk: {\n namespace: args.sdkNamespace,\n method: args.sdkMethod,\n },\n mcp,\n auth: {\n scopes: args.scopes ?? [\n args.kind === \"query\" ? `${args.domain}.read` : `${args.domain}.write`,\n ],\n allowedPrincipalTypes: [\n \"user\",\n \"service\",\n \"agent\",\n \"group\",\n \"external_viewer\",\n ],\n },\n convex: args.convex,\n gateway: args.gateway,\n args: canonicalArgs,\n returns: canonicalReturns,\n input,\n output,\n openapi: {\n summary: args.summary,\n tags: args.tags ?? [args.domain],\n },\n });\n}\n\nexport function assertSurfaceCoverage(contracts: readonly FunctionContract[]) {\n const names = new Set<string>();\n for (const contract of contracts) {\n if (names.has(contract.name)) {\n throw new Error(`Duplicate function contract name: ${contract.name}`);\n }\n names.add(contract.name);\n }\n\n for (const contract of contracts) {\n if (contract.replacedBy && !names.has(contract.replacedBy)) {\n throw new Error(\n `Function contract ${contract.name} replacedBy target ${contract.replacedBy} is not registered.`,\n );\n }\n }\n}\n","import { z } from \"zod\";\n\nexport const DataModelDepthSchema = z.enum([\n \"low\",\n \"medium\",\n \"high\",\n \"extra-high\",\n]);\n\nexport const DataModelStorageKindSchema = z.enum([\n \"epistemic_node\",\n \"worktree_record\",\n \"runtime_record\",\n]);\n\nexport const DataModelIdentityStatusSchema = z.enum([\n \"declared_pending_c2_lt\",\n \"locked\",\n]);\n\nexport const DataModelRelationshipSchema = z.object({\n edgeType: z.string(),\n targetPrimitive: z.string(),\n required: z.boolean(),\n direction: z.enum([\"outbound\", \"inbound\"]),\n purpose: z.string(),\n});\n\nexport const DataModelIdentitySchema = z.object({\n canonicalPublicIdField: z.string(),\n canonicalPublicIdVersion: z.literal(\"uuidv7\"),\n status: DataModelIdentityStatusSchema,\n storageLocatorField: z.string(),\n storageLocatorSemantic: z.literal(false),\n compatibilityAliases: z.array(z.string()),\n});\n\nexport const DataModelPrimitiveSchema = z.object({\n key: z.string(),\n displayName: z.string(),\n storageKind: DataModelStorageKindSchema,\n nodeType: z.string().optional(),\n identity: DataModelIdentitySchema,\n requiredFieldsBeforeCodegen: z.array(z.string()).min(1),\n relationships: z.array(DataModelRelationshipSchema),\n docsAnchor: z.string(),\n});\n\nexport const DataModelWriteContractSchema = z.object({\n mode: z.enum([\n \"read_only\",\n \"primitive_create\",\n \"primitive_update\",\n \"edge_mutation\",\n \"runtime_record\",\n ]),\n objects: z.array(z.string()),\n edges: z.array(z.string()),\n ledgers: z.array(z.string()),\n projections: z.array(z.string()),\n runtimeRecords: z.array(z.string()),\n sideEffects: z.array(z.string()),\n});\n\nexport const DataModelPolicyResourceSchema = z.object({\n resourceType: z.string(),\n action: z.string(),\n});\n\nexport const DataModelConfidenceEffectSchema = z.object({\n effect: z.enum([\n \"none\",\n \"vacuous_prior_only\",\n \"sl_native_only\",\n \"signed_evidence_impact\",\n ]),\n provenanceRequired: z.string(),\n});\n\nexport const DataModelAuditEventSchema = z.object({\n eventShape: z.string(),\n required: z.boolean(),\n});\n\nexport const DataModelReplayBindingSchema = z.object({\n mode: z.enum([\n \"none\",\n \"optional_source_horizon\",\n \"required_run_binding\",\n \"required_bitemporal_event\",\n ]),\n requiredRefs: z.array(z.string()),\n});\n\nexport const DataModelLatencyBudgetSchema = z.object({\n byDepthMs: z.record(DataModelDepthSchema, z.number().int().positive()),\n});\n\nexport const DataModelSurfaceSchema = z.object({\n operation: z.string(),\n reasoningStateTouching: z.enum([\"none\", \"read\", \"write\", \"read_write\"]),\n compositionEmitted: z.string(),\n defaultDepth: DataModelDepthSchema,\n depthBehavior: z.record(DataModelDepthSchema, z.string()),\n writeContract: DataModelWriteContractSchema,\n policyResource: DataModelPolicyResourceSchema,\n calibrationRequirement: z.enum([\n \"none\",\n \"calibration_slice_optional\",\n \"action_gate_required\",\n ]),\n confidenceEffect: DataModelConfidenceEffectSchema,\n auditEvent: DataModelAuditEventSchema,\n replayBinding: DataModelReplayBindingSchema,\n latencyBudget: DataModelLatencyBudgetSchema,\n failureMode: z.string(),\n docsAnchor: z.string(),\n lints: z.array(z.string()).min(1),\n tests: z.array(z.string()).min(1),\n});\n\nexport const DataModelCompositionSchema = z.object({\n key: z.string(),\n emittedAs: z.string(),\n primitives: z.array(z.string()).min(1),\n defaultDepth: DataModelDepthSchema,\n qualityVector: z.array(z.string()),\n docsAnchor: z.string(),\n});\n\nexport const DataModelTriggerSchema = z.object({\n key: z.string(),\n eventShape: z.string(),\n requiredFor: z.array(z.string()).min(1),\n docsAnchor: z.string(),\n});\n\nexport const DataModelLintSchema = z.object({\n id: z.string(),\n severity: z.enum([\"block_pr\", \"warn\"]),\n assertion: z.string(),\n});\n\nexport const DataModelTestSchema = z.object({\n id: z.string(),\n command: z.string(),\n asserts: z.array(z.string()).min(1),\n});\n\nexport const DataModelManifestSkeletonSchema = z.object({\n manifestVersion: z.literal(\"1.0.0\"),\n campaign: z.literal(\"C2\"),\n worktree: z.literal(\"C2-LA.1\"),\n status: z.literal(\"skeleton\"),\n dependsOn: z.array(z.string()),\n sourceAnchors: z.array(z.string()).min(1),\n requiredCodegenFields: z.array(z.string()).min(1),\n primitives: z.array(DataModelPrimitiveSchema).min(1),\n compositions: z.array(DataModelCompositionSchema).min(1),\n triggers: z.array(DataModelTriggerSchema).min(1),\n surfaces: z.array(DataModelSurfaceSchema).min(1),\n lints: z.array(DataModelLintSchema).min(1),\n tests: z.array(DataModelTestSchema).min(1),\n});\n\nexport type DataModelManifestSkeleton = z.infer<\n typeof DataModelManifestSkeletonSchema\n>;\n\nexport const DATA_MODEL_MANIFEST_REQUIRED_CODEGEN_FIELDS = [\n \"primitive.key\",\n \"primitive.displayName\",\n \"primitive.storageKind\",\n \"primitive.identity.canonicalPublicIdField\",\n \"primitive.identity.canonicalPublicIdVersion\",\n \"primitive.identity.storageLocatorField\",\n \"primitive.requiredFieldsBeforeCodegen\",\n \"primitive.relationships\",\n \"composition.key\",\n \"composition.emittedAs\",\n \"composition.primitives\",\n \"trigger.key\",\n \"trigger.eventShape\",\n \"surface.operation\",\n \"surface.reasoningStateTouching\",\n \"surface.compositionEmitted\",\n \"surface.defaultDepth\",\n \"surface.depthBehavior\",\n \"surface.writeContract\",\n \"surface.policyResource\",\n \"surface.calibrationRequirement\",\n \"surface.confidenceEffect\",\n \"surface.auditEvent\",\n \"surface.replayBinding\",\n \"surface.latencyBudget\",\n \"surface.failureMode\",\n \"surface.docsAnchor\",\n \"lint.id\",\n \"test.id\",\n] as const;\n\nexport const DATA_MODEL_MANIFEST_SKELETON: DataModelManifestSkeleton = {\n manifestVersion: \"1.0.0\",\n campaign: \"C2\",\n worktree: \"C2-LA.1\",\n status: \"skeleton\",\n dependsOn: [\"C2-L0.2\"],\n sourceAnchors: [\n \"docs/roadmap/campaigns/c2-substrate/README.md#l2-c2-la-manifest-spine-2-worktrees\",\n \"docs/roadmap/themes/living-knowledge-compiler.md#function-surface-metadata-spine\",\n \"docs/reference/surfaces/function-surface.md#12-function-surface-metadata-spine\",\n \"docs/systems/reasoning-kernel/data-model/graph.md#65-campaign-2--substrate-constitution-and-calibration\",\n ],\n requiredCodegenFields: [...DATA_MODEL_MANIFEST_REQUIRED_CODEGEN_FIELDS],\n primitives: [\n {\n key: \"topic\",\n displayName: \"Topic\",\n storageKind: \"epistemic_node\",\n nodeType: \"topic\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"topicId\", \"nodeId\", \"slug\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"name\",\n \"canonicalText\",\n \"visibility\",\n \"parentUuid\",\n ],\n relationships: [\n {\n edgeType: \"parent_of\",\n targetPrimitive: \"topic\",\n required: false,\n direction: \"outbound\",\n purpose: \"topic tree lineage without a legacy topics table authority\",\n },\n ],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"belief\",\n displayName: \"Belief\",\n storageKind: \"epistemic_node\",\n nodeType: \"belief\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"beliefId\", \"beliefNodeId\", \"nodeId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalText\",\n \"epistemicKind\",\n \"maturity\",\n \"createdBy\",\n ],\n relationships: [\n {\n edgeType: \"belongs_to\",\n targetPrimitive: \"topic\",\n required: true,\n direction: \"outbound\",\n purpose: \"every belief belongs to a topic epistemic node\",\n },\n {\n edgeType: \"supports\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"signed evidence impact can support the belief\",\n },\n {\n edgeType: \"contradicts\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"signed evidence impact can contradict the belief\",\n },\n ],\n docsAnchor: \"docs/reference/surfaces/function-surface.md#create_belief\",\n },\n {\n key: \"evidence\",\n displayName: \"Evidence\",\n storageKind: \"epistemic_node\",\n nodeType: \"evidence\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"evidenceId\", \"evidenceNodeId\", \"targetId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalText\",\n \"sourceRef\",\n \"targetBeliefUuid\",\n \"signedImpact\",\n \"evidenceRelation\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceQuality\",\n ],\n relationships: [\n {\n edgeType: \"supports\",\n targetPrimitive: \"belief\",\n required: true,\n direction: \"outbound\",\n purpose: \"positive signedImpact in (0, 1]\",\n },\n {\n edgeType: \"contradicts\",\n targetPrimitive: \"belief\",\n required: true,\n direction: \"outbound\",\n purpose: \"negative signedImpact in [-1, 0)\",\n },\n ],\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n },\n {\n key: \"question\",\n displayName: \"Question\",\n storageKind: \"epistemic_node\",\n nodeType: \"question\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"questionId\", \"questionNodeId\", \"nodeId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"canonicalQuestion\",\n \"priority\",\n \"disposition\",\n \"testedBeliefUuids\",\n ],\n relationships: [\n {\n edgeType: \"tests\",\n targetPrimitive: \"belief\",\n required: false,\n direction: \"outbound\",\n purpose: \"question can test one or more substrate beliefs\",\n },\n {\n edgeType: \"answers\",\n targetPrimitive: \"evidence\",\n required: false,\n direction: \"inbound\",\n purpose: \"answers must remain evidence-backed\",\n },\n ],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"worktree\",\n displayName: \"Worktree\",\n storageKind: \"worktree_record\",\n identity: {\n canonicalPublicIdField: \"uuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"declared_pending_c2_lt\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"worktreeId\", \"branchName\"],\n },\n requiredFieldsBeforeCodegen: [\n \"uuid\",\n \"campaign\",\n \"lane\",\n \"orderInLane\",\n \"gate\",\n \"targetBeliefUuids\",\n \"targetQuestionUuids\",\n ],\n relationships: [\n {\n edgeType: \"depends_on\",\n targetPrimitive: \"worktree\",\n required: false,\n direction: \"outbound\",\n purpose: \"lane execution order and dependency gates\",\n },\n {\n edgeType: \"implements\",\n targetPrimitive: \"belief\",\n required: false,\n direction: \"outbound\",\n purpose: \"worktree closes or strengthens substrate beliefs\",\n },\n ],\n docsAnchor: \"docs/engineering/dev-loop/worktree-task-workflows.md\",\n },\n {\n key: \"agent_run\",\n displayName: \"Agent Run\",\n storageKind: \"runtime_record\",\n identity: {\n canonicalPublicIdField: \"agentRunUuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n status: \"locked\",\n storageLocatorField: \"_id\",\n storageLocatorSemantic: false,\n compatibilityAliases: [\"runId\", \"agentRunId\", \"sessionId\"],\n },\n requiredFieldsBeforeCodegen: [\n \"agentRunUuid\",\n \"compatibilityRunId\",\n \"principalUuid\",\n \"actorType\",\n \"surfaceOperation\",\n \"requestedDepth\",\n \"effectiveDepth\",\n \"traversalMode\",\n \"sourceHorizonRefs\",\n \"policyProofRefs\",\n \"writeContractRef\",\n \"startedAt\",\n \"actionGateRefs\",\n \"writeRefs\",\n \"outputObjectRefs\",\n \"replayRecordRefs\",\n ],\n relationships: [\n {\n edgeType: \"derived_from\",\n targetPrimitive: \"worktree\",\n required: false,\n direction: \"outbound\",\n purpose: \"agent run can be replayed against the worktree packet\",\n },\n ],\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n },\n ],\n compositions: [\n {\n key: \"context_pack_v1\",\n emittedAs: \"ContextPackV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"medium\",\n qualityVector: [\"coverageRatio\", \"narrativeCoverage\", \"synthesisLints\"],\n docsAnchor: \"docs/reference/contracts/context-pack.md\",\n },\n {\n key: \"worktree_packet_v1\",\n emittedAs: \"WorktreePacketV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\"taskDispositionCoverage\", \"evidenceCoverage\"],\n docsAnchor: \"docs/engineering/dev-loop/handoff-contract.md\",\n },\n {\n key: \"agent_run_trace_v1\",\n emittedAs: \"AgentRunTraceV1\",\n primitives: [\"agent_run\", \"worktree\", \"evidence\"],\n defaultDepth: \"medium\",\n qualityVector: [\n \"identityScopeCoverage\",\n \"sourceHorizonCoverage\",\n \"policyProofCoverage\",\n \"actionGateCoverage\",\n \"writeCoverage\",\n \"terminalImmutabilityCoverage\",\n \"replayBindingCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n },\n {\n key: \"traversal_mode_constitution_v1\",\n emittedAs: \"TraversalModeConstitutionV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"medium\",\n qualityVector: [\n \"modeCoverage\",\n \"depthCoverage\",\n \"surfaceDeclarationCoverage\",\n \"refusalFixtureCoverage\",\n \"agentRunBridgeCoverage\",\n \"legacyDepthModeSeparationCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n },\n {\n key: \"graph_traversal_canon_v1\",\n emittedAs: \"GraphTraversalCanonV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"layerCoverage\",\n \"allowedHopCoverage\",\n \"shortcutLintCoverage\",\n \"migrationWarningCoverage\",\n \"compressionBoundaryCoverage\",\n \"traversalModeBridgeCoverage\",\n \"sourceGroundingCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n },\n {\n key: \"evidence_scoring_policy_v1\",\n emittedAs: \"EvidenceScoringPolicyV1\",\n primitives: [\"evidence\", \"belief\", \"question\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"taxonomyFieldCoverage\",\n \"targetScopeCoverage\",\n \"scoringPolicyCoverage\",\n \"metadataDereferenceCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n },\n {\n key: \"schema_change_belief_v1\",\n emittedAs: \"SchemaChangeBeliefV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"rationaleCoverage\",\n \"migrationReceiptCoverage\",\n \"compatibilityWindowCoverage\",\n \"supersessionCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n },\n {\n key: \"concept_maturity_rubric_v1\",\n emittedAs: \"ConceptMaturityRubricV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"conceptTechnicalSeparationCoverage\",\n \"evidenceRequirementCoverage\",\n \"thresholdCoverage\",\n \"docsCloseGateCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n },\n {\n key: \"primitive_maturity_matrix_v1\",\n emittedAs: \"PrimitiveMaturityMatrixV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"manifestPrimitiveCoverage\",\n \"sourceCitationCoverage\",\n \"tableFieldOwnershipCoverage\",\n \"redOrangeFollowOnCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n },\n {\n key: \"evidence_question_forecast_maturity_v1\",\n emittedAs: \"EvidenceQuestionForecastMaturityV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"provenanceClassCoverage\",\n \"baseRateSourceCoverage\",\n \"signedImpactCoverage\",\n \"questionPressureCoverage\",\n \"forecastSemanticCoverage\",\n \"propagationActionBoundaryCoverage\",\n ],\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n },\n {\n key: \"worktree_graph_branch_maturity_v1\",\n emittedAs: \"WorktreeGraphBranchMaturityV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"currentSurfaceCoverage\",\n \"targetSemanticCoverage\",\n \"reciprocalLinkDebtRecorded\",\n \"metadataDebtRecorded\",\n \"conflictTaxonomyCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n },\n {\n key: \"worktree_delta_ledger_v1\",\n emittedAs: \"WorktreeDeltaLedgerV1\",\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n defaultDepth: \"extra-high\",\n qualityVector: [\n \"scopeRefCoverage\",\n \"deltaLedgerCoverage\",\n \"graphDiffCoverage\",\n \"conflictTaxonomyCoverage\",\n \"occMvccCoverage\",\n \"metadataMigrationCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n },\n {\n key: \"observability_audit_store_migration_v1\",\n emittedAs: \"ObservabilityAuditStoreMigrationV1\",\n primitives: [\"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"writerInventoryCoverage\",\n \"typedBoundaryCoverage\",\n \"negativeGuardCoverage\",\n \"readModelClassificationCoverage\",\n \"legacyExportDryRunCoverage\",\n \"axiomQueryDimensionCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n },\n {\n key: \"docs_canon_reconciliation_loop_v1\",\n emittedAs: \"DocsCanonReconciliationLoopV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"sourceMaterialInventoryCoverage\",\n \"docOwnershipCoverage\",\n \"prChecklistCoverage\",\n \"maturityWritebackCoverage\",\n \"exemplarRewriteCoverage\",\n \"stalePathDispositionCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n },\n {\n key: \"canonical_edge_public_noun_lock_v1\",\n emittedAs: \"CanonicalEdgePublicNounLockV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"publicNounCoverage\",\n \"storageAliasCoverage\",\n \"confidenceBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n },\n {\n key: \"belongs_to_membership_model_v1\",\n emittedAs: \"BelongsToMembershipModelV1\",\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"membershipEdgeCoverage\",\n \"aclRelationCoverage\",\n \"scalarIndexDebtCoverage\",\n \"backfillLedgerCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n },\n {\n key: \"propagation_v2_contract_v1\",\n emittedAs: \"PropagationV2ContractV1\",\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n defaultDepth: \"extra-high\",\n qualityVector: [\n \"layerBoundaryCoverage\",\n \"edgeSpecCoverage\",\n \"attributionFieldCoverage\",\n \"correlationPolicyCoverage\",\n \"actionGateBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n },\n {\n key: \"worktree_belief_adoption_projection_v1\",\n emittedAs: \"WorktreeBeliefAdoptionProjectionV1\",\n primitives: [\"belief\", \"worktree\", \"question\", \"evidence\"],\n defaultDepth: \"high\",\n qualityVector: [\n \"worktreeReferenceCount\",\n \"descendantCount\",\n \"repeatedOperationalUseCount\",\n \"referencePaths\",\n \"intrinsicConfidenceMutation\",\n \"structuralAdoptionScore\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n },\n ],\n triggers: [\n {\n key: \"primitive_created\",\n eventShape: \"BitemporalEvent\",\n requiredFor: [\"auditEvent\", \"replayBinding\"],\n docsAnchor: \"docs/systems/reasoning-kernel/data-model/graph.md\",\n },\n {\n key: \"evidence_linked\",\n eventShape: \"SignedEvidenceImpactEvent\",\n requiredFor: [\"confidenceEffect\", \"auditEvent\"],\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n },\n {\n key: \"worktree_completed\",\n eventShape: \"WorktreeDeltaLedgerEvent\",\n requiredFor: [\"writeContract\", \"replayBinding\"],\n docsAnchor: \"docs/engineering/dev-loop/pr-handoff-package.md\",\n },\n ],\n surfaces: [\n {\n operation: \"compile_context\",\n reasoningStateTouching: \"read\",\n compositionEmitted: \"context_pack_v1\",\n defaultDepth: \"medium\",\n depthBehavior: {\n low: \"compact topic, belief, and question state\",\n medium: \"synthesis-first context narrative with ranked support objects\",\n high: \"adds contradiction, evidence, freshness, and diagnostics\",\n \"extra-high\": \"adds replay and source-horizon details when available\",\n },\n writeContract: {\n mode: \"read_only\",\n objects: [],\n edges: [],\n ledgers: [],\n projections: [\"contextNarrative\", \"retrievalReceipt\"],\n runtimeRecords: [],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"topic\",\n action: \"read_summarize\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"none\",\n provenanceRequired: \"read-only context compilation cannot move confidence\",\n },\n auditEvent: {\n eventShape: \"ContextCompileTrace\",\n required: false,\n },\n replayBinding: {\n mode: \"optional_source_horizon\",\n requiredRefs: [\"topicUuid\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 5000,\n high: 10000,\n \"extra-high\": 20000,\n },\n },\n failureMode: \"refuse_missing_scope\",\n docsAnchor: \"docs/reference/surfaces/function-surface.md#compile_context\",\n lints: [\"c2_la_required_surface_metadata\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"create_belief\",\n reasoningStateTouching: \"write\",\n compositionEmitted: \"belief\",\n defaultDepth: \"low\",\n depthBehavior: {\n low: \"returns the created belief envelope\",\n medium: \"includes topic and initial confidence projection\",\n high: \"includes write ledger and audit trace\",\n \"extra-high\": \"includes replay refs and policy diagnostics\",\n },\n writeContract: {\n mode: \"primitive_create\",\n objects: [\"belief\"],\n edges: [\"belongs_to\"],\n ledgers: [\"beliefHistory\"],\n projections: [\"beliefConfidence\"],\n runtimeRecords: [\"agent_run\"],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"topic\",\n action: \"node_mutate\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"vacuous_prior_only\",\n provenanceRequired: \"SL scoring must be supplied through evidence-backed paths\",\n },\n auditEvent: {\n eventShape: \"PrimitiveCreatedEvent\",\n required: true,\n },\n replayBinding: {\n mode: \"required_bitemporal_event\",\n requiredRefs: [\"topicUuid\", \"beliefUuid\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 3000,\n high: 6000,\n \"extra-high\": 12000,\n },\n },\n failureMode: \"refuse_missing_topic_or_policy\",\n docsAnchor: \"docs/reference/surfaces/function-surface.md#create_belief\",\n lints: [\"c2_la_required_surface_metadata\", \"c2_la_no_orphan_belief\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"create_evidence\",\n reasoningStateTouching: \"write\",\n compositionEmitted: \"evidence\",\n defaultDepth: \"low\",\n depthBehavior: {\n low: \"returns evidence and signed belief impact\",\n medium: \"includes linked belief refs and target topic\",\n high: \"includes confidence provenance and edge write receipt\",\n \"extra-high\": \"includes replay and bitemporal audit refs\",\n },\n writeContract: {\n mode: \"primitive_create\",\n objects: [\"evidence\"],\n edges: [\"supports\", \"contradicts\"],\n ledgers: [\"beliefHistory\"],\n projections: [\"beliefConfidence\"],\n runtimeRecords: [\"agent_run\"],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"belief\",\n action: \"evidence_mutate\",\n },\n calibrationRequirement: \"calibration_slice_optional\",\n confidenceEffect: {\n effect: \"signed_evidence_impact\",\n provenanceRequired: \"impact must be nonzero in [-1, 1] and match relation sign\",\n },\n auditEvent: {\n eventShape: \"SignedEvidenceImpactEvent\",\n required: true,\n },\n replayBinding: {\n mode: \"required_bitemporal_event\",\n requiredRefs: [\"evidenceUuid\", \"targetBeliefUuid\", \"signedImpact\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 4000,\n high: 8000,\n \"extra-high\": 16000,\n },\n },\n failureMode: \"refuse_orphan_or_unsigned_evidence\",\n docsAnchor: \"docs/reference/contracts/confidence-operators.md\",\n lints: [\"c2_la_required_surface_metadata\", \"c2_la_signed_evidence_impact\"],\n tests: [\"c2_la_manifest_skeleton\"],\n },\n {\n operation: \"list_worktrees_by_belief\",\n reasoningStateTouching: \"read\",\n compositionEmitted: \"worktree_belief_adoption_projection_v1\",\n defaultDepth: \"high\",\n depthBehavior: {\n low: \"returns linked worktree ids and relation roles\",\n medium: \"includes lane, campaign, order, and reference paths\",\n high: \"includes structural adoption ranking signals separated from intrinsic SL\",\n \"extra-high\": \"includes replay/source-material adoption refs when available\",\n },\n writeContract: {\n mode: \"read_only\",\n objects: [\"belief\", \"worktree\"],\n edges: [],\n ledgers: [],\n projections: [\"adoptionProjection\", \"referencePaths\", \"rankingSignals\"],\n runtimeRecords: [],\n sideEffects: [],\n },\n policyResource: {\n resourceType: \"belief\",\n action: \"read_structure\",\n },\n calibrationRequirement: \"none\",\n confidenceEffect: {\n effect: \"none\",\n provenanceRequired:\n \"structural adoption is confidence-adjacent and never mutates intrinsic SL\",\n },\n auditEvent: {\n eventShape: \"WorktreeBeliefAdoptionProjectionTrace\",\n required: false,\n },\n replayBinding: {\n mode: \"optional_source_horizon\",\n requiredRefs: [\"beliefUuid\", \"worktreeUuid\", \"referencePath\"],\n },\n latencyBudget: {\n byDepthMs: {\n low: 1500,\n medium: 3000,\n high: 6000,\n \"extra-high\": 12000,\n },\n },\n failureMode: \"refuse_missing_belief_or_backref_authority\",\n docsAnchor:\n \"docs/reference/contracts/worktree-belief-adoption.md\",\n lints: [\n \"c2_la_required_surface_metadata\",\n \"c2_rd_structural_adoption_no_intrinsic_confidence_mutation\",\n ],\n tests: [\"c2_la_manifest_skeleton\", \"c2_rd_worktree_belief_adoption\"],\n },\n ],\n lints: [\n {\n id: \"c2_la_required_surface_metadata\",\n severity: \"block_pr\",\n assertion:\n \"Every reasoning-state-touching surface declares depth, write, policy, confidence, audit, replay, failure, and docs metadata.\",\n },\n {\n id: \"c2_la_no_orphan_belief\",\n severity: \"block_pr\",\n assertion:\n \"Belief creation must include a required belongs_to edge to a topic epistemic node.\",\n },\n {\n id: \"c2_la_signed_evidence_impact\",\n severity: \"block_pr\",\n assertion:\n \"Evidence writes must declare signed support or contradiction impact in [-1, 1].\",\n },\n {\n id: \"c2_rd_structural_adoption_no_intrinsic_confidence_mutation\",\n severity: \"block_pr\",\n assertion:\n \"Worktree-belief adoption projection is read-only and must not modulate intrinsic Subjective Logic confidence.\",\n },\n ],\n tests: [\n {\n id: \"c2_la_manifest_skeleton\",\n command: \"npx tsx scripts/check-c2-la-manifest-skeleton.ts\",\n asserts: [\n \"six primitive shapes are present\",\n \"all surfaces carry the C2 metadata spine\",\n \"invalid fixtures fail schema validation\",\n ],\n },\n {\n id: \"c2_rd_worktree_belief_adoption\",\n command: \"npx tsx scripts/check-c2-rd-worktree-belief-adoption.ts\",\n asserts: [\n \"list_worktrees_by_belief emits the adoption projection composition\",\n \"Intent 2 ranks by structural adoption independently from intrinsic SL\",\n \"canonical pipeline belief hygiene separates SL uncertainty from adoption\",\n ],\n },\n ],\n};\n","import { z } from \"zod\";\nimport {\n DataModelDepthSchema,\n DataModelPolicyResourceSchema,\n} from \"./data-model-manifest.js\";\n\nexport const CompositionRegistryClassificationSchema = z.enum([\n \"substrate_contract\",\n \"runtime_product\",\n \"migration_projection\",\n]);\n\nexport const CompositionRegistryLifecycleSchema = z.enum([\n \"current\",\n \"target\",\n \"reserved\",\n]);\n\nexport const CompositionRegistryIdentitySchema = z.object({\n registryKeyField: z.literal(\"key\"),\n canonicalPublicIdField: z.literal(\"compositionUuid\"),\n canonicalPublicIdVersion: z.literal(\"uuidv7\"),\n storageLocatorSemantic: z.literal(false),\n contentAddressFields: z.array(z.string()).min(1),\n});\n\nexport const CompositionRegistryAuthorizationSchema = z.object({\n policyResource: DataModelPolicyResourceSchema,\n policyAdapter: z.literal(\"permit_authorize_v1\"),\n clippingRequired: z.boolean(),\n omissionRecord: z.string(),\n});\n\nexport const CompositionRegistrySourceHorizonSchema = z.object({\n mode: z.enum([\"none\", \"optional\", \"required\"]),\n requiredRefs: z.array(z.string()),\n});\n\nexport const CompositionRegistryFixtureMetadataSchema = z.object({\n positiveFixture: z.string(),\n refusalFixtures: z.array(z.string()).min(1),\n driftAssertions: z.array(z.string()).min(1),\n docsAnchor: z.string(),\n checkCommand: z.string(),\n});\n\nexport const CompositionRegistryEntrySchema = z.object({\n key: z.string(),\n emittedAs: z.string(),\n classification: CompositionRegistryClassificationSchema,\n lifecycle: CompositionRegistryLifecycleSchema,\n ownerLane: z.string(),\n dependsOn: z.array(z.string()),\n primitives: z.array(z.string()).min(1),\n sourceSurfaces: z.array(z.string()).min(1),\n defaultDepth: DataModelDepthSchema,\n allowedDepths: z.array(DataModelDepthSchema).min(1),\n qualityVector: z.array(z.string()).min(1),\n identity: CompositionRegistryIdentitySchema,\n authorization: CompositionRegistryAuthorizationSchema,\n sourceHorizon: CompositionRegistrySourceHorizonSchema,\n replayBinding: z.string(),\n docsAnchor: z.string(),\n fixtureMetadata: CompositionRegistryFixtureMetadataSchema,\n downstreamConsumers: z.array(z.string()).min(1),\n});\n\nexport const CompositionRegistrySchema = z.object({\n registryVersion: z.literal(\"c2_la_composition_registry.v1\"),\n worktree: z.literal(\"C2-LA.2\"),\n lane: z.literal(\"c2-la-manifest-spine\"),\n graphWorktreeId: z.literal(\"tn7ddh58hc7m64apsv33hy4t6d85ssm7\"),\n dependsOn: z.array(z.string()).min(1),\n sourceAnchors: z.array(z.string()).min(1),\n rules: z.array(z.string()).min(1),\n entries: z.array(CompositionRegistryEntrySchema).min(1),\n});\n\nexport type CompositionRegistryClassification = z.infer<\n typeof CompositionRegistryClassificationSchema\n>;\nexport type CompositionRegistryEntry = z.infer<\n typeof CompositionRegistryEntrySchema\n>;\nexport type CompositionRegistry = z.infer<typeof CompositionRegistrySchema>;\n\nexport const allDepths = [\"low\", \"medium\", \"high\", \"extra-high\"] as const;\n\nexport const registryIdentity = (\n contentAddressFields: readonly string[],\n): CompositionRegistryEntry[\"identity\"] => ({\n registryKeyField: \"key\",\n canonicalPublicIdField: \"compositionUuid\",\n canonicalPublicIdVersion: \"uuidv7\",\n storageLocatorSemantic: false,\n contentAddressFields: [...contentAddressFields],\n});\n\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_EARLY_ENTRIES = [\n {\n key: \"context_pack_v1\",\n emittedAs: \"ContextPackV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-la-manifest-spine\",\n dependsOn: [\"C2-LA.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\"compile_context\"],\n defaultDepth: \"medium\",\n allowedDepths: [...allDepths],\n qualityVector: [\"coverageRatio\", \"narrativeCoverage\", \"synthesisLints\"],\n identity: registryIdentity([\"key\", \"primitives\", \"sourceSurfaces\", \"defaultDepth\"]),\n authorization: {\n policyResource: {\n resourceType: \"topic\",\n action: \"summarize\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"contextPack.omissions[]\",\n },\n sourceHorizon: {\n mode: \"optional\",\n requiredRefs: [\"topicUuid\", \"principalUuid\", \"policyVersion\"],\n },\n replayBinding: \"ContextCompileTrace\",\n docsAnchor: \"docs/reference/contracts/context-pack.md\",\n fixtureMetadata: {\n positiveFixture: \"compile_context_synthesis_first\",\n refusalFixtures: [\"unreadable_topic_refused\", \"missing_scope_refused\"],\n driftAssertions: [\n \"compile_context emits context_pack_v1\",\n \"context_pack_v1 quality vector contains coverageRatio\",\n ],\n docsAnchor: \"docs/reference/contracts/data-model-manifest.md\",\n checkCommand: \"pnpm c2:manifest-spine:check\",\n },\n downstreamConsumers: [\n \"c2-ra-surface-contract-reconciliation\",\n \"c3-a-context-compiler\",\n ],\n },\n {\n key: \"worktree_packet_v1\",\n emittedAs: \"WorktreePacketV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-la-manifest-spine\",\n dependsOn: [\"C2-LA.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\"worktrees.context\", \"begin_build_session\"],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\"taskDispositionCoverage\", \"evidenceCoverage\"],\n identity: registryIdentity([\"key\", \"worktreeUuid\", \"targetBeliefUuids\"]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreePacket.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\"worktreeUuid\", \"targetBeliefUuids\", \"targetQuestionUuids\"],\n },\n replayBinding: \"WorktreeDeltaLedgerEvent\",\n docsAnchor: \"docs/engineering/dev-loop/handoff-contract.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_packet_with_tasks_beliefs_questions_evidence\",\n refusalFixtures: [\"unreadable_worktree_refused\", \"open_blocking_question_refused\"],\n driftAssertions: [\n \"worktree_packet_v1 includes taskDispositionCoverage\",\n \"worktree_packet_v1 requires evidenceCoverage\",\n ],\n docsAnchor: \"docs/reference/contracts/data-model-manifest.md\",\n checkCommand: \"pnpm c2:manifest-spine:check\",\n },\n downstreamConsumers: [\n \"c2-lv-worktree-delta-ledger\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n ],\n },\n {\n key: \"agent_run_trace_v1\",\n emittedAs: \"AgentRunTraceV1\",\n classification: \"runtime_product\",\n lifecycle: \"current\",\n ownerLane: \"c2-lk-agent-run\",\n dependsOn: [\"C2-LA.2\", \"C2-LC.1\", \"C2-LR.4\", \"C2-LV.1\", \"C2-LK.1\"],\n primitives: [\"agent_run\", \"worktree\", \"evidence\"],\n sourceSurfaces: [\"agent_run\", \"tool_invocation\"],\n defaultDepth: \"medium\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"identityScopeCoverage\",\n \"sourceHorizonCoverage\",\n \"policyProofCoverage\",\n \"actionGateCoverage\",\n \"writeCoverage\",\n \"terminalImmutabilityCoverage\",\n \"replayBindingCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"agentRunUuid\",\n \"policyHorizonVersion\",\n \"writeContractRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"agent\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"agentRunTrace.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"agentRunUuid\",\n \"principalUuid\",\n \"sourceHorizonRefs\",\n \"policyProofRefs\",\n \"policyHorizonVersion\",\n \"writeContractRef\",\n ],\n },\n replayBinding: \"AgentRunRecord+ComputationRun+ReplayRecord+BitemporalEvent\",\n docsAnchor: \"docs/reference/contracts/agent-run-contracts.md\",\n fixtureMetadata: {\n positiveFixture: \"agent_run_strict_trace_with_policy_action_gate_and_replay_refs\",\n refusalFixtures: [\n \"missing_agent_run_uuid_refused\",\n \"non_uuidv7_agent_run_uuid_refused\",\n \"missing_source_horizon_refused\",\n \"missing_policy_proof_refused\",\n \"tool_call_without_action_gate_refused\",\n \"write_without_write_contract_refused\",\n \"terminal_run_mutation_refused\",\n \"replay_binding_missing_refused\",\n \"legacy_run_id_as_canonical_refused\",\n ],\n driftAssertions: [\n \"agent_run_trace_v1 is current after C2-LK.1 locks the primitive\",\n \"agent_run_trace_v1 declares source horizon and policy proof requirements\",\n \"agent_run_trace_v1 binds tool actions to Action Gate refs and replay outputs\",\n ],\n docsAnchor: \"docs/reference/contracts/composition-registry.md\",\n checkCommand: \"pnpm c2:agent-run-primitive:check\",\n },\n downstreamConsumers: [\n \"c2-lk-agent-run#C2-LK.2\",\n \"c2-rc-evidence-taxonomy-and-target-scope\",\n \"c3-runtime-agent-trace-attribution\",\n ],\n },\n {\n key: \"traversal_mode_constitution_v1\",\n emittedAs: \"TraversalModeConstitutionV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-lk-agent-run\",\n dependsOn: [\"C2-LA.2\", \"C2-LK.1\", \"C2-LV.1\", \"C2-LK.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"compile_context\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"discover_entity_connections\",\n \"trace_entity_impact\",\n \"run_graph_intelligence_query\",\n ],\n defaultDepth: \"medium\",\n allowedDepths: [...allDepths],\n qualityVector: [\n \"modeCoverage\",\n \"depthCoverage\",\n \"surfaceDeclarationCoverage\",\n \"refusalFixtureCoverage\",\n \"agentRunBridgeCoverage\",\n \"legacyDepthModeSeparationCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"traversalMode\",\n \"requestedDepth\",\n \"sourceHorizonRefs\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"traversalModeConstitution.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"traversalMode\",\n \"requestedDepth\",\n \"effectiveDepth\",\n \"principalUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"AgentRunRecord+ContextCompileTrace+TraversalReceipt\",\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n fixtureMetadata: {\n positiveFixture: \"anchored_ranked_topic_context\",\n refusalFixtures: [\n \"missing_traversal_mode_refused\",\n \"missing_traversal_depth_refused\",\n \"invalid_traversal_mode_refused\",\n \"invalid_traversal_depth_refused\",\n \"legacy_depth_as_mode_refused\",\n \"depth_exceeds_mode_ceiling_refused\",\n \"mode_without_required_anchor_refused\",\n \"bounded_exploration_scope_missing_refused\",\n \"pattern_recall_evidence_write_refused\",\n \"forensic_replay_horizon_missing_refused\",\n ],\n driftAssertions: [\n \"traversal_mode_constitution_v1 is current after C2-LK.2\",\n \"public traversal surfaces declare traversalMode and requestedDepth\",\n \"legacy depth-as-mode values are refused by strict traversal fixtures\",\n ],\n docsAnchor: \"docs/reference/contracts/traversal-mode-constitution.md\",\n checkCommand: \"pnpm c2:traversal-mode-constitution:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests\",\n \"c2-lr-authorization-permit#C2-LR.5\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-context-compiler\",\n ],\n },\n {\n key: \"graph_traversal_canon_v1\",\n emittedAs: \"GraphTraversalCanonV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-lh-constitution-tests\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LB.1\",\n \"C2-LB.2\",\n \"C2-LK.2\",\n \"C2-RC.1\",\n \"C2-LH.1\",\n ],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"compile_context\",\n \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"expand_graph_neighborhood\",\n \"graph_linter\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [...allDepths],\n qualityVector: [\n \"layerCoverage\",\n \"allowedHopCoverage\",\n \"shortcutLintCoverage\",\n \"migrationWarningCoverage\",\n \"compressionBoundaryCoverage\",\n \"traversalModeBridgeCoverage\",\n \"sourceGroundingCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"layerDefinitions\",\n \"allowedHops\",\n \"violationPolicies\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"graphTraversalCanon.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"traversalMode\",\n \"requestedDepth\",\n \"layerPath\",\n \"sourceHorizonRefs\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"TraversalReceipt+GraphLintReceipt+SourceHorizon\",\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n fixtureMetadata: {\n positiveFixture: \"source_to_evidence_to_belief_allows\",\n refusalFixtures: [\n \"layerless_node_refused\",\n \"missing_traversal_mode_refused\",\n \"missing_traversal_depth_refused\",\n \"illegal_edge_family_refused\",\n \"l1_to_l3_shortcut_refused\",\n \"l1_to_l4_shortcut_refused\",\n \"l2_to_l4_shortcut_refused\",\n \"missing_l2_evidence_bridge_refused\",\n \"missing_l1_source_grounding_refused\",\n \"compression_boundary_missing_refused\",\n ],\n driftAssertions: [\n \"graph_traversal_canon_v1 is current after C2-LH.1 locks layer canon\",\n \"new writes and runtime reads fail closed on L1-L4 shortcut violations\",\n \"legacy migration warnings are explicit and disappear at Graph V2 cutover\",\n ],\n docsAnchor: \"docs/reference/contracts/graph-traversal-canon.md\",\n checkCommand: \"pnpm c2:graph-traversal-canon:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests#C2-LH.2\",\n \"c2-lh-constitution-tests#C2-LH.3\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c2-gg-substrate-resolution-ledger\",\n \"c2-lg-graph-v2-rebuild\",\n ],\n },\n {\n key: \"evidence_scoring_policy_v1\",\n emittedAs: \"EvidenceScoringPolicyV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-rc-evidence-taxonomy-and-target-scope\",\n dependsOn: [\"C2-LA.2\", \"C2-LC.3\", \"C2-LK.1\", \"C2-RC.1\"],\n primitives: [\"evidence\", \"belief\", \"question\"],\n sourceSurfaces: [\"create_evidence\", \"list_evidence\", \"paper_compiler.weakest_evidence\"],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"taxonomyFieldCoverage\",\n \"targetScopeCoverage\",\n \"scoringPolicyCoverage\",\n \"migrationFixtureCoverage\",\n \"metadataDereferenceCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"targetBeliefUuid\",\n \"evidenceRelation\",\n \"signedImpact\",\n \"sourceRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"read\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"evidenceScoringPolicy.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"targetBeliefUuid\",\n \"sourceRef\",\n \"sourceQuality\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"EvidenceScoringTrace\",\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n fixtureMetadata: {\n positiveFixture: \"weakest_evidence_target_scoped_policy\",\n refusalFixtures: [\n \"orphan_evidence_create_refused\",\n \"non_belief_create_target_refused\",\n \"zero_signed_impact_refused\",\n \"relation_signed_impact_mismatch_refused\",\n \"unscoped_list_evidence_refused\",\n \"metadata_scoring_plan_refused\",\n ],\n driftAssertions: [\n \"evidence_scoring_policy_v1 is current after C2-RC.1 locks taxonomy fields\",\n \"list_evidence targetId scope does not depend on metadata fallback\",\n \"paper compiler weakest_evidence plans contain no metadata dereferences\",\n ],\n docsAnchor: \"docs/reference/contracts/evidence-taxonomy-target-scope.md\",\n checkCommand: \"pnpm c2:evidence-taxonomy-target-scope:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c3-context-compiler-evidence-ranking\",\n \"c3-runtime-agent-trace-attribution\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_RESERVED_ENTRIES = [\n {\n key: \"published_belief_artifact_v1\",\n emittedAs: \"PublishedBeliefArtifactV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lx-atomic-publication-schema-beliefs\",\n dependsOn: [\"C2-LA.2\", \"C2-LR.1\", \"C2-LR.2\", \"C2-LT.3\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\"],\n sourceSurfaces: [\"publish_belief_artifact\", \"import_belief_artifact\"],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\"sourceLineageCoverage\", \"trustImportState\", \"revocationCoverage\"],\n identity: registryIdentity([\n \"key\",\n \"sourceBeliefUuid\",\n \"sourceGraphUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"output\",\n action: \"export\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"publishedBeliefArtifact.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"sourceBeliefUuid\",\n \"sourceGraphUuid\",\n \"tenantUuid\",\n \"workspaceUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"PublishedArtifactLedgerEvent\",\n docsAnchor:\n \"docs/roadmap/campaigns/c2-substrate/lanes/c2-la-manifest-spine/composition-registry.md\",\n fixtureMetadata: {\n positiveFixture: \"published_belief_artifact_round_trip\",\n refusalFixtures: [\n \"publish_without_policy_refused\",\n \"import_revoked_artifact_refused\",\n ],\n driftAssertions: [\n \"published_belief_artifact_v1 remains reserved until C2-LX.1 implements fixtures\",\n \"published belief artifacts use output export policy rather than cross-tenant references\",\n ],\n docsAnchor: \"docs/reference/contracts/composition-registry.md\",\n checkCommand: \"pnpm c2:composition-registry:check\",\n },\n downstreamConsumers: [\n \"c2-lx-atomic-publication-schema-beliefs\",\n \"c3-runtime-published-reasoning-imports\",\n ],\n },\n {\n key: \"schema_change_belief_v1\",\n emittedAs: \"SchemaChangeBeliefV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lx-atomic-publication-schema-beliefs\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"schema_change_belief_contract\",\n \"schema_migration_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"rationaleCoverage\",\n \"migrationReceiptCoverage\",\n \"compatibilityWindowCoverage\",\n \"supersessionCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"ownerPackage\",\n \"ownerTableOrContract\",\n \"diffDigest\",\n \"migrationReceiptUuid\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"mutate\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"schemaChangeBelief.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"schemaChangeUuid\",\n \"rationaleBeliefUuid\",\n \"reviewQuestionUuid\",\n \"migrationReceiptUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"SchemaChangeBeliefLedgerEvent\",\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n fixtureMetadata: {\n positiveFixture: \"schema_change_belief_with_migration_receipt\",\n refusalFixtures: [\n \"raw_convex_deploy_refused\",\n \"schema_change_without_migration_receipt_refused\",\n ],\n driftAssertions: [\n \"schema_change_belief_v1 remains reserved until C2-LX.2 closes\",\n \"schema changes carry rationale, migration receipt, compatibility window, and supersession coverage\",\n ],\n docsAnchor: \"docs/reference/contracts/schema-change-belief.md\",\n checkCommand: \"pnpm c2:schema-change-belief:check\",\n },\n downstreamConsumers: [\n \"c2-ls-schema-fitness\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-schema-migration\",\n ],\n },\n {\n key: \"concept_maturity_rubric_v1\",\n emittedAs: \"ConceptMaturityRubricV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\", \"C2-LX.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"concept_maturity_audit\",\n \"maturity_gate_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"conceptTechnicalSeparationCoverage\",\n \"evidenceRequirementCoverage\",\n \"thresholdCoverage\",\n \"docsCloseGateCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"rubricUuid\",\n \"subjectKind\",\n \"subjectUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"conceptMaturityRubric.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"rubricUuid\",\n \"subjectUuid\",\n \"evidenceRefs\",\n \"reviewQuestionUuid\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"ConceptMaturityAuditEvent\",\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n fixtureMetadata: {\n positiveFixture: \"concept_maturity_rubric_with_audit_fixture\",\n refusalFixtures: [\n \"code_existence_as_concept_maturity_refused\",\n \"green_without_evidence_refused\",\n ],\n driftAssertions: [\n \"concept_maturity_rubric_v1 remains reserved until C2-LY.1 closes\",\n \"concept and technical maturity scores remain separate quality dimensions\",\n ],\n docsAnchor: \"docs/reference/contracts/concept-maturity-rubric.md\",\n checkCommand: \"pnpm c2:concept-maturity:check\",\n },\n downstreamConsumers: [\n \"c2-ly-concept-maturity-industrialization\",\n \"c2-lb-edge-propagation-lock\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"primitive_maturity_matrix_v1\",\n emittedAs: \"PrimitiveMaturityMatrixV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"primitive_maturity_audit\",\n \"maturity_gate_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"manifestPrimitiveCoverage\",\n \"sourceCitationCoverage\",\n \"tableFieldOwnershipCoverage\",\n \"redOrangeFollowOnCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"matrixUuid\",\n \"primitiveUuid\",\n \"rubricCompositionKey\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"primitiveMaturityMatrix.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"matrixUuid\",\n \"primitiveUuid\",\n \"rubricUuid\",\n \"sourceCitations\",\n \"followOnWorktrees\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"PrimitiveMaturityAuditEvent\",\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n fixtureMetadata: {\n positiveFixture: \"primitive_maturity_matrix_all_manifest_primitives\",\n refusalFixtures: [\n \"primitive_missing_matrix_row_refused\",\n \"red_or_orange_without_follow_on_refused\",\n ],\n driftAssertions: [\n \"primitive_maturity_matrix_v1 remains reserved until C2-LY.2 closes\",\n \"every manifest primitive has source, table/field, docs, and follow-on coverage\",\n ],\n docsAnchor: \"docs/reference/contracts/primitive-maturity-matrix.md\",\n checkCommand: \"pnpm c2:primitive-maturity:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lc-state-vectors\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"evidence_question_forecast_maturity_v1\",\n emittedAs: \"EvidenceQuestionForecastMaturityV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LY.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.2\"],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"evidence_question_forecast_maturity_audit\",\n \"confidence_propagation_input_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"provenanceClassCoverage\",\n \"baseRateSourceCoverage\",\n \"signedImpactCoverage\",\n \"questionPressureCoverage\",\n \"forecastSemanticCoverage\",\n \"propagationActionBoundaryCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"evidenceUuid\",\n \"questionUuid\",\n \"forecastUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"node\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"evidenceQuestionForecastMaturity.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"evidenceUuid\",\n \"questionUuid\",\n \"baseRateSource\",\n \"signedImpact\",\n \"forecastSemantic\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"EvidenceQuestionForecastMaturityAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n fixtureMetadata: {\n positiveFixture:\n \"evidence_question_forecast_maturity_with_boundaries\",\n refusalFixtures: [\n \"unsigned_evidence_contribution_refused\",\n \"forecast_without_range_semantics_refused\",\n ],\n driftAssertions: [\n \"evidence_question_forecast_maturity_v1 remains reserved until C2-LY.3 closes\",\n \"confidence propagation consumes signed evidence and pressure state but does not authorize action gates\",\n ],\n docsAnchor:\n \"docs/reference/contracts/evidence-question-forecast-maturity.md\",\n checkCommand: \"pnpm c2:evidence-question-forecast:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lc-state-vectors\",\n \"c2-lj-calibration-action-gates-and-permit-bridge\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"worktree_graph_branch_maturity_v1\",\n emittedAs: \"WorktreeGraphBranchMaturityV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-LY.1\", \"C2-LY.2\", \"C2-LY.3\", \"C2-LS.4\", \"C2-LT.3\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\n \"worktree_graph_branch_maturity_audit\",\n \"worktree_delta_ledger_readiness_receipt\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"currentSurfaceCoverage\",\n \"targetSemanticCoverage\",\n \"reciprocalLinkDebtRecorded\",\n \"metadataDebtRecorded\",\n \"conflictTaxonomyCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"worktreeUuid\",\n \"scopeRefUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeGraphBranchMaturity.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"worktreeUuid\",\n \"scopeRefUuid\",\n \"targetBeliefUuids\",\n \"targetQuestionUuids\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"WorktreeGraphBranchMaturityAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_graph_branch_maturity_with_gap_map\",\n refusalFixtures: [\n \"graph_branch_without_delta_ledger_refused\",\n \"merge_without_graph_diff_refused\",\n ],\n driftAssertions: [\n \"worktree_graph_branch_maturity_v1 remains reserved until C2-LY.4 closes\",\n \"worktree graph-branch maturity records ScopeRef, delta ledger, GraphDiff, conflict taxonomy, and replay gaps\",\n ],\n docsAnchor:\n \"docs/reference/contracts/worktree-graph-branch-maturity.md\",\n checkCommand: \"pnpm c2:worktree-graph-branch:check\",\n },\n downstreamConsumers: [\n \"c2-lv-worktree-delta-ledger\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c3-runtime-substrate-readiness\",\n \"c4-runtime-replay\",\n ],\n },\n {\n key: \"worktree_delta_ledger_v1\",\n emittedAs: \"WorktreeDeltaLedgerV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lv-worktree-delta-ledger\",\n dependsOn: [\"C2-LS.2\", \"C2-LS.3\", \"C2-LT.3\", \"C2-LC.2\", \"C2-LY.4\"],\n primitives: [\"worktree\", \"belief\", \"question\", \"evidence\", \"agent_run\"],\n sourceSurfaces: [\n \"scope_ref\",\n \"worktree_delta_ledger_event\",\n \"graph_diff\",\n \"worktree_merge_conflict\",\n ],\n defaultDepth: \"extra-high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"scopeRefCoverage\",\n \"deltaLedgerCoverage\",\n \"graphDiffCoverage\",\n \"conflictTaxonomyCoverage\",\n \"occMvccCoverage\",\n \"metadataMigrationCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"scopeRefUuid\",\n \"worktreeUuid\",\n \"basisGraphRevision\",\n \"branchRevision\",\n \"policyScopeRef\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"worktree\",\n action: \"mutate\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeDeltaLedger.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"scopeRefUuid\",\n \"worktreeUuid\",\n \"basisGraphRevision\",\n \"ledgerEventUuids\",\n \"sourceHorizonRefs\",\n \"policyScopeRef\",\n ],\n },\n replayBinding: \"WorktreeDeltaLedgerEvent\",\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n fixtureMetadata: {\n positiveFixture: \"worktree_delta_ledger_with_graph_diff\",\n refusalFixtures: [\n \"draft_write_without_scope_ref_refused\",\n \"delta_event_without_revision_vector_refused\",\n \"graph_diff_without_ledger_event_refused\",\n \"merge_without_graph_diff_refused\",\n \"stale_basis_revision_refused\",\n \"metadata_worktree_id_as_scope_ref_refused\",\n \"target_array_as_branch_edge_refused\",\n \"conflict_without_taxonomy_refused\",\n ],\n driftAssertions: [\n \"worktree_delta_ledger_v1 remains reserved until C2-LV.1 closes\",\n \"worktree deltas require ScopeRef, ledger event, GraphDiff, typed conflict taxonomy, OCC/MVCC behavior, and metadata.worktreeId migration posture\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-delta-ledger.md\",\n checkCommand: \"pnpm c2:worktree-delta-ledger:check\",\n },\n downstreamConsumers: [\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c2-gg-substrate-resolution-ledger\",\n \"c2-gf-avatar-tree-foundation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c4-runtime-replay\",\n ],\n },\n {\n key: \"observability_audit_store_migration_v1\",\n emittedAs: \"ObservabilityAuditStoreMigrationV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ld-observability-audit-store-migration\",\n dependsOn: [\"C2-LA.2\", \"C2-LR.2\", \"C2-LV.1\"],\n primitives: [\"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"master_control_audit_event\",\n \"master_control_policy_decision\",\n \"axiom_master_control_audit_smoke\",\n \"observability_convex_write_guard\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"writerInventoryCoverage\",\n \"typedBoundaryCoverage\",\n \"negativeGuardCoverage\",\n \"readModelClassificationCoverage\",\n \"legacyExportDryRunCoverage\",\n \"axiomQueryDimensionCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"boundaryVersion\",\n \"surface\",\n \"eventNames\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"observability\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"observabilityAuditStoreMigration.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"boundaryVersion\",\n \"tenantId\",\n \"workspaceId\",\n \"correlationId\",\n \"policyTraceId\",\n \"legacyExportDryRunReceipt\",\n ],\n },\n replayBinding: \"MasterControlAxiomAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n fixtureMetadata: {\n positiveFixture:\n \"master_control_audit_policy_events_with_axiom_query_dimensions\",\n refusalFixtures: [\n \"direct_audit_log_write_refused\",\n \"direct_policy_decision_log_write_refused\",\n \"ingest_only_smoke_refused\",\n \"unclassified_mc_reader_refused\",\n \"legacy_export_without_dry_run_refused\",\n ],\n driftAssertions: [\n \"observability_audit_store_migration_v1 remains reserved until C2-LD.1 closes\",\n \"Master Control audit and policy-decision writes route through the typed observability boundary\",\n \"Axiom proof queries master_control events by tenant, workspace, request, policy trace, and correlation ID\",\n ],\n docsAnchor:\n \"docs/reference/contracts/observability-audit-store-migration.md\",\n checkCommand: \"pnpm c2:observability-audit-store:check\",\n },\n downstreamConsumers: [\n \"c2-gf-avatar-tree-foundation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c2-z-post-substrate-surface-upgrade\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"docs_canon_reconciliation_loop_v1\",\n emittedAs: \"DocsCanonReconciliationLoopV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-ly-concept-maturity-industrialization\",\n dependsOn: [\"C2-DOC.0\", \"C2-LA.2\", \"C2-LY.1\", \"C2-LY.4\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\", \"agent_run\"],\n sourceSurfaces: [\n \"docs_canon_reconciliation_check\",\n \"docs_maturity_writeback_receipt\",\n \"doc_companion_target_gate\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"sourceMaterialInventoryCoverage\",\n \"docOwnershipCoverage\",\n \"prChecklistCoverage\",\n \"maturityWritebackCoverage\",\n \"exemplarRewriteCoverage\",\n \"stalePathDispositionCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"sourceInventoryDigest\",\n \"ownershipMapDigest\",\n \"checklistVersion\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"docs\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"docsCanonReconciliation.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"sourceInventoryDigest\",\n \"ownershipMapDigest\",\n \"checklistVersion\",\n \"exemplarDocPath\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"DocsCanonReconciliationAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n fixtureMetadata: {\n positiveFixture:\n \"docs_canon_reconciliation_loop_with_inventory_ownership_and_exemplar\",\n refusalFixtures: [\n \"stale_source_alias_without_disposition_refused\",\n \"generated_manifest_as_conceptual_proof_refused\",\n ],\n driftAssertions: [\n \"docs_canon_reconciliation_loop_v1 remains reserved until C2-LY.5 closes\",\n \"docs canon reconciliation records source inventory, ownership map, PR checklist, maturity writeback, exemplar rewrite, and stale path disposition\",\n ],\n docsAnchor:\n \"docs/reference/contracts/docs-canon-reconciliation-loop.md\",\n checkCommand: \"pnpm c2:docs-canon:check\",\n },\n downstreamConsumers: [\n \"c2-lh-constitution-tests\",\n \"c2-ra-surface-contract-reconciliation\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"canonical_edge_public_noun_lock_v1\",\n emittedAs: \"CanonicalEdgePublicNounLockV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\", \"C2-LY.3\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"edge_policy_manifest\",\n \"create_edge\",\n \"edge_storage_alias_migration\",\n \"confidence_edge_dispatch\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"publicNounCoverage\",\n \"storageAliasCoverage\",\n \"confidenceBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"canonicalEdgeType\",\n \"storageAlias\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"canonicalEdgePublicNounLock.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"canonicalEdgeType\",\n \"storageAlias\",\n \"edgePolicyManifestVersion\",\n \"migrationReceiptId\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"CanonicalEdgePublicNounLockAuditEvent\",\n docsAnchor:\n \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n fixtureMetadata: {\n positiveFixture:\n \"canonical_edge_public_noun_lock_with_storage_alias_boundary\",\n refusalFixtures: [\n \"public_extracted_from_write_refused\",\n \"provenance_edge_confidence_write_refused\",\n ],\n driftAssertions: [\n \"canonical_edge_public_noun_lock_v1 remains reserved until C2-LB.1 closes\",\n \"derived_from remains the public provenance noun while extracted_from remains storage/read alias only\",\n ],\n docsAnchor:\n \"docs/reference/contracts/canonical-edge-public-noun-lock.md\",\n checkCommand: \"pnpm c2:canonical-edge-noun:check\",\n },\n downstreamConsumers: [\n \"c2-lb-edge-propagation-lock\",\n \"c2-lg-graph-v2-rebuild\",\n \"c2-lh-constitution-tests\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"belongs_to_membership_model_v1\",\n emittedAs: \"BelongsToMembershipModelV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\"C2-LA.2\", \"C2-LS.4\", \"C2-LT.3\", \"C2-LR.1\", \"C2-LB.1\"],\n primitives: [\"topic\", \"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"belief_topic_membership\",\n \"get_graph_neighborhood\",\n \"compile_context\",\n \"beliefs.getByTopic\",\n \"permit_relation_projection\",\n \"graph_v2_membership_backfill\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"membershipEdgeCoverage\",\n \"aclRelationCoverage\",\n \"scalarIndexDebtCoverage\",\n \"backfillLedgerCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"canonicalGraphEdgeType\",\n \"permitRelationAlias\",\n \"topicUuid\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"belongsToMembershipModel.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"canonicalGraphEdgeType\",\n \"permitRelationAlias\",\n \"topicUuid\",\n \"policyVersion\",\n \"backfillLedgerId\",\n ],\n },\n replayBinding: \"BelongsToMembershipModelAuditEvent\",\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n fixtureMetadata: {\n positiveFixture:\n \"belongs_to_membership_model_with_permit_alias_and_topicid_index\",\n refusalFixtures: [\n \"public_in_topic_edge_write_refused\",\n \"topic_id_as_semantic_source_refused\",\n \"backfill_cutover_without_ledgers_refused\",\n ],\n driftAssertions: [\n \"belongs_to_membership_model_v1 remains reserved until C2-LB.2 closes\",\n \"belongs_to remains the canonical public graph edge while in_topic remains Permit relation vocabulary\",\n \"topicId remains a repaired performance index only after edge parity\",\n ],\n docsAnchor: \"docs/reference/contracts/belongs-to-membership-model.md\",\n checkCommand: \"pnpm c2:belongs-to-membership:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c2-lh-constitution-tests\",\n \"c2-rd-worktree-belief-backrefs-and-adoption\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n {\n key: \"propagation_v2_contract_v1\",\n emittedAs: \"PropagationV2ContractV1\",\n classification: \"substrate_contract\",\n lifecycle: \"reserved\",\n ownerLane: \"c2-lb-edge-propagation-lock\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n \"C2-LB.1\",\n \"C2-LB.2\",\n \"C2-LY.3\",\n \"C2-LJ.1\",\n ],\n primitives: [\"belief\", \"question\", \"evidence\", \"worktree\"],\n sourceSurfaces: [\n \"edge_policy_manifest\",\n \"confidence_edge_dispatch\",\n \"sl_evidence_modulation\",\n \"confidence_propagation_v2\",\n \"calibration_slice\",\n \"action_gate_record\",\n ],\n defaultDepth: \"extra-high\",\n allowedDepths: [\"high\", \"extra-high\"],\n qualityVector: [\n \"layerBoundaryCoverage\",\n \"edgeSpecCoverage\",\n \"attributionFieldCoverage\",\n \"correlationPolicyCoverage\",\n \"actionGateBoundaryCoverage\",\n \"fixtureCoverage\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"propagationSpecVersion\",\n \"layerBoundaryVersion\",\n \"calibrationSliceId\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"edge\",\n action: \"audit\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"propagationV2Contract.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"propagationSpecVersion\",\n \"layerBoundaryVersion\",\n \"requiredAttributionFields\",\n \"correlationPolicyVersion\",\n \"calibrationSliceId\",\n \"actionGatePolicyVersion\",\n ],\n },\n replayBinding: \"PropagationV2ContractAuditEvent\",\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n fixtureMetadata: {\n positiveFixture:\n \"direct_evidence_intrinsic_modulation_with_projection_snapshot\",\n refusalFixtures: [\n \"derived_pressure_written_as_intrinsic_confidence_refused\",\n \"projection_without_path_attribution_refused\",\n \"actionability_without_gate_refused\",\n \"correlated_paths_independence_refused\",\n ],\n driftAssertions: [\n \"propagation_v2_contract_v1 remains reserved until C2-LB.3 closes\",\n \"derived pressure never writes intrinsic confidence directly\",\n \"actionable confidence requires calibration and an action gate record\",\n ],\n docsAnchor: \"docs/reference/contracts/propagation-v2-contract.md\",\n checkCommand: \"pnpm c2:propagation-v2:check\",\n },\n downstreamConsumers: [\n \"c2-lc-state-vectors\",\n \"c2-lh-constitution-tests\",\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import {\n allDepths,\n registryIdentity,\n type CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_LATE_ENTRIES = [\n {\n key: \"worktree_belief_adoption_projection_v1\",\n emittedAs: \"WorktreeBeliefAdoptionProjectionV1\",\n classification: \"substrate_contract\",\n lifecycle: \"current\",\n ownerLane: \"c2-rd-worktree-belief-backrefs-and-adoption\",\n dependsOn: [\n \"C2-LA.2\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n \"C2-LC.3\",\n \"C2-LV.1\",\n \"C2-LK.2\",\n \"C2-RC.1\",\n \"C2-LH.1\",\n ],\n primitives: [\"belief\", \"worktree\", \"question\", \"evidence\"],\n sourceSurfaces: [\n \"list_worktrees_by_belief\",\n \"worktreeBeliefCluster\",\n \"worktrees.targetBeliefIds\",\n \"source_material_adoption_ledger\",\n ],\n defaultDepth: \"high\",\n allowedDepths: [\"medium\", \"high\", \"extra-high\"],\n qualityVector: [\n \"worktreeReferenceCount\",\n \"descendantCount\",\n \"repeatedOperationalUseCount\",\n \"referencePaths\",\n \"intrinsicConfidenceMutation\",\n \"structuralAdoptionScore\",\n ],\n identity: registryIdentity([\n \"key\",\n \"modelUuid\",\n \"beliefUuid\",\n \"worktreeUuid\",\n \"projectionVersion\",\n \"policyVersion\",\n ]),\n authorization: {\n policyResource: {\n resourceType: \"belief\",\n action: \"read_structure\",\n },\n policyAdapter: \"permit_authorize_v1\",\n clippingRequired: true,\n omissionRecord: \"worktreeBeliefAdoption.omissions[]\",\n },\n sourceHorizon: {\n mode: \"required\",\n requiredRefs: [\n \"modelUuid\",\n \"beliefUuid\",\n \"worktreeUuid\",\n \"referencePath\",\n \"policyVersion\",\n ],\n },\n replayBinding: \"WorktreeBeliefAdoptionProjectionTrace\",\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n fixtureMetadata: {\n positiveFixture: \"canonical_pipeline_belief_structural_adoption\",\n refusalFixtures: [\n \"intrinsic_confidence_mutation_refused\",\n \"adoption_without_reference_path_refused\",\n \"intent2_intrinsic_sl_only_ranking_refused\",\n \"unclassified_empty_target_belief_worktree_refused\",\n ],\n driftAssertions: [\n \"list_worktrees_by_belief emits worktree_belief_adoption_projection_v1\",\n \"structural adoption ranking does not require intrinsic SL support\",\n \"adoption projection never mutates intrinsic confidence\",\n ],\n docsAnchor: \"docs/reference/contracts/worktree-belief-adoption.md\",\n checkCommand: \"pnpm c2:worktree-belief-adoption:check\",\n },\n downstreamConsumers: [\n \"c2-lg-graph-v2-rebuild\",\n \"c3-runtime-substrate-readiness\",\n \"C3-LB confidence projection and ranking operators\",\n ],\n },\n] satisfies CompositionRegistryEntry[];\n","import { DATA_MODEL_MANIFEST_SKELETON } from \"./data-model-manifest.js\";\nimport { C2_LA_COMPOSITION_EARLY_ENTRIES } from \"./composition-registry-early-entries.js\";\nimport { C2_LA_COMPOSITION_RESERVED_ENTRIES } from \"./composition-registry-reserved-entries.js\";\nimport { C2_LA_COMPOSITION_LATE_ENTRIES } from \"./composition-registry-late-entries.js\";\nimport {\n CompositionRegistrySchema,\n type CompositionRegistry,\n} from \"./composition-registry-shared.js\";\n\nexport {\n CompositionRegistryAuthorizationSchema,\n CompositionRegistryClassificationSchema,\n CompositionRegistryEntrySchema,\n CompositionRegistryFixtureMetadataSchema,\n CompositionRegistryIdentitySchema,\n CompositionRegistryLifecycleSchema,\n CompositionRegistrySchema,\n CompositionRegistrySourceHorizonSchema,\n} from \"./composition-registry-shared.js\";\nexport type {\n CompositionRegistry,\n CompositionRegistryClassification,\n CompositionRegistryEntry,\n} from \"./composition-registry-shared.js\";\n\nexport const C2_LA_COMPOSITION_REGISTRY = {\n registryVersion: \"c2_la_composition_registry.v1\",\n worktree: \"C2-LA.2\",\n lane: \"c2-la-manifest-spine\",\n graphWorktreeId: \"tn7ddh58hc7m64apsv33hy4t6d85ssm7\",\n dependsOn: [\n \"C2-LA.1\",\n \"C2-LS.4\",\n \"C2-LT.3\",\n \"C2-LR.1\",\n ],\n sourceAnchors: [\n \"docs/epistemic/lucern-campaign-buildout-addendum.md\",\n \"docs/epistemic/lucern-graph-data-model.md\",\n \"docs/roadmap/2026-04-25-pulse-diamonds.md\",\n \"docs/roadmap/campaigns/c2-substrate/README.md#l2-c2-la-manifest-spine-2-worktrees\",\n ],\n rules: [\n \"Every data-model manifest composition must have one registry entry.\",\n \"Every reasoning-state-touching manifest surface must emit a registered composition or primitive.\",\n \"Every registry entry declares UUIDv7 composition identity and treats storage locators as non-semantic.\",\n \"Every substrate_contract entry declares authorization clipping, omission records, source horizon posture, quality vector, refusal fixtures, and downstream consumers.\",\n \"Runtime products may be target lifecycle rows, but they still need policy resources, replay binding, and refusal fixtures before codegen consumes them.\",\n ],\n entries: [\n ...C2_LA_COMPOSITION_EARLY_ENTRIES,\n ...C2_LA_COMPOSITION_RESERVED_ENTRIES,\n ...C2_LA_COMPOSITION_LATE_ENTRIES,\n ],\n} satisfies CompositionRegistry;\n\nexport const parsedCompositionRegistry = CompositionRegistrySchema.parse(\n C2_LA_COMPOSITION_REGISTRY,\n);\n\nexport const DATA_MODEL_MANIFEST_COMPOSITION_KEYS = DATA_MODEL_MANIFEST_SKELETON\n .compositions.map((composition) => composition.key);\n\nexport const DATA_MODEL_MANIFEST_SURFACE_COMPOSITION_KEYS =\n DATA_MODEL_MANIFEST_SKELETON.surfaces.map((surface) => surface.compositionEmitted);\n","import { z } from \"zod\";\n\nexport const EVIDENCE_RELATION_VALUES = [\n \"supports\",\n \"contradicts\",\n] as const;\n\nexport const EVIDENCE_METHODOLOGY_VALUES = [\n \"primary_research\",\n \"expert_interview\",\n \"customer_interview\",\n \"field_observation\",\n \"proprietary_data\",\n \"desk_research\",\n \"regulatory_filing\",\n \"news_article\",\n \"academic_paper\",\n \"ai_synthesis\",\n \"ai_extraction\",\n] as const;\n\nexport const EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [\n \"proprietary\",\n \"early\",\n \"common\",\n] as const;\n\nexport const EVIDENCE_SOURCE_QUALITY_VALUES = [\n \"primary\",\n \"analyzed\",\n \"secondary\",\n \"tertiary\",\n \"unknown\",\n] as const;\n\nexport const EVIDENCE_SOURCE_TYPE_VALUES = [\n \"human\",\n \"ai_extracted\",\n \"ai_generated\",\n \"imported\",\n \"system\",\n \"verified\",\n \"proprietary\",\n] as const;\n\nexport const EVIDENCE_SCORING_DIMENSIONS = [\n \"signedImpact\",\n \"evidenceRelation\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceRef\",\n \"targetBeliefId\",\n \"verificationStatus\",\n] as const;\n\nexport const EVIDENCE_TAXONOMY_REFUSAL_IDS = [\n \"orphan_evidence_create_refused\",\n \"non_belief_create_target_refused\",\n \"zero_signed_impact_refused\",\n \"relation_signed_impact_mismatch_refused\",\n \"unscoped_list_evidence_refused\",\n \"metadata_scoring_plan_refused\",\n] as const;\n\nexport type EvidenceRelation = (typeof EVIDENCE_RELATION_VALUES)[number];\nexport type EvidenceMethodology = (typeof EVIDENCE_METHODOLOGY_VALUES)[number];\nexport type EvidenceInformationAsymmetry =\n (typeof EVIDENCE_INFORMATION_ASYMMETRY_VALUES)[number];\nexport type EvidenceSourceQuality =\n (typeof EVIDENCE_SOURCE_QUALITY_VALUES)[number];\nexport type EvidenceSourceType = (typeof EVIDENCE_SOURCE_TYPE_VALUES)[number];\nexport type EvidenceScoringDimension =\n (typeof EVIDENCE_SCORING_DIMENSIONS)[number];\nexport type EvidenceTaxonomyRefusalId =\n (typeof EVIDENCE_TAXONOMY_REFUSAL_IDS)[number];\n\nexport const EvidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nexport const EvidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nexport const EvidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nexport const EvidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nexport const EvidenceSourceTypeSchema = z.enum(EVIDENCE_SOURCE_TYPE_VALUES);\nexport const EvidenceScoringDimensionSchema = z.enum(\n EVIDENCE_SCORING_DIMENSIONS,\n);\n","import { z } from \"zod\";\n\nimport { isUuidV7 } from \"./ids/index.js\";\nimport { C2_LA_COMPOSITION_REGISTRY } from \"./manifests/composition-registry.js\";\nimport {\n EvidenceInformationAsymmetrySchema,\n EvidenceMethodologySchema,\n EvidenceRelationSchema,\n EvidenceScoringDimensionSchema,\n EvidenceSourceQualitySchema,\n EvidenceSourceTypeSchema,\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SCORING_DIMENSIONS,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n EVIDENCE_SOURCE_TYPE_VALUES,\n EVIDENCE_TAXONOMY_REFUSAL_IDS,\n} from \"./types/evidence-taxonomy-target-scope.js\";\n\nexport {\n EvidenceInformationAsymmetrySchema,\n EvidenceMethodologySchema,\n EvidenceRelationSchema,\n EvidenceScoringDimensionSchema,\n EvidenceSourceQualitySchema,\n EvidenceSourceTypeSchema,\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SCORING_DIMENSIONS,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n EVIDENCE_SOURCE_TYPE_VALUES,\n EVIDENCE_TAXONOMY_REFUSAL_IDS,\n} from \"./types/evidence-taxonomy-target-scope.js\";\nexport type {\n EvidenceInformationAsymmetry,\n EvidenceMethodology,\n EvidenceRelation,\n EvidenceScoringDimension,\n EvidenceSourceQuality,\n EvidenceSourceType,\n EvidenceTaxonomyRefusalId,\n} from \"./types/evidence-taxonomy-target-scope.js\";\n\nexport const EVIDENCE_TAXONOMY_CONTRACT_VERSION =\n \"c2_rc_evidence_taxonomy_target_scope.v1\" as const;\nexport const EVIDENCE_TAXONOMY_WORKTREE = \"C2-RC.1\" as const;\nexport const EVIDENCE_TAXONOMY_LANE =\n \"c2-rc-evidence-taxonomy-and-target-scope\" as const;\nexport const EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID =\n \"tn74ztrs0q9f5f096p5y88rtx185wyzx\" as const;\nexport const EVIDENCE_TAXONOMY_COMPOSITION_KEY =\n \"evidence_scoring_policy_v1\" as const;\n\nconst UuidV7StringSchema = z\n .string()\n .uuid()\n .refine(isUuidV7, \"must be UUIDv7\");\n\nconst TopLevelEvidenceFieldSchema = z.object({\n field: z.enum([\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"targetBeliefGlobalId\",\n \"sourceRef\",\n \"sourceUrl\",\n \"sourceQuestionId\",\n \"sourceQuality\",\n \"sourceDescription\",\n \"methodology\",\n \"informationAsymmetry\",\n \"sourceType\",\n \"externalSourceType\",\n \"verificationStatus\",\n \"kind\",\n \"tags\",\n ]),\n requiredForCreate: z.boolean(),\n metadataFallbackReadAllowed: z.boolean(),\n writeAuthority: z.literal(\"top_level\"),\n});\n\nconst EvidenceScoringPolicySchema = z.object({\n policyKey: z.literal(EVIDENCE_TAXONOMY_COMPOSITION_KEY),\n dimensions: z.array(EvidenceScoringDimensionSchema).min(1),\n metadataDereferencesAllowed: z.literal(false),\n scoreRange: z.object({\n min: z.literal(-1),\n max: z.literal(1),\n zeroAllowed: z.literal(false),\n }),\n targetScopeSurface: z.literal(\"list_evidence\"),\n targetScopeRequiredArgument: z.literal(\"targetId\"),\n});\n\nconst PaperCompilerIntentPlanSchema = z.object({\n intent: z.literal(\"weakest_evidence\"),\n naturalLanguagePrompt: z.literal(\"what evidence is weakest?\"),\n requiredSurface: z.literal(\"list_evidence\"),\n requiredArgs: z.array(z.literal(\"targetId\")).min(1),\n rankingFields: z.array(EvidenceScoringDimensionSchema).min(1),\n forbiddenDereferences: z.array(z.string()).min(1),\n});\n\nconst MigrationFixtureSchema = z.object({\n referenceEvidenceId: z.literal(\"n971nzc2nrr44srpynqmxcjqsd85wrh3\"),\n legacyShape: z.object({\n metadataFields: z.array(z.string()).min(1),\n }),\n canonicalShape: z.object({\n topLevelFields: z.array(TopLevelEvidenceFieldSchema.shape.field).min(1),\n targetScope: z.literal(\"belief\"),\n preservesSemantics: z.literal(true),\n }),\n});\n\nexport const EvidenceTaxonomyTargetScopeContractSchema = z\n .object({\n contractVersion: z.literal(EVIDENCE_TAXONOMY_CONTRACT_VERSION),\n modelUuid: UuidV7StringSchema,\n worktree: z.literal(EVIDENCE_TAXONOMY_WORKTREE),\n lane: z.literal(EVIDENCE_TAXONOMY_LANE),\n graphWorktreeId: z.literal(EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID),\n compositionKey: z.literal(EVIDENCE_TAXONOMY_COMPOSITION_KEY),\n topLevelFields: z.array(TopLevelEvidenceFieldSchema).min(1),\n scoringPolicy: EvidenceScoringPolicySchema,\n paperCompilerIntent: PaperCompilerIntentPlanSchema,\n migrationFixture: MigrationFixtureSchema,\n expectedRefusals: z.array(z.enum(EVIDENCE_TAXONOMY_REFUSAL_IDS)).min(1),\n quality: z.object({\n taxonomyFieldCoverage: z.literal(1),\n targetScopeCoverage: z.literal(1),\n scoringPolicyCoverage: z.literal(1),\n migrationFixtureCoverage: z.literal(1),\n metadataDereferenceCoverage: z.literal(1),\n }),\n })\n .superRefine((value, ctx) => {\n const fieldNames = new Set(value.topLevelFields.map((entry) => entry.field));\n for (const field of [\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"sourceRef\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n ] as const) {\n if (!fieldNames.has(field)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"topLevelFields\"],\n message: `missing canonical evidence field ${field}`,\n });\n }\n }\n\n for (const dimension of value.scoringPolicy.dimensions) {\n if (!fieldNames.has(dimension) && dimension !== \"verificationStatus\") {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"scoringPolicy\", \"dimensions\"],\n message: `${dimension} is not backed by a top-level evidence field`,\n });\n }\n }\n\n if (\n value.paperCompilerIntent.forbiddenDereferences.some(\n (path) => !path.startsWith(\"metadata.\"),\n )\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [\"paperCompilerIntent\", \"forbiddenDereferences\"],\n message: \"RC.1 forbidden compiler dereferences must name metadata paths\",\n });\n }\n });\n\nexport type EvidenceTaxonomyTargetScopeContract = z.infer<\n typeof EvidenceTaxonomyTargetScopeContractSchema\n>;\n\nexport const EVIDENCE_TAXONOMY_TARGET_SCOPE_CONTRACT = {\n contractVersion: EVIDENCE_TAXONOMY_CONTRACT_VERSION,\n modelUuid: \"019e92ff-95e7-7000-91b0-44af9c2a33d1\",\n worktree: EVIDENCE_TAXONOMY_WORKTREE,\n lane: EVIDENCE_TAXONOMY_LANE,\n graphWorktreeId: EVIDENCE_TAXONOMY_GRAPH_WORKTREE_ID,\n compositionKey: EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n topLevelFields: [\n {\n field: \"evidenceRelation\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"signedImpact\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"targetBeliefId\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"targetBeliefGlobalId\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceRef\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceUrl\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceQuestionId\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceQuality\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceDescription\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"methodology\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"informationAsymmetry\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"sourceType\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: false,\n writeAuthority: \"top_level\",\n },\n {\n field: \"externalSourceType\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"verificationStatus\",\n requiredForCreate: true,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"kind\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n {\n field: \"tags\",\n requiredForCreate: false,\n metadataFallbackReadAllowed: true,\n writeAuthority: \"top_level\",\n },\n ],\n scoringPolicy: {\n policyKey: EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n dimensions: [...EVIDENCE_SCORING_DIMENSIONS],\n metadataDereferencesAllowed: false,\n scoreRange: {\n min: -1,\n max: 1,\n zeroAllowed: false,\n },\n targetScopeSurface: \"list_evidence\",\n targetScopeRequiredArgument: \"targetId\",\n },\n paperCompilerIntent: {\n intent: \"weakest_evidence\",\n naturalLanguagePrompt: \"what evidence is weakest?\",\n requiredSurface: \"list_evidence\",\n requiredArgs: [\"targetId\"],\n rankingFields: [\n \"signedImpact\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n \"verificationStatus\",\n ],\n forbiddenDereferences: [\n \"metadata.evidenceRelation\",\n \"metadata.methodology\",\n \"metadata.informationAsymmetry\",\n \"metadata.sourceQuality\",\n \"metadata.targetId\",\n ],\n },\n migrationFixture: {\n referenceEvidenceId: \"n971nzc2nrr44srpynqmxcjqsd85wrh3\",\n legacyShape: {\n metadataFields: [\n \"metadata.evidenceRelation\",\n \"metadata.methodology\",\n \"metadata.informationAsymmetry\",\n \"metadata.sourceQuality\",\n \"metadata.targetId\",\n \"metadata.linkedBeliefNodeId\",\n ],\n },\n canonicalShape: {\n topLevelFields: [\n \"evidenceRelation\",\n \"signedImpact\",\n \"targetBeliefId\",\n \"sourceRef\",\n \"sourceQuality\",\n \"methodology\",\n \"informationAsymmetry\",\n ],\n targetScope: \"belief\",\n preservesSemantics: true,\n },\n },\n expectedRefusals: [...EVIDENCE_TAXONOMY_REFUSAL_IDS],\n quality: {\n taxonomyFieldCoverage: 1,\n targetScopeCoverage: 1,\n scoringPolicyCoverage: 1,\n migrationFixtureCoverage: 1,\n metadataDereferenceCoverage: 1,\n },\n} as const satisfies EvidenceTaxonomyTargetScopeContract;\n\nexport const parsedEvidenceTaxonomyTargetScopeContract =\n EvidenceTaxonomyTargetScopeContractSchema.parse(\n EVIDENCE_TAXONOMY_TARGET_SCOPE_CONTRACT,\n );\n\nexport const EVIDENCE_TAXONOMY_COMPOSITION_ROW =\n C2_LA_COMPOSITION_REGISTRY.entries.find(\n (entry) => entry.key === EVIDENCE_TAXONOMY_COMPOSITION_KEY,\n );\n","import type { z } from \"zod\";\n\nexport interface ProjectionDef<TInput, TConvexArgs> {\n contractName: string;\n inputSchema: z.ZodSchema<TInput>;\n project: (input: TInput) => TConvexArgs;\n convexArgsValidator: unknown;\n}\n\nexport function defineProjection<I, C>(\n def: ProjectionDef<I, C>\n): ProjectionDef<I, C> {\n return def;\n}\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport {\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n} from \"../evidence-taxonomy-target-scope.contract.js\";\nimport { decodePrefixedId } from \"../ids.contract.js\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst evidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nconst evidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nconst evidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nconst evidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nconst evidenceRelationAliasSchema = z.enum([\n \"supports\",\n \"contradicts\",\n \"supporting\",\n \"contradicting\",\n]);\nconst beliefRelationSchema = z.object({\n beliefId: z.string().optional(),\n beliefNodeId: z.string().optional(),\n targetId: z.string().optional(),\n relation: evidenceRelationAliasSchema.optional(),\n evidenceRelation: evidenceRelationSchema.optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n rationale: z.string().optional(),\n});\n\nconst createEvidenceInputSchemaBase = z\n .object({\n projectId: z.string().optional(),\n topicId: z.string().optional(),\n text: z.string().optional(),\n canonicalText: z.string().optional(),\n title: z.string().optional(),\n content: z.string().optional(),\n contentType: z.string().optional(),\n kind: z.string().optional(),\n tags: z.array(z.string()).optional(),\n source: z.string().optional(),\n sourceUrl: z.string().optional(),\n externalSourceUrl: z.string().optional(),\n sourceType: z.string().optional(),\n externalSourceType: z.string().optional(),\n sourceQuestionId: z.string().optional(),\n methodology: evidenceMethodologySchema.optional(),\n informationAsymmetry: evidenceInformationAsymmetrySchema.optional(),\n sourceQuality: evidenceSourceQualitySchema.optional(),\n sourceDescription: z.string().optional(),\n targetId: z.string().optional(),\n targetNodeId: z.string().optional(),\n linkedBeliefNodeId: z.string().optional(),\n evidenceRelation: evidenceRelationSchema.optional(),\n beliefRelations: z.array(beliefRelationSchema).optional(),\n confidence: z.number().optional(),\n weight: z.number().optional(),\n reasoning: z.string().optional(),\n rationale: z.string(),\n metadata: jsonRecordSchema.optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n })\n .passthrough();\n\nfunction isSignedImpactScore(value: number | undefined): value is number {\n return (\n typeof value === \"number\" &&\n Number.isFinite(value) &&\n value >= -1 &&\n value <= 1 &&\n value !== 0\n );\n}\n\nfunction validateSignedImpactScore(\n value: number | undefined,\n ctx: z.RefinementCtx,\n path: (string | number)[],\n) {\n if (!isSignedImpactScore(value)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"evidence-to-belief links require an explicit nonzero signed impact score in [-1, 1]\",\n path,\n });\n return false;\n }\n return true;\n}\n\nfunction validateRelationImpactConsistency(\n relation: string | undefined,\n weight: number | undefined,\n ctx: z.RefinementCtx,\n path: (string | number)[],\n) {\n const normalized = normalizeRelationAlias(relation);\n if (!normalized || !isSignedImpactScore(weight)) {\n return;\n }\n if (normalized === \"supports\" && weight < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"supporting evidence requires a positive impact score\",\n path,\n });\n }\n if (normalized === \"contradicts\" && weight > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"contradicting evidence requires a negative impact score\",\n path,\n });\n }\n}\n\nexport const createEvidenceInputSchema = createEvidenceInputSchemaBase.superRefine(\n (input, ctx) => {\n if (!input.text && !input.canonicalText) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"create_evidence requires text\",\n path: [\"text\"],\n });\n }\n\n const target = input.targetId ?? input.targetNodeId;\n const kind = targetKind(target);\n const linksPrimaryBelief = Boolean(\n input.linkedBeliefNodeId ||\n kind === \"belief\" ||\n (kind === \"unknown\" && target),\n );\n const weight =\n typeof input.weight === \"number\" ? input.weight : undefined;\n const hasBeliefRelations = (input.beliefRelations?.length ?? 0) > 0;\n if (!linksPrimaryBelief && !hasBeliefRelations) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"create_evidence requires at least one linked belief; evidence cannot be created as an orphan or linked only to a question/worktree\",\n path: [\"linkedBeliefNodeId\"],\n });\n }\n if (kind === \"question\" || kind === \"worktree\") {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"create_evidence targetId must be a belief. Link evidence to questions/worktrees only after the evidence has a belief impact edge.\",\n path: [\"targetId\"],\n });\n }\n if (linksPrimaryBelief) {\n validateSignedImpactScore(weight, ctx, [\"weight\"]);\n validateRelationImpactConsistency(input.evidenceRelation, weight, ctx, [\n \"weight\",\n ]);\n }\n\n input.beliefRelations?.forEach((relation, index) => {\n const beliefNodeId =\n relation.beliefNodeId ?? relation.beliefId ?? relation.targetId;\n if (!beliefNodeId) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"beliefRelations entries require beliefId, beliefNodeId, or targetId\",\n path: [\"beliefRelations\", index, \"beliefNodeId\"],\n });\n }\n const relationWeight =\n typeof relation.weight === \"number\" ? relation.weight : undefined;\n if (beliefNodeId) {\n validateSignedImpactScore(relationWeight, ctx, [\n \"beliefRelations\",\n index,\n \"weight\",\n ]);\n validateRelationImpactConsistency(\n relation.evidenceRelation ?? relation.relation,\n relationWeight,\n ctx,\n [\"beliefRelations\", index, \"weight\"],\n );\n }\n });\n },\n);\n\nexport type CreateEvidenceProjectionInput = z.infer<\n typeof createEvidenceInputSchema\n>;\n\nfunction compactRecord(\n input: Record<string, unknown>,\n): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(input).filter(([, value]) => value !== undefined),\n );\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction recordValue(value: unknown): Record<string, unknown> {\n return isRecord(value) ? value : {};\n}\n\nfunction normalizeTopicIdForKernel(\n topicId: string | undefined,\n): string | undefined {\n const normalized = topicId?.trim();\n if (!normalized) {\n return undefined;\n }\n\n try {\n const decoded = decodePrefixedId(normalized);\n return decoded.prefix === \"top\" ? decoded.value : normalized;\n } catch {\n return normalized;\n }\n}\n\nfunction normalizeWorktreeId(value: string | undefined): string | undefined {\n const normalized = value?.trim();\n if (!normalized) {\n return undefined;\n }\n if (normalized.startsWith(\"wt_\")) {\n return normalized.slice(\"wt_\".length);\n }\n return normalized;\n}\n\nfunction targetKind(\n targetId: string | undefined,\n): \"belief\" | \"question\" | \"worktree\" | \"unknown\" {\n const normalized = targetId?.trim();\n if (!normalized) {\n return \"unknown\";\n }\n if (normalized.startsWith(\"wt_\") || /^tn[a-z0-9]+$/i.test(normalized)) {\n return \"worktree\";\n }\n if (normalized.startsWith(\"que_\")) {\n return \"question\";\n }\n if (normalized.startsWith(\"bel_\")) {\n return \"belief\";\n }\n return \"unknown\";\n}\n\nfunction normalizeRelationAlias(value: string | undefined) {\n if (value === \"supports\" || value === \"supporting\") {\n return \"supports\" as const;\n }\n if (value === \"contradicts\" || value === \"contradicting\") {\n return \"contradicts\" as const;\n }\n return undefined;\n}\n\nfunction normalizeRelation(value: string | undefined, weight: number | undefined) {\n const alias = normalizeRelationAlias(value);\n if (alias) {\n return alias;\n }\n if (weight === undefined || !hasNonzeroWeight(weight)) {\n return undefined;\n }\n return weight < 0 ? (\"contradicts\" as const) : (\"supports\" as const);\n}\n\nfunction hasNonzeroWeight(value: number | undefined): boolean {\n return typeof value === \"number\" && Number.isFinite(value) && value !== 0;\n}\n\nfunction normalizeConfidence(\n confidence: number | undefined,\n weight: number | undefined,\n) {\n if (confidence !== undefined) {\n return Math.min(1, Math.max(0, confidence));\n }\n if (weight === undefined) {\n return undefined;\n }\n return Math.min(1, Math.max(0, Math.abs(weight)));\n}\n\nfunction normalizeBeliefRelation(\n relation: z.infer<typeof beliefRelationSchema>,\n) {\n const beliefNodeId =\n relation.beliefNodeId ?? relation.beliefId ?? relation.targetId;\n if (!beliefNodeId) {\n return undefined;\n }\n const weight =\n typeof relation.weight === \"number\" ? relation.weight : undefined;\n const evidenceRelation = normalizeRelation(\n relation.evidenceRelation ?? relation.relation,\n weight,\n );\n if (!evidenceRelation) {\n return undefined;\n }\n return compactRecord({\n beliefNodeId,\n relation: evidenceRelation,\n confidence: normalizeConfidence(relation.confidence, weight),\n weight,\n rationale: relation.rationale,\n });\n}\n\nexport const createEvidenceProjection = defineProjection({\n contractName: \"create_evidence\",\n inputSchema: createEvidenceInputSchema,\n project: (input: CreateEvidenceProjectionInput) => {\n const text = input.text ?? input.canonicalText;\n const weight = typeof input.weight === \"number\" ? input.weight : undefined;\n const target = input.targetId ?? input.targetNodeId;\n const kind = targetKind(target);\n const linkedWorktreeId =\n kind === \"worktree\" ? normalizeWorktreeId(target) : undefined;\n const linkedBeliefNodeId =\n input.linkedBeliefNodeId ??\n (kind === \"belief\" || kind === \"unknown\"\n ? (input.targetNodeId ?? input.targetId)\n : undefined);\n const evidenceRelation = linkedBeliefNodeId\n ? normalizeRelation(input.evidenceRelation, weight)\n : undefined;\n const confidence = evidenceRelation\n ? normalizeConfidence(input.confidence, weight)\n : undefined;\n const beliefRelations = input.beliefRelations\n ?.map(normalizeBeliefRelation)\n .filter(\n (relation): relation is Record<string, unknown> => relation !== undefined,\n );\n\n return compactRecord({\n projectId: input.projectId,\n topicId: normalizeTopicIdForKernel(input.topicId),\n text,\n title: input.title ?? text,\n content: input.content ?? text,\n contentType: input.contentType,\n kind: input.kind,\n tags: input.tags,\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType,\n sourceRef: input.sourceUrl ?? input.externalSourceUrl ?? input.source,\n sourceUrl: input.sourceUrl ?? input.externalSourceUrl ?? input.source,\n sourceQuestionId: input.sourceQuestionId,\n methodology: input.methodology,\n informationAsymmetry: input.informationAsymmetry,\n sourceQuality: input.sourceQuality,\n sourceDescription: input.sourceDescription,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n source: input.source,\n targetId: input.targetId,\n targetNodeId: input.targetNodeId,\n targetKind: kind === \"unknown\" ? undefined : kind,\n linkedWorktreeId,\n weight,\n reasoning: input.reasoning,\n rationale: input.rationale,\n }),\n linkedBeliefNodeId,\n targetBeliefId: linkedBeliefNodeId,\n evidenceRelation,\n signedImpact: weight,\n confidence,\n weight,\n beliefRelations:\n beliefRelations && beliefRelations.length > 0\n ? beliefRelations\n : undefined,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n });\n },\n convexArgsValidator: v.object({\n projectId: v.optional(v.string()),\n topicId: v.optional(v.string()),\n text: v.string(),\n title: v.optional(v.string()),\n content: v.optional(v.string()),\n contentType: v.optional(v.string()),\n kind: v.optional(v.string()),\n tags: v.optional(v.array(v.string())),\n sourceType: v.optional(v.string()),\n externalSourceType: v.optional(v.string()),\n sourceRef: v.optional(v.string()),\n sourceUrl: v.optional(v.string()),\n sourceQuestionId: v.optional(v.string()),\n methodology: v.optional(v.string()),\n informationAsymmetry: v.optional(v.string()),\n sourceQuality: v.optional(v.string()),\n sourceDescription: v.optional(v.string()),\n metadata: v.optional(v.record(v.string(), v.any())),\n linkedBeliefNodeId: v.optional(v.string()),\n targetBeliefId: v.optional(v.string()),\n evidenceRelation: v.optional(\n v.union(\n v.literal(\"supports\"),\n v.literal(\"contradicts\"),\n ),\n ),\n weight: v.optional(v.number()),\n signedImpact: v.optional(v.number()),\n beliefRelations: v.optional(\n v.array(\n v.object({\n beliefNodeId: v.string(),\n relation: v.union(v.literal(\"supports\"), v.literal(\"contradicts\")),\n confidence: v.optional(v.number()),\n weight: v.number(),\n rationale: v.optional(v.string()),\n }),\n ),\n ),\n confidence: v.optional(v.number()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n","import {\n compactRecord,\n recordValue,\n surfaceContract,\n withCreatedBy,\n withUserId,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { createEvidenceProjection } from \"../projections/create-evidence.projection.js\";\nimport {\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n EVIDENCE_METHODOLOGY_VALUES,\n EVIDENCE_RELATION_VALUES,\n EVIDENCE_SOURCE_QUALITY_VALUES,\n} from \"../types/evidence-taxonomy-target-scope.js\";\nimport { z } from \"zod\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst evidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);\nconst evidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);\nconst evidenceInformationAsymmetrySchema = z.enum(\n EVIDENCE_INFORMATION_ASYMMETRY_VALUES,\n);\nconst evidenceSourceQualitySchema = z.enum(EVIDENCE_SOURCE_QUALITY_VALUES);\nconst beliefRelationSchema = z.object({\n beliefId: z.string().optional().describe(\"Belief ID this evidence bears on.\"),\n beliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node ID this evidence bears on.\"),\n targetId: z\n .string()\n .optional()\n .describe(\"Belief target ID alias for beliefId/beliefNodeId.\"),\n relation: z\n .enum([\"supports\", \"contradicts\", \"supporting\", \"contradicting\"])\n .optional()\n .describe(\"Relation alias for how the evidence bears on the belief.\"),\n evidenceRelation: evidenceRelationSchema\n .optional()\n .describe(\"Canonical relation: supports or contradicts.\"),\n confidence: z\n .number()\n .optional()\n .describe(\n \"Deprecated read-only hint. Runtime SL confidence is derived from signed weight.\",\n ),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\"Required signed impact score from -1.0 to +1.0 for this belief.\"),\n rationale: z.string().optional().describe(\"Why this relation exists.\"),\n});\n\nconst createEvidenceArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope for the evidence.\"),\n text: z.string().describe(\"Canonical evidence text.\"),\n source: z.string().optional().describe(\"Source URL or source label.\"),\n sourceUrl: z.string().optional().describe(\"Canonical source URL.\"),\n externalSourceUrl: z\n .string()\n .optional()\n .describe(\"Backward-compatible alias for sourceUrl.\"),\n targetId: z\n .string()\n .optional()\n .describe(\n \"Belief identifier to link immediately. Evidence creation cannot target only a question or worktree.\",\n ),\n linkedBeliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node this evidence bears on.\"),\n evidenceRelation: evidenceRelationSchema\n .optional()\n .describe(\n \"How the evidence relates to the linked belief. Use supports for proof/fixes; use contradicts for bugs, regressions, or falsifying observations.\",\n ),\n beliefRelations: z\n .array(beliefRelationSchema)\n .optional()\n .describe(\n \"Additional belief relations for one evidence record. Use when the same evidence supports or contradicts multiple beliefs.\",\n ),\n confidence: z\n .number()\n .optional()\n .describe(\n \"Deprecated hint. Runtime confidence is derived from signed weight.\",\n ),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\n \"Required signed impact score from -1.0 to +1.0 for targetId/linkedBeliefNodeId.\",\n ),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Metadata merged into the canonical evidence node.\"),\n rationale: z\n .string()\n .describe(\"Why this evidence should enter the reasoning graph.\"),\n reasoning: z\n .string()\n .optional()\n .describe(\"Reasoning note preserved in evidence metadata.\"),\n title: z.string().optional().describe(\"Optional short title.\"),\n content: z.string().optional().describe(\"Optional long-form content.\"),\n contentType: z.string().optional().describe(\"Content format or MIME hint.\"),\n kind: z.string().optional().describe(\"Evidence kind.\"),\n tags: z.array(z.string()).optional().describe(\"Evidence tags.\"),\n sourceType: z.string().optional().describe(\"Evidence source type.\"),\n externalSourceType: z\n .string()\n .optional()\n .describe(\"External source type for imported evidence.\"),\n sourceQuestionId: z\n .string()\n .optional()\n .describe(\"Question that sourced this evidence.\"),\n methodology: evidenceMethodologySchema\n .optional()\n .describe(\"Manifest-backed collection methodology.\"),\n informationAsymmetry: evidenceInformationAsymmetrySchema\n .optional()\n .describe(\"Information asymmetry class.\"),\n sourceQuality: evidenceSourceQualitySchema\n .optional()\n .describe(\"Manifest-backed source quality tier.\"),\n sourceDescription: z\n .string()\n .optional()\n .describe(\"Human-readable source description.\"),\n});\n\nconst archiveEvidenceArgs = z\n .object({\n id: z.string().optional().describe(\"Canonical evidence ID.\"),\n evidenceId: z.string().optional().describe(\"Evidence ID alias.\"),\n nodeId: z.string().optional().describe(\"Evidence node ID alias.\"),\n insightId: z.string().optional().describe(\"Legacy insight ID alias.\"),\n reason: z.string().optional().describe(\"Why this evidence is archived.\"),\n })\n .superRefine((input, ctx) => {\n if (input.id || input.evidenceId || input.nodeId || input.insightId) {\n return;\n }\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"archive_evidence requires id, evidenceId, nodeId, or insightId.\",\n path: [\"id\"],\n });\n });\n\nconst listEvidenceBaseArgs = z.object({\n topicId: z.string().optional().describe(\"Optional topic scope filter.\"),\n targetId: z\n .string()\n .optional()\n .describe(\n \"Optional belief, question, raw node, or global node identifier to scope evidence by linkage.\",\n ),\n limit: z.number().optional().describe(\"Maximum results.\"),\n cursor: z.string().optional().describe(\"Pagination cursor.\"),\n});\n\nfunction requireListEvidenceScope(\n input: z.infer<typeof listEvidenceBaseArgs>,\n ctx: z.RefinementCtx,\n) {\n if (input.topicId || input.targetId) {\n return;\n }\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"list_evidence requires topicId or targetId.\",\n path: [\"topicId\"],\n });\n}\n\nconst listEvidenceArgs = listEvidenceBaseArgs.superRefine(\n requireListEvidenceScope,\n);\nconst listEvidenceInput = listEvidenceBaseArgs\n .extend({ __sdkSessionId: z.string().optional() })\n .strict()\n .superRefine(requireListEvidenceScope);\n\nconst addEvidenceArgs = z.object({\n canonicalText: z.string().describe(\"The evidence statement.\"),\n text: z\n .string()\n .optional()\n .describe(\"Canonical evidence text alias used by newer callers.\"),\n topicId: z.string().optional().describe(\"Topic scope hint.\"),\n sourceUrl: z.string().optional().describe(\"URL of the source material.\"),\n targetNodeId: z.string().describe(\"The belief this evidence bears on.\"),\n weight: z\n .number()\n .min(-1)\n .max(1)\n .refine((value) => value !== 0, {\n message: \"Evidence impact weight must be nonzero.\",\n })\n .describe(\"Required signed impact score from -1.0 to +1.0.\"),\n reasoning: z\n .string()\n .describe(\"Why this evidence is relevant to the target belief.\"),\n title: z.string().optional().describe(\"Optional short title.\"),\n content: z\n .string()\n .optional()\n .describe(\"Optional long-form evidence content.\"),\n contentType: z.string().optional().describe(\"Content format or MIME hint.\"),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Optional metadata merged into the evidence node.\"),\n});\n\nconst createEvidenceInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const parsed = createEvidenceProjection.inputSchema.safeParse(input);\n if (!parsed.success) {\n throw new Error(\n `create_evidence projection input rejected: ${parsed.error.message}`,\n );\n }\n\n return withUserId(\n compactRecord(createEvidenceProjection.project(parsed.data)),\n context,\n );\n};\n\nfunction relationWeight(input: Record<string, unknown>): number {\n if (\n typeof input.weight === \"number\" &&\n Number.isFinite(input.weight) &&\n input.weight !== 0 &&\n input.weight >= -1 &&\n input.weight <= 1\n ) {\n const relation = String(\n input.evidenceRelation ?? input.relation ?? input.type ?? \"\",\n );\n if (\n (relation === \"supports\" || relation === \"supporting\") &&\n input.weight < 0\n ) {\n throw new Error(\"Supporting evidence links require positive weight.\");\n }\n if (\n (relation === \"contradicts\" || relation === \"contradicting\") &&\n input.weight > 0\n ) {\n throw new Error(\"Contradicting evidence links require negative weight.\");\n }\n return input.weight;\n }\n throw new Error(\n \"Belief evidence links require explicit nonzero weight in [-1, 1].\",\n );\n}\n\nconst linkEvidenceToBeliefInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const weight = relationWeight(input);\n return withUserId(\n compactRecord({\n beliefNodeId: input.beliefNodeId ?? input.beliefId ?? input.targetId,\n insightId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n type: weight < 0 ? \"contradicting\" : \"supporting\",\n weight,\n confidence: Math.min(1, Math.abs(weight)),\n rationale: input.rationale ?? input.context,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n};\n\nconst linkEvidenceToBeliefEdgeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withCreatedBy(\n compactRecord({\n fromNodeId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n toNodeId: input.beliefNodeId ?? input.beliefId ?? input.targetId,\n edgeType: \"informs\",\n globalId:\n input.globalId ??\n `edge:${String(\n input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n )}:${String(\n input.beliefNodeId ?? input.beliefId ?? input.targetId,\n )}:informs`,\n weight: relationWeight(input),\n context: input.rationale ?? input.context,\n skipLayerValidation: true,\n topicId: input.topicId,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n\nconst linkEvidenceToQuestionEdgeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withCreatedBy(\n compactRecord({\n fromNodeId: input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n toNodeId: input.questionId ?? input.questionNodeId ?? input.targetId,\n edgeType: \"responds_to\",\n globalId:\n input.globalId ??\n `edge:${String(\n input.insightId ?? input.evidenceNodeId ?? input.evidenceId,\n )}:${String(\n input.questionId ?? input.questionNodeId ?? input.targetId,\n )}:responds_to`,\n weight: input.impactScore ?? input.weight,\n context: input.rationale ?? input.context,\n skipLayerValidation: true,\n topicId: input.topicId,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context,\n );\n\nexport const evidenceContracts = [\n surfaceContract({\n name: \"create_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"createEvidence\",\n summary: \"Create evidence.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createEvidenceInput,\n },\n args: createEvidenceArgs,\n }),\n surfaceContract({\n name: \"add_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"legacy_compat\",\n replacedBy: \"create_evidence\",\n path: \"/evidence/add\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"addEvidence\",\n summary:\n \"Legacy evidence creation alias that writes through create_evidence.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) => {\n if (\n typeof input.weight !== \"number\" ||\n !Number.isFinite(input.weight) ||\n input.weight === 0 ||\n input.weight < -1 ||\n input.weight > 1\n ) {\n throw new Error(\n \"add_evidence requires explicit nonzero weight in [-1, 1].\",\n );\n }\n const weight = input.weight;\n return createEvidenceInput(\n {\n ...input,\n text: input.text ?? input.canonicalText,\n sourceUrl: input.sourceUrl,\n linkedBeliefNodeId:\n input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,\n evidenceRelation: weight < 0 ? \"contradicts\" : \"supports\",\n confidence: Math.min(1, Math.max(0, Math.abs(weight))),\n weight,\n rationale: input.reasoning,\n metadata: {\n ...recordValue(input.metadata),\n reasoning: input.reasoning,\n sourceUrl: input.sourceUrl,\n },\n },\n context,\n );\n },\n },\n args: addEvidenceArgs,\n }),\n surfaceContract({\n name: \"get_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/evidence/get\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"getEvidence\",\n summary: \"Get evidence.\",\n gateway: {\n handler: \"evidence.get\",\n },\n }),\n surfaceContract({\n name: \"list_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"listEvidence\",\n summary: \"List evidence for a topic.\",\n gateway: {\n handler: \"evidence.list\",\n },\n args: listEvidenceArgs,\n input: listEvidenceInput,\n }),\n surfaceContract({\n name: \"archive_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/evidence\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"archiveEvidence\",\n summary: \"Archive evidence.\",\n gateway: {\n handler: \"evidence.remove\",\n },\n args: archiveEvidenceArgs,\n }),\n surfaceContract({\n name: \"search_evidence\",\n kind: \"query\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/search\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"searchEvidence\",\n summary: \"Search evidence.\",\n gateway: {\n handler: \"evidence.search\",\n },\n }),\n surfaceContract({\n name: \"link_evidence_to_belief\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link-belief\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidenceToBelief\",\n summary: \"Link evidence to a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"linkEvidence\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToBeliefInput,\n },\n }),\n surfaceContract({\n name: \"link_evidence_to_question\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link-question\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidenceToQuestion\",\n summary: \"Link evidence to a question.\",\n convex: {\n module: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToQuestionEdgeInput,\n },\n }),\n surfaceContract({\n name: \"link_evidence\",\n kind: \"mutation\",\n domain: \"evidence\",\n surfaceClass: \"platform_public\",\n path: \"/evidence/link\",\n sdkNamespace: \"evidence\",\n sdkMethod: \"linkEvidence\",\n summary: \"Link evidence to a target node.\",\n convex: {\n module: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToBeliefEdgeInput,\n },\n }),\n] as const satisfies readonly FunctionContract[];\n"]}
|