@lucern/events 1.0.0 → 1.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../contracts/src/dsl/defineTable.ts","../../contracts/src/dsl/idOf.ts","../../contracts/src/types/reasoning-method.ts","../../contracts/src/tool-contracts.graph.ts","../../contracts/src/tool-contracts.intelligence-evidence.ts","../../contracts/src/tool-contracts.lifecycle.ts","../../contracts/src/lens-workflow.contract.ts","../../contracts/src/tool-contracts.nodes-lenses.ts","../../contracts/src/tool-contracts.ontology.ts","../../contracts/src/tool-contracts.pipeline-coordination.ts","../../contracts/src/tool-contracts.policy-observation-task-topic.ts","../../contracts/src/tool-contracts.questions-listing.ts","../../contracts/src/tool-contracts.worktrees.ts","../../contracts/src/tool-contracts.ts","../../contracts/src/schemas/enums.ts","../../contracts/src/schemas/tables/kernel/coordination.ts","../../contracts/src/schemas/tables/mc/registry.ts","../../contracts/src/schemas/tables/controlPlane/agent.ts","../../contracts/src/schemas/tables/mc/tenant.ts","../../contracts/src/schemas/tables/kernel/infra.ts","../../contracts/src/schemas/tables/kernel/events.ts","../../contracts/src/schemas/tables/kernel/epistemic.ts","../../contracts/src/schemas/tables/kernel/decision.ts","../../contracts/src/schemas/tables/mc/runtime.ts","../../contracts/src/schemas/tables/kernel/intelligence.ts","../../contracts/src/schemas/tables/kernel/spine.ts","../../contracts/src/schemas/tables/kernel/embedding.ts","../../contracts/src/schemas/tables/mc/identity.ts","../../contracts/src/schemas/tables/kernel/platform.ts","../../contracts/src/schemas/tables/kernel/idempotency.ts","../../contracts/src/schemas/tables/kernel/lens.ts","../../contracts/src/schemas/tables/controlPlane/platform.ts","../../contracts/src/schemas/tables/mc/methodology.ts","../../contracts/src/schemas/tables/controlPlane/model.ts","../../contracts/src/schemas/tables/kernel/ontology.ts","../../contracts/src/schemas/tables/mc/pack.ts","../../contracts/src/schemas/tables/mc/policy.ts","../../contracts/src/schemas/tables/controlPlane/project.ts","../../contracts/src/schemas/tables/controlPlane/accessControl.ts","../../contracts/src/schemas/tables/controlPlane/epistemic.ts","../../contracts/src/schemas/tables/kernel/config.ts","../../contracts/src/schemas/tables/kernel/task.ts","../../contracts/src/schemas/tables/kernel/topic.ts","../../contracts/src/schemas/tables/controlPlane/user.ts","../../contracts/src/schemas/tables/kernel/workflow.ts","../../contracts/src/schemas/tables/mc/workspace.ts","../../contracts/src/schemas/tables/kernel/worktree.ts","../../contracts/src/schemas/component-table-manifest.ts","../../contracts/src/schemas/sl-opinion.ts","../../contracts/src/graph-intelligence.contract.ts","../../contracts/src/events.contract.ts","../../contracts/src/schema-helpers/spine/tables/epistemicNodes.ts","../../contracts/src/types/graph-ref.ts","../../contracts/src/manifests/edge-policy-manifest.ts","../../contracts/src/manifests/edge-policy-manifest.data.ts","../../contracts/src/tenant-client.contract.ts","../../contracts/src/infisical-runtime.base.ts","../../contracts/src/infisical-runtime.tenant-secrets.ts","../../contracts/src/manifests/invariant-manifest.ts","../../contracts/src/projections/projection-dsl.ts","../../contracts/src/projections/create-evidence.projection.ts","../../contracts/src/projections/list-beliefs.projection.ts","../../contracts/src/projections/list-tasks.projection.ts","../../contracts/src/projections/modulate-confidence.projection.ts","../../contracts/src/function-registry/manifest.ts","../../contracts/src/function-registry/helpers.ts","../../contracts/src/function-registry/context.ts","../../contracts/src/function-registry/identity.ts","../../contracts/src/function-registry/beliefs.ts","../../contracts/src/function-registry/evidence.ts","../../contracts/src/function-registry/questions.ts","../../contracts/src/function-registry/topics.ts","../../contracts/src/function-registry/nodes.ts","../../contracts/src/function-registry/lenses.ts","../../contracts/src/function-registry/ontologies.ts","../../contracts/src/function-registry/worktrees.ts","../../contracts/src/function-registry/tasks.ts","../../contracts/src/function-registry/edges.ts","../../contracts/src/function-registry/graph.ts","../../contracts/src/function-registry/contracts.ts","../../contracts/src/function-registry/judgments.ts","../../contracts/src/function-registry/coordination.ts","../../contracts/src/function-registry/pipeline.ts","../../contracts/src/function-registry/coding.ts","../../contracts/src/function-registry/legacy.ts","../../contracts/src/function-registry/index.ts","../../contracts/src/tenant-bootstrap-seed.contract.ts","../src/webhook-delivery-machine.ts"],"names":["z","compactRecord","v","entries","recordValue","jsonRecordSchema","isRecord","sourceTypeSchema","taskStatusSchema"],"mappings":"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","file":"webhook-delivery-machine.js","sourcesContent":["import type { ZodObject, ZodRawShape } from \"zod\";\n\nexport type TableComponent = \"mc\" | \"kernel\" | \"control-plane\" | \"developer-pack\";\n\nexport type TableIndex =\n | {\n kind: \"index\";\n name: string;\n columns: readonly string[];\n }\n | {\n kind: \"search\";\n name: string;\n searchField: string;\n filterFields?: readonly string[];\n }\n | {\n kind: \"vector\";\n name: string;\n vectorField: string;\n dimensions: number;\n filterFields?: readonly string[];\n };\n\nexport type TableDeprecation = {\n since: string;\n reason: string;\n replacement?: string;\n};\n\nexport type TableContract<S extends ZodRawShape = ZodRawShape> = {\n name: string;\n component: TableComponent;\n category: string;\n shape: ZodObject<S>;\n indices: readonly TableIndex[];\n deprecated?: TableDeprecation;\n invariants?: readonly string[];\n};\n\nexport function defineTable<S extends ZodRawShape>(\n spec: TableContract<S>\n): TableContract<S> {\n return spec;\n}\n","import { z } from \"zod\";\n\nexport const CONVEX_ID_TABLE = Symbol.for(\"lucern.contracts.convexIdTable\");\n\nexport type ConvexIdSchema<T extends string> = z.ZodBranded<\n z.ZodString,\n `Id<${T}>`\n> & {\n readonly [CONVEX_ID_TABLE]: T;\n};\n\nexport function idOf<T extends string>(table: T): ConvexIdSchema<T> {\n const schema = z.string().brand<`Id<${T}>`>();\n Object.defineProperty(schema, CONVEX_ID_TABLE, {\n configurable: false,\n enumerable: false,\n value: table,\n writable: false,\n });\n return schema as ConvexIdSchema<T>;\n}\n\nexport function getConvexIdTable(schema: z.ZodTypeAny): string | undefined {\n return (schema as Partial<Record<typeof CONVEX_ID_TABLE, string>>)[\n CONVEX_ID_TABLE\n ];\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 confidence modulation. \" +\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 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: \"Filter by topic\" },\n nodeId: {\n type: \"string\",\n description: \"Find contradictions involving a specific belief\",\n },\n status: {\n type: \"string\",\n description: \"Filter by status\",\n enum: [\"unresolved\", \"resolved\", \"accepted\"],\n },\n },\n required: [],\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 \"confidence modulations 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:\n \"object — the confidence modulation 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\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 \"Optionally links the evidence to a belief or question in the same operation.\",\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: \"Optional belief or question identifier to link immediately\",\n },\n weight: {\n type: \"number\",\n description: \"Support weight: -1.0 (contradicts) to +1.0 (supports)\",\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\"],\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: \"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: [\"topicId\"],\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 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\"],\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 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 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_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 stores the vacuous opinion `(0, 0, 1, a)`; use modulate_confidence to record the first evidential update.\",\n parameters: {\n canonicalText: {\n type: \"string\",\n description: \"The belief statement — what the agent holds to be true\",\n },\n topicId: {\n type: \"string\",\n description: \"Optional topic scope hint for the belief\",\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\"],\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 status: \"string — active | superseded | archived\",\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 status: \"string — active | superseded | archived\",\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 MODULATE_CONFIDENCE: McpToolContract = {\n name: \"modulate_confidence\",\n description:\n \"Record a confidence change for a belief. \" +\n \"Like `git commit` to the credence log — an atomic, append-only write. \" +\n \"Each modulation is a new entry in the history, not an overwrite. \" +\n \"Scoring happens via merge; this tool records the individual data points. \" +\n \"Pass the full subjective-logic tuple (`belief`, `disbelief`, `uncertainty`, `baseRate`) directly. \" +\n \"If a caller only has a scalar probability, use `@lucern/sdk` helpers `opinionFromBaseRate`, `opinionFromDogmatic`, or `opinionFromProjected` to name the intended interpretation before calling this tool. \" +\n \"Every modulation must cite a truth-bearing artifact: triggeringEvidenceId, triggeringQuestionId, triggeringAnswerId, triggeringContradictionId, or triggeringWorktreeId. \" +\n \"Triggers: evidence_added, evidence_removed, contradiction_detected, contradiction_resolved, agent_assessment, worktree_outcome, worktree_completed, fusion, discount, deduction.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The belief to score\" },\n belief: {\n type: \"number\",\n description: \"Subjective-logic belief mass `b` in [0, 1]\",\n },\n disbelief: {\n type: \"number\",\n description: \"Subjective-logic disbelief mass `d` in [0, 1]\",\n },\n uncertainty: {\n type: \"number\",\n description: \"Subjective-logic uncertainty mass `u` in [0, 1]\",\n },\n baseRate: {\n type: \"number\",\n description:\n \"Subjective-logic base rate `a` in [0, 1]. Required for tuple payloads.\",\n },\n worktreeId: {\n type: \"string\",\n description:\n \"Completed worktree that tested this belief when confidence policy requires merge-backed scoring.\",\n },\n trigger: {\n type: \"string\",\n description: \"What caused this confidence change\",\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 ],\n },\n triggeringEvidenceId: {\n type: \"string\",\n description: \"Evidence node that caused an evidence-triggered modulation\",\n },\n triggeringQuestionId: {\n type: \"string\",\n description: \"Answered question whose resolution supports this modulation\",\n },\n triggeringAnswerId: {\n type: \"string\",\n description: \"Answer node whose content supports this modulation\",\n },\n triggeringContradictionId: {\n type: \"string\",\n description:\n \"Contradiction record that caused a contradiction-triggered modulation\",\n },\n triggeringWorktreeId: {\n type: \"string\",\n description:\n \"Completed worktree whose outcome caused a worktree-triggered modulation\",\n },\n rationale: {\n type: \"string\",\n description: \"Human-readable explanation of why confidence changed\",\n },\n },\n required: [\n \"nodeId\",\n \"belief\",\n \"disbelief\",\n \"uncertainty\",\n \"baseRate\",\n \"trigger\",\n \"rationale\",\n ],\n response: {\n description: \"Confidence modulation result\",\n fields: {\n beliefId: \"string — canonical belief ID\",\n nodeId: \"string — canonical belief ID\",\n newConfidence: \"number\",\n previousConfidence: \"number\",\n trigger: \"string\",\n requestId: \"string — request identifier for the scheduled cascade\",\n propagationSummary:\n \"object — bounded inline cascade summary with totalCandidateTargets, inlineTargets, and remainingTargetCount\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"showcase\",\n};\n\nexport const FORK_BELIEF: McpToolContract = {\n name: \"fork_belief\",\n description:\n \"Branch off a scored belief to create a new version with a different formulation. \" +\n \"Like `git fork` — the parent remains immutable with full history. \" +\n \"The new belief gets a `supersedes` edge to the parent. \" +\n \"Fork reasons: refinement, contradiction_response, scope_change, confidence_collapse, manual.\",\n parameters: {\n nodeId: { type: \"string\", description: \"The scored 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 \"manual\",\n ],\n },\n },\n required: [\"nodeId\", \"newFormulation\", \"forkReason\"],\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","/**\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 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 confidence modulation.\",\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","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\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 CREATE_QUESTION: McpToolContract = {\n name: \"create_question\",\n description:\n \"Commit an investigation question to the reasoning graph. \" +\n \"Like `git issue` — creates a traceable question that drives research and evidence collection. \" +\n \"Questions test beliefs and guide worktree investigation.\",\n parameters: {\n text: { type: \"string\", description: \"The question text\" },\n topicId: { type: \"string\", description: \"Optional topic scope hint\" },\n priority: {\n type: \"string\",\n description: \"Priority: urgent, high, medium, low\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n linkedBeliefId: {\n type: \"string\",\n description: \"Belief this question tests\",\n },\n metadata: {\n type: \"object\",\n description: \"Optional metadata merged into the question record\",\n },\n },\n required: [\"text\"],\n response: {\n description: \"The created canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const GET_QUESTION: McpToolContract = {\n name: \"get_question\",\n description:\n \"Read one question by ID. \" +\n \"Like `git show` — resolves the canonical question payload for a single identifier.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n },\n required: [\"id\"],\n response: {\n description: \"The canonical question record\",\n fields: {\n id: \"string — canonical question ID\",\n nodeId: \"string — canonical question ID\",\n questionId: \"string — canonical question ID\",\n text: \"string\",\n status: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const REFINE_QUESTION: McpToolContract = {\n name: \"refine_question\",\n description:\n \"Refine a question's framing or scope. \" +\n \"Like `git commit --amend` for questions — updates the question text \" +\n \"while preserving its identity and linked evidence.\",\n parameters: {\n id: { type: \"string\", description: \"The question to refine\" },\n text: { type: \"string\", description: \"Updated question text\" },\n rationale: {\n type: \"string\",\n description: \"Why the question is being refined\",\n },\n },\n required: [\"id\", \"text\"],\n response: {\n description: \"The refined question\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n updatedText: \"string\",\n previousText: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LIST_QUESTIONS: McpToolContract = {\n name: \"list_questions\",\n description:\n \"List questions scoped to a topic or worktree. \" +\n \"Like `git issue list` — returns questions with their status, priority, and linked belief context. \" +\n \"Supports filtering by status and priority.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter by canonical question status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n priority: {\n type: \"string\",\n description: \"Filter by canonical question priority\",\n enum: [\"urgent\", \"high\", \"medium\", \"low\"],\n },\n limit: { type: \"number\", description: \"Max results\" },\n cursor: { type: \"string\", description: \"Pagination cursor\" },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical question page\",\n fields: {\n questions: \"array — canonical question records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ANSWER_QUESTION: McpToolContract = {\n name: \"answer_question\",\n description:\n \"Answer a question with optional evidence links. \" +\n \"Like `git commit` on the question thread — records the answer and closes the loop with a canonical answered state.\",\n parameters: {\n id: { type: \"string\", description: \"Canonical question ID\" },\n topicId: { type: \"string\", description: \"Topic scope for the answer\" },\n text: { type: \"string\", description: \"Answer text\" },\n confidence: {\n type: \"string\",\n description: \"Optional answer confidence\",\n enum: [\"weak\", \"medium\", \"strong\"],\n },\n evidenceIds: {\n type: \"array\",\n description: \"Optional canonical evidence IDs supporting the answer\",\n },\n rationale: { type: \"string\", description: \"Why this answer is credible\" },\n },\n required: [\"id\", \"topicId\", \"text\"],\n response: {\n description: \"Answer result\",\n fields: {\n questionId: \"string\",\n answerId: \"string\",\n status: \"string — answered\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_QUESTION_STATUS: McpToolContract = {\n name: \"update_question_status\",\n description:\n \"Transition a question's status through its lifecycle. \" +\n \"Like `git issue update` — moves a question through the canonical reasoning lifecycle. \" +\n \"Status transitions preserve history and keep linked evidence intact.\",\n parameters: {\n id: { type: \"string\", description: \"The question to update\" },\n status: {\n type: \"string\",\n description: \"New status\",\n enum: [\"open\", \"researching\", \"answered\", \"parked\", \"closed\"],\n },\n rationale: { type: \"string\", description: \"Why the status is changing\" },\n },\n required: [\"id\", \"status\"],\n response: {\n description: \"Updated question status\",\n fields: {\n id: \"string\",\n questionId: \"string\",\n previousStatus: \"string\",\n newStatus: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const ARCHIVE_QUESTION: McpToolContract = {\n name: \"archive_question\",\n description:\n \"Archive a question no longer relevant to current investigation scope. \" +\n \"Like `git issue close` — removes it from active work while preserving audit history. \" +\n \"Archived questions keep their existing links to beliefs and evidence.\",\n parameters: {\n questionId: { type: \"string\", description: \"The question to archive\" },\n reason: {\n type: \"string\",\n description: \"Why the question is being archived\",\n },\n },\n required: [\"questionId\"],\n response: {\n description: \"Archive confirmation\",\n fields: {\n questionId: \"string\",\n status: \"string — 'archived'\",\n archivedAt: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const LINK_EVIDENCE_TO_QUESTION: McpToolContract = {\n name: \"link_evidence_to_question\",\n description:\n \"Link evidence to the question it helps answer. \" +\n \"Like `git notes add` — attaches supporting detail to an active question. \" +\n \"Question-level links improve answer quality and traceability to beliefs.\",\n parameters: {\n evidenceId: { type: \"string\", description: \"The evidence to link\" },\n questionId: {\n type: \"string\",\n description: \"The question this evidence addresses\",\n },\n relevance: { type: \"number\", description: \"Relevance score in [0,1]\" },\n rationale: {\n type: \"string\",\n description: \"How this evidence bears on the question\",\n },\n },\n required: [\"evidenceId\", \"questionId\"],\n response: {\n description: \"The created edge\",\n fields: {\n edgeId: \"string\",\n evidenceId: \"string\",\n questionId: \"string\",\n relevance: \"number\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"edge\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// ANSWER LIFECYCLE TOOLS\n// =============================================================================\n\nexport const CREATE_ANSWER: McpToolContract = {\n name: \"create_answer\",\n description:\n \"Create an answer node responding to a question. \" +\n \"Like `git commit` for resolved questions — creates an immutable answer snapshot at L2. \" +\n \"New answers supersede old ones, preserving full version history. \" +\n \"Answers link to supporting evidence via based_on edges.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID this answers\",\n },\n answerText: {\n type: \"string\",\n description: \"The answer content — the actual response to the question\",\n },\n topicId: {\n type: \"string\",\n description: \"Topic scope (optional if question already has topicId)\",\n },\n confidence: {\n type: \"string\",\n description:\n \"Answer confidence: definitive, strong, moderate, weak, speculative\",\n },\n evidenceNodeIds: {\n type: \"array\",\n description: \"Supporting evidence node IDs to link via based_on edges\",\n },\n answerSource: {\n type: \"string\",\n description:\n \"How the answer was produced: human, ai_generated, deep_research, synthesis\",\n },\n },\n required: [\"questionNodeId\", \"answerText\"],\n response: {\n description: \"The created answer node with version metadata\",\n fields: {\n nodeId: \"string — unique node identifier\",\n globalId: \"string — globally unique ID\",\n versionNumber: \"number — version of this answer (auto-incremented)\",\n questionNodeId: \"string — the question this answers\",\n confidence: \"string — answer confidence level\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"showcase\",\n};\n\nexport const GET_ANSWER: McpToolContract = {\n name: \"get_answer\",\n description:\n \"Get the latest answer for a question. \" +\n \"Like `git show HEAD` for a question's resolution — returns the active answer snapshot. \" +\n \"Returns null if the question is unanswered.\",\n parameters: {\n questionNodeId: {\n type: \"string\",\n description: \"The question node ID to get the answer for\",\n },\n },\n required: [\"questionNodeId\"],\n response: {\n description: \"The active answer node or null\",\n fields: {\n nodeId: \"string | null\",\n globalId: \"string | null\",\n answerText: \"string | null\",\n versionNumber: \"number\",\n isLatest: \"boolean\",\n evidenceCount: \"number\",\n confidence: \"string\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"evidence\",\n tier: \"workhorse\",\n};\n\nexport const GET_HIGH_PRIORITY_QUESTIONS: McpToolContract = {\n name: \"get_high_priority_questions\",\n description:\n \"Rank open questions by urgency and expected decision impact. \" +\n \"Like `git issue list --sort=priority` — brings the highest-leverage open questions to the top. \" +\n \"Ranking accounts for linked belief criticality and evidence gaps.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n limit: { type: \"number\", description: \"Maximum results (default: 20)\" },\n includeAnswered: {\n type: \"boolean\",\n description: \"Include answered questions (default: false)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Priority-ranked questions\",\n fields: {\n questions:\n \"array — { questionId, text, priority, urgencyScore, linkedBeliefCount, evidenceGapCount }\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\nexport const FIND_MISSING_QUESTIONS: McpToolContract = {\n name: \"find_missing_questions\",\n description:\n \"Identify beliefs missing testing questions. \" +\n \"Like `git diff --check` — surfaces reasoning coverage gaps before merge. \" +\n \"Returns candidate beliefs that need explicit question coverage.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n minConfidence: {\n type: \"number\",\n description: \"Only check beliefs above this confidence (default: 0)\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Beliefs missing testing questions\",\n fields: {\n gaps: \"array — { beliefId, canonicalText, confidence, suggestedQuestions }\",\n totalGaps: \"number\",\n },\n },\n ownerModule: \"graph-search\",\n ontologyPrimitive: \"question\",\n tier: \"workhorse\",\n};\n\n// =============================================================================\n// LISTING & QUERY TOOLS\n// =============================================================================\n\nexport const LIST_BELIEFS: McpToolContract = {\n name: \"list_beliefs\",\n description:\n \"List beliefs scoped to a topic or worktree. \" +\n \"Like `git log --oneline` — returns beliefs with their confidence, status, and scoring state. \" +\n \"Supports filtering by status and confidence threshold.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n worktreeId: { type: \"string\", description: \"Filter to worktree scope\" },\n status: {\n type: \"string\",\n description: \"Filter: unscored, scored, archived\",\n enum: [\"unscored\", \"scored\", \"archived\"],\n },\n minConfidence: {\n type: \"number\",\n description: \"Minimum confidence threshold\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results\",\n },\n },\n required: [\"topicId\"],\n response: {\n description: \"Canonical belief page\",\n fields: {\n beliefs: \"array — canonical belief records\",\n nextCursor: \"string | null\",\n },\n },\n ownerModule: \"graph-primitives\",\n ontologyPrimitive: \"belief\",\n tier: \"workhorse\",\n};\n\nexport const LIST_WORKTREES: McpToolContract = {\n name: \"list_worktrees\",\n description:\n \"List all worktrees for a topic. \" +\n \"Like `git worktree list` — shows active and completed investigation branches \" +\n \"with lifecycle phase, pipeline campaign/lane, status, and belief counts.\",\n parameters: {\n topicId: { type: \"string\", description: \"Topic scope\" },\n status: {\n type: \"string\",\n description: \"Filter: active, merged, abandoned\",\n enum: [\"active\", \"merged\", \"abandoned\"],\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n lane: {\n type: \"string\",\n description: \"Filter by GitButler-aligned lane name.\",\n },\n campaign: {\n type: \"number\",\n description: \"Filter by top-level pipeline campaign number.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return.\",\n },\n },\n required: [\"topicId\"],\n response: {\n description:\n \"Worktrees with lifecycle phase, campaign, lane, status, belief count, and creation time\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, phase, campaign, lane, laneOrderInCampaign, orderInLane, status, beliefCount, createdAt }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_ALL_WORKTREES: McpToolContract = {\n name: \"list_all_worktrees\",\n description:\n \"List ALL worktrees across ALL topics in one query. No topic scope required. \" +\n \"Like `git worktree list --all` — returns the complete pipeline inventory with \" +\n \"campaign, lane, lane order, dependencies, and status. \" +\n \"Supports filtering by status, lane, and campaign. \" +\n \"This is the PM's primary pipeline query — one call, full picture.\",\n parameters: {\n status: {\n type: \"string\",\n description:\n \"Filter by status: planning, active, completed, abandoned, superseded, long_term, idea, paused, suggested, dismissed\",\n enum: [\n \"planning\",\n \"active\",\n \"completed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n \"paused\",\n \"suggested\",\n \"dismissed\",\n ],\n },\n lane: {\n type: \"string\",\n description:\n \"Filter by lane name (e.g., 'ontology', 'tc-scope', 'control-plane', 'dev-portal', 'mcp-sdk-parity')\",\n },\n campaign: {\n type: \"number\",\n description:\n \"Filter by campaign number (e.g., 1, 2, 3). Returns only worktrees in that campaign.\",\n },\n groupBy: {\n type: \"string\",\n description: \"Optional grouping mode for the response.\",\n enum: [\"campaign\", \"lane\", \"flat\"],\n },\n limit: {\n type: \"number\",\n description: \"Maximum results to return (default: 500, max: 1000)\",\n },\n },\n required: [],\n response: {\n description: \"All worktrees across all topics with full pipeline metadata\",\n fields: {\n worktrees:\n \"array — { worktreeId, title, topicId, topicName, phase, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate, createdAt }\",\n total: \"number — total count after filtering\",\n lanes: \"object — { laneName: count } summary of worktrees per lane\",\n campaigns:\n \"object — { campaignNumber: count } summary of worktrees per campaign\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const GET_WORKTREE: McpToolContract = {\n name: \"get_worktree\",\n description:\n \"Get one worktree by ID. \" +\n \"Like `git worktree list --porcelain <worktree>` — inspects one investigation branch without scanning the full pipeline inventory.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"Canonical worktree ID to retrieve\" },\n id: { type: \"string\", description: \"Legacy alias for worktreeId\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Single worktree record with pipeline metadata\",\n fields: {\n worktree:\n \"object — { worktreeId, title, topicId, status, hypothesis, campaign, lane, laneOrderInCampaign, orderInLane, dependsOn, blocks, gate }\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const LIST_CAMPAIGNS: McpToolContract = {\n name: \"list_campaigns\",\n description:\n \"List compact pipeline campaigns with their nested lanes. \" +\n \"Use this to see the top-level campaign > lane > worktree shape without pulling the full worktree inventory.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope.\",\n },\n status: {\n type: \"string\",\n description:\n \"Optional worktree status filter before grouping campaigns and lanes.\",\n },\n limit: {\n type: \"number\",\n description: \"Maximum worktrees to scan before grouping.\",\n },\n },\n required: [],\n response: {\n description: \"Pipeline campaigns with nested lane summaries.\",\n fields: {\n campaigns:\n \"array — { campaign, lanes: [{ lane, laneOrderInCampaign, worktreeCount, activeCount, readyCount, blockedCount, completedCount, nextWorktree }] }\",\n totalWorktrees: \"number — total worktrees scanned after filtering\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"showcase\",\n};\n\nexport const ACTIVATE_WORKTREE: McpToolContract = {\n name: \"activate_worktree\",\n description:\n \"Activate a worktree to begin investigation. \" +\n \"Like `git checkout <branch>` — transitions a worktree from planning to active status. \" +\n \"Sets the initial phase and enables belief/question editing within the worktree scope.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to activate\" },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Activation result with initial phase\",\n fields: {\n worktreeId: \"string\",\n status: \"string — 'active'\",\n phase: \"string\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_TARGETS: McpToolContract = {\n name: \"update_worktree_targets\",\n description:\n \"Update the target beliefs and questions tracked by a worktree. \" +\n \"Like `git add/rm <files>` — stages or unstages beliefs/questions for investigation \" +\n \"within the worktree scope. Supports adding and removing targets atomically.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n addBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to add to the worktree\",\n },\n addQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to add to the worktree\",\n },\n removeBeliefIds: {\n type: \"array\",\n description: \"Belief node IDs to remove from the worktree\",\n },\n removeQuestionIds: {\n type: \"array\",\n description: \"Question node IDs to remove from the worktree\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Updated target counts\",\n fields: {\n worktreeId: \"string\",\n beliefCount: \"number\",\n questionCount: \"number\",\n },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const UPDATE_WORKTREE_METADATA: McpToolContract = {\n name: \"update_worktree_metadata\",\n description:\n \"Update worktree sequencing metadata — campaign, lane, dependencies, blocking relations, and gates. \" +\n \"Like `git config` for a worktree — sets the scheduling and dependency metadata that determines \" +\n \"when this worktree can activate relative to others. Use to backfill or correct sequencing data.\",\n parameters: {\n worktreeId: { type: \"string\", description: \"The worktree to update\" },\n hypothesis: {\n type: \"string\",\n description: \"Testable claim this worktree investigates\",\n },\n campaign: {\n type: \"number\",\n description: \"Top-level pipeline campaign number.\",\n },\n lane: {\n type: \"string\",\n description:\n \"GitButler-aligned workstream lane name inside the campaign.\",\n },\n laneOrderInCampaign: {\n type: \"number\",\n description: \"Ordering for this lane within the campaign.\",\n },\n orderInLane: {\n type: \"number\",\n description: \"Position of this worktree inside its lane.\",\n },\n dependsOn: {\n type: \"array\",\n description:\n \"Worktree IDs that must complete before this one can activate\",\n },\n blocks: {\n type: \"array\",\n description: \"Worktree IDs that are blocked until this one completes\",\n },\n gate: {\n type: \"string\",\n description: \"Exit gate name (e.g., 'gate:ontology-schema-hardened')\",\n },\n rationale: {\n type: \"string\",\n description: \"Why this worktree is sequenced here\",\n },\n objective: {\n type: \"string\",\n description: \"What we're trying to learn/prove\",\n },\n proofArtifacts: {\n type: \"array\",\n description:\n \"Typed proof artifacts that define what evidence or deliverables this worktree must emit before it can claim success.\",\n },\n staffingHint: {\n type: \"string\",\n description:\n \"Advisory staffing shape for the worktree (for example `backend+tests` or `fullstack`).\",\n },\n lastReconciledAt: {\n type: \"number\",\n description:\n \"Timestamp of the last deterministic workflow reconciliation pass against this worktree.\",\n },\n autoFixPolicy: {\n type: \"object\",\n description:\n \"Calibrated auto-fix policy controlling dry-run vs safe execution, per-run action caps, and permitted mutation tiers.\",\n },\n status: {\n type: \"string\",\n description:\n \"Override the worktree status. Use for lifecycle transitions like marking a worktree superseded, long-term, or as a raw idea.\",\n enum: [\n \"suggested\",\n \"planning\",\n \"active\",\n \"paused\",\n \"completed\",\n \"dismissed\",\n \"abandoned\",\n \"superseded\",\n \"long_term\",\n \"idea\",\n ],\n },\n topicId: {\n type: \"string\",\n description:\n \"Reassign this worktree's primary topic. Validates the target topic exists before updating.\",\n },\n additionalTopicIds: {\n type: \"array\",\n description:\n \"Set additional topic associations for cross-topic worktrees. Each topic ID is validated before updating. \" +\n \"Use when a worktree spans multiple knowledge domains.\",\n },\n },\n required: [\"worktreeId\"],\n response: {\n description: \"Update confirmation\",\n fields: { worktreeId: \"string\", success: \"boolean\" },\n },\n ownerModule: \"workflow-engine\",\n ontologyPrimitive: \"worktree\",\n tier: \"workhorse\",\n};\n\nexport const IDENTITY_WHOAMI: McpToolContract = {\n name: \"identity_whoami\",\n description:\n \"Read the authenticated identity summary for the current session. \" +\n \"Like `git config --get user.name` — shows who the current MCP session is acting as.\",\n parameters: {},\n required: [],\n response: {\n description: \"Canonical identity summary for the current session\",\n fields: {\n principalId:\n \"string — canonical principal identifier; for humans this is the Clerk user_... ID\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n tenantId: \"string | undefined — resolved tenant scope\",\n workspaceId: \"string | undefined — resolved workspace scope\",\n scopes: \"string[] | undefined — granted scopes for this session\",\n roles: \"string[] | undefined — canonical roles for this session\",\n },\n },\n ownerModule: \"identity-core\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const RESOLVE_INTERACTIVE_PRINCIPAL: McpToolContract = {\n name: \"resolve_interactive_principal\",\n description:\n \"Read the Permit-backed Lucern principal context for an authenticated Clerk user. \" +\n \"Like `git config --get user.email` plus the repository ACL — resolves the Clerk subject into tenant/workspace authorization context.\",\n parameters: {\n clerkId: {\n type: \"string\",\n description: \"Authenticated Clerk subject (`sub`). Clerk proves identity only; it is not the authorization record.\",\n },\n tenantId: {\n type: \"string\",\n description: \"Optional tenant scope. Omit only when the Clerk alias is globally unambiguous.\",\n },\n workspaceId: {\n type: \"string\",\n description: \"Optional workspace scope. Required when the principal has access to multiple workspaces and no default can be inferred.\",\n },\n providerProjectId: {\n type: \"string\",\n description: \"Optional Clerk project or provider instance id for tenants with multiple identity providers.\",\n },\n },\n required: [\"clerkId\"],\n response: {\n description: \"Permit-backed Lucern principal context for tenant SDK bootstrap\",\n fields: {\n principalId:\n \"string — canonical Clerk user_... ID for human sessions\",\n principalType: \"string — human, service, agent, group, or external_viewer\",\n clerkId: \"string — authenticated Clerk subject alias\",\n tenantId: \"string — resolved tenant scope\",\n workspaceId: \"string | null — resolved workspace scope\",\n roles: \"string[] — effective Permit roles\",\n scopes: \"string[] — effective scopes derived from Permit/control-plane projection\",\n groupIds: \"string[] — active Permit group memberships\",\n principalStatus: \"string — active, invited, suspended, disabled, revoked, or missing\",\n tenantStatus: \"string — projected tenant resource status\",\n workspaceStatus: \"string — projected workspace resource status\",\n permit: \"object — Permit subject, tenant, and optional workspace tuple\",\n },\n },\n ownerModule: \"control-plane\",\n ontologyPrimitive: \"identity\",\n tier: \"workhorse\",\n};\n\nexport const COMPILE_CONTEXT: McpToolContract = {\n name: \"compile_context\",\n description:\n \"Compile a focused reasoning context. If topicId is omitted, Lucern resolves the best topic from the query. \" +\n \"Like `git log --graph --decorate` for the reasoning substrate — returns the canonical Pillar 3 context pack through the public API shape.\",\n parameters: {\n topicId: {\n type: \"string\",\n description: \"Optional topic scope ID. Omit to resolve the topic from query.\",\n },\n query: {\n type: \"string\",\n description:\n \"Focus query used to resolve the topic and rank context items. Required when topicId is omitted.\",\n },\n budget: {\n type: \"number\",\n description: \"Token budget for prompt injection planning\",\n },\n ranking: {\n type: \"string\",\n description: \"Ranking profile for context ordering\",\n enum: [\"baseline_v1\", \"weighted_v1\"],\n },\n limit: {\n type: \"number\",\n description: \"Optional per-section item limit\",\n },\n maxDepth: {\n type: \"number\",\n description: \"Optional descendant topic depth for neighborhood expansion\",\n },\n includeEntities: {\n type: \"boolean\",\n description: \"Include related ontological entities in the compiled result\",\n },\n },\n required: [],\n response: {\n description: \"Compiled context pack for the requested topic\",\n fields: {\n schemaVersion: \"string\",\n topicId: \"string\",\n topicName: \"string\",\n scopedTopicIds: \"array — topic IDs included in the compilation neighborhood\",\n generatedAt:\n \"number — deterministic graph-backed reference timestamp for this compilation\",\n ranking: \"string — baseline_v1 | weighted_v1\",\n summary: \"object — counts and scoped health signals\",\n invariants: \"array — high-confidence invariant beliefs\",\n activeBeliefs: \"array — current high-signal beliefs\",\n openQuestions: \"array — unresolved questions ranked for this query\",\n recentEvidence: \"array — recent evidence ranked for this query\",\n contradictions: \"array — unresolved contradiction records\",\n relatedEntities: \"array | undefined — ranked ontological entities in scope\",\n contextNarrative: \"array — guidance for prompt assembly\",\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 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 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","/**\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 MODULATE_CONFIDENCE,\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 MERGE,\n PUSH,\n OPEN_PULL_REQUEST,\n} from \"./tool-contracts.worktrees\";\n\nimport {\n QUERY_LINEAGE,\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 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 {\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 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 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.nodes-lenses\";\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 modulate_confidence: MODULATE_CONFIDENCE,\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 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 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 // 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_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 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 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","/**\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","/**\n * Schema contracts for kernel/coordination.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/coordination.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const agentMessages = defineTable({\n name: \"agentMessages\",\n component: \"kernel\",\n category: \"coordination\",\n shape: z.object({\n \"fromSessionId\": z.string(),\n \"toSessionId\": z.string(),\n \"content\": z.string(),\n \"messageType\": z.enum([\"note\", \"question\", \"answer\", \"alert\", \"handoff\"]),\n \"relatedBeliefId\": z.string().optional(),\n \"relatedWorktreeId\": z.string().optional(),\n \"readAt\": z.number().optional(),\n \"expiresAt\": z.number().optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_toSessionId\", columns: [\"toSessionId\", \"createdAt\"] },\n { kind: 'index', name: \"by_fromSessionId\", columns: [\"fromSessionId\", \"createdAt\"] }\n ],\n});\n\nexport const agentSessions = defineTable({\n name: \"agentSessions\",\n component: \"kernel\",\n category: \"coordination\",\n shape: z.object({\n \"sessionId\": z.string(),\n \"sessionName\": z.string().optional(),\n \"agentType\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"worktreeId\": z.string().optional(),\n \"gitBranch\": z.string().optional(),\n \"touchedFiles\": z.array(z.string()).optional(),\n \"status\": z.enum([\"active\", \"idle\", \"ended\"]),\n \"lastHeartbeatAt\": z.number(),\n \"startedAt\": z.number(),\n \"endedAt\": z.number().optional(),\n \"metadata\": z.any().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] }\n ],\n});\n","/**\n * Schema contracts for mc/registry.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const agentRegistryEntries = defineTable({\n name: \"agentRegistryEntries\",\n component: \"mc\",\n category: \"registry\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"agentDefinitionId\": z.string(),\n \"agentKey\": z.string(),\n \"displayName\": z.string(),\n \"description\": z.string(),\n \"version\": z.string(),\n \"status\": z.enum([\"active\", \"deprecated\", \"disabled\"]),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]),\n \"scopeRequirements\": z.array(z.string()),\n \"promptReleaseChannel\": z.enum([\"dev\", \"staging\", \"prod\"]),\n \"promptName\": z.string().optional(),\n \"systemPrompt\": z.string().optional(),\n \"toolIds\": z.array(z.string()).optional(),\n \"modelSlot\": z.string().optional(),\n \"requiredModelCapabilities\": z.array(z.string()).optional(),\n \"parameterSchema\": z.record(z.any()),\n \"outputSchema\": z.record(z.any()).optional(),\n \"guardrails\": z.object({\n \"isolationMode\": z.enum([\"direct\", \"sandbox\"]).optional(),\n \"maxExecutionMs\": z.number().optional(),\n \"heartbeatIntervalMs\": z.number().optional(),\n \"maxToolCalls\": z.number().optional(),\n \"allowNetworkEgress\": z.boolean().optional(),\n \"allowedOrigins\": z.array(z.string()).optional()\n }).optional(),\n \"runtimeConfig\": z.object({\n \"entryPoint\": z.string().optional(),\n \"callbackUrl\": z.string().optional(),\n \"modelRouting\": z.enum([\"model_machine\", \"tenant_proxy\", \"bring_your_own\"]).optional(),\n \"auditMode\": z.enum([\"harness\", \"master_control\"]).optional()\n }).optional(),\n \"exampleInvocations\": z.array(z.object({\n \"input\": z.record(z.any()),\n \"expectedOutput\": z.record(z.any()).optional()\n })),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_agentDefinitionId\", columns: [\"agentDefinitionId\"] },\n { kind: 'index', name: \"by_tenant_agentDefinitionId\", columns: [\"tenantId\", \"agentDefinitionId\"] },\n { kind: 'index', name: \"by_tenant_agentDefinitionId_version\", columns: [\"tenantId\", \"agentDefinitionId\", \"version\"] },\n { kind: 'index', name: \"by_tenant_agentKey\", columns: [\"tenantId\", \"agentKey\"] },\n { kind: 'index', name: \"by_tenant_agentKey_version\", columns: [\"tenantId\", \"agentKey\", \"version\"] },\n { kind: 'index', name: \"by_workspace_agentKey_version\", columns: [\"workspaceId\", \"agentKey\", \"version\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const toolCatalog = defineTable({\n name: \"toolCatalog\",\n component: \"mc\",\n category: \"registry\",\n shape: z.object({\n \"toolName\": z.string(),\n \"description\": z.string(),\n \"version\": z.string(),\n \"distribution\": z.enum([\"base\", \"pack_only\"]),\n \"status\": z.enum([\"active\", \"deprecated\", \"draft\"]),\n \"category\": z.enum([\"read\", \"write\", \"admin\", \"system\"]),\n \"requiredRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"requiredAction\": z.enum([\"read\", \"mutate\", \"admin\", \"summarize\", \"export\", \"create\", \"delete\", \"grant\", \"revoke\"]),\n \"surfaces\": z.array(z.enum([\"mcp\", \"chat\", \"voice\", \"sprint\", \"api\", \"sdk\", \"cli\"])),\n \"parameterSchema\": z.record(z.any()).optional(),\n \"returnSchema\": z.record(z.any()).optional(),\n \"handlerRef\": z.string().optional(),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]).optional(),\n \"safetyMetadata\": z.object({\n \"readOnly\": z.boolean(),\n \"idempotent\": z.boolean(),\n \"sideEffectLevel\": z.enum([\"none\", \"low\", \"high\"])\n }).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_toolName\", columns: [\"toolName\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_distribution\", columns: [\"distribution\"] },\n { kind: 'index', name: \"by_distribution_status\", columns: [\"distribution\", \"status\"] },\n { kind: 'index', name: \"by_category\", columns: [\"category\"] },\n { kind: 'index', name: \"by_requiredRole\", columns: [\"requiredRole\"] }\n ],\n});\n\nexport const toolRegistryEntries = defineTable({\n name: \"toolRegistryEntries\",\n component: \"mc\",\n category: \"registry\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"toolId\": z.string(),\n \"toolName\": z.string(),\n \"description\": z.string(),\n \"version\": z.string(),\n \"status\": z.enum([\"active\", \"deprecated\", \"disabled\"]),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]),\n \"gateClassification\": z.enum([\"core\", \"shimmed\"]),\n \"scopeRequirements\": z.array(z.string()),\n \"parameterSchema\": z.record(z.any()),\n \"safetyMetadata\": z.object({\n \"readOnly\": z.boolean(),\n \"idempotent\": z.boolean(),\n \"sideEffectLevel\": z.enum([\"none\", \"low\", \"high\"])\n }),\n \"exampleInvocations\": z.array(z.object({\n \"input\": z.record(z.any()),\n \"expectedOutput\": z.record(z.any()).optional()\n })),\n \"requiredRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]).optional(),\n \"requiredAction\": z.enum([\"read\", \"mutate\", \"admin\", \"summarize\", \"export\", \"create\", \"delete\", \"grant\", \"revoke\"]).optional(),\n \"surfaces\": z.array(z.enum([\"mcp\", \"chat\", \"voice\", \"sprint\", \"api\", \"sdk\", \"cli\"])).optional(),\n \"approvalGateId\": z.string().optional(),\n \"isCore\": z.boolean().optional(),\n \"category\": z.enum([\"read\", \"write\", \"admin\", \"system\"]).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_toolId\", columns: [\"toolId\"] },\n { kind: 'index', name: \"by_tenant_toolId\", columns: [\"tenantId\", \"toolId\"] },\n { kind: 'index', name: \"by_tenant_toolId_version\", columns: [\"tenantId\", \"toolId\", \"version\"] },\n { kind: 'index', name: \"by_tenant_toolName\", columns: [\"tenantId\", \"toolName\"] },\n { kind: 'index', name: \"by_tenant_toolName_version\", columns: [\"tenantId\", \"toolName\", \"version\"] },\n { kind: 'index', name: \"by_workspace_toolName_version\", columns: [\"workspaceId\", \"toolName\", \"version\"] },\n { kind: 'index', name: \"by_tenant_gateClassification\", columns: [\"tenantId\", \"gateClassification\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/agent.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/agent.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const agents = defineTable({\n name: \"agents\",\n component: \"control-plane\",\n category: \"agent\",\n shape: z.object({\n \"slug\": z.string(),\n \"displayName\": z.string().optional(),\n \"principalId\": z.string(),\n \"principalType\": z.literal(\"service\"),\n \"tenantId\": z.string(),\n \"workspaceId\": z.string(),\n \"roles\": z.array(z.string()),\n \"permittedToolNames\": z.array(z.string()).optional(),\n \"permittedPackKeys\": z.array(z.string()).optional(),\n \"groupIds\": z.array(z.string()).optional(),\n \"status\": z.enum([\"active\", \"suspended\", \"disabled\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_slug\", columns: [\"slug\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n","/**\n * Schema contracts for mc/tenant.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const apiKeys = defineTable({\n name: \"apiKeys\",\n component: \"mc\",\n category: \"tenant\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"environment\": z.enum([\"dev\", \"staging\", \"prod\"]).optional(),\n \"keyPrefix\": z.enum([\"luc\", \"stk\"]),\n \"keyHash\": z.string(),\n \"keyHint\": z.string(),\n \"label\": z.string().optional(),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"expiresAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_keyHash\", columns: [\"keyHash\"] },\n { kind: 'index', name: \"by_tenant_prefix\", columns: [\"tenantId\", \"keyPrefix\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const auditLog = defineTable({\n name: \"auditLog\",\n component: \"mc\",\n category: \"tenant\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\").optional(),\n \"apiKeyId\": idOf(\"apiKeys\").optional(),\n \"action\": z.enum([\"key_created\", \"key_revoked\", \"key_expired\", \"key_used\", \"tenant_secret_created\", \"tenant_secret_rotated\", \"tenant_secret_revoked\", \"tenant_slot_binding_upserted\", \"tenant_slot_binding_revoked\", \"proxy_token_minted\", \"proxy_token_lease_issued\", \"proxy_token_lease_renewed\", \"proxy_token_lease_revoked\", \"proxy_request_recorded\", \"tenant_created\", \"tenant_updated\", \"tenant_suspended\", \"tenant_archived\", \"tenant_reactivated\", \"tenant_clerk_organization_linked\", \"tenant_canonical_identity_repaired\", \"principal_created\", \"principal_updated\", \"principal_suspended\", \"principal_identity_alias_upserted\", \"principal_identity_alias_revoked\", \"membership_created\", \"membership_updated\", \"membership_revoked\", \"group_created\", \"group_updated\", \"group_deleted\", \"group_member_added\", \"group_member_removed\", \"workspace_created\", \"workspace_updated\", \"workspace_archived\", \"workspace_deployment_set\", \"workspace_deployment_removed\", \"deployment_host_registered\", \"deployment_host_revoked\", \"service_key_created\", \"service_key_rotated\", \"service_key_revoked\", \"service_key_used\", \"service_key_auth_failed\", \"session_created\", \"session_validated\", \"session_revoked\", \"session_cascade_revoked\", \"session_expired\", \"sandbox_created\", \"sandbox_secret_injected\", \"sandbox_execution_started\", \"sandbox_execution_completed\", \"sandbox_limit_violated\", \"policy_created\", \"policy_updated\", \"policy_enforced\", \"policy_archived\", \"permit_sync_enqueued\", \"permit_sync_succeeded\", \"permit_sync_failed\", \"permit_sync_skipped\", \"agent_registered\", \"agent_updated\", \"tool_registered\", \"tool_updated\", \"pack_entitled\", \"pack_installed\", \"pack_enabled\", \"pack_disabled\", \"pack_entitlement_revoked\", \"pack_upgraded\", \"pack_upgrade_committed\", \"pack_upgrade_rolled_back\", \"pack_group_assigned\", \"pack_group_unassigned\", \"methodology_pack_created\", \"methodology_pack_updated\", \"methodology_pack_assigned\", \"methodology_pack_removed\", \"pack_assigned_to_group\", \"pack_revoked_from_group\", \"pack_ontology_materialized\", \"pack_ontology_topic_bound\", \"cutover_flag_set\", \"cutover_flag_cleared\"]),\n \"actorClerkId\": z.string(),\n \"details\": z.any().optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_apiKeyId\", columns: [\"apiKeyId\", \"createdAt\"] },\n { kind: 'index', name: \"by_action\", columns: [\"action\", \"createdAt\"] }\n ],\n});\n\nexport const tenants = defineTable({\n name: \"tenants\",\n component: \"mc\",\n category: \"tenant\",\n shape: z.object({\n \"slug\": z.string(),\n \"name\": z.string(),\n \"status\": z.enum([\"provisioning\", \"active\", \"suspended\", \"archived\"]),\n \"tier\": z.enum([\"free\", \"developer\", \"team\", \"enterprise\"]),\n \"kernelDeployment\": z.object({\n \"devUrl\": z.string(),\n \"devId\": z.string(),\n \"stagingUrl\": z.string().optional(),\n \"stagingId\": z.string().optional(),\n \"prodUrl\": z.string().optional(),\n \"prodId\": z.string().optional()\n }).optional(),\n \"lucernDeployment\": z.object({\n \"devUrl\": z.string(),\n \"devId\": z.string(),\n \"stagingUrl\": z.string().optional(),\n \"stagingId\": z.string().optional(),\n \"prodUrl\": z.string().optional(),\n \"prodId\": z.string().optional()\n }).optional(),\n \"appDeployment\": z.object({\n \"devUrl\": z.string(),\n \"devId\": z.string(),\n \"stagingUrl\": z.string().optional(),\n \"stagingId\": z.string().optional(),\n \"prodUrl\": z.string().optional(),\n \"prodId\": z.string().optional()\n }).optional(),\n \"ownerClerkId\": z.string(),\n \"ownerEmail\": z.string().optional(),\n \"metadata\": z.any().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_slug\", columns: [\"slug\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_ownerClerkId\", columns: [\"ownerClerkId\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/infra.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/infra.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const autofixJobs = defineTable({\n name: \"autofixJobs\",\n component: \"kernel\",\n category: \"infra\",\n shape: z.object({\n \"sentryIssueId\": z.string(),\n \"sentryEventId\": z.string(),\n \"fingerprint\": z.string(),\n \"dedupeKey\": z.string(),\n \"errorType\": z.string(),\n \"errorMessage\": z.string(),\n \"stackTrace\": z.string().optional(),\n \"filePaths\": z.array(z.string()),\n \"environment\": z.string(),\n \"sentryProjectSlug\": z.string(),\n \"sentryOrgSlug\": z.string(),\n \"sentryIssueUrl\": z.string().optional(),\n \"triggeredRule\": z.string(),\n \"sentryPayload\": z.record(z.any()),\n \"allowlistEligible\": z.boolean(),\n \"allowlistReason\": z.string(),\n \"status\": z.enum([\"pending\", \"claimed\", \"running\", \"iterating\", \"succeeded\", \"failed\", \"cancelled\"]),\n \"claimedBy\": z.string().optional(),\n \"claimedAt\": z.number().optional(),\n \"startedAt\": z.number().optional(),\n \"completedAt\": z.number().optional(),\n \"error\": z.string().optional(),\n \"prNumber\": z.number().optional(),\n \"prUrl\": z.string().optional(),\n \"commitSha\": z.string().optional(),\n \"branchName\": z.string().optional(),\n \"harnessReceipt\": z.object({\n \"runnerSessionId\": z.string(),\n \"startedAt\": z.number(),\n \"completedAt\": z.number(),\n \"fixDescription\": z.string().optional(),\n \"filesChanged\": z.array(z.string()),\n \"verificationResults\": z.array(z.object({\n \"command\": z.string(),\n \"status\": z.enum([\"pass\", \"fail\", \"skipped\"]),\n \"summary\": z.string().optional()\n })),\n \"commitShas\": z.array(z.string()),\n \"prCreated\": z.boolean(),\n \"errorSummary\": z.string().optional()\n }).optional(),\n \"iterationReceipts\": z.array(z.object({\n \"iteration\": z.number(),\n \"startedAt\": z.number(),\n \"completedAt\": z.number(),\n \"checkConclusion\": z.string(),\n \"failureSummary\": z.string().optional(),\n \"actionTaken\": z.string(),\n \"commitSha\": z.string().optional(),\n \"filesChanged\": z.array(z.string()).optional(),\n \"agentConfidence\": z.number().optional(),\n \"errorSignature\": z.string().optional()\n })).optional(),\n \"iterationCount\": z.number().optional(),\n \"maxIterations\": z.number().optional(),\n \"lastCheckConclusion\": z.string().optional(),\n \"stopReason\": z.string().optional(),\n \"iterationPolicy\": z.object({\n \"maxIterations\": z.number(),\n \"pollIntervalMs\": z.number(),\n \"flakeThreshold\": z.number(),\n \"confidenceFloor\": z.number()\n }).optional(),\n \"attemptCount\": z.number(),\n \"maxAttempts\": z.number(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_dedupeKey\", columns: [\"dedupeKey\"] },\n { kind: 'index', name: \"by_sentryIssueId\", columns: [\"sentryIssueId\"] },\n { kind: 'index', name: \"by_status_createdAt\", columns: [\"status\", \"createdAt\"] },\n { kind: 'index', name: \"by_environment\", columns: [\"environment\"] },\n { kind: 'index', name: \"by_claimedBy\", columns: [\"claimedBy\"] },\n { kind: 'index', name: \"by_createdAt\", columns: [\"createdAt\"] }\n ],\n});\n\nexport const neo4jSyncQueue = defineTable({\n name: \"neo4jSyncQueue\",\n component: \"kernel\",\n category: \"infra\",\n shape: z.object({\n \"entityType\": z.enum([\"node\", \"edge\"]),\n \"entityId\": z.string(),\n \"operation\": z.enum([\"upsert\", \"delete\"]),\n \"attempts\": z.number(),\n \"maxAttempts\": z.number(),\n \"lastAttemptAt\": z.number().optional(),\n \"lastError\": z.string().optional(),\n \"status\": z.enum([\"pending\", \"in_progress\", \"failed\", \"succeeded\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_entity\", columns: [\"entityType\", \"entityId\"] },\n { kind: 'index', name: \"by_status_attempts\", columns: [\"status\", \"attempts\"] }\n ],\n});\n\nexport const backgroundJobRuns = defineTable({\n name: \"backgroundJobRuns\",\n component: \"kernel\",\n category: \"infra\",\n shape: z.object({\n \"jobKey\": z.string(),\n \"scheduler\": z.string(),\n \"triggeredBy\": z.string(),\n \"status\": z.enum([\"running\", \"completed\", \"failed\", \"skipped\"]),\n \"startedAt\": z.number(),\n \"completedAt\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"resultSummary\": z.string().optional(),\n \"error\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_jobKey\", columns: [\"jobKey\"] },\n { kind: 'index', name: \"by_startedAt\", columns: [\"startedAt\"] },\n { kind: 'index', name: \"by_jobKey_startedAt\", columns: [\"jobKey\", \"startedAt\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const backgroundJobSettings = defineTable({\n name: \"backgroundJobSettings\",\n component: \"kernel\",\n category: \"infra\",\n shape: z.object({\n \"jobKey\": z.string(),\n \"enabled\": z.boolean(),\n \"notes\": z.string().optional(),\n \"updatedAt\": z.number(),\n \"updatedBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_jobKey\", columns: [\"jobKey\"] },\n { kind: 'index', name: \"by_enabled\", columns: [\"enabled\"] },\n { kind: 'index', name: \"by_updatedAt\", columns: [\"updatedAt\"] }\n ],\n});\n\nexport const systemLogs = defineTable({\n name: \"systemLogs\",\n component: \"kernel\",\n category: \"infra\",\n shape: z.object({\n \"chatId\": z.string().optional(),\n \"workflowId\": z.string().optional(),\n \"threadId\": z.string().optional(),\n \"level\": z.string(),\n \"source\": z.string(),\n \"message\": z.string(),\n \"metadata\": z.record(z.any()).optional(),\n \"traceId\": z.string().optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_chatId\", columns: [\"chatId\"] },\n { kind: 'index', name: \"by_workflowId\", columns: [\"workflowId\"] },\n { kind: 'index', name: \"by_threadId\", columns: [\"threadId\"] },\n { kind: 'index', name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: 'index', name: \"by_level\", columns: [\"level\"] },\n { kind: 'index', name: \"by_source\", columns: [\"source\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/domain events.\n *\n * Domain events are kernel audit exhaust. They let the gateway, SDK, CLI, and\n * MCP prove write activity without making task/belief writes depend on a\n * tenant-specific host table.\n */\n\nimport { z } from 'zod';\nimport { defineTable } from '../../../dsl.js';\n\nexport const domainEvents = defineTable({\n name: \"domainEvents\",\n component: \"kernel\",\n category: \"events\",\n shape: z.object({\n \"eventId\": z.string(),\n \"type\": z.string(),\n \"version\": z.string(),\n \"timestamp\": z.number(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"topicId\": z.string(),\n \"resourceId\": z.string(),\n \"resourceType\": z.string(),\n \"actorId\": z.string(),\n \"actorType\": z.enum([\"human\", \"agent\", \"service\"]),\n \"data\": z.record(z.any()),\n \"correlationId\": z.string().optional(),\n \"expiresAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_eventId\", columns: [\"eventId\"] },\n { kind: 'index', name: \"by_topic_timestamp\", columns: [\"topicId\", \"timestamp\"] },\n { kind: 'index', name: \"by_tenant_workspace_timestamp\", columns: [\"tenantId\", \"workspaceId\", \"timestamp\"] },\n { kind: 'index', name: \"by_type_timestamp\", columns: [\"type\", \"timestamp\"] },\n { kind: 'index', name: \"by_resource\", columns: [\"resourceType\", \"resourceId\", \"timestamp\"] },\n { kind: 'index', name: \"by_expiresAt\", columns: [\"expiresAt\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/epistemic.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/epistemic.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const beliefConfidence = defineTable({\n name: \"beliefConfidence\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"beliefId\": z.string(),\n \"belief\": z.number(),\n \"disbelief\": z.number(),\n \"uncertainty\": z.number(),\n \"baseRate\": z.number(),\n \"slOperator\": z.string().optional(),\n \"confidence\": z.number(),\n \"confidenceLevel\": z.enum([\"high\", \"medium\", \"low\"]).optional(),\n \"valence\": z.number().optional(),\n \"certainty\": z.number().optional(),\n \"assessedAt\": z.number(),\n \"assessedBy\": z.string(),\n \"trigger\": z.enum([\"initial\", \"evidence_added\", \"evidence_removed\", \"contradiction_detected\", \"contradiction_resolved\", \"propagation\", \"agent_assessment\", \"worktree_outcome\", \"worktree_completed\", \"fusion\", \"discount\", \"deduction\", \"backfill_synthetic\"]),\n \"rationale\": z.string().optional(),\n \"triggeringEvidenceId\": z.string().optional(),\n \"triggeringEvidenceIds\": z.array(z.string()).optional(),\n \"triggeringQuestionId\": z.string().optional(),\n \"triggeringAnswerId\": z.string().optional(),\n \"triggeringContradictionId\": idOf(\"contradictions\").optional(),\n \"triggeringWorktreeId\": z.string().optional(),\n \"triggeringAgentId\": z.string().optional(),\n \"isAgentAssessment\": z.boolean().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_beliefId\", columns: [\"beliefId\"] },\n { kind: 'index', name: \"by_beliefId_time\", columns: [\"beliefId\", \"assessedAt\"] },\n { kind: 'index', name: \"by_trigger\", columns: [\"trigger\"] }\n ],\n});\n\nexport const beliefEvidenceLinks = defineTable({\n name: \"beliefEvidenceLinks\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"beliefId\": z.string(),\n \"insightId\": z.string(),\n \"relation\": z.enum([\"supports\", \"contradicts\"]),\n \"confidence\": z.number().optional(),\n \"rationale\": z.string().optional(),\n \"status\": z.enum([\"suggested\", \"approved\", \"dismissed\"]).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_beliefId\", columns: [\"beliefId\"] },\n { kind: 'index', name: \"by_insightId\", columns: [\"insightId\"] },\n { kind: 'index', name: \"by_relation\", columns: [\"beliefId\", \"relation\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const beliefHistory = defineTable({\n name: \"beliefHistory\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"beliefId\": z.string(),\n \"timestamp\": z.number(),\n \"previousStatus\": z.string().optional(),\n \"newStatus\": z.string(),\n \"justification\": z.string().optional(),\n \"triggeredByEvidenceIds\": z.array(z.string()).optional(),\n \"triggeredByUserId\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_beliefId\", columns: [\"beliefId\"] }\n ],\n});\n\nexport const beliefScenarios = defineTable({\n name: \"beliefScenarios\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"testedBeliefId\": z.string(),\n \"scenarioType\": z.enum([\"falsification\", \"strengthening\", \"alternative\", \"collapse\", \"critical_path\"]),\n \"assumedState\": z.enum([\"false\", \"true\", \"weakened\", \"strengthened\"]),\n \"title\": z.string(),\n \"description\": z.string(),\n \"cascadeEffects\": z.array(z.object({\n \"beliefId\": z.string(),\n \"beliefText\": z.string(),\n \"currentConfidence\": z.string(),\n \"projectedConfidence\": z.string(),\n \"reason\": z.string()\n })),\n \"thesisImpact\": z.enum([\"thesis_fails\", \"thesis_weakens\", \"pillar_fails\", \"localized\", \"minimal\"]),\n \"pillarImpacts\": z.array(z.object({\n \"pillar\": z.string(),\n \"impactLevel\": z.string(),\n \"reason\": z.string()\n })).optional(),\n \"keyInsights\": z.array(z.string()),\n \"recommendedActions\": z.array(z.object({\n \"action\": z.string(),\n \"priority\": z.string(),\n \"rationale\": z.string()\n })).optional(),\n \"sourceWorktreeId\": z.string().optional(),\n \"sourceChatId\": idOf(\"chats\").optional(),\n \"sourceMessageId\": idOf(\"messages\").optional(),\n \"createdAt\": z.number(),\n \"createdBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_scenarioType\", columns: [\"topicId\", \"scenarioType\"] },\n { kind: 'index', name: \"by_topic_thesisImpact\", columns: [\"topicId\", \"thesisImpact\"] },\n { kind: 'index', name: \"by_testedBelief\", columns: [\"testedBeliefId\"] },\n { kind: 'index', name: \"by_sourceWorktreeId\", columns: [\"sourceWorktreeId\"] }\n ],\n});\n\nexport const contractEvaluations = defineTable({\n name: \"contractEvaluations\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"contractId\": z.string(),\n \"beliefNodeId\": z.string(),\n \"result\": z.enum([\"confirmed\", \"disconfirmed\", \"partial\", \"expired\", \"error\", \"inconclusive\"]),\n \"evaluatedAt\": z.number(),\n \"evaluator\": z.string(),\n \"trigger\": z.string(),\n \"resultData\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]).optional(),\n \"modulationApplied\": z.boolean(),\n \"confidenceDelta\": z.number().optional(),\n \"confidenceBefore\": z.number().optional(),\n \"confidenceAfter\": z.number().optional(),\n \"beliefConfidenceId\": idOf(\"beliefConfidence\").optional(),\n \"modulationRationale\": z.string().optional(),\n \"topicId\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_contract\", columns: [\"contractId\"] },\n { kind: 'index', name: \"by_contract_time\", columns: [\"contractId\", \"evaluatedAt\"] },\n { kind: 'index', name: \"by_belief\", columns: [\"beliefNodeId\"] },\n { kind: 'index', name: \"by_result\", columns: [\"result\"] },\n { kind: 'index', name: \"by_time\", columns: [\"evaluatedAt\"] },\n { kind: 'index', name: \"by_topic_time\", columns: [\"topicId\", \"evaluatedAt\"] }\n ],\n});\n\nexport const contradictions = defineTable({\n name: \"contradictions\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"beliefId\": z.string(),\n \"supportingInsightIds\": z.array(z.string()),\n \"contradictingInsightIds\": z.array(z.string()),\n \"resolutionStatus\": z.enum([\"unresolved\", \"investigating\", \"accepted_as_permanent\", \"resolved_by_fork\", \"resolved_by_evidence\", \"resolved_by_reinterpretation\", \"superseded\"]),\n \"status\": z.enum([\"unresolved\", \"investigating\", \"resolved_support\", \"resolved_contra\", \"belief_forked\"]).optional(),\n \"blocksDecisionFinalization\": z.boolean().optional(),\n \"blockingReason\": z.string().optional(),\n \"severity\": z.enum([\"critical\", \"significant\", \"minor\"]),\n \"aiAnalysis\": z.object({\n \"summary\": z.string(),\n \"likelyExplanation\": z.string(),\n \"suggestedResolution\": z.string(),\n \"confidenceInAnalysis\": z.number(),\n \"analyzedAt\": z.number()\n }).optional(),\n \"resolutionWorktreeId\": z.string().optional(),\n \"resolution\": z.object({\n \"verdict\": z.string(),\n \"reasoning\": z.string(),\n \"beliefUpdate\": z.string(),\n \"resolvedBy\": z.string()\n }).optional(),\n \"resultingBeliefIds\": z.array(z.string()).optional(),\n \"detectionMethod\": z.enum([\"semantic\", \"keyword\", \"manual\", \"agent\"]).optional(),\n \"similarityScore\": z.number().optional(),\n \"detectedAt\": z.number(),\n \"resolvedAt\": z.number().optional(),\n \"lastReviewedAt\": z.number().optional(),\n \"createdBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_resolutionStatus\", columns: [\"topicId\", \"resolutionStatus\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_topic_severity\", columns: [\"topicId\", \"severity\"] },\n { kind: 'index', name: \"by_topic_blocking\", columns: [\"topicId\", \"blocksDecisionFinalization\"] },\n { kind: 'index', name: \"by_beliefId\", columns: [\"beliefId\"] }\n ],\n});\n\nexport const epistemicAudit = defineTable({\n name: \"epistemicAudit\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"entityType\": z.enum([\"belief\", \"evidence\", \"question\", \"answer\", \"contradiction\", \"decision\", \"proposal\", \"edge\", \"node\", \"entity\", \"source\", \"belief_conditional\", \"belief_scenario\", \"ontologyDefinition\", \"ontologyVersion\"]),\n \"entityId\": z.string(),\n \"changeType\": z.enum([\"created\", \"status_changed\", \"confidence_changed\", \"criticality_changed\", \"formulation_modified\", \"forked\", \"superseded\", \"archived\", \"resolved\", \"severity_changed\", \"edge_added\", \"edge_removed\", \"annotated\", \"blocked\", \"unblocked\", \"decision_finalized\", \"proposal_accepted\", \"proposal_rejected\", \"pillar_changed\", \"updated\", \"deleted\", \"entity_merged\", \"entity_attributes_updated\", \"entity_archived\", \"published\", \"deprecated\", \"source_created\", \"source_metadata_updated\"]),\n \"changedAt\": z.number(),\n \"changedBy\": z.string(),\n \"isAgent\": z.boolean(),\n \"agentType\": z.string().optional(),\n \"previousState\": z.union([z.record(z.any()), z.null()]).optional(),\n \"newState\": z.union([z.record(z.any()), z.null()]).optional(),\n \"rationale\": z.string().optional(),\n \"triggeringAction\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"proposalId\": z.string().optional(),\n \"mcpSessionId\": z.string().optional(),\n \"mcpToolName\": z.string().optional(),\n \"sourceCommit\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_entityId\", columns: [\"entityId\"] },\n { kind: 'index', name: \"by_entityType\", columns: [\"entityType\"] },\n { kind: 'index', name: \"by_entityType_id\", columns: [\"entityType\", \"entityId\"] },\n { kind: 'index', name: \"by_changedAt\", columns: [\"changedAt\"] },\n { kind: 'index', name: \"by_changedBy\", columns: [\"changedBy\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_changeType\", columns: [\"changeType\"] },\n { kind: 'index', name: \"by_mcpSessionId\", columns: [\"mcpSessionId\"] }\n ],\n});\n\nexport const epistemicContracts = defineTable({\n name: \"epistemicContracts\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"beliefNodeId\": z.string(),\n \"contractId\": z.string(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"conditionType\": z.enum([\"assertion\", \"temporal\", \"evidential\", \"threshold\", \"composite\"]),\n \"direction\": z.enum([\"confirms\", \"falsifies\"]),\n \"condition\": z.object({\n \"expression\": z.string(),\n \"evaluator\": z.string(),\n \"evaluatorConfig\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]).optional()\n }),\n \"deadline\": z.number().optional(),\n \"compositeOf\": z.array(z.string()).optional(),\n \"compositeOperator\": z.enum([\"all\", \"any\", \"majority\"]).optional(),\n \"modulation\": z.object({\n \"onConfirmed\": z.object({\n \"delta\": z.number(),\n \"ceiling\": z.number().optional()\n }),\n \"onDisconfirmed\": z.object({\n \"delta\": z.number(),\n \"floor\": z.number().optional()\n }),\n \"onExpired\": z.object({\n \"delta\": z.number()\n }).optional(),\n \"onPartial\": z.object({\n \"threshold\": z.number(),\n \"delta\": z.number()\n }).optional()\n }),\n \"evaluationSchedule\": z.enum([\"on_demand\", \"on_evidence\", \"periodic\", \"event_driven\"]),\n \"periodicIntervalMs\": z.number().optional(),\n \"status\": z.enum([\"active\", \"satisfied\", \"violated\", \"expired\", \"suspended\", \"archived\"]),\n \"lineageSource\": z.enum([\"declared\", \"inherited\"]),\n \"inheritedFromContractId\": z.string().optional(),\n \"inheritedFromBeliefNodeId\": z.string().optional(),\n \"inheritedAt\": z.number().optional(),\n \"lastEvaluatedAt\": z.number().optional(),\n \"evaluationCount\": z.number().optional(),\n \"topicId\": z.string().optional(),\n \"createdAt\": z.number(),\n \"createdBy\": z.string(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_contractId\", columns: [\"contractId\"] },\n { kind: 'index', name: \"by_belief\", columns: [\"beliefNodeId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_evaluator\", columns: [\"condition.evaluator\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_schedule\", columns: [\"evaluationSchedule\"] }\n ],\n});\n\nexport const questionEvidenceLinks = defineTable({\n name: \"questionEvidenceLinks\",\n component: \"kernel\",\n category: \"epistemic\",\n shape: z.object({\n \"questionId\": z.string(),\n \"insightId\": z.string(),\n \"helpsAnswer\": z.boolean(),\n \"relevance\": z.number().optional(),\n \"rationale\": z.string().optional(),\n \"impactScore\": z.number().optional(),\n \"impact\": z.enum([\"supports\", \"contradicts\", \"neutral\"]).optional(),\n \"status\": z.enum([\"suggested\", \"approved\", \"dismissed\"]).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_questionId\", columns: [\"questionId\"] },\n { kind: 'index', name: \"by_insightId\", columns: [\"insightId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/decision.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/decision.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const beliefVotes = defineTable({\n name: \"beliefVotes\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"voterPrincipalId\": z.string(),\n \"voterUserId\": z.string().optional(),\n \"voterRole\": z.enum([\"owner\", \"facilitator\", \"decision_maker\", \"advisor\", \"observer\", \"recorder\"]).optional(),\n \"stakeholderGroupId\": idOf(\"stakeholderGroups\").optional(),\n \"beliefId\": idOf(\"epistemicNodes\"),\n \"domainCategory\": z.string().optional(),\n \"voteDirection\": z.enum([\"support\", \"oppose\", \"abstain\", \"uncertain\"]),\n \"confidence\": z.number(),\n \"probability\": z.number().optional(),\n \"comment\": z.string().optional(),\n \"isHingeVote\": z.boolean().optional(),\n \"status\": z.enum([\"active\", \"superseded\", \"withdrawn\"]),\n \"supersedesVoteId\": idOf(\"beliefVotes\").optional(),\n \"supersededByVoteId\": idOf(\"beliefVotes\").optional(),\n \"weightingModelVersion\": z.string(),\n \"weightingInput\": z.record(z.any()).optional(),\n \"effectiveWeight\": z.number().optional(),\n \"policyTraceId\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_decision_belief\", columns: [\"decisionEventId\", \"beliefId\"] },\n { kind: 'index', name: \"by_decision_belief_voter\", columns: [\"decisionEventId\", \"beliefId\", \"voterPrincipalId\"] },\n { kind: 'index', name: \"by_decision_status\", columns: [\"decisionEventId\", \"status\"] },\n { kind: 'index', name: \"by_supersedesVoteId\", columns: [\"supersedesVoteId\"] }\n ],\n});\n\nexport const calibrationScores = defineTable({\n name: \"calibrationScores\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"principalId\": z.string(),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"decisionEventId\": idOf(\"decisionEvents\").optional(),\n \"snapshotId\": idOf(\"decisionSnapshots\").optional(),\n \"scoreType\": z.enum([\"confidence_alignment\", \"outcome_accuracy\", \"weighting_alignment\", \"readiness_alignment\", \"brier\"]),\n \"score\": z.number(),\n \"inputCount\": z.number().optional(),\n \"windowStartAt\": z.number().optional(),\n \"windowEndAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_principal_createdAt\", columns: [\"topicId\", \"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_snapshotId\", columns: [\"snapshotId\"] },\n { kind: 'index', name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] }\n ],\n});\n\nexport const decisionComputedSummaries = defineTable({\n name: \"decisionComputedSummaries\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"summaryKind\": z.enum([\"contradiction_map\", \"hinge_fragility\", \"certainty_map\", \"unknown_concentration\", \"risk_ledger_draft\", \"readiness_breakdown\", \"quorum_suggestion\", \"vote_weighting\", \"cross_group_divergence\", \"cross_theme_concentration\"]),\n \"schemaVersion\": z.string(),\n \"status\": z.enum([\"draft\", \"current\", \"superseded\"]),\n \"payload\": z.record(z.any()),\n \"inputHash\": z.string().optional(),\n \"policyTraceId\": z.string().optional(),\n \"supersededBySummaryId\": idOf(\"decisionComputedSummaries\").optional(),\n \"computedBy\": z.string().optional(),\n \"computedAt\": z.number(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_kind_createdAt\", columns: [\"topicId\", \"summaryKind\", \"computedAt\"] },\n { kind: 'index', name: \"by_decision_kind_createdAt\", columns: [\"decisionEventId\", \"summaryKind\", \"computedAt\"] },\n { kind: 'index', name: \"by_decision_status\", columns: [\"decisionEventId\", \"status\"] }\n ],\n});\n\nexport const decisionEvents = defineTable({\n name: \"decisionEvents\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"eventKey\": z.string(),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"ownerPrincipalId\": z.string().optional(),\n \"audienceLabel\": z.string().optional(),\n \"policyTags\": z.array(z.string()).optional(),\n \"sensitivityTier\": z.enum([\"low\", \"medium\", \"high\"]).optional(),\n \"exportClass\": z.enum([\"public_safe\", \"client_safe\", \"internal_only\"]).optional(),\n \"anonymizationClass\": z.enum([\"none\", \"standard\", \"strict\"]).optional(),\n \"title\": z.string(),\n \"summary\": z.string().optional(),\n \"eventType\": z.enum([\"investment\", \"deal\", \"portfolio\", \"strategy\", \"operations\", \"other\"]),\n \"status\": z.enum([\"draft\", \"pre_ic_preparing\", \"pre_ic_ready\", \"ic_in_session\", \"risk_confirmed\", \"snapshot_locked\", \"finalized\", \"reopened\", \"superseded\"]),\n \"outcome\": z.enum([\"approve\", \"conditional\", \"defer\", \"reject\", \"reopen_on_trigger\"]).optional(),\n \"scheduledAt\": z.number().optional(),\n \"startedAt\": z.number().optional(),\n \"riskConfirmedAt\": z.number().optional(),\n \"snapshotLockedAt\": z.number().optional(),\n \"finalizedAt\": z.number().optional(),\n \"supersedesDecisionEventId\": idOf(\"decisionEvents\").optional(),\n \"supersededByDecisionEventId\": idOf(\"decisionEvents\").optional(),\n \"weightingModelVersion\": z.string(),\n \"weightingParameters\": z.record(z.any()).optional(),\n \"advisoryReadinessScore\": z.number().optional(),\n \"advisoryReadinessFactors\": z.record(z.any()).optional(),\n \"policyTraceId\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"updatedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_eventKey\", columns: [\"eventKey\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_topic_updatedAt\", columns: [\"topicId\", \"updatedAt\"] },\n { kind: 'index', name: \"by_status_scheduledAt\", columns: [\"status\", \"scheduledAt\"] },\n { kind: 'index', name: \"by_supersedesDecisionEventId\", columns: [\"supersedesDecisionEventId\"] },\n { kind: 'index', name: \"by_supersededByDecisionEventId\", columns: [\"supersededByDecisionEventId\"] }\n ],\n});\n\nexport const decisionParticipants = defineTable({\n name: \"decisionParticipants\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string(),\n \"userId\": z.string().optional(),\n \"role\": z.enum([\"owner\", \"facilitator\", \"decision_maker\", \"advisor\", \"observer\", \"recorder\"]),\n \"stakeholderGroupId\": idOf(\"stakeholderGroups\").optional(),\n \"weight\": z.number().optional(),\n \"calibrationWeight\": z.number().optional(),\n \"status\": z.enum([\"active\", \"invited\", \"removed\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_decision_principal\", columns: [\"decisionEventId\", \"principalId\"] },\n { kind: 'index', name: \"by_decision_role\", columns: [\"decisionEventId\", \"role\"] },\n { kind: 'index', name: \"by_group\", columns: [\"stakeholderGroupId\"] }\n ],\n});\n\nexport const decisionRiskLedger = defineTable({\n name: \"decisionRiskLedger\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"riskType\": z.string(),\n \"riskDescription\": z.string(),\n \"relatedBeliefId\": idOf(\"epistemicNodes\").optional(),\n \"probabilityBand\": z.enum([\"very_low\", \"low\", \"medium\", \"high\", \"very_high\"]),\n \"impactBand\": z.enum([\"very_low\", \"low\", \"medium\", \"high\", \"very_high\"]),\n \"ownerPrincipalId\": z.string().optional(),\n \"triggerCondition\": z.string().optional(),\n \"monitoringPlan\": z.string().optional(),\n \"status\": z.enum([\"draft\", \"confirmed\", \"resolved\", \"dismissed\"]),\n \"confirmationMetadata\": z.record(z.any()).optional(),\n \"confirmedAt\": z.number().optional(),\n \"confirmedBy\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_decision_status\", columns: [\"decisionEventId\", \"status\"] }\n ],\n});\n\nexport const decisionSnapshots = defineTable({\n name: \"decisionSnapshots\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"ownerPrincipalId\": z.string().optional(),\n \"audienceLabel\": z.string().optional(),\n \"policyTags\": z.array(z.string()).optional(),\n \"sensitivityTier\": z.enum([\"low\", \"medium\", \"high\"]).optional(),\n \"exportClass\": z.enum([\"public_safe\", \"client_safe\", \"internal_only\"]).optional(),\n \"anonymizationClass\": z.enum([\"none\", \"standard\", \"strict\"]).optional(),\n \"version\": z.number(),\n \"snapshotLabel\": z.string().optional(),\n \"payload\": z.record(z.any()),\n \"payloadHash\": z.string(),\n \"weightingModelVersion\": z.string(),\n \"weightingParameters\": z.record(z.any()).optional(),\n \"outcome\": z.enum([\"approve\", \"conditional\", \"defer\", \"reject\", \"reopen_on_trigger\"]).optional(),\n \"lineageParentSnapshotId\": idOf(\"decisionSnapshots\").optional(),\n \"lineageParentDecisionEventId\": idOf(\"decisionEvents\").optional(),\n \"policyTraceId\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"lockedBy\": z.string(),\n \"lockedAt\": z.number(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_lockedAt\", columns: [\"topicId\", \"lockedAt\"] },\n { kind: 'index', name: \"by_decision_version\", columns: [\"decisionEventId\", \"version\"] },\n { kind: 'index', name: \"by_decision_lockedAt\", columns: [\"decisionEventId\", \"lockedAt\"] },\n { kind: 'index', name: \"by_payloadHash\", columns: [\"payloadHash\"] }\n ],\n});\n\nexport const deliberationContributions = defineTable({\n name: \"deliberationContributions\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"sessionId\": idOf(\"deliberationSessions\"),\n \"topicId\": z.string().optional(),\n \"principalId\": z.string(),\n \"slot\": z.string(),\n \"modelKey\": z.string().optional(),\n \"promptName\": z.string().optional(),\n \"role\": z.enum([\"support\", \"oppose\", \"uncertain\", \"synthesize\"]),\n \"answer\": z.string(),\n \"confidence\": z.number(),\n \"reasoningChain\": z.array(z.string()),\n \"uncertaintyZones\": z.array(z.object({\n \"label\": z.string(),\n \"explanation\": z.string()\n })),\n \"escalationQuestions\": z.array(z.string()),\n \"contradictionHypotheses\": z.array(z.string()),\n \"rawResponse\": z.string(),\n \"parsedResponse\": z.any().optional(),\n \"traceId\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_session_slot\", columns: [\"sessionId\", \"slot\"] }\n ],\n});\n\nexport const deliberationSessions = defineTable({\n name: \"deliberationSessions\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string(),\n \"question\": z.string(),\n \"status\": z.enum([\"running\", \"completed\", \"failed\"]),\n \"modelSlots\": z.array(z.string()),\n \"linkedBeliefNodeId\": idOf(\"epistemicNodes\").optional(),\n \"replayBaselineAt\": z.number(),\n \"replayHeadAt\": z.number().optional(),\n \"replayBaseline\": z.any().optional(),\n \"replayDelta\": z.any().optional(),\n \"contextBrief\": z.string().optional(),\n \"contextSnapshot\": z.any().optional(),\n \"contradictionIds\": z.array(idOf(\"contradictions\")),\n \"escalationQuestionIds\": z.array(idOf(\"epistemicNodes\")),\n \"uncertaintyZones\": z.array(z.object({\n \"label\": z.string(),\n \"explanation\": z.string(),\n \"slots\": z.array(z.string())\n })),\n \"outcomeSummary\": z.any().optional(),\n \"traceId\": z.string().optional(),\n \"error\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"completedAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_createdBy\", columns: [\"createdBy\"] }\n ],\n});\n\nexport const stakeholderGroups = defineTable({\n name: \"stakeholderGroups\",\n component: \"kernel\",\n category: \"decision\",\n shape: z.object({\n \"decisionEventId\": idOf(\"decisionEvents\"),\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"groupKey\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"weight\": z.number(),\n \"status\": z.enum([\"active\", \"archived\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionEventId\", columns: [\"decisionEventId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_decision_groupKey\", columns: [\"decisionEventId\", \"groupKey\"] },\n { kind: 'index', name: \"by_decision_status\", columns: [\"decisionEventId\", \"status\"] }\n ],\n});\n","/**\n * Schema contracts for mc/runtime.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from \"zod\";\nimport { defineTable, idOf } from \"../../../dsl.js\";\n\nexport const compatibilityShims = defineTable({\n name: \"compatibilityShims\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n shimId: z.string(),\n gateId: z.string(),\n removalDate: z.string(),\n removalPriority: z.enum([\"P1\", \"P2\", \"P3\"]),\n description: z.string(),\n owner: z.string(),\n createdAt: z.string(),\n status: z.enum([\"active\", \"overdue\", \"removed\"]),\n bridgeType: z.enum([\"tool\", \"agent\"]),\n bridgeTarget: z.object({\n type: z.enum([\"tool\", \"agent\"]),\n legacyPath: z.string(),\n harnessPath: z.string(),\n }),\n shimBehavior: z.enum([\n \"passthrough_with_logging\",\n \"adapter\",\n \"feature_flag_gate\",\n ]),\n producesLedgerEntries: z.boolean(),\n lastAuditedAt: z.number(),\n metadata: z.record(z.any()).optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_shimId\", columns: [\"shimId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_bridgeType_status\",\n columns: [\"bridgeType\", \"status\"],\n },\n ],\n});\n\nexport const cutoverFlags = defineTable({\n name: \"cutoverFlags\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n domain: z.enum([\n \"graph\",\n \"schema\",\n \"identity\",\n \"policy\",\n \"audit\",\n \"admin\",\n \"agent\",\n \"tool\",\n \"prompt\",\n \"intelligence\",\n ]),\n state: z.enum([\"legacy\", \"cutover\", \"disabled\"]),\n metadata: z.record(z.any()).optional(),\n updatedBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_domain\", columns: [\"domain\"] },\n { kind: \"index\", name: \"by_state\", columns: [\"state\"] },\n ],\n});\n\nexport const tenantDeploymentCredentials = defineTable({\n name: \"tenantDeploymentCredentials\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n credentialRef: z.string(),\n tenantId: idOf(\"tenants\"),\n workspaceId: idOf(\"workspaces\").optional(),\n target: z.enum([\"kernelDeployment\", \"appDeployment\"]),\n environment: z.enum([\"dev\", \"staging\", \"prod\"]),\n encryptedDeployKey: z.string(),\n encryptionVersion: z.string(),\n keyFingerprint: z.string(),\n keyHint: z.string(),\n status: z.enum([\"active\", \"revoked\"]),\n rotatedFromCredentialRef: z.string().optional(),\n revokedAt: z.number().optional(),\n revokedBy: z.string().optional(),\n lastUsedAt: z.number().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_credentialRef\", columns: [\"credentialRef\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"target\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_target_environment\",\n columns: [\"tenantId\", \"target\", \"environment\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_target_environment_status\",\n columns: [\"tenantId\", \"target\", \"environment\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_workspace_target_environment_status\",\n columns: [\"tenantId\", \"workspaceId\", \"target\", \"environment\", \"status\"],\n },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n\nexport const permitSyncStates = defineTable({\n name: \"permitSyncStates\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n syncKey: z.string(),\n objectType: z.enum([\n \"resource\",\n \"role\",\n \"resource_role\",\n \"resource_relation\",\n \"tenant\",\n \"workspace\",\n \"principal\",\n \"membership\",\n \"group\",\n \"resource_instance\",\n \"relationship_tuple\",\n \"role_assignment\",\n ]),\n objectId: z.string(),\n tenantId: idOf(\"tenants\").optional(),\n workspaceId: idOf(\"workspaces\").optional(),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n desiredPayload: z.record(z.any()),\n lastAppliedPayloadHash: z.string().optional(),\n status: z.enum([\"pending\", \"synced\", \"error\", \"skipped\"]),\n attemptCount: z.number(),\n lastError: z.string().optional(),\n nextAttemptAt: z.number().optional(),\n lastSyncedAt: z.number().optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_principal_status\",\n columns: [\"principalId\", \"status\"],\n },\n ],\n});\n\nexport const secretSyncDriftReports = defineTable({\n name: \"secretSyncDriftReports\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n reportId: z.string(),\n source: z.enum([\"infisical_manifest\", \"manual\", \"ci\"]),\n generatedAt: z.number(),\n recordedAt: z.number(),\n recordedBy: z.string(),\n status: z.enum([\n \"in_sync\",\n \"drift\",\n \"exception\",\n \"blocked\",\n \"not_observed\",\n ]),\n reportHash: z.string(),\n manifestHash: z.string().optional(),\n dryRunReceiptId: z.string().optional(),\n appliedReceiptId: z.string().optional(),\n summary: z.object({\n totalPipelines: z.number(),\n inSync: z.number(),\n drift: z.number(),\n exception: z.number(),\n blocked: z.number(),\n notObserved: z.number(),\n missingKeys: z.number(),\n valueDriftKeys: z.number(),\n extraKeys: z.number(),\n deniedConvexLeakage: z.number(),\n approvedExceptions: z.number(),\n }),\n redactedReport: z.record(z.any()),\n metadata: z.record(z.any()).optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_reportId\", columns: [\"reportId\"] },\n { kind: \"index\", name: \"by_reportHash\", columns: [\"reportHash\"] },\n { kind: \"index\", name: \"by_generatedAt\", columns: [\"generatedAt\"] },\n {\n kind: \"index\",\n name: \"by_status_generatedAt\",\n columns: [\"status\", \"generatedAt\"],\n },\n ],\n});\n\nexport const controlPlaneTenantModelSlotBindings = defineTable({\n name: \"controlPlaneTenantModelSlotBindings\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n bindingId: z.string(),\n tenantId: idOf(\"tenants\"),\n workspaceId: idOf(\"workspaces\").optional(),\n environment: z.enum([\"dev\", \"staging\", \"prod\"]).optional(),\n providerId: z.string(),\n modelSlotId: z.string(),\n secretRef: z.string(),\n status: z.enum([\"active\", \"revoked\"]),\n passThroughOnly: z.boolean(),\n revokedAt: z.number().optional(),\n revokedBy: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_bindingId\", columns: [\"bindingId\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_slot\",\n columns: [\"tenantId\", \"modelSlotId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_provider_slot\",\n columns: [\"tenantId\", \"providerId\", \"modelSlotId\"],\n },\n { kind: \"index\", name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n\nexport const controlPlaneTenantProviderSecrets = defineTable({\n name: \"controlPlaneTenantProviderSecrets\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n secretRef: z.string(),\n tenantId: idOf(\"tenants\"),\n workspaceId: idOf(\"workspaces\").optional(),\n environment: z.enum([\"dev\", \"staging\", \"prod\"]).optional(),\n providerId: z.string(),\n label: z.string().optional(),\n encryptedSecret: z.string().optional(),\n infisicalPath: z.string().optional(),\n infisicalSecretKey: z.string().optional(),\n infisicalProjectId: z.string().optional(),\n encryptionVersion: z.string(),\n secretFingerprint: z.string(),\n keyHint: z.string(),\n status: z.enum([\"active\", \"revoked\"]),\n rotatedFromSecretRef: z.string().optional(),\n revokedAt: z.number().optional(),\n revokedBy: z.string().optional(),\n lastUsedAt: z.number().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider\",\n columns: [\"tenantId\", \"providerId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_provider_status\",\n columns: [\"tenantId\", \"providerId\", \"status\"],\n },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n\nexport const controlPlaneTenantProxyGatewayUsage = defineTable({\n name: \"controlPlaneTenantProxyGatewayUsage\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n usageId: z.string(),\n tenantId: idOf(\"tenants\"),\n providerId: z.string(),\n modelSlotId: z.string(),\n secretRef: z.string(),\n proxyTokenId: z.string(),\n sessionId: z.string(),\n principalId: z.string(),\n workspaceId: z.string().optional(),\n modelId: z.string().optional(),\n requestPath: z.string(),\n status: z.enum([\"success\", \"error\"]),\n responseStatus: z.number().optional(),\n inputTokens: z.number().optional(),\n outputTokens: z.number().optional(),\n tokenCount: z.number().optional(),\n latencyMs: z.number(),\n estimatedCostUsd: z.number().optional(),\n failureCode: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_usageId\", columns: [\"usageId\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider\",\n columns: [\"tenantId\", \"providerId\", \"createdAt\"],\n },\n {\n kind: \"index\",\n name: \"by_proxyTokenId\",\n columns: [\"proxyTokenId\", \"createdAt\"],\n },\n {\n kind: \"index\",\n name: \"by_sessionId\",\n columns: [\"sessionId\", \"createdAt\"],\n },\n ],\n});\n\nexport const controlPlaneTenantProxyTokenLeases = defineTable({\n name: \"controlPlaneTenantProxyTokenLeases\",\n component: \"mc\",\n category: \"runtime\",\n shape: z.object({\n leaseId: z.string(),\n proxyTokenId: z.string(),\n tenantId: idOf(\"tenants\"),\n workspaceId: idOf(\"workspaces\").optional(),\n environment: z.enum([\"dev\", \"staging\", \"prod\"]),\n providerId: z.string(),\n modelSlotId: z.string(),\n bindingId: z.string(),\n secretRef: z.string(),\n sessionId: z.string(),\n principalId: z.string(),\n agentSessionId: z.string().optional(),\n status: z.enum([\"active\", \"revoked\"]),\n expiresAt: z.number(),\n renewedAt: z.number().optional(),\n revokedAt: z.number().optional(),\n revokedBy: z.string().optional(),\n revokeReason: z.string().optional(),\n permitDecisionLogId: idOf(\"policyDecisionLogs\").optional(),\n permitTraceId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_leaseId\", columns: [\"leaseId\"] },\n { kind: \"index\", name: \"by_proxyTokenId\", columns: [\"proxyTokenId\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_sessionId\", columns: [\"sessionId\", \"createdAt\"] },\n {\n kind: \"index\",\n name: \"by_principalId\",\n columns: [\"principalId\", \"createdAt\"],\n },\n {\n kind: \"index\",\n name: \"by_status_expiresAt\",\n columns: [\"status\", \"expiresAt\"],\n },\n ],\n});\n","/**\n * Schema contracts for kernel/intelligence.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/intelligence.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const crossProjectConnections = defineTable({\n name: \"crossProjectConnections\",\n component: \"kernel\",\n category: \"intelligence\",\n shape: z.object({\n \"sourceProjectId\": z.string().optional(),\n \"sourceTopicId\": idOf(\"topics\").optional(),\n \"sourceNodeId\": idOf(\"epistemicNodes\"),\n \"targetProjectId\": z.string().optional(),\n \"targetTopicId\": idOf(\"topics\").optional(),\n \"targetNodeId\": idOf(\"epistemicNodes\"),\n \"semanticSimilarity\": z.number(),\n \"matchSignals\": z.object({\n \"beliefTextSimilarity\": z.number(),\n \"themeOverlap\": z.boolean(),\n \"sharedThemeNames\": z.array(z.string()).optional(),\n \"themeSimilarity\": z.number().optional(),\n \"ontologyOverlap\": z.boolean(),\n \"sharedFunctions\": z.array(z.string()).optional(),\n \"sharedValueChains\": z.array(z.string()).optional()\n }),\n \"suggestedEdgeType\": z.string(),\n \"suggestedWeight\": z.number().optional(),\n \"rationale\": z.string(),\n \"decision\": z.enum([\"pending\", \"accepted\", \"declined\"]),\n \"acceptedEdgeId\": idOf(\"epistemicEdges\").optional(),\n \"declineReason\": z.string().optional(),\n \"declineCategory\": z.enum([\"not_relevant\", \"too_generic\", \"already_known\", \"different_context\", \"wrong_relationship\", \"premature\", \"other\"]).optional(),\n \"surfacedDuring\": z.enum([\"worktree_clustering\", \"chat\", \"morning_brief\", \"manual\"]),\n \"worktreeId\": z.string().optional(),\n \"userId\": z.string(),\n \"createdAt\": z.number(),\n \"decidedAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_source_project\", columns: [\"sourceProjectId\"] },\n { kind: 'index', name: \"by_sourceTopicId\", columns: [\"sourceTopicId\"] },\n { kind: 'index', name: \"by_target_project\", columns: [\"targetProjectId\"] },\n { kind: 'index', name: \"by_targetTopicId\", columns: [\"targetTopicId\"] },\n { kind: 'index', name: \"by_source_node\", columns: [\"sourceNodeId\"] },\n { kind: 'index', name: \"by_decision\", columns: [\"decision\"] },\n { kind: 'index', name: \"by_user_decision\", columns: [\"userId\", \"decision\"] }\n ],\n});\n\nexport const graphAnalysisCache = defineTable({\n name: \"graphAnalysisCache\",\n component: \"kernel\",\n category: \"intelligence\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"healthScore\": z.number(),\n \"findings\": z.array(z.object({\n \"id\": z.string(),\n \"severity\": z.enum([\"critical\", \"warning\", \"info\"]),\n \"category\": z.enum([\"structural_risk\", \"evidence_gap\", \"reasoning_flaw\", \"staleness\", \"opportunity\", \"propagation_risk\", \"epistemology\", \"temporal\", \"semantic_gap\"]),\n \"title\": z.string(),\n \"description\": z.string(),\n \"nodeIds\": z.array(z.string()),\n \"nodeLabels\": z.array(z.string()),\n \"detector\": z.string(),\n \"importance\": z.number().optional(),\n \"totalCount\": z.number().optional()\n })),\n \"stats\": z.object({\n \"totalNodes\": z.number(),\n \"totalEdges\": z.number(),\n \"beliefs\": z.number(),\n \"questions\": z.number(),\n \"evidence\": z.number(),\n \"cycleCount\": z.number(),\n \"ungroundedCount\": z.number(),\n \"bridgeNodeCount\": z.number(),\n \"orphanCount\": z.number(),\n \"overconfidentCount\": z.number(),\n \"communityCount\": z.number(),\n \"sccCount\": z.number(),\n \"algebraicConnectivity\": z.number(),\n \"coherenceScore\": z.number(),\n \"averageResilience\": z.number(),\n \"tensionPairs\": z.number(),\n \"propagationRisks\": z.number(),\n \"temporalDecayCount\": z.number(),\n \"beliefStatus\": z.object({\n \"assumption\": z.number(),\n \"hypothesis\": z.number(),\n \"belief\": z.number(),\n \"fact\": z.number()\n }).optional(),\n \"evidenceTemporalNature\": z.object({\n \"factual\": z.number(),\n \"forecast\": z.number(),\n \"unknown\": z.number()\n }).optional()\n }),\n \"killerQueryResults\": z.object({\n \"confirmationBias\": z.array(z.any()).optional(),\n \"anchoringBias\": z.array(z.any()).optional(),\n \"sourceConcentration\": z.array(z.any()).optional(),\n \"contradictionTensions\": z.array(z.any()).optional(),\n \"reasoningDepth\": z.array(z.any()).optional(),\n \"knowledgeFrontier\": z.array(z.any()).optional(),\n \"portfolioConviction\": z.array(z.any()).optional(),\n \"staleThemes\": z.array(z.any()).optional(),\n \"missingQuestions\": z.array(z.any()).optional(),\n \"nonConsensusBeliefs\": z.array(z.any()).optional(),\n \"minimumFalsificationSet\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]).optional()\n }).optional(),\n \"analyzedAt\": z.number(),\n \"isStale\": z.boolean(),\n \"changesSinceRefresh\": z.number(),\n \"lastGraphChange\": z.number().optional(),\n \"analysisVersion\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_stale\", columns: [\"topicId\", \"isStale\"] },\n { kind: 'index', name: \"by_analyzedAt\", columns: [\"analyzedAt\"] }\n ],\n});\n\nexport const graphAnalysisResults = defineTable({\n name: \"graphAnalysisResults\",\n component: \"kernel\",\n category: \"intelligence\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"userId\": z.string(),\n \"findingId\": z.string().optional(),\n \"customQuery\": z.string().optional(),\n \"mode\": z.enum([\"explain\", \"query\"]),\n \"analysisText\": z.string(),\n \"modelId\": z.string().optional(),\n \"findingSnapshot\": z.object({\n \"title\": z.string(),\n \"description\": z.string(),\n \"severity\": z.string(),\n \"category\": z.string(),\n \"nodeIds\": z.array(z.string()),\n \"nodeLabels\": z.array(z.string())\n }).optional(),\n \"status\": z.enum([\"active\", \"archived\", \"deleted\"]),\n \"createdAt\": z.number(),\n \"archivedAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_user\", columns: [\"topicId\", \"userId\"] },\n { kind: 'index', name: \"by_topic_finding\", columns: [\"topicId\", \"findingId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_createdAt\", columns: [\"createdAt\"] }\n ],\n});\n\nexport const graphSuggestions = defineTable({\n name: \"graphSuggestions\",\n component: \"kernel\",\n category: \"intelligence\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"userId\": z.string(),\n \"analysisResultId\": idOf(\"graphAnalysisResults\"),\n \"suggestionHash\": z.string(),\n \"suggestionType\": z.string(),\n \"title\": z.string(),\n \"rationale\": z.string(),\n \"priority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]),\n \"targetNodeId\": z.string().optional(),\n \"secondaryNodeId\": z.string().optional(),\n \"payload\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]),\n \"status\": z.enum([\"pending\", \"accepted\", \"declined\", \"failed\", \"superseded\"]),\n \"resultNodeId\": z.string().optional(),\n \"errorMessage\": z.string().optional(),\n \"createdAt\": z.number(),\n \"actedAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_analysis\", columns: [\"analysisResultId\"] },\n { kind: 'index', name: \"by_suggestion_hash\", columns: [\"topicId\", \"suggestionHash\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_user\", columns: [\"topicId\", \"userId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_createdAt\", columns: [\"createdAt\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/spine.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/spine.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\nimport { NODE_TYPE, STORAGE_EDGE_TYPE } from '../../enums.js';\n\nexport const epistemicEdges = defineTable({\n name: \"epistemicEdges\",\n component: \"kernel\",\n category: \"spine\",\n shape: z.object({\n \"globalId\": z.string(),\n \"fromNodeId\": z.string(),\n \"toNodeId\": z.string().optional(),\n \"sourceGlobalId\": z.string().optional(),\n \"targetGlobalId\": z.string().optional(),\n \"edgeType\": STORAGE_EDGE_TYPE,\n \"edgeTier\": z.string().optional(),\n \"domainNamespace\": z.string().optional(),\n \"constraint\": z.string().optional(),\n \"normalization\": z.string().optional(),\n \"causal\": z.boolean().optional(),\n \"propagation\": z.string().optional(),\n \"blocking\": z.boolean().optional(),\n \"implicit\": z.boolean().optional(),\n \"conditionalA\": z.object({\n \"b\": z.number(),\n \"d\": z.number(),\n \"u\": z.number(),\n \"a\": z.number()\n }).optional(),\n \"conditionalNotA\": z.object({\n \"b\": z.number(),\n \"d\": z.number(),\n \"u\": z.number(),\n \"a\": z.number()\n }).optional(),\n \"derivation\": z.string().optional(),\n \"containment\": z.string().optional(),\n \"interrogation\": z.string().optional(),\n \"weight\": z.number().optional(),\n \"confidence\": z.number().optional(),\n \"context\": z.string().optional(),\n \"reasoningMethod\": z.enum([\"deductive\", \"inductive\", \"abductive\", \"analogical\", \"causal\", \"correlational\", \"testimonial\", \"statistical\", \"implicit\", \"pattern_match\"]).optional(),\n \"logicalRole\": z.enum([\"necessary\", \"sufficient\", \"necessary_sufficient\", \"contributory\", \"corroborative\"]).optional(),\n \"surpriseScore\": z.number().optional(),\n \"validFrom\": z.number().optional(),\n \"validUntil\": z.number().optional(),\n \"temporalClass\": z.enum([\"structural\", \"cyclical\", \"transient\", \"point_in_time\"]).optional(),\n \"analogyBasis\": z.string().optional(),\n \"disanalogies\": z.array(z.string()).optional(),\n \"analogyStrength\": z.number().optional(),\n \"defeatType\": z.enum([\"rebuts\", \"undercuts\", \"undermines\"]).optional(),\n \"predictionFulfilled\": z.boolean().optional(),\n \"predictionFulfilledAt\": z.number().optional(),\n \"predictionFulfilledBy\": z.string().optional(),\n \"derivationType\": z.string().optional(),\n \"startDate\": z.number().optional(),\n \"endDate\": z.number().optional(),\n \"keywords\": z.array(z.string()).optional(),\n \"evidence\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"ownerPrincipalId\": z.string().optional(),\n \"audienceLabel\": z.string().optional(),\n \"policyTags\": z.array(z.string()).optional(),\n \"sensitivityTier\": z.enum([\"low\", \"medium\", \"high\", \"restricted\"]).optional(),\n \"exportClass\": z.enum([\"internal_only\", \"client_safe\", \"public_safe\", \"restricted\"]).optional(),\n \"anonymizationClass\": z.enum([\"none\", \"standard\", \"strict\"]).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number().optional(),\n \"topicId\": z.string().optional(),\n \"projectId\": z.string().optional(),\n \"fromNodeType\": z.string().optional(),\n \"toNodeType\": z.string().optional(),\n \"fromLayer\": z.enum([\"L4\", \"L3\", \"L2\", \"L1\", \"ontological\", \"organizational\"]).optional(),\n \"toLayer\": z.enum([\"L4\", \"L3\", \"L2\", \"L1\", \"ontological\", \"organizational\"]).optional()\n }),\n indices: [\n { kind: 'index', name: \"by_globalId\", columns: [\"globalId\"] },\n { kind: 'index', name: \"by_from\", columns: [\"fromNodeId\"] },\n { kind: 'index', name: \"by_to\", columns: [\"toNodeId\"] },\n { kind: 'index', name: \"by_from_type\", columns: [\"fromNodeId\", \"edgeType\"] },\n { kind: 'index', name: \"by_to_type\", columns: [\"toNodeId\", \"edgeType\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_workspace\", columns: [\"tenantId\", \"workspaceId\"] },\n { kind: 'index', name: \"by_audienceLabel\", columns: [\"audienceLabel\"] },\n { kind: 'index', name: \"by_sensitivityTier\", columns: [\"sensitivityTier\"] },\n { kind: 'index', name: \"by_exportClass\", columns: [\"exportClass\"] },\n { kind: 'index', name: \"by_type\", columns: [\"edgeType\"] },\n { kind: 'index', name: \"by_from_to\", columns: [\"fromNodeId\", \"toNodeId\"] },\n { kind: 'index', name: \"by_fromLayer\", columns: [\"fromLayer\"] },\n { kind: 'index', name: \"by_toLayer\", columns: [\"toLayer\"] },\n { kind: 'index', name: \"by_layer_pair\", columns: [\"fromLayer\", \"toLayer\"] },\n { kind: 'index', name: \"by_source_global_id\", columns: [\"sourceGlobalId\"] },\n { kind: 'index', name: \"by_target_global_id\", columns: [\"targetGlobalId\"] },\n { kind: 'index', name: \"by_reasoning_method\", columns: [\"edgeType\", \"reasoningMethod\"] },\n { kind: 'index', name: \"by_logical_role\", columns: [\"edgeType\", \"logicalRole\"] },\n { kind: 'index', name: \"by_temporal_class\", columns: [\"temporalClass\", \"validUntil\"] },\n { kind: 'index', name: \"by_surprise\", columns: [\"edgeType\", \"surpriseScore\"] }\n ],\n});\n\nexport const epistemicNodes = defineTable({\n name: \"epistemicNodes\",\n component: \"kernel\",\n category: \"spine\",\n shape: z.object({\n \"globalId\": z.string(),\n \"nodeType\": NODE_TYPE,\n \"epistemicLayer\": z.enum([\"L4\", \"L3\", \"L2\", \"L1\", \"ontological\", \"organizational\"]).optional(),\n \"subtype\": z.string().optional(),\n \"canonicalText\": z.string(),\n \"contentHash\": z.string(),\n \"content\": z.string().optional(),\n \"contentType\": z.string().optional(),\n \"title\": z.string().optional(),\n \"tags\": z.array(z.string()).optional(),\n \"domain\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"ownerPrincipalId\": z.string().optional(),\n \"audienceLabel\": z.string().optional(),\n \"policyTags\": z.array(z.string()).optional(),\n \"sensitivityTier\": z.enum([\"low\", \"medium\", \"high\", \"restricted\"]).optional(),\n \"exportClass\": z.enum([\"internal_only\", \"client_safe\", \"public_safe\", \"restricted\"]).optional(),\n \"anonymizationClass\": z.enum([\"none\", \"standard\", \"strict\"]).optional(),\n \"beliefType\": z.string().optional(),\n \"beliefStatus\": z.enum([\"assumption\", \"hypothesis\", \"belief\", \"fact\"]).optional(),\n \"epistemicStatus\": z.enum([\"hypothesis\", \"emerging\", \"established\", \"challenged\", \"assumption\", \"deprecated\"]).optional(),\n \"reversibility\": z.enum([\"irreversible\", \"hard_to_reverse\", \"reversible\", \"trivial\"]).optional(),\n \"predictionMeta\": z.object({\n \"isPrediction\": z.boolean(),\n \"registeredAt\": z.number(),\n \"expectedBy\": z.number().optional(),\n \"outcome\": z.enum([\"pending\", \"confirmed\", \"disconfirmed\", \"partial\", \"expired\"]).optional(),\n \"outcomeRecordedAt\": z.number().optional(),\n \"outcomeEvidenceId\": z.string().optional(),\n \"confidenceAtPrediction\": z.number().optional(),\n \"actualVsPredicted\": z.string().optional()\n }).optional(),\n \"consensusView\": z.enum([\"aligned\", \"ahead_of\", \"contrarian\", \"orthogonal\", \"unknown\"]).optional(),\n \"consensusConfidence\": z.number().optional(),\n \"consensusSource\": z.string().optional(),\n \"methodology\": z.enum([\"primary_research\", \"expert_interview\", \"customer_interview\", \"field_observation\", \"proprietary_data\", \"desk_research\", \"regulatory_filing\", \"news_article\", \"academic_paper\", \"ai_synthesis\", \"ai_extraction\"]).optional(),\n \"informationAsymmetry\": z.enum([\"proprietary\", \"early\", \"common\"]).optional(),\n \"temporalNature\": z.enum([\"factual\", \"forecast\", \"unknown\"]).optional(),\n \"questionType\": z.enum([\"validation\", \"falsification\", \"assumption_probe\", \"prediction_test\", \"counterfactual\", \"discovery\", \"clarification\", \"comparison\", \"causal\", \"mechanism\", \"general\"]).optional(),\n \"questionPriority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"answerQuality\": z.enum([\"definitive\", \"strong\", \"moderate\", \"weak\", \"speculative\", \"unanswered\"]).optional(),\n \"themeStatus\": z.enum([\"emerging\", \"active\", \"mature\", \"declining\", \"archived\"]).optional(),\n \"themeConviction\": z.enum([\"high\", \"medium\", \"low\", \"negative\"]).optional(),\n \"decisionType\": z.enum([\"invest\", \"pass\", \"follow_on\", \"exit\", \"deep_dive\", \"monitor\", \"deprioritize\", \"thesis_adopt\", \"thesis_revise\", \"thesis_abandon\"]).optional(),\n \"decisionOutcome\": z.enum([\"pending\", \"successful\", \"unsuccessful\", \"mixed\", \"unknown\"]).optional(),\n \"externalIds\": z.object({\n \"crunchbase\": z.string().optional(),\n \"linkedin\": z.string().optional(),\n \"pitchbook\": z.string().optional(),\n \"twitter\": z.string().optional(),\n \"website\": z.string().optional()\n }).optional(),\n \"sourceType\": z.enum([\"human\", \"ai_extracted\", \"ai_generated\", \"imported\", \"system\", \"verified\", \"proprietary\"]),\n \"aiProvider\": z.string().optional(),\n \"extractedFromNodeId\": idOf(\"epistemicNodes\").optional(),\n \"extractionModel\": z.string().optional(),\n \"extractionPromptName\": z.string().optional(),\n \"extractionPromptVersion\": z.number().optional(),\n \"extractionTemperature\": z.number().optional(),\n \"extractionLangfuseTraceId\": z.string().optional(),\n \"groundingVerified\": z.boolean().optional(),\n \"groundingConfidence\": z.number().optional(),\n \"groundingMatchedText\": z.string().optional(),\n \"groundingStartOffset\": z.number().optional(),\n \"groundingEndOffset\": z.number().optional(),\n \"groundingRejectionReason\": z.string().optional(),\n \"confidence\": z.number().optional(),\n \"verificationStatus\": z.enum([\"unverified\", \"human_verified\", \"ai_verified\", \"contradicted\", \"outdated\"]).optional(),\n \"status\": z.enum([\"active\", \"superseded\", \"archived\", \"deleted\"]),\n \"supersededBy\": idOf(\"epistemicNodes\").optional(),\n \"topicId\": z.string().optional(),\n \"projectId\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"syncStatus\": z.enum([\"synced\", \"pending_edges\", \"edge_creation_failed\"]).optional(),\n \"syncError\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_globalId\", columns: [\"globalId\"] },\n { kind: 'index', name: \"by_contentHash\", columns: [\"contentHash\"] },\n { kind: 'index', name: \"by_nodeType\", columns: [\"nodeType\"] },\n { kind: 'index', name: \"by_subtype\", columns: [\"nodeType\", \"subtype\"] },\n { kind: 'index', name: \"by_domain\", columns: [\"domain\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_type\", columns: [\"topicId\", \"nodeType\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_workspace\", columns: [\"tenantId\", \"workspaceId\"] },\n { kind: 'index', name: \"by_audienceLabel\", columns: [\"audienceLabel\"] },\n { kind: 'index', name: \"by_sensitivityTier\", columns: [\"sensitivityTier\"] },\n { kind: 'index', name: \"by_exportClass\", columns: [\"exportClass\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_sourceType\", columns: [\"sourceType\"] },\n { kind: 'index', name: \"by_verification\", columns: [\"verificationStatus\"] },\n { kind: 'index', name: \"by_layer\", columns: [\"epistemicLayer\"] },\n { kind: 'index', name: \"by_layer_type\", columns: [\"epistemicLayer\", \"nodeType\"] },\n { kind: 'index', name: \"by_syncStatus\", columns: [\"syncStatus\"] },\n { kind: 'index', name: \"by_belief_status\", columns: [\"nodeType\", \"beliefStatus\"] },\n { kind: 'index', name: \"by_epistemic_status\", columns: [\"nodeType\", \"epistemicStatus\"] },\n { kind: 'index', name: \"by_temporal_nature\", columns: [\"nodeType\", \"temporalNature\"] },\n { kind: 'index', name: \"by_methodology\", columns: [\"nodeType\", \"methodology\"] },\n { kind: 'index', name: \"by_reversibility\", columns: [\"nodeType\", \"reversibility\"] },\n { kind: 'index', name: \"by_questionType\", columns: [\"nodeType\", \"questionType\"] },\n { kind: 'index', name: \"by_questionPriority\", columns: [\"nodeType\", \"questionPriority\"] },\n { kind: 'search', name: \"search_canonicalText\", searchField: \"canonicalText\", filterFields: [\"nodeType\", \"topicId\", \"topicId\", \"status\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/embedding.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/embedding.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const epistemicNodeEmbeddings = defineTable({\n name: \"epistemicNodeEmbeddings\",\n component: \"kernel\",\n category: \"embedding\",\n shape: z.object({\n \"nodeId\": idOf(\"epistemicNodes\"),\n \"topicId\": z.string().optional(),\n \"nodeType\": z.enum([\"belief\", \"question\", \"evidence\", \"answer\", \"synthesis\", \"theme\", \"source\"]),\n \"embedding\": z.array(z.number()),\n \"createdBy\": z.string(),\n \"hasAnswer\": z.boolean().optional(),\n \"confidence\": z.number().optional(),\n \"importance\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_nodeId\", columns: [\"nodeId\"] },\n { kind: 'index', name: \"by_topicId_type\", columns: [\"topicId\", \"nodeType\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'vector', name: \"by_embedding\", vectorField: \"embedding\", dimensions: 1024, filterFields: [\"nodeType\", \"createdBy\"] }\n ],\n});\n","/**\n * Schema contracts for mc/identity.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const groupMemberships = defineTable({\n name: \"groupMemberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"groupId\": idOf(\"groups\"),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"addedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_groupId\", columns: [\"groupId\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_group\", columns: [\"principalId\", \"groupId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const groups = defineTable({\n name: \"groups\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"groupKey\": z.string(),\n \"name\": z.string(),\n \"groupType\": z.enum([\"internal\", \"external\", \"system\"]),\n \"description\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenantId_groupKey\", columns: [\"tenantId\", \"groupKey\"] }\n ],\n});\n\nexport const memberships = defineTable({\n name: \"memberships\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalRefId\": idOf(\"principals\").optional(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"role\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"status\": z.enum([\"active\", \"invited\", \"revoked\"]),\n \"source\": z.enum([\"manual\", \"sso\", \"bootstrap\", \"api\", \"scim\"]),\n \"grantedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_tenant\", columns: [\"principalId\", \"tenantId\"] },\n { kind: 'index', name: \"by_principal_tenant_workspace\", columns: [\"principalId\", \"tenantId\", \"workspaceId\"] },\n { kind: 'index', name: \"by_workspace_principal\", columns: [\"workspaceId\", \"principalId\"] },\n { kind: 'index', name: \"by_tenant_role\", columns: [\"tenantId\", \"role\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const principals = defineTable({\n name: \"principals\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"user\", \"group\", \"service\", \"external_viewer\"]),\n \"clerkId\": z.string().optional(),\n \"email\": z.string().optional(),\n \"displayName\": z.string().optional(),\n \"groupIds\": z.array(idOf(\"groups\")).optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"active\", \"invited\", \"suspended\", \"disabled\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_clerkId\", columns: [\"clerkId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const principalIdentityAliases = defineTable({\n name: \"principalIdentityAliases\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"principalRefId\": idOf(\"principals\").optional(),\n \"provider\": z.string(),\n \"providerProjectId\": z.string().optional(),\n \"externalSubjectId\": z.string(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"email\": z.string().optional(),\n \"status\": z.enum([\"active\", \"revoked\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_provider_subject\", columns: [\"provider\", \"externalSubjectId\"] },\n { kind: 'index', name: \"by_provider_project_subject\", columns: [\"provider\", \"providerProjectId\", \"externalSubjectId\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] },\n { kind: 'index', name: \"by_tenant_provider_subject\", columns: [\"tenantId\", \"provider\", \"externalSubjectId\"] },\n { kind: 'index', name: \"by_workspace_provider_subject\", columns: [\"workspaceId\", \"provider\", \"externalSubjectId\"] }\n ],\n});\n\nexport const rateLimitWindows = defineTable({\n name: \"rateLimitWindows\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"principalId\": z.string(),\n \"keyId\": z.string().optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"windowType\": z.enum([\"minute\", \"hour\"]),\n \"windowStartMs\": z.number(),\n \"windowEndMs\": z.number(),\n \"requestCount\": z.number(),\n \"limit\": z.number(),\n \"tier\": z.enum([\"free\", \"developer\", \"partner\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_window\", columns: [\"principalId\", \"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_type_start\", columns: [\"windowType\", \"windowStartMs\"] },\n { kind: 'index', name: \"by_window_end\", columns: [\"windowEndMs\"] },\n { kind: 'index', name: \"by_tier_window_end\", columns: [\"tier\", \"windowEndMs\"] }\n ],\n});\n\nexport const oauthDeviceCodes = defineTable({\n name: \"oauthDeviceCodes\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"deviceCodeHash\": z.string(),\n \"userCode\": z.string(),\n \"clientId\": z.string(),\n \"scope\": z.string(),\n \"status\": z.enum([\"pending\", \"approved\", \"denied\", \"expired\", \"consumed\"]),\n \"expiresAt\": z.number(),\n \"intervalSeconds\": z.number(),\n \"lastPolledAt\": z.number().optional(),\n \"slowDownCount\": z.number().optional(),\n \"clerkUserId\": z.string().optional(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"role\": z.string().optional(),\n \"scopes\": z.array(z.string()).optional(),\n \"sessionId\": z.string().optional(),\n \"approvedAt\": z.number().optional(),\n \"deniedAt\": z.number().optional(),\n \"consumedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_deviceCodeHash\", columns: [\"deviceCodeHash\"] },\n { kind: 'index', name: \"by_userCode\", columns: [\"userCode\"] },\n { kind: 'index', name: \"by_status_expiresAt\", columns: [\"status\", \"expiresAt\"] },\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] }\n ],\n});\n\nexport const servicePrincipalKeys = defineTable({\n name: \"servicePrincipalKeys\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"keyId\": z.string(),\n \"tokenHash\": z.string(),\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"scopes\": z.array(z.string()),\n \"environment\": z.enum([\"sandbox\", \"production\"]),\n \"status\": z.enum([\"active\", \"rotating\", \"rotated\", \"expired\", \"revoked\"]),\n \"expiresAt\": z.number(),\n \"rotationGracePeriod\": z.number().optional(),\n \"rotatedToKeyId\": z.string().optional(),\n \"rateLimitTier\": z.enum([\"free\", \"developer\", \"partner\"]).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"revokedBy\": z.string().optional(),\n \"revokedAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_keyId\", columns: [\"keyId\"] },\n { kind: 'index', name: \"by_tokenHash\", columns: [\"tokenHash\"] },\n { kind: 'index', name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] }\n ],\n});\n\nexport const userSessions = defineTable({\n name: \"userSessions\",\n component: \"mc\",\n category: \"identity\",\n shape: z.object({\n \"sessionId\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"clerkUserId\": z.string(),\n \"principalId\": z.string().optional(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]).optional(),\n \"workspaceId\": z.string().optional(),\n \"apiKeyId\": idOf(\"apiKeys\"),\n \"sessionType\": z.enum([\"user\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"role\": z.string().optional(),\n \"scopes\": z.array(z.string()).optional(),\n \"delegationChain\": z.array(z.object({\n \"principalId\": z.string(),\n \"principalType\": z.enum([\"human\", \"service\", \"agent\"]),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\", \"tenant_api_key\", \"session_token\"]).optional(),\n \"sessionId\": z.string().optional(),\n \"delegatedAt\": z.number().optional(),\n \"reason\": z.string().optional()\n })).optional(),\n \"sourceSessionId\": z.string().optional(),\n \"status\": z.enum([\"active\", \"expired\", \"revoked\"]),\n \"sessionExpiresAt\": z.number().optional(),\n \"jwtIssuedAt\": z.number().optional(),\n \"jwtExpiresAt\": z.number().optional(),\n \"lastActivityAt\": z.number(),\n \"lastValidatedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"revokeReason\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\"] },\n { kind: 'index', name: \"by_sourceSessionId\", columns: [\"sourceSessionId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_clerkUserId\", columns: [\"clerkUserId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/platform.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/platform.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const harnessReplays = defineTable({\n name: \"harnessReplays\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"replayId\": z.string(),\n \"runId\": z.string(),\n \"traceVersion\": z.string(),\n \"status\": z.enum([\"captured\", \"partial\", \"failed\"]),\n \"entrypoints\": z.array(z.string()),\n \"steps\": z.array(z.object({\n \"stepId\": z.string(),\n \"phase\": z.string(),\n \"kind\": z.string(),\n \"status\": z.enum([\"completed\", \"failed\", \"skipped\"]),\n \"startedAt\": z.number(),\n \"completedAt\": z.number().optional(),\n \"summary\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional()\n })),\n \"inputSnapshot\": z.record(z.any()).optional(),\n \"outputSnapshot\": z.record(z.any()).optional(),\n \"sandboxAudit\": z.array(z.record(z.any())).optional(),\n \"workflowReceipt\": z.record(z.any()).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_replayId\", columns: [\"replayId\"] },\n { kind: 'index', name: \"by_runId\", columns: [\"runId\"] },\n { kind: 'index', name: \"by_status_createdAt\", columns: [\"status\", \"createdAt\"] }\n ],\n});\n\nexport const harnessRuns = defineTable({\n name: \"harnessRuns\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"runId\": z.string(),\n \"replayId\": z.string().optional(),\n \"agentId\": z.string(),\n \"agentVersion\": z.string().optional(),\n \"runKind\": z.enum([\"sandbox\", \"live_runner\", \"workflow\", \"bi\", \"chat\", \"sdk\", \"mcp\", \"external\"]),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]),\n \"principalId\": z.string(),\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\"]),\n \"environment\": z.enum([\"sandbox\", \"production\"]),\n \"promptReleaseChannel\": z.enum([\"dev\", \"staging\", \"prod\"]),\n \"isolationMode\": z.enum([\"sandbox\", \"direct\", \"workflow\", \"observed\"]).optional(),\n \"langfuseTraceId\": z.string().optional(),\n \"chatId\": z.string().optional(),\n \"worktreeId\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"startedAt\": z.number(),\n \"completedAt\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"status\": z.enum([\"running\", \"completed\", \"failed\", \"timeout\"]),\n \"outcome\": z.object({\n \"verdict\": z.enum([\"success\", \"partial\", \"failure\", \"timeout\", \"cancelled\"]),\n \"summary\": z.string(),\n \"errorCategory\": z.enum([\"policy_denied\", \"tool_execution\", \"prompt_resolution\", \"model_error\", \"timeout\", \"heartbeat_timeout\", \"input_validation\", \"internal\", \"external_service\"]).optional(),\n \"errorMessage\": z.string().optional()\n }),\n \"toolCalls\": z.array(z.object({\n \"toolCallId\": z.string(),\n \"toolName\": z.string(),\n \"success\": z.boolean(),\n \"durationMs\": z.number(),\n \"policyDecisionId\": z.string().optional(),\n \"gateClassification\": z.enum([\"core\", \"shimmed\"]).optional(),\n \"requiredScopes\": z.array(z.string()).optional(),\n \"graphWriteCount\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional()\n })),\n \"toolCallCount\": z.number(),\n \"graphReads\": z.array(z.object({\n \"operationId\": z.string(),\n \"surface\": z.enum([\"belief\", \"question\", \"evidence\", \"worktree\", \"workflow\", \"topic\", \"document\", \"external\"]),\n \"action\": z.string(),\n \"targetId\": z.string().optional(),\n \"summary\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional()\n })),\n \"graphReadCount\": z.number(),\n \"graphWrites\": z.array(z.object({\n \"operationId\": z.string(),\n \"surface\": z.enum([\"belief\", \"question\", \"evidence\", \"worktree\", \"workflow\", \"topic\", \"document\", \"external\"]),\n \"action\": z.string(),\n \"targetId\": z.string().optional(),\n \"summary\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional()\n })),\n \"graphWriteCount\": z.number(),\n \"workflow\": z.object({\n \"workflowId\": z.string(),\n \"workflowVersion\": z.string().optional(),\n \"triggerKind\": z.enum([\"manual\", \"schedule\", \"hook\"]),\n \"mutationTier\": z.enum([\"read_only\", \"low_risk_write\", \"high_risk_write\"]).optional(),\n \"approvalMode\": z.enum([\"none\", \"audit_only\", \"human_required\", \"auto_approve\"]).optional(),\n \"actionCount\": z.number().optional()\n }).optional(),\n \"cost\": z.object({\n \"totalInputTokens\": z.number().optional(),\n \"totalOutputTokens\": z.number().optional(),\n \"estimatedTotalCostUsd\": z.number().optional(),\n \"llmCallCount\": z.number().optional(),\n \"toolCallCount\": z.number().optional(),\n \"modelsUsed\": z.array(z.string()).optional()\n }).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_runId\", columns: [\"runId\"] },\n { kind: 'index', name: \"by_status_startedAt\", columns: [\"status\", \"startedAt\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] },\n { kind: 'index', name: \"by_agent_createdAt\", columns: [\"agentId\", \"createdAt\"] },\n { kind: 'index', name: \"by_runKind_createdAt\", columns: [\"runKind\", \"createdAt\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] }\n ],\n});\n\nexport const platformAgentRunPolicyDecisions = defineTable({\n name: \"platformAgentRunPolicyDecisions\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"runId\": z.string(),\n \"decisionId\": z.string(),\n \"action\": z.string(),\n \"result\": z.enum([\"allow\", \"deny\", \"shadow_allow\"]),\n \"reasonCode\": z.string(),\n \"scopesChecked\": z.array(z.string()),\n \"scopesGranted\": z.array(z.string()),\n \"evaluatedAt\": z.number(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_decisionId\", columns: [\"decisionId\"] },\n { kind: 'index', name: \"by_run_createdAt\", columns: [\"runId\", \"createdAt\"] }\n ],\n});\n\nexport const platformAgentRunPromptResolutions = defineTable({\n name: \"platformAgentRunPromptResolutions\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"runId\": z.string(),\n \"promptResolutionId\": z.string(),\n \"sequenceIndex\": z.number(),\n \"promptName\": z.string(),\n \"promptVersion\": z.string(),\n \"releaseChannel\": z.enum([\"dev\", \"staging\", \"prod\"]),\n \"usedFallback\": z.boolean(),\n \"modelSlot\": z.string(),\n \"modelKey\": z.string(),\n \"provider\": z.string(),\n \"inputTokens\": z.number().optional(),\n \"outputTokens\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"estimatedCostUsd\": z.number().optional(),\n \"resolvedAt\": z.number(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_promptResolutionId\", columns: [\"promptResolutionId\"] },\n { kind: 'index', name: \"by_run_createdAt\", columns: [\"runId\", \"createdAt\"] },\n { kind: 'index', name: \"by_prompt_createdAt\", columns: [\"promptName\", \"createdAt\"] }\n ],\n});\n\nexport const platformAgentRuns = defineTable({\n name: \"platformAgentRuns\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"runId\": z.string(),\n \"reportingToken\": z.string(),\n \"agentDefinitionId\": z.string(),\n \"agentVersion\": z.string(),\n \"principalId\": z.string(),\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"authMode\": z.enum([\"interactive_user\", \"service_principal\"]),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]),\n \"environment\": z.enum([\"sandbox\", \"production\"]),\n \"promptReleaseChannel\": z.enum([\"dev\", \"staging\", \"prod\"]),\n \"status\": z.enum([\"running\", \"completed\", \"failed\", \"timeout\"]),\n \"startedAt\": z.number(),\n \"finalizedAt\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"lastHeartbeatAt\": z.number().optional(),\n \"langfuseTraceId\": z.string().optional(),\n \"chatId\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"error\": z.object({\n \"category\": z.enum([\"policy_denied\", \"tool_execution\", \"prompt_resolution\", \"model_error\", \"timeout\", \"heartbeat_timeout\", \"input_validation\", \"internal\", \"external_service\"]),\n \"message\": z.string(),\n \"code\": z.string().optional(),\n \"stack\": z.string().optional()\n }).optional(),\n \"costMetrics\": z.record(z.any()).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_runId\", columns: [\"runId\"] },\n { kind: 'index', name: \"by_status_lastHeartbeatAt\", columns: [\"status\", \"lastHeartbeatAt\"] },\n { kind: 'index', name: \"by_status_startedAt\", columns: [\"status\", \"startedAt\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] },\n { kind: 'index', name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_agentDefinition_createdAt\", columns: [\"agentDefinitionId\", \"createdAt\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] }\n ],\n});\n\nexport const platformAgentRunToolCalls = defineTable({\n name: \"platformAgentRunToolCalls\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"runId\": z.string(),\n \"toolCallId\": z.string(),\n \"sequenceIndex\": z.number(),\n \"toolName\": z.string(),\n \"toolVersion\": z.string().optional(),\n \"policyDecisionId\": z.string(),\n \"requiredScopes\": z.array(z.string()),\n \"policyResult\": z.enum([\"allowed\", \"denied\", \"shadow_allowed\"]),\n \"policyReasonCode\": z.string(),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]),\n \"inputHash\": z.string(),\n \"outputHash\": z.string(),\n \"durationMs\": z.number().optional(),\n \"success\": z.boolean(),\n \"error\": z.string().optional(),\n \"startedAt\": z.number(),\n \"completedAt\": z.number(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_toolCallId\", columns: [\"toolCallId\"] },\n { kind: 'index', name: \"by_run_createdAt\", columns: [\"runId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tool_createdAt\", columns: [\"toolName\", \"createdAt\"] }\n ],\n});\n\nexport const platformHarnessShadowAudit = defineTable({\n name: \"platformHarnessShadowAudit\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"shadowAuditId\": z.string(),\n \"runId\": z.string(),\n \"toolCallId\": z.string(),\n \"policyDecisionId\": z.string(),\n \"toolName\": z.string(),\n \"gateClassification\": z.enum([\"core\", \"shimmed\"]),\n \"requiredScopes\": z.array(z.string()),\n \"grantedScopes\": z.array(z.string()),\n \"shadowResult\": z.literal(\"shadow_allow\"),\n \"wouldHaveDenied\": z.boolean(),\n \"reason\": z.string(),\n \"retentionExpiresAt\": z.number(),\n \"createdAt\": z.number(),\n \"metadata\": z.record(z.any()).optional()\n }),\n indices: [\n { kind: 'index', name: \"by_shadowAuditId\", columns: [\"shadowAuditId\"] },\n { kind: 'index', name: \"by_run_createdAt\", columns: [\"runId\", \"createdAt\"] },\n { kind: 'index', name: \"by_policyDecisionId\", columns: [\"policyDecisionId\"] },\n { kind: 'index', name: \"by_retentionExpiresAt\", columns: [\"retentionExpiresAt\"] }\n ],\n});\n\nexport const publicationRules = defineTable({\n name: \"publicationRules\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"packKey\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"conditionType\": z.enum([\"confidence_threshold\", \"node_type_match\", \"epistemic_layer_match\", \"tag_match\", \"composite\"]),\n \"conditions\": z.any(),\n \"enabled\": z.boolean(),\n \"priority\": z.number().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenantId_enabled\", columns: [\"tenantId\", \"enabled\"] },\n { kind: 'index', name: \"by_tenantId_packKey\", columns: [\"tenantId\", \"packKey\"] },\n { kind: 'index', name: \"by_tenantId_workspaceId\", columns: [\"tenantId\", \"workspaceId\"] }\n ],\n});\n\nexport const researchJobs = defineTable({\n name: \"researchJobs\",\n component: \"kernel\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"jobId\": z.string(),\n \"type\": z.enum([\"search\", \"deep_research\", \"scrape\"]),\n \"query\": z.string(),\n \"topicId\": z.string().optional(),\n \"depth\": z.string().optional(),\n \"integrationKey\": z.string(),\n \"status\": z.enum([\"pending\", \"running\", \"completed\", \"failed\", \"cancelled\"]),\n \"results\": z.record(z.any()).optional(),\n \"resultCount\": z.number().optional(),\n \"error\": z.string().optional(),\n \"langfuseTraceId\": z.string().optional(),\n \"autoCommitEvidence\": z.boolean(),\n \"committedEvidenceIds\": z.array(z.string()).optional(),\n \"requestedBy\": z.string(),\n \"createdAt\": z.number(),\n \"startedAt\": z.number().optional(),\n \"completedAt\": z.number().optional(),\n \"durationMs\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_jobId\", columns: [\"jobId\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/idempotency.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/idempotency.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const idempotencyTokens = defineTable({\n name: \"idempotencyTokens\",\n component: \"kernel\",\n category: \"idempotency\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"fnName\": z.string(),\n \"key\": z.string(),\n \"resultJson\": z.string(),\n \"recordedAt\": z.number(),\n \"expiresAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant_fn_key\", columns: [\"tenantId\", \"fnName\", \"key\"] },\n { kind: 'index', name: \"by_expiry\", columns: [\"expiresAt\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/lens.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/lens.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const lenses = defineTable({\n name: \"lenses\",\n component: \"kernel\",\n category: \"lens\",\n shape: z.object({\n \"globalId\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"workspaceId\": z.string(),\n \"topicId\": z.string().optional(),\n \"perspectiveType\": z.string(),\n \"promptTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"promptRef\": z.string(),\n \"phase\": z.string().optional(),\n \"role\": z.string().optional(),\n \"version\": z.string().optional(),\n \"required\": z.boolean().optional(),\n \"metadata\": z.any().optional()\n })),\n \"workflowTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"steps\": z.array(z.object({\n \"key\": z.string(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"promptTemplateKey\": z.string().optional(),\n \"taskTemplateKeys\": z.array(z.string()).optional(),\n \"metadata\": z.any().optional()\n })),\n \"metadata\": z.any().optional()\n })),\n \"taskTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"priority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"phase\": z.string().optional(),\n \"metadata\": z.any().optional()\n })),\n \"questionTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"text\": z.string(),\n \"priority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"linkedBeliefKey\": z.string().optional(),\n \"metadata\": z.any().optional()\n })).optional(),\n \"filterCriteria\": z.object({\n \"version\": z.literal(1),\n \"kind\": z.literal(\"taxonomy\"),\n \"entityTypeFilters\": z.array(z.object({\n \"entityTypeValue\": z.string(),\n \"subtypeValues\": z.array(z.string()).optional()\n })),\n \"ontologyScope\": z.object({\n \"ontologyKey\": z.string().optional()\n }).optional()\n }).optional(),\n \"metadata\": z.any().optional(),\n \"status\": z.enum([\"draft\", \"active\", \"archived\"]),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_workspace\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] },\n { kind: 'index', name: \"by_workspace_perspective\", columns: [\"workspaceId\", \"perspectiveType\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] }\n ],\n});\n\nexport const lensTopicBindings = defineTable({\n name: \"lensTopicBindings\",\n component: \"kernel\",\n category: \"lens\",\n shape: z.object({\n \"lensId\": idOf(\"lenses\"),\n \"topicId\": z.string(),\n \"workspaceId\": z.string(),\n \"status\": z.enum([\"active\", \"removed\"]),\n \"metadata\": z.any().optional(),\n \"appliedBy\": z.string(),\n \"appliedAt\": z.number(),\n \"removedBy\": z.string().optional(),\n \"removedAt\": z.number().optional(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_lens\", columns: [\"lensId\"] },\n { kind: 'index', name: \"by_lens_status\", columns: [\"lensId\", \"status\"] },\n { kind: 'index', name: \"by_topic\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_topic_lens\", columns: [\"topicId\", \"lensId\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/platform.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/platform.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const mcpWritePolicy = defineTable({\n name: \"mcpWritePolicy\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"role\": z.string(),\n \"toolCategory\": z.string(),\n \"permission\": z.enum([\"allow\", \"deny\", \"review_required\"]),\n \"maxWritesPerSession\": z.number().optional(),\n \"enabled\": z.boolean(),\n \"rationale\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_role\", columns: [\"role\"] },\n { kind: 'index', name: \"by_topicId_role\", columns: [\"topicId\", \"role\"] },\n { kind: 'index', name: \"by_enabled\", columns: [\"enabled\"] }\n ],\n});\n\nexport const platformAudienceGrants = defineTable({\n name: \"platformAudienceGrants\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"groupId\": z.string().optional(),\n \"audienceKey\": z.string(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"grantedBy\": z.string().optional(),\n \"expiresAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant_principal\", columns: [\"tenantId\", \"principalId\"] },\n { kind: 'index', name: \"by_tenant_group\", columns: [\"tenantId\", \"groupId\"] },\n { kind: 'index', name: \"by_tenant_audienceKey\", columns: [\"tenantId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] },\n { kind: 'index', name: \"by_group_status\", columns: [\"groupId\", \"status\"] }\n ],\n});\n\nexport const platformAudiences = defineTable({\n name: \"platformAudiences\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"audienceKey\": z.string(),\n \"audienceLabel\": z.string(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]),\n \"status\": z.enum([\"active\", \"disabled\", \"archived\"]),\n \"description\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_audienceKey\", columns: [\"tenantId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_tenant_workspace_audienceKey\", columns: [\"tenantId\", \"workspaceId\", \"audienceKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const platformPolicyDecisionLogs = defineTable({\n name: \"platformPolicyDecisionLogs\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"principalId\": z.string(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"resourceType\": z.string(),\n \"resourceId\": z.string(),\n \"action\": z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\", \"comment\", \"escalate\", \"resolve\", \"vote\"]),\n \"decision\": z.enum([\"allow\", \"deny\"]),\n \"reasonCode\": z.string(),\n \"policyVersion\": z.string(),\n \"policyBundleId\": z.string().optional(),\n \"audienceKey\": z.string().optional(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n \"audienceMode\": z.string().optional(),\n \"traceId\": z.string().optional(),\n \"packKey\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_pack_createdAt\", columns: [\"packKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_audienceKey_createdAt\", columns: [\"audienceKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_audienceClass_createdAt\", columns: [\"audienceClass\", \"createdAt\"] },\n { kind: 'index', name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: 'index', name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_createdAt\", columns: [\"topicId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantApiKeys = defineTable({\n name: \"tenantApiKeys\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"label\": z.string().optional(),\n \"keyPrefix\": z.string(),\n \"hashedKey\": z.string(),\n \"scopes\": z.array(z.string()),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"expiresAt\": z.number().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_hashedKey\", columns: [\"hashedKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const tenantConfig = defineTable({\n name: \"tenantConfig\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"authPolicyMode\": z.enum([\"open\", \"invite_only\", \"sso_required\"]),\n \"defaultSessionTTL\": z.number(),\n \"defaultTopicVisibility\": z.enum([\"private\", \"tenant\", \"public\"]),\n \"featureFlags\": z.record(z.boolean()),\n \"maxWorkspaceCount\": z.number(),\n \"defaultModelSlotOverrides\": z.record(z.string()),\n \"updatedAt\": z.number(),\n \"updatedBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] }\n ],\n});\n\nexport const tenantIntegrations = defineTable({\n name: \"tenantIntegrations\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"integrationKey\": z.string(),\n \"displayName\": z.string(),\n \"description\": z.string().optional(),\n \"category\": z.enum([\"search\", \"scraper\", \"llm\", \"analysis\", \"custom\"]),\n \"capabilities\": z.array(z.enum([\"search\", \"deep_research\", \"scrape\", \"summarize\", \"generate\"])),\n \"config\": z.object({\n \"apiBaseUrl\": z.string(),\n \"authType\": z.enum([\"api_key\", \"bearer\", \"basic\", \"none\"]),\n \"authHeaderName\": z.string().optional(),\n \"credentialSecretName\": z.string().optional(),\n \"defaultParams\": z.record(z.any()).optional(),\n \"timeout\": z.number().optional(),\n \"customHeaders\": z.record(z.any()).optional()\n }),\n \"endpoints\": z.object({\n \"search\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"queryParamName\": z.string().optional(),\n \"resultPath\": z.string().optional()\n }).optional(),\n \"deepResearch\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"resultPath\": z.string().optional(),\n \"async\": z.boolean().optional(),\n \"pollPath\": z.string().optional(),\n \"pollIntervalMs\": z.number().optional()\n }).optional(),\n \"scrape\": z.object({\n \"path\": z.string(),\n \"method\": z.string().optional(),\n \"resultPath\": z.string().optional()\n }).optional()\n }).optional(),\n \"status\": z.enum([\"active\", \"disabled\", \"error\"]),\n \"lastUsedAt\": z.number().optional(),\n \"lastError\": z.string().optional(),\n \"usageCount\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_key\", columns: [\"tenantId\", \"integrationKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const tenantModelSlotBindings = defineTable({\n name: \"tenantModelSlotBindings\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"bindingId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"secretRef\": z.string(),\n \"status\": z.enum([\"active\", \"revoked\"]),\n \"passThroughOnly\": z.boolean(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_bindingId\", columns: [\"bindingId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_slot\", columns: [\"tenantId\", \"modelSlotId\"] },\n { kind: 'index', name: \"by_tenant_provider_slot\", columns: [\"tenantId\", \"providerId\", \"modelSlotId\"] },\n { kind: 'index', name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const tenantPolicies = defineTable({\n name: \"tenantPolicies\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"roleName\": z.string(),\n \"description\": z.string().optional(),\n \"permissions\": z.array(z.object({\n \"resource\": z.string(),\n \"actions\": z.array(z.string())\n })),\n \"groupBindings\": z.array(z.string()),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"createdBy\": z.string(),\n \"updatedBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_roleName\", columns: [\"tenantId\", \"roleName\"] }\n ],\n});\n\nexport const tenantProviderSecrets = defineTable({\n name: \"tenantProviderSecrets\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"secretRef\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"label\": z.string().optional(),\n \"encryptedSecret\": z.string(),\n \"encryptionVersion\": z.string(),\n \"secretFingerprint\": z.string(),\n \"keyHint\": z.string(),\n \"status\": z.enum([\"active\", \"rotated\", \"revoked\"]),\n \"rotatedFromSecretRef\": z.string().optional(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional(),\n \"lastUsedAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_secretRef\", columns: [\"secretRef\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_provider\", columns: [\"tenantId\", \"providerId\"] },\n { kind: 'index', name: \"by_tenant_provider_status\", columns: [\"tenantId\", \"providerId\", \"status\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const tenantProxyGatewayUsage = defineTable({\n name: \"tenantProxyGatewayUsage\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"usageId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"secretRef\": z.string(),\n \"proxyTokenId\": z.string(),\n \"sessionId\": z.string(),\n \"principalId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"modelId\": z.string().optional(),\n \"requestPath\": z.string(),\n \"status\": z.enum([\"success\", \"error\"]),\n \"responseStatus\": z.number().optional(),\n \"inputTokens\": z.number().optional(),\n \"outputTokens\": z.number().optional(),\n \"tokenCount\": z.number().optional(),\n \"latencyMs\": z.number(),\n \"estimatedCostUsd\": z.number().optional(),\n \"failureCode\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_usageId\", columns: [\"usageId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenant_provider\", columns: [\"tenantId\", \"providerId\", \"createdAt\"] },\n { kind: 'index', name: \"by_proxyTokenId\", columns: [\"proxyTokenId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantProxyTokenMints = defineTable({\n name: \"tenantProxyTokenMints\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"proxyTokenId\": z.string(),\n \"tenantId\": z.string(),\n \"providerId\": z.string(),\n \"modelSlotId\": z.string(),\n \"sessionId\": z.string(),\n \"principalId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"secretRef\": z.string(),\n \"expiresAt\": z.number(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_proxyTokenId\", columns: [\"proxyTokenId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_sessionId\", columns: [\"sessionId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantSandboxAuditEvents = defineTable({\n name: \"tenantSandboxAuditEvents\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"eventId\": z.string(),\n \"tenantId\": z.string(),\n \"actorClerkId\": z.string(),\n \"action\": z.enum([\"sandbox_created\", \"sandbox_secret_injected\", \"sandbox_execution_started\", \"sandbox_execution_completed\", \"sandbox_limit_violated\"]),\n \"executionId\": z.string(),\n \"sessionId\": z.string().optional(),\n \"principalId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"providerId\": z.string().optional(),\n \"secretRef\": z.string().optional(),\n \"toolCallId\": z.string().optional(),\n \"correlationId\": z.string().optional(),\n \"sandboxDir\": z.string().optional(),\n \"timeoutMs\": z.number().optional(),\n \"memoryLimitMb\": z.number().optional(),\n \"allowedOrigins\": z.array(z.string()).optional(),\n \"limitName\": z.string().optional(),\n \"outcome\": z.string().optional(),\n \"responseStatus\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_eventId\", columns: [\"eventId\"] },\n { kind: 'index', name: \"by_executionId\", columns: [\"executionId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\", \"createdAt\"] }\n ],\n});\n\nexport const tenantSecrets = defineTable({\n name: \"tenantSecrets\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"workspaceId\": z.string().optional(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"encryptedValue\": z.string(),\n \"lastRotated\": z.number(),\n \"createdBy\": z.string(),\n \"updatedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_name\", columns: [\"tenantId\", \"name\"] }\n ],\n});\n\nexport const toolAcls = defineTable({\n name: \"toolAcls\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"role\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]),\n \"toolName\": z.string(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_role\", columns: [\"role\"] },\n { kind: 'index', name: \"by_toolName\", columns: [\"toolName\"] }\n ],\n});\n\nexport const toolRegistry = defineTable({\n name: \"toolRegistry\",\n component: \"control-plane\",\n category: \"platform\",\n shape: z.object({\n \"toolName\": z.string(),\n \"description\": z.string().optional(),\n \"version\": z.string().optional(),\n \"status\": z.enum([\"active\", \"deprecated\", \"disabled\"]),\n \"requiredRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]).optional(),\n \"requiredAction\": z.enum([\"read\", \"mutate\", \"admin\", \"summarize\", \"export\", \"create\", \"delete\", \"grant\", \"revoke\"]).optional(),\n \"surfaces\": z.array(z.enum([\"mcp\", \"chat\", \"voice\", \"sprint\", \"api\", \"sdk\", \"cli\"])).optional(),\n \"approvalGateId\": z.string().optional(),\n \"category\": z.enum([\"read\", \"write\", \"admin\", \"system\"]).optional(),\n \"parameterSchema\": z.record(z.any()).optional(),\n \"handlerRef\": z.string().optional(),\n \"returnSchema\": z.record(z.any()).optional(),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]).optional(),\n \"safetyMetadata\": z.object({\n \"readOnly\": z.boolean(),\n \"idempotent\": z.boolean(),\n \"sideEffectLevel\": z.enum([\"none\", \"low\", \"high\"])\n }).optional(),\n \"packKey\": z.string().optional(),\n \"packVersion\": z.string().optional(),\n \"isCore\": z.boolean(),\n \"mcVersion\": z.string().optional(),\n \"registeredBy\": z.string().optional(),\n \"registeredAt\": z.number().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_toolName\", columns: [\"toolName\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_isCore\", columns: [\"isCore\"] },\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] }\n ],\n});\n","/**\n * Schema contracts for mc/methodology.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const methodologyPacks = defineTable({\n name: \"methodologyPacks\",\n component: \"mc\",\n category: \"methodology\",\n shape: z.object({\n \"packId\": z.string(),\n \"name\": z.string(),\n \"description\": z.string(),\n \"version\": z.string(),\n \"enforcementLevel\": z.enum([\"strict\", \"guided\", \"advisory\"]),\n \"phases\": z.array(z.object({\n \"name\": z.string(),\n \"title\": z.string(),\n \"description\": z.string(),\n \"requiredTools\": z.array(z.string()),\n \"gate\": z.string().optional(),\n \"instructions\": z.string()\n })),\n \"principles\": z.array(z.string()),\n \"status\": z.enum([\"active\", \"draft\", \"archived\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_packId\", columns: [\"packId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const tenantMethodologyAssignments = defineTable({\n name: \"tenantMethodologyAssignments\",\n component: \"mc\",\n category: \"methodology\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"methodologyPackId\": idOf(\"methodologyPacks\"),\n \"isDefault\": z.boolean(),\n \"assignedAt\": z.number(),\n \"assignedBy\": z.string()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_methodologyPackId\", columns: [\"methodologyPackId\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/model.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/model.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const modelCallLogs = defineTable({\n name: \"modelCallLogs\",\n component: \"control-plane\",\n category: \"model\",\n shape: z.object({\n \"slot\": z.string(),\n \"modelKey\": z.string(),\n \"provider\": z.string(),\n \"inputTokens\": z.number().optional(),\n \"outputTokens\": z.number().optional(),\n \"durationMs\": z.number().optional(),\n \"cost\": z.number().optional(),\n \"success\": z.boolean(),\n \"error\": z.string().optional(),\n \"userId\": z.string().optional(),\n \"sessionId\": z.string().optional(),\n \"traceId\": z.string().optional(),\n \"timestamp\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_slot\", columns: [\"slot\"] },\n { kind: 'index', name: \"by_model\", columns: [\"modelKey\"] },\n { kind: 'index', name: \"by_timestamp\", columns: [\"timestamp\"] },\n { kind: 'index', name: \"by_user\", columns: [\"userId\"] }\n ],\n});\n\nexport const modelFunctionSlots = defineTable({\n name: \"modelFunctionSlots\",\n component: \"control-plane\",\n category: \"model\",\n shape: z.object({\n \"slot\": z.string(),\n \"category\": z.string(),\n \"description\": z.string(),\n \"modelKey\": z.string(),\n \"promptName\": z.string().optional(),\n \"temperature\": z.number().optional(),\n \"maxTokens\": z.number().optional(),\n \"requiredCapabilities\": z.array(z.string()).optional(),\n \"enabled\": z.boolean(),\n \"isDefault\": z.boolean(),\n \"notes\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_slot\", columns: [\"slot\"] },\n { kind: 'index', name: \"by_category\", columns: [\"category\"] },\n { kind: 'index', name: \"by_enabled\", columns: [\"enabled\"] }\n ],\n});\n\nexport const modelRegistry = defineTable({\n name: \"modelRegistry\",\n component: \"control-plane\",\n category: \"model\",\n shape: z.object({\n \"key\": z.string(),\n \"name\": z.string(),\n \"modelId\": z.string(),\n \"provider\": z.string(),\n \"capabilities\": z.array(z.string()),\n \"contextWindow\": z.number(),\n \"maxOutputTokens\": z.number(),\n \"defaultTemperature\": z.number(),\n \"inputCostPer1M\": z.number(),\n \"outputCostPer1M\": z.number(),\n \"recommended\": z.boolean(),\n \"enabled\": z.boolean(),\n \"notes\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_key\", columns: [\"key\"] },\n { kind: 'index', name: \"by_provider\", columns: [\"provider\"] },\n { kind: 'index', name: \"by_enabled\", columns: [\"enabled\"] }\n ],\n});\n\nexport const modelSlotConfigs = defineTable({\n name: \"modelSlotConfigs\",\n component: \"control-plane\",\n category: \"model\",\n shape: z.object({\n \"slot\": z.string(),\n \"modelKey\": z.string(),\n \"temperature\": z.number().optional(),\n \"maxTokens\": z.number().optional(),\n \"enabled\": z.boolean(),\n \"notes\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_slot\", columns: [\"slot\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/ontology.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/ontology.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const ontologyDefinitions = defineTable({\n name: \"ontologyDefinitions\",\n component: \"kernel\",\n category: \"ontology\",\n shape: z.object({\n \"ontologyKey\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"tier\": z.enum([\"platform\", \"pack\", \"tenant\"]),\n \"parentOntologyId\": idOf(\"ontologyDefinitions\").optional(),\n \"status\": z.enum([\"draft\", \"active\", \"deprecated\", \"archived\"]),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_ontologyKey\", columns: [\"ontologyKey\"] },\n { kind: 'index', name: \"by_tenant_ontologyKey\", columns: [\"tenantId\", \"ontologyKey\"] },\n { kind: 'index', name: \"by_tier\", columns: [\"tier\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_parentOntologyId\", columns: [\"parentOntologyId\"] }\n ],\n});\n\nexport const ontologyVersions = defineTable({\n name: \"ontologyVersions\",\n component: \"kernel\",\n category: \"ontology\",\n shape: z.object({\n \"ontologyId\": idOf(\"ontologyDefinitions\"),\n \"ontologyKey\": z.string(),\n \"version\": z.string(),\n \"status\": z.enum([\"draft\", \"published\", \"deprecated\"]),\n \"entityTypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional(),\n \"schema\": z.any().optional(),\n \"subtypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional()\n })).optional()\n })),\n \"edgeTypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional(),\n \"sourceTypes\": z.array(z.string()).optional(),\n \"targetTypes\": z.array(z.string()).optional(),\n \"constraintSeverity\": z.enum([\"warn\", \"info\"]).optional()\n })),\n \"releaseNotes\": z.string().optional(),\n \"publishedBy\": z.string().optional(),\n \"publishedAt\": z.number().optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_ontologyId\", columns: [\"ontologyId\"] },\n { kind: 'index', name: \"by_ontologyKey\", columns: [\"ontologyKey\"] },\n { kind: 'index', name: \"by_ontologyKey_version\", columns: [\"ontologyKey\", \"version\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_publishedAt\", columns: [\"publishedAt\"] }\n ],\n});\n","/**\n * Schema contracts for mc/pack.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const packAssignments = defineTable({\n name: \"packAssignments\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"groupId\": idOf(\"groups\"),\n \"packKey\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"status\": z.enum([\"active\", \"revoked\"]),\n \"assignedBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_groupId\", columns: [\"groupId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_packKey\", columns: [\"tenantId\", \"packKey\"] },\n { kind: 'index', name: \"by_group_packKey\", columns: [\"groupId\", \"packKey\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const packDefinitions = defineTable({\n name: \"packDefinitions\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"packKey\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"category\": z.enum([\"developer\", \"strategy\", \"data\", \"methodology\", \"ontology\", \"custom\"]),\n \"lifecycle\": z.enum([\"active\", \"beta\", \"experimental\"]),\n \"tierRequirement\": z.enum([\"free\", \"developer\", \"team\", \"enterprise\"]),\n \"installScope\": z.enum([\"tenant\", \"workspace\"]).optional(),\n \"toolNames\": z.array(z.string()),\n \"promptNames\": z.array(z.string()).optional(),\n \"agentKeys\": z.array(z.string()).optional(),\n \"methodologyPackIds\": z.array(z.string()).optional(),\n \"ontologyConfig\": z.object({\n \"ontologyKey\": z.string(),\n \"ontologyVersion\": z.string().optional(),\n \"topicBindings\": z.array(z.object({\n \"topicType\": z.string(),\n \"autoBindNewTopics\": z.boolean()\n })).optional()\n }).optional(),\n \"lensConfig\": z.array(z.object({\n \"lensKey\": z.string(),\n \"perspectiveType\": z.string()\n })).optional(),\n \"configTemplates\": z.record(z.any()).optional(),\n \"topicIds\": z.array(z.string()).optional(),\n \"status\": z.enum([\"draft\", \"active\", \"archived\"]),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] },\n { kind: 'index', name: \"by_category\", columns: [\"category\"] },\n { kind: 'index', name: \"by_lifecycle\", columns: [\"lifecycle\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_tierRequirement\", columns: [\"tierRequirement\"] }\n ],\n});\n\nexport const packEntitlements = defineTable({\n name: \"packEntitlements\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"packKey\": z.string(),\n \"status\": z.enum([\"active\", \"disabled\", \"revoked\"]),\n \"allowedLifecycles\": z.array(z.enum([\"active\", \"beta\", \"experimental\"])).optional(),\n \"minVersion\": z.string().optional(),\n \"maxVersion\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"grantedBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_packKey\", columns: [\"tenantId\", \"packKey\"] },\n { kind: 'index', name: \"by_tenant_workspace_packKey\", columns: [\"tenantId\", \"workspaceId\", \"packKey\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] }\n ],\n});\n\nexport const packGroupAssignments = defineTable({\n name: \"packGroupAssignments\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"groupId\": idOf(\"groups\"),\n \"tenantId\": idOf(\"tenants\"),\n \"packKey\": z.string(),\n \"packVersion\": z.string().optional(),\n \"status\": z.enum([\"active\", \"disabled\"]),\n \"assignedBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_groupId\", columns: [\"groupId\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_packKey\", columns: [\"tenantId\", \"packKey\"] },\n { kind: 'index', name: \"by_group_packKey\", columns: [\"groupId\", \"packKey\"] }\n ],\n});\n\nexport const packInstallations = defineTable({\n name: \"packInstallations\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"installScope\": z.enum([\"tenant\", \"workspace\"]).optional(),\n \"packKey\": z.string(),\n \"packVersion\": z.string(),\n \"candidateVersion\": z.string().optional(),\n \"versionWindowState\": z.enum([\"none\", \"prepared\", \"canary\", \"committed\", \"rolled_back\"]).optional(),\n \"upgradeStartedAt\": z.number().optional(),\n \"upgradeCompletedAt\": z.number().optional(),\n \"runtimeState\": z.enum([\"registered\", \"validated\", \"installed\", \"enabled\", \"degraded\", \"disabled\", \"removed\"]),\n \"healthStatus\": z.enum([\"unknown\", \"healthy\", \"degraded\", \"failing\"]),\n \"installStatus\": z.enum([\"installing\", \"installed\", \"partial_failure\", \"uninstalling\"]).optional(),\n \"componentStatus\": z.record(z.any()).optional(),\n \"lastError\": z.string().optional(),\n \"installedBy\": z.string().optional(),\n \"enabledBy\": z.string().optional(),\n \"disabledBy\": z.string().optional(),\n \"lastHealthCheckAt\": z.number().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] },\n { kind: 'index', name: \"by_packKey_version\", columns: [\"packKey\", \"packVersion\"] },\n { kind: 'index', name: \"by_tenant_packKey\", columns: [\"tenantId\", \"packKey\"] },\n { kind: 'index', name: \"by_tenant_workspace_packKey\", columns: [\"tenantId\", \"workspaceId\", \"packKey\"] },\n { kind: 'index', name: \"by_tenant_runtimeState\", columns: [\"tenantId\", \"runtimeState\"] },\n { kind: 'index', name: \"by_workspace_runtimeState\", columns: [\"workspaceId\", \"runtimeState\"] },\n { kind: 'index', name: \"by_tenant_healthStatus\", columns: [\"tenantId\", \"healthStatus\"] },\n { kind: 'index', name: \"by_workspace_healthStatus\", columns: [\"workspaceId\", \"healthStatus\"] }\n ],\n});\n\nexport const packVersions = defineTable({\n name: \"packVersions\",\n component: \"mc\",\n category: \"pack\",\n shape: z.object({\n \"packKey\": z.string(),\n \"version\": z.string(),\n \"status\": z.enum([\"draft\", \"published\", \"deprecated\"]),\n \"toolManifest\": z.array(z.object({\n \"toolName\": z.string(),\n \"toolVersion\": z.string(),\n \"description\": z.string().optional(),\n \"category\": z.enum([\"read\", \"write\", \"admin\", \"system\"]).optional(),\n \"requiredRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]).optional(),\n \"requiredAction\": z.enum([\"read\", \"mutate\", \"admin\", \"summarize\", \"export\", \"create\", \"delete\", \"grant\", \"revoke\"]).optional(),\n \"surfaces\": z.array(z.enum([\"mcp\", \"chat\", \"voice\", \"sprint\", \"api\", \"sdk\", \"cli\"])).optional(),\n \"handlerRef\": z.string().optional(),\n \"parameterSchema\": z.record(z.any()).optional(),\n \"returnSchema\": z.record(z.any()).optional(),\n \"executionAdapter\": z.enum([\"convex_mutation\", \"convex_action\", \"http_callback\", \"mcp_tool\", \"sdk_invocation\", \"external_observed\"]).optional(),\n \"safetyMetadata\": z.object({\n \"readOnly\": z.boolean(),\n \"idempotent\": z.boolean(),\n \"sideEffectLevel\": z.enum([\"none\", \"low\", \"high\"])\n }).optional()\n })),\n \"promptManifest\": z.array(z.string()).optional(),\n \"agentManifest\": z.array(z.string()).optional(),\n \"methodologyManifest\": z.array(z.string()).optional(),\n \"ontologySnapshot\": z.object({\n \"ontologyKey\": z.string(),\n \"version\": z.string(),\n \"entityTypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional(),\n \"schema\": z.any().optional(),\n \"subtypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional()\n })).optional()\n })),\n \"edgeTypes\": z.array(z.object({\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional(),\n \"sourceTypes\": z.array(z.string()).optional(),\n \"targetTypes\": z.array(z.string()).optional(),\n \"constraintSeverity\": z.enum([\"warn\", \"info\"]).optional()\n })),\n \"topicBindings\": z.array(z.object({\n \"topicType\": z.string(),\n \"autoBindNewTopics\": z.boolean()\n })).optional()\n }).optional(),\n \"lensManifest\": z.array(z.object({\n \"lensKey\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"perspectiveType\": z.string(),\n \"promptTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"promptRef\": z.string(),\n \"phase\": z.string().optional(),\n \"role\": z.string().optional(),\n \"version\": z.string().optional(),\n \"required\": z.boolean().optional(),\n \"metadata\": z.any().optional()\n })),\n \"workflowTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"steps\": z.array(z.object({\n \"key\": z.string(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"promptTemplateKey\": z.string().optional(),\n \"taskTemplateKeys\": z.array(z.string()).optional(),\n \"metadata\": z.any().optional()\n })),\n \"metadata\": z.any().optional()\n })),\n \"taskTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"priority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"phase\": z.string().optional(),\n \"metadata\": z.any().optional()\n })),\n \"questionTemplates\": z.array(z.object({\n \"key\": z.string(),\n \"text\": z.string(),\n \"priority\": z.enum([\"critical\", \"high\", \"medium\", \"low\"]).optional(),\n \"linkedBeliefKey\": z.string().optional(),\n \"metadata\": z.any().optional()\n })).optional(),\n \"filterCriteria\": z.any().optional(),\n \"topicTypeAffinity\": z.array(z.string()).optional(),\n \"metadata\": z.any().optional()\n })).optional(),\n \"configSnapshot\": z.record(z.any()).optional(),\n \"topicIds\": z.array(z.string()).optional(),\n \"releaseNotes\": z.string().optional(),\n \"releasedBy\": z.string(),\n \"publishedAt\": z.number().optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_packKey\", columns: [\"packKey\"] },\n { kind: 'index', name: \"by_packKey_version\", columns: [\"packKey\", \"version\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_publishedAt\", columns: [\"publishedAt\"] }\n ],\n});\n","/**\n * Schema contracts for mc/policy.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const policyBundles = defineTable({\n name: \"policyBundles\",\n component: \"mc\",\n category: \"policy\",\n shape: z.object({\n \"bundleKey\": z.string(),\n \"version\": z.number(),\n \"scope\": z.enum([\"platform\", \"tenant\", \"workspace\"]),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"status\": z.enum([\"draft\", \"validated\", \"enforced\", \"archived\"]),\n \"policyHash\": z.string().optional(),\n \"rules\": z.record(z.any()),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_bundle_key\", columns: [\"bundleKey\"] },\n { kind: 'index', name: \"by_bundle_key_version\", columns: [\"bundleKey\", \"version\"] },\n { kind: 'index', name: \"by_scope_status\", columns: [\"scope\", \"status\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] }\n ],\n});\n\nexport const policyDecisionLogs = defineTable({\n name: \"policyDecisionLogs\",\n component: \"mc\",\n category: \"policy\",\n shape: z.object({\n \"principalId\": z.string(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"resourceType\": z.string(),\n \"resourceId\": z.string(),\n \"action\": z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\", \"comment\", \"escalate\", \"resolve\", \"vote\", \"route\", \"invoke\", \"manage\", \"deploy\", \"promote\", \"rollback\", \"audit\", \"read_ref\", \"fetch_value\", \"rotate\", \"administer\", \"mint\", \"delegate\", \"revoke\"]),\n \"decision\": z.enum([\"allow\", \"deny\"]),\n \"reasonCode\": z.string(),\n \"policyVersion\": z.string(),\n \"policyBundleId\": idOf(\"policyBundles\").optional(),\n \"audienceKey\": z.string().optional(),\n \"audienceClass\": z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n \"audienceMode\": z.string().optional(),\n \"traceId\": z.string().optional(),\n \"packKey\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: 'index', name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_pack_createdAt\", columns: [\"packKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_audienceKey_createdAt\", columns: [\"audienceKey\", \"createdAt\"] },\n { kind: 'index', name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: 'index', name: \"by_traceId\", columns: [\"traceId\"] }\n ],\n});\n\nexport const policySimulations = defineTable({\n name: \"policySimulations\",\n component: \"mc\",\n category: \"policy\",\n shape: z.object({\n \"simulationKey\": z.string(),\n \"tenantId\": idOf(\"tenants\").optional(),\n \"workspaceId\": idOf(\"workspaces\").optional(),\n \"actorPrincipalId\": z.string(),\n \"input\": z.record(z.any()),\n \"result\": z.record(z.any()),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_simulation_key\", columns: [\"simulationKey\"] },\n { kind: 'index', name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: 'index', name: \"by_workspace_createdAt\", columns: [\"workspaceId\", \"createdAt\"] },\n { kind: 'index', name: \"by_actor_createdAt\", columns: [\"actorPrincipalId\", \"createdAt\"] }\n ],\n});\n\nexport const controlPlaneToolAcls = defineTable({\n name: \"controlPlaneToolAcls\",\n component: \"mc\",\n category: \"policy\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"role\": z.string(),\n \"toolName\": z.string(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant_role\", columns: [\"tenantId\", \"role\"] },\n { kind: 'index', name: \"by_tenant_toolName\", columns: [\"tenantId\", \"toolName\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/project.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/project.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const projectGrants = defineTable({\n name: \"projectGrants\",\n component: \"control-plane\",\n category: \"project\",\n shape: z.object({\n \"projectId\": z.string().optional(),\n \"topicId\": z.string().optional(),\n \"beliefClusterId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"subjectType\": z.enum([\"principal\", \"group\"]),\n \"principalId\": z.string().optional(),\n \"groupId\": z.string().optional(),\n \"role\": z.enum([\"viewer\", \"editor\", \"owner_delegate\"]),\n \"status\": z.enum([\"active\", \"revoked\", \"expired\"]),\n \"source\": z.enum([\"owner_share\", \"group_share\", \"external_share\", \"policy\", \"api\", \"migration\"]),\n \"grantedBy\": z.string().optional(),\n \"expiresAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_principal_status\", columns: [\"principalId\", \"status\"] },\n { kind: 'index', name: \"by_group_status\", columns: [\"groupId\", \"status\"] },\n { kind: 'index', name: \"by_tenant_workspace\", columns: [\"tenantId\", \"workspaceId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_topic_principal\", columns: [\"topicId\", \"principalId\"] },\n { kind: 'index', name: \"by_topic_group\", columns: [\"topicId\", \"groupId\"] },\n { kind: 'index', name: \"by_topic_cluster\", columns: [\"topicId\", \"beliefClusterId\"] },\n { kind: 'index', name: \"by_topic_cluster_status\", columns: [\"topicId\", \"beliefClusterId\", \"status\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/accessControl.\n *\n * Mirrors:\n * - modules/control-plane/src/component/schema/domains/accessControl.ts\n */\n\nimport { z } from \"zod\";\nimport { defineTable } from \"../../../dsl.js\";\n\nconst permitActorType = z.enum([\n \"human\",\n \"agent\",\n \"service_principal\",\n \"external_stakeholder\",\n \"system\",\n]);\n\nconst permitMembershipStatus = z.enum([\n \"active\",\n \"invited\",\n \"revoked\",\n \"suspended\",\n \"disabled\",\n]);\n\nconst permitDecision = z.enum([\"allow\", \"deny\"]);\n\nconst permitAccessReviewStatus = z.enum([\n \"open\",\n \"in_progress\",\n \"approved\",\n \"denied\",\n \"expired\",\n \"cancelled\",\n]);\n\nconst permitReviewScope = z.enum([\n \"tenant\",\n \"workspace\",\n \"resource_instance\",\n \"group\",\n \"principal\",\n \"api_key\",\n \"admin_action\",\n]);\n\nconst permitRecordStatus = z.enum([\n \"queued\",\n \"inflight\",\n \"completed\",\n \"failed\",\n \"skipped\",\n \"stale\",\n]);\n\nconst permitObjectType = z.enum([\n \"resource\",\n \"role\",\n \"resource_role\",\n \"resource_relation\",\n \"tenant\",\n \"workspace\",\n \"principal\",\n \"membership\",\n \"group\",\n \"resource_instance\",\n \"relationship_tuple\",\n \"role_assignment\",\n \"attribute_binding\",\n \"policy_bundle\",\n]);\n\nconst permitOutboxOperation = z.enum([\n \"upsert\",\n \"delete\",\n \"sync\",\n \"resync\",\n \"delete_sync\",\n \"noop\",\n]);\n\nconst permitPolicyBundleStatus = z.enum([\n \"draft\",\n \"validated\",\n \"enforced\",\n \"archived\",\n]);\n\nconst permitSyncStatus = z.enum([\n \"pending\",\n \"synced\",\n \"error\",\n \"skipped\",\n]);\n\nconst permitAccessReviewSubjectType = z.enum([\n \"principal\",\n \"group\",\n \"role_assignment\",\n \"resource_instance\",\n]);\n\nconst permitAttributeType = z.enum([\n \"string\",\n \"number\",\n \"bool\",\n \"json\",\n \"time\",\n]);\n\nconst permitAttributeOperator = z.enum([\n \"eq\",\n \"neq\",\n \"in\",\n \"not_in\",\n \"gt\",\n \"gte\",\n \"lt\",\n \"lte\",\n \"contains\",\n \"not_contains\",\n \"matches\",\n]);\n\nconst permitRoleBindingTarget = z.enum([\n \"principal\",\n \"group\",\n]);\n\nexport const permitPrincipals = defineTable({\n name: \"permitPrincipals\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n principalType: permitActorType,\n status: permitMembershipStatus,\n displayName: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n lastSeenAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_principalId\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_principalType_status\",\n columns: [\"tenantId\", \"principalType\", \"status\"],\n },\n ],\n});\n\nexport const permitPrincipalAliases = defineTable({\n name: \"permitPrincipalAliases\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n principalId: z.string(),\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n provider: z.string(),\n providerSubjectId: z.string(),\n providerProjectId: z.string().optional(),\n alias: z.string(),\n aliasKind: z.string(),\n status: permitMembershipStatus,\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n revokedBy: z.string().optional(),\n revokedAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principalId\", columns: [\"principalId\"] },\n { kind: \"index\", name: \"by_provider_subject\", columns: [\"provider\", \"providerSubjectId\"] },\n { kind: \"index\", name: \"by_provider_project_subject\", columns: [\"provider\", \"providerProjectId\", \"providerSubjectId\"] },\n { kind: \"index\", name: \"by_tenant_provider_subject\", columns: [\"tenantId\", \"provider\", \"providerSubjectId\"] },\n { kind: \"index\", name: \"by_tenant_provider_project_subject\", columns: [\"tenantId\", \"provider\", \"providerProjectId\", \"providerSubjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_alias\",\n columns: [\"tenantId\", \"provider\", \"alias\"],\n },\n { kind: \"index\", name: \"by_tenant_alias\", columns: [\"tenantId\", \"alias\"] },\n {\n kind: \"index\",\n name: \"by_tenant_provider_status\",\n columns: [\"tenantId\", \"provider\", \"status\"],\n },\n ],\n});\n\nexport const permitGroups = defineTable({\n name: \"permitGroups\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n groupKey: z.string(),\n groupName: z.string(),\n groupType: z.enum([\"tenant\", \"workspace\", \"external\", \"system\", \"dynamic\"]),\n status: permitMembershipStatus,\n description: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_tenant_groupId\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_groupKey\", columns: [\"tenantId\", \"groupKey\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitGroupMemberships = defineTable({\n name: \"permitGroupMemberships\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n groupId: z.string(),\n memberType: z.enum([\"principal\", \"group\"]),\n memberId: z.string(),\n principalId: z.string().optional(),\n childGroupId: z.string().optional(),\n status: permitMembershipStatus,\n addedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n revocationReason: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_principal\", columns: [\"tenantId\", \"principalId\"] },\n { kind: \"index\", name: \"by_tenant_member\", columns: [\"tenantId\", \"memberType\", \"memberId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_member_group\",\n columns: [\"tenantId\", \"memberType\", \"memberId\", \"groupId\"],\n },\n { kind: \"index\", name: \"by_tenant_group\", columns: [\"tenantId\", \"groupId\"] },\n { kind: \"index\", name: \"by_member_group\", columns: [\"memberType\", \"memberId\", \"groupId\"] },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_principal\",\n columns: [\"workspaceId\", \"principalId\"],\n },\n ],\n});\n\nexport const permitResourceInstances = defineTable({\n name: \"permitResourceInstances\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceId: z.string(),\n status: z.enum([\"active\", \"deleted\", \"archived\"]),\n attributes: z.record(z.any()).optional(),\n ownerPrincipalId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_resource_type\",\n columns: [\"tenantId\", \"resourceType\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource_key\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_ownerPrincipalId\",\n columns: [\"ownerPrincipalId\"],\n },\n ],\n});\n\nexport const permitRoleAssignments = defineTable({\n name: \"permitRoleAssignments\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n role: z.string(),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n resourceType: z.string(),\n resourceKey: z.string(),\n resourceInstanceId: z.string().optional(),\n status: permitMembershipStatus,\n expiresAt: z.number().optional(),\n attributes: z.record(z.any()).optional(),\n grantedBy: z.string().optional(),\n updatedBy: z.string().optional(),\n revokedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_resource\",\n columns: [\"tenantId\", \"resourceType\", \"resourceKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_role\",\n columns: [\"tenantId\", \"role\", \"status\"],\n },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_workspace_resource\",\n columns: [\"workspaceId\", \"resourceType\", \"resourceKey\"],\n },\n ],\n});\n\nexport const permitRelationshipTuples = defineTable({\n name: \"permitRelationshipTuples\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n relation: z.string(),\n subject: z.string(),\n object: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n status: permitRecordStatus,\n attributes: z.record(z.any()).optional(),\n createdBy: z.string(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastSeenAt: z.number().optional(),\n updatedBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_subject\", columns: [\"tenantId\", \"subject\"] },\n { kind: \"index\", name: \"by_tenant_object\", columns: [\"tenantId\", \"object\"] },\n { kind: \"index\", name: \"by_tenant_relation\", columns: [\"tenantId\", \"relation\"] },\n {\n kind: \"index\",\n name: \"by_tenant_relation_subject\",\n columns: [\"tenantId\", \"relation\", \"subject\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitAttributeBindings = defineTable({\n name: \"permitAttributeBindings\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n targetType: permitRoleBindingTarget,\n targetId: z.string(),\n attributeName: z.string(),\n attributeType: permitAttributeType,\n attributeOperator: permitAttributeOperator,\n attributeValue: z.any(),\n status: permitRecordStatus,\n source: z.string().optional(),\n sourceRef: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n expiresAt: z.number().optional(),\n }),\n indices: [\n {\n kind: \"index\",\n name: \"by_tenant_target\",\n columns: [\"tenantId\", \"targetType\", \"targetId\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_target_attribute\",\n columns: [\"tenantId\", \"targetType\", \"targetId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_name\",\n columns: [\"tenantId\", \"attributeName\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyBundles = defineTable({\n name: \"permitPolicyBundles\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n bundleKey: z.string(),\n version: z.number(),\n status: permitPolicyBundleStatus,\n policyHash: z.string().optional(),\n policyPayload: z.record(z.any()),\n metadata: z.record(z.any()).optional(),\n createdBy: z.string(),\n reviewedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n retiredAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: \"index\", name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_bundleKey\",\n columns: [\"tenantId\", \"bundleKey\"],\n },\n {\n kind: \"index\",\n name: \"by_tenant_bundle_version\",\n columns: [\"tenantId\", \"bundleKey\", \"version\"],\n },\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n ],\n});\n\nexport const permitProjectionOutbox = defineTable({\n name: \"permitProjectionOutbox\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n operation: permitOutboxOperation,\n payload: z.record(z.any()),\n status: permitRecordStatus,\n attemptCount: z.number(),\n nextAttemptAt: z.number().optional(),\n lastError: z.string().optional(),\n tenantId: z.string().optional(),\n workspaceId: z.optional(z.string()),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n lastHandledAt: z.number().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n { kind: \"index\", name: \"by_tenantId\", columns: [\"tenantId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_objectType\",\n columns: [\"objectType\", \"status\"],\n },\n ],\n});\n\nexport const tenantPermitSyncStates = defineTable({\n name: \"tenantPermitSyncStates\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n syncKey: z.string(),\n objectType: permitObjectType,\n objectId: z.string(),\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string().optional(),\n permitTenantKey: z.string().optional(),\n permitResourceType: z.string().optional(),\n permitResourceKey: z.string().optional(),\n desiredPayload: z.record(z.any()),\n lastAppliedPayloadHash: z.string().optional(),\n status: permitSyncStatus,\n attemptCount: z.number(),\n lastError: z.string().optional(),\n nextAttemptAt: z.number().optional(),\n lastSyncedAt: z.number().optional(),\n createdBy: z.string(),\n updatedBy: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_syncKey\", columns: [\"syncKey\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n {\n kind: \"index\",\n name: \"by_tenant_status\",\n columns: [\"tenantId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n {\n kind: \"index\",\n name: \"by_principal_status\",\n columns: [\"principalId\", \"status\"],\n },\n ],\n});\n\nexport const permitPolicyDecisionReceipts = defineTable({\n name: \"permitPolicyDecisionReceipts\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string().optional(),\n workspaceId: z.string().optional(),\n principalId: z.string(),\n subjectType: permitAccessReviewSubjectType.optional(),\n subjectId: z.string().optional(),\n resourceType: z.string(),\n resourceId: z.string(),\n action: z.string(),\n decision: permitDecision,\n reasonCode: z.string(),\n policyBundleId: z.string().optional(),\n policyVersion: z.string(),\n traceId: z.string().optional(),\n requestId: z.string().optional(),\n audienceMode: z.string().optional(),\n audienceKey: z.string().optional(),\n audienceClass: z.enum([\"internal\", \"restricted_external\", \"public\"]).optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n expiresAt: z.number().optional(),\n createdBy: z.string().optional(),\n }),\n indices: [\n { kind: \"index\", name: \"by_principal_createdAt\", columns: [\"principalId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_tenant_createdAt\", columns: [\"tenantId\", \"createdAt\"] },\n { kind: \"index\", name: \"by_resource\", columns: [\"resourceType\", \"resourceId\"] },\n { kind: \"index\", name: \"by_decision_createdAt\", columns: [\"decision\", \"createdAt\"] },\n { kind: \"index\", name: \"by_traceId\", columns: [\"traceId\"] },\n { kind: \"index\", name: \"by_action\", columns: [\"action\"] },\n ],\n});\n\nexport const permitAccessReviews = defineTable({\n name: \"permitAccessReviews\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n tenantId: z.string(),\n workspaceId: z.optional(z.string()),\n reviewKey: z.string(),\n scope: permitReviewScope,\n status: permitAccessReviewStatus,\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n outcome: z.enum([\"allow\", \"deny\"]).optional(),\n requestedBy: z.string(),\n reviewedBy: z.string().optional(),\n requestedAt: z.number(),\n reviewedAt: z.number().optional(),\n dueAt: z.number().optional(),\n justification: z.string().optional(),\n rationale: z.string().optional(),\n policyBundleId: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n {\n kind: \"index\",\n name: \"by_tenant_subject\",\n columns: [\"tenantId\", \"subjectType\", \"subjectId\"],\n },\n { kind: \"index\", name: \"by_outcome\", columns: [\"outcome\"] },\n {\n kind: \"index\",\n name: \"by_workspace_status\",\n columns: [\"workspaceId\", \"status\"],\n },\n ],\n});\n\nexport const permitAccessReviewItems = defineTable({\n name: \"permitAccessReviewItems\",\n component: \"control-plane\",\n category: \"access-control\",\n shape: z.object({\n reviewKey: z.string(),\n itemKey: z.string(),\n tenantId: z.string(),\n workspaceId: z.string().optional(),\n subjectType: permitAccessReviewSubjectType,\n subjectId: z.string(),\n resourceType: z.string().optional(),\n resourceKey: z.string().optional(),\n role: z.string().optional(),\n relation: z.string().optional(),\n status: z.enum([\"open\", \"approved\", \"revoked\", \"changed\", \"deferred\"]),\n reviewerId: z.string().optional(),\n decisionAt: z.number().optional(),\n rationale: z.string().optional(),\n metadata: z.record(z.any()).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n }),\n indices: [\n { kind: \"index\", name: \"by_reviewKey\", columns: [\"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_reviewKey\", columns: [\"tenantId\", \"reviewKey\"] },\n { kind: \"index\", name: \"by_tenant_itemKey\", columns: [\"tenantId\", \"itemKey\"] },\n { kind: \"index\", name: \"by_subject\", columns: [\"subjectType\", \"subjectId\"] },\n { kind: \"index\", name: \"by_status\", columns: [\"status\"] },\n ],\n});\n","/**\n * Schema contracts for controlPlane/epistemic.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/epistemic.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const reasoningPermissions = defineTable({\n name: \"reasoningPermissions\",\n component: \"control-plane\",\n category: \"epistemic\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"principalId\": z.string(),\n \"nodeType\": z.enum([\"belief\", \"evidence\", \"action\", \"approval\", \"artifact\"]),\n \"action\": z.enum([\"view_conclusion\", \"view_evidence\", \"propose_action\", \"approve_action\", \"view_derived_artifact\"]),\n \"effect\": z.enum([\"allow\", \"deny\"]),\n \"policyReference\": z.string().optional(),\n \"rationale\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"createdBy\": z.string(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_topic_principal\", columns: [\"topicId\", \"principalId\"] },\n { kind: 'index', name: \"by_topic_principal_action\", columns: [\"topicId\", \"principalId\", \"action\"] },\n { kind: 'index', name: \"by_topic_principal_node_action\", columns: [\"topicId\", \"principalId\", \"nodeType\", \"action\"] },\n { kind: 'index', name: \"by_principal_action\", columns: [\"principalId\", \"action\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/config.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/config.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const schemaEnumConfig = defineTable({\n name: \"schemaEnumConfig\",\n component: \"kernel\",\n category: \"config\",\n shape: z.object({\n \"tenantId\": z.string().optional(),\n \"category\": z.string(),\n \"value\": z.string(),\n \"label\": z.string(),\n \"description\": z.string().optional(),\n \"tier\": z.enum([\"platform\", \"tenant\"]),\n \"domainNamespace\": z.string().optional(),\n \"metadata\": z.any().optional(),\n \"isDefault\": z.boolean().optional(),\n \"sortOrder\": z.number().optional(),\n \"status\": z.enum([\"active\", \"deprecated\"]),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_category\", columns: [\"category\"] },\n { kind: 'index', name: \"by_tenant_category\", columns: [\"tenantId\", \"category\"] },\n { kind: 'index', name: \"by_category_value\", columns: [\"category\", \"value\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/task.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/task.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const tasks = defineTable({\n name: \"tasks\",\n component: \"kernel\",\n category: \"task\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"title\": z.string(),\n \"description\": z.string().optional(),\n \"status\": z.enum([\"todo\", \"in_progress\", \"blocked\", \"done\"]),\n \"priority\": z.enum([\"urgent\", \"high\", \"medium\", \"low\"]),\n \"dueDate\": z.number().optional(),\n \"linkedWorktreeId\": idOf(\"worktrees\").optional(),\n \"linkedBeliefId\": z.string().optional(),\n \"linkedQuestionId\": z.string().optional(),\n \"taskType\": z.enum([\"general\", \"find_evidence\", \"verify_claim\", \"research\", \"review\", \"interview\", \"analysis\", \"track_metrics\"]).optional(),\n \"assigneeId\": z.string().optional(),\n \"blockedReason\": z.string().optional(),\n \"blockedBy\": z.array(idOf(\"tasks\")).optional(),\n \"blocks\": z.array(idOf(\"tasks\")).optional(),\n \"sortOrder\": z.number().optional(),\n \"executionOrder\": z.number().optional(),\n \"subtasks\": z.array(z.object({\n \"id\": z.string(),\n \"title\": z.string(),\n \"completed\": z.boolean(),\n \"completedAt\": z.number().optional()\n })).optional(),\n \"comments\": z.array(z.object({\n \"id\": z.string(),\n \"userId\": z.string(),\n \"content\": z.string(),\n \"createdAt\": z.number()\n })).optional(),\n \"attachments\": z.array(z.object({\n \"id\": z.string(),\n \"type\": z.enum([\"call_script\", \"email_template\", \"research_plan\", \"framework\", \"checklist\", \"note\", \"file\", \"transcript\"]),\n \"title\": z.string(),\n \"content\": z.string(),\n \"metadata\": z.object({\n \"items\": z.array(z.object({\n \"id\": z.string(),\n \"text\": z.string(),\n \"completed\": z.boolean()\n })).optional(),\n \"fileUrl\": z.string().optional(),\n \"fileName\": z.string().optional(),\n \"fileSize\": z.number().optional(),\n \"frameworkType\": z.string().optional(),\n \"variables\": z.array(z.string()).optional(),\n \"mappedQuestions\": z.array(z.object({\n \"id\": z.string(),\n \"questionText\": z.string(),\n \"linkedQuestionId\": z.string().optional(),\n \"linkedBeliefId\": z.string().optional(),\n \"category\": z.string().optional(),\n \"priority\": z.enum([\"must_ask\", \"nice_to_have\"]).optional(),\n \"answered\": z.boolean().optional(),\n \"answerExcerpt\": z.string().optional(),\n \"answerTimestamp\": z.string().optional(),\n \"capturedAsInsight\": z.boolean().optional(),\n \"insightId\": idOf(\"epistemicNodes\").optional()\n })).optional(),\n \"linkedCallScriptId\": z.string().optional(),\n \"editable\": z.boolean().optional(),\n \"executionTool\": z.string().optional(),\n \"linkedQuestionId\": z.string().optional(),\n \"linkedBeliefId\": z.string().optional(),\n \"workflowStepId\": z.string().optional(),\n \"workflowOrder\": z.number().optional(),\n \"dependsOnStepIds\": z.array(z.string()).optional(),\n \"runCondition\": z.string().optional(),\n \"continueOnFailure\": z.boolean().optional(),\n \"stepStatus\": z.enum([\"pending\", \"running\", \"completed\", \"failed\", \"skipped\"]).optional(),\n \"stepRunCount\": z.number().optional(),\n \"stepLastRunAt\": z.number().optional(),\n \"stepOutputSummary\": z.string().optional(),\n \"stepOutputData\": z.string().optional(),\n \"stepFailureReason\": z.string().optional(),\n \"researchResult\": z.string().optional(),\n \"researchStatus\": z.enum([\"pending\", \"running\", \"completed\", \"failed\"]).optional(),\n \"researchCompletedAt\": z.number().optional(),\n \"researchCitations\": z.array(z.union([z.string(), z.object({\n \"url\": z.string(),\n \"title\": z.string().optional(),\n \"snippet\": z.string().optional()\n })])).optional(),\n \"generatedPersonas\": z.array(z.any()).optional(),\n \"personasGeneratedAt\": z.number().optional(),\n \"expertSearchResults\": z.array(z.any()).optional(),\n \"expertSearchAt\": z.number().optional(),\n \"capturedAsEvidence\": z.boolean().optional(),\n \"capturedInsightId\": z.string().optional(),\n \"capturedAt\": z.number().optional(),\n \"capturedImpact\": z.number().optional(),\n \"tools\": z.array(z.object({\n \"tool\": z.string(),\n \"purpose\": z.string(),\n \"suggestedQuery\": z.string()\n })).optional(),\n \"metrics\": z.array(z.object({\n \"metric\": z.string(),\n \"source\": z.string(),\n \"frequency\": z.string(),\n \"currentValue\": z.string().optional()\n })).optional(),\n \"personas\": z.array(z.object({\n \"role\": z.string(),\n \"title\": z.string(),\n \"company\": z.string(),\n \"rationale\": z.string()\n })).optional(),\n \"experts\": z.array(z.object({\n \"expertise\": z.string(),\n \"potentialSources\": z.array(z.string()),\n \"questions\": z.array(z.string()),\n \"searchStrategy\": z.string().optional()\n })).optional(),\n \"factChecker\": z.object({\n \"claimsToVerify\": z.array(z.string()),\n \"sourcesToCheck\": z.array(z.string()),\n \"verificationCriteria\": z.array(z.string())\n }).optional()\n }).optional(),\n \"capturedAsEvidence\": z.boolean().optional(),\n \"capturedInsightId\": idOf(\"epistemicNodes\").optional(),\n \"capturedAt\": z.number().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number()\n })).optional(),\n \"tags\": z.array(z.string()).optional(),\n \"executionType\": z.enum([\"research_search\", \"find_news\", \"identify_experts\", \"market_research\", \"generate_primer\", \"verify_claim\", \"manual\", \"mcp_research\", \"mcp_web_search\", \"mcp_capture\", \"mcp_network_search\"]).optional(),\n \"executionStatus\": z.enum([\"pending\", \"running\", \"completed\", \"failed\"]).optional(),\n \"executionResults\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]).optional(),\n \"executionStartedAt\": z.number().optional(),\n \"executionCompletedAt\": z.number().optional(),\n \"executionError\": z.string().optional(),\n \"mcpDatasetIds\": z.array(z.string()).optional(),\n \"mcpSkillIds\": z.array(z.string()).optional(),\n \"mcpExecutionId\": z.string().optional(),\n \"linkedChatId\": z.string().optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"completedAt\": z.number().optional(),\n \"completedBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topicId_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_worktreeId\", columns: [\"linkedWorktreeId\"] },\n { kind: 'index', name: \"by_beliefId\", columns: [\"linkedBeliefId\"] },\n { kind: 'index', name: \"by_questionId\", columns: [\"linkedQuestionId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_assigneeId\", columns: [\"assigneeId\"] },\n { kind: 'index', name: \"by_dueDate\", columns: [\"dueDate\"] },\n { kind: 'index', name: \"by_priority\", columns: [\"priority\"] },\n { kind: 'index', name: \"by_executionType\", columns: [\"executionType\"] },\n { kind: 'index', name: \"by_executionStatus\", columns: [\"executionStatus\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/topic.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/topic.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\nimport { TOPIC_STATUS, TOPIC_VISIBILITY } from '../../enums.js';\n\nexport const topics = defineTable({\n name: \"topics\",\n component: \"kernel\",\n category: \"topic\",\n shape: z.object({\n \"globalId\": z.string(),\n \"name\": z.string(),\n \"description\": z.string().optional(),\n \"parentTopicId\": idOf(\"topics\").optional(),\n \"depth\": z.number(),\n \"path\": z.array(z.string()),\n \"type\": z.string(),\n \"ontologyId\": idOf(\"ontologyDefinitions\").optional(),\n \"graphScopeProjectId\": z.string().optional(),\n \"metadata\": z.any().optional(),\n \"tenantId\": z.string().optional(),\n \"workspaceId\": z.string().optional(),\n \"status\": TOPIC_STATUS,\n \"visibility\": TOPIC_VISIBILITY.optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_globalId\", columns: [\"globalId\"] },\n { kind: 'index', name: \"by_parent\", columns: [\"parentTopicId\"] },\n { kind: 'index', name: \"by_type\", columns: [\"type\"] },\n { kind: 'index', name: \"by_graph_scope_project\", columns: [\"graphScopeProjectId\"] },\n { kind: 'index', name: \"by_tenant\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_ontology\", columns: [\"ontologyId\"] },\n { kind: 'index', name: \"by_path\", columns: [\"path\"] },\n { kind: 'search', name: \"search_name\", searchField: \"name\", filterFields: [\"tenantId\", \"type\"] }\n ],\n});\n","/**\n * Schema contracts for controlPlane/user.\n *\n * Mirrored from:\n * - modules/control-plane/src/component/schema/domains/user.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const users = defineTable({\n name: \"users\",\n component: \"control-plane\",\n category: \"user\",\n shape: z.object({\n \"clerkId\": z.string(),\n \"email\": z.string(),\n \"name\": z.string().optional(),\n \"imageUrl\": z.string().optional(),\n \"lastSeenAt\": z.number(),\n \"chatCount\": z.number(),\n \"messageCount\": z.number(),\n \"isAdmin\": z.boolean().optional(),\n \"mcRole\": z.enum([\"platform_admin\", \"tenant_admin\", \"workspace_admin\", \"editor\", \"viewer\", \"auditor\", \"service_agent\"]).optional(),\n \"mcRoleSyncedAt\": z.number().optional(),\n \"defaultTenantId\": z.string().optional(),\n \"defaultWorkspaceId\": z.string().optional(),\n \"defaultPrincipalId\": z.string().optional(),\n \"principalGroupIds\": z.array(z.string()).optional(),\n \"permittedPackKeys\": z.array(z.string()).optional(),\n \"permittedToolNames\": z.array(z.string()).optional(),\n \"governanceGrantsSyncedAt\": z.number().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_clerkId\", columns: [\"clerkId\"] },\n { kind: 'index', name: \"by_email\", columns: [\"email\"] },\n { kind: 'index', name: \"by_lastSeenAt\", columns: [\"lastSeenAt\"] },\n { kind: 'index', name: \"by_defaultTenantId\", columns: [\"defaultTenantId\"] },\n { kind: 'index', name: \"by_defaultWorkspaceId\", columns: [\"defaultWorkspaceId\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/workflow.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/workflow.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const workflowDefinitions = defineTable({\n name: \"workflowDefinitions\",\n component: \"kernel\",\n category: \"workflow\",\n shape: z.object({\n \"tenantId\": z.string(),\n \"name\": z.string(),\n \"displayName\": z.string(),\n \"description\": z.string().optional(),\n \"status\": z.enum([\"draft\", \"active\", \"deprecated\"]),\n \"version\": z.number(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenant\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenant_name\", columns: [\"tenantId\", \"name\"] },\n { kind: 'index', name: \"by_tenant_status\", columns: [\"tenantId\", \"status\"] }\n ],\n});\n\nexport const workflowPullRequests = defineTable({\n name: \"workflowPullRequests\",\n component: \"kernel\",\n category: \"workflow\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"worktreeId\": idOf(\"worktrees\"),\n \"status\": z.enum([\"pending_review\", \"changes_requested\", \"approved\", \"blocked\"]),\n \"summary\": z.string(),\n \"reviewers\": z.array(z.string()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"resolvedAt\": z.number().optional(),\n \"resolvedBy\": z.string().optional(),\n \"metadata\": z.record(z.any()).optional()\n }),\n indices: [\n { kind: 'index', name: \"by_worktreeId\", columns: [\"worktreeId\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] },\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topic_status\", columns: [\"topicId\", \"status\"] }\n ],\n});\n\nexport const workflowStages = defineTable({\n name: \"workflowStages\",\n component: \"kernel\",\n category: \"workflow\",\n shape: z.object({\n \"workflowDefinitionId\": idOf(\"workflowDefinitions\"),\n \"name\": z.string(),\n \"displayName\": z.string(),\n \"description\": z.string().optional(),\n \"order\": z.number(),\n \"entryConditions\": z.record(z.any()).optional(),\n \"exitConditions\": z.record(z.any()).optional(),\n \"gateRules\": z.record(z.any()).optional(),\n \"isOptional\": z.boolean().optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_workflow\", columns: [\"workflowDefinitionId\"] },\n { kind: 'index', name: \"by_workflow_order\", columns: [\"workflowDefinitionId\", \"order\"] }\n ],\n});\n","/**\n * Schema contracts for mc/workspace.\n *\n * Mirrored from:\n * - services/master-control/convex/schema.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const workspaces = defineTable({\n name: \"workspaces\",\n component: \"mc\",\n category: \"workspace\",\n shape: z.object({\n \"tenantId\": idOf(\"tenants\"),\n \"key\": z.string(),\n \"slug\": z.string(),\n \"name\": z.string(),\n \"status\": z.enum([\"active\", \"archived\"]),\n \"defaultProjectVisibility\": z.enum([\"private\", \"team\", \"firm\", \"external\", \"public\"]).optional(),\n \"deployments\": z.record(z.object({\n \"url\": z.string(),\n \"target\": z.enum([\"kernelDeployment\", \"appDeployment\"]).optional(),\n \"credentialRef\": z.string().optional()\n })).optional(),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string().optional(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_tenantId_key\", columns: [\"tenantId\", \"key\"] },\n { kind: 'index', name: \"by_tenantId_slug\", columns: [\"tenantId\", \"slug\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n\nexport const deploymentHosts = defineTable({\n name: \"deploymentHosts\",\n component: \"mc\",\n category: \"workspace\",\n shape: z.object({\n \"host\": z.string(),\n \"tenantId\": idOf(\"tenants\"),\n \"workspaceId\": idOf(\"workspaces\"),\n \"environment\": z.enum([\"dev\", \"staging\", \"prod\"]),\n \"target\": z.enum([\"kernelDeployment\", \"appDeployment\"]),\n \"deploymentUrl\": z.string().optional(),\n \"deploymentName\": z.string().optional(),\n \"vercelProjectName\": z.string().optional(),\n \"vercelProjectId\": z.string().optional(),\n \"vercelEnvironment\": z.enum([\"development\", \"preview\", \"staging\", \"production\"]).optional(),\n \"source\": z.enum([\"vercel_preview\", \"vercel_production\", \"vercel_custom_environment\", \"custom_domain\", \"manual\"]),\n \"status\": z.enum([\"active\", \"revoked\"]),\n \"metadata\": z.record(z.any()).optional(),\n \"createdBy\": z.string(),\n \"createdAt\": z.number(),\n \"updatedAt\": z.number(),\n \"revokedAt\": z.number().optional(),\n \"revokedBy\": z.string().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_host\", columns: [\"host\"] },\n { kind: 'index', name: \"by_tenantId\", columns: [\"tenantId\"] },\n { kind: 'index', name: \"by_workspaceId\", columns: [\"workspaceId\"] },\n { kind: 'index', name: \"by_tenant_workspace_environment\", columns: [\"tenantId\", \"workspaceId\", \"environment\"] },\n { kind: 'index', name: \"by_workspace_status\", columns: [\"workspaceId\", \"status\"] },\n { kind: 'index', name: \"by_status\", columns: [\"status\"] }\n ],\n});\n","/**\n * Schema contracts for kernel/worktree.\n *\n * Mirrored from:\n * - packages/contracts/src/schemas/tables/kernel/worktree.ts\n */\n\nimport { z } from 'zod';\nimport { defineTable, idOf } from '../../../dsl.js';\n\nexport const worktreeBeliefCluster = defineTable({\n name: \"worktreeBeliefCluster\",\n component: \"kernel\",\n category: \"worktree\",\n shape: z.object({\n \"worktreeId\": idOf(\"worktrees\"),\n \"beliefId\": z.string(),\n \"relationType\": z.enum([\"primary\", \"counterfactual\", \"dependency\", \"cascade\", \"conditional\", \"supporting\", \"contradicting\", \"alternative\", \"prerequisite\"]),\n \"relationDescription\": z.string().optional(),\n \"counterfactualText\": z.string().optional(),\n \"dependencyText\": z.string().optional(),\n \"cascadeText\": z.string().optional(),\n \"initialConfidence\": z.number().optional(),\n \"initialEvidenceCount\": z.number().optional(),\n \"finalConfidence\": z.number().optional(),\n \"finalEvidenceCount\": z.number().optional(),\n \"confidenceDelta\": z.number().optional(),\n \"llmValence\": z.number().optional(),\n \"llmCertainty\": z.number().optional(),\n \"llmReasoning\": z.string().optional(),\n \"llmEvidenceScores\": z.string().optional(),\n \"llmAssessedAt\": z.number().optional(),\n \"addedAt\": z.number(),\n \"updatedAt\": z.number()\n }),\n indices: [\n { kind: 'index', name: \"by_worktree\", columns: [\"worktreeId\"] },\n { kind: 'index', name: \"by_belief\", columns: [\"beliefId\"] },\n { kind: 'index', name: \"by_worktree_relation\", columns: [\"worktreeId\", \"relationType\"] }\n ],\n});\n\nexport const worktrees = defineTable({\n name: \"worktrees\",\n component: \"kernel\",\n category: \"worktree\",\n shape: z.object({\n \"topicId\": z.string().optional(),\n \"index\": z.number(),\n \"name\": z.string(),\n \"beliefFocus\": z.string().optional(),\n \"objective\": z.string(),\n \"worktreeType\": z.string().optional(),\n \"rationale\": z.string().optional(),\n \"confidenceImpact\": z.enum([\"high\", \"medium\", \"low\"]).optional(),\n \"hypothesis\": z.string().optional(),\n \"dependsOn\": z.array(idOf(\"worktrees\")).optional(),\n \"blocks\": z.array(idOf(\"worktrees\")).optional(),\n \"gate\": z.string().optional(),\n \"campaign\": z.number().optional(),\n \"lane\": z.string().optional(),\n \"laneOrderInCampaign\": z.number().optional(),\n \"orderInLane\": z.number().optional(),\n \"startDate\": z.number(),\n \"endDate\": z.number(),\n \"durationWeeks\": z.number(),\n \"status\": z.enum([\"suggested\", \"planning\", \"active\", \"paused\", \"completed\", \"dismissed\", \"abandoned\"]),\n \"generatedBy\": z.string().optional(),\n \"epistemicOrigin\": z.string().optional(),\n \"priority\": z.number().optional(),\n \"dismissedReason\": z.string().optional(),\n \"userId\": z.string().optional(),\n \"createdAt\": z.number().optional(),\n \"updatedAt\": z.number().optional(),\n \"chatId\": z.string().optional(),\n \"tasks\": z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.any()), z.array(z.any())]).optional(),\n \"targetBeliefIds\": z.array(z.string()),\n \"targetQuestionIds\": z.array(z.string()),\n \"keyQuestions\": z.array(z.object({\n \"question\": z.string(),\n \"status\": z.enum([\"open\", \"answered\", \"forked\"]),\n \"answer\": z.string().optional(),\n \"answerConfidence\": z.enum([\"high\", \"medium\", \"low\"]).optional(),\n \"linkedQuestionId\": z.string().optional()\n })).optional(),\n \"evidenceSignals\": z.array(z.object({\n \"signal\": z.string(),\n \"collected\": z.boolean(),\n \"progress\": z.string().optional(),\n \"notes\": z.string().optional()\n })).optional(),\n \"decisionGate\": z.object({\n \"goCriteria\": z.array(z.string()),\n \"noGoSignals\": z.array(z.string()),\n \"verdict\": z.enum([\"go\", \"no_go\", \"pivot\", \"pending\"]).optional(),\n \"verdictRationale\": z.string().optional(),\n \"decidedAt\": z.number().optional(),\n \"decidedBy\": z.string().optional()\n }).optional(),\n \"beliefRefinement\": z.object({\n \"isRefined\": z.boolean(),\n \"refinedAt\": z.number().optional(),\n \"refinedBy\": z.string().optional(),\n \"originalText\": z.string().optional(),\n \"refinedText\": z.string().optional(),\n \"testingCriteria\": z.string().optional(),\n \"measurableCriteria\": z.string().optional(),\n \"timeframe\": z.string().optional(),\n \"checklist\": z.object({\n \"hasSpecificClaim\": z.boolean(),\n \"hasTimeframe\": z.boolean(),\n \"hasMeasurableCriteria\": z.boolean(),\n \"hasTestability\": z.boolean()\n }).optional()\n }).optional(),\n \"beliefRefinements\": z.array(z.any()).optional(),\n \"startingConfidence\": z.object({\n \"overall\": z.number(),\n \"beliefConfidences\": z.array(z.object({\n \"beliefId\": z.string(),\n \"confidence\": z.number()\n }))\n }).optional(),\n \"endingConfidence\": z.object({\n \"overall\": z.number(),\n \"beliefConfidences\": z.array(z.object({\n \"beliefId\": z.string(),\n \"confidence\": z.number()\n }))\n }).optional(),\n \"outcome\": z.object({\n \"verdict\": z.enum([\"validated\", \"invalidated\", \"forked\", \"inconclusive\"]),\n \"summary\": z.string(),\n \"whatChanged\": z.string(),\n \"confidenceChange\": z.number()\n }).optional(),\n \"epistemicChain\": z.object({\n \"capturedAt\": z.number(),\n \"capturedBy\": z.string(),\n \"worktreeId\": idOf(\"worktrees\"),\n \"topicId\": z.string().optional(),\n \"primaryBelief\": z.object({\n \"id\": z.string(),\n \"text\": z.string(),\n \"startingConfidence\": z.number(),\n \"startingConfidenceLabel\": z.string().optional(),\n \"endingConfidence\": z.number(),\n \"endingConfidenceLabel\": z.string().optional(),\n \"confidenceScore\": z.number().optional(),\n \"status\": z.string().optional(),\n \"criticality\": z.string().optional()\n }).optional(),\n \"clusterEdges\": z.array(z.object({\n \"edgeId\": z.string().optional(),\n \"edgeType\": z.string(),\n \"sourceId\": z.string(),\n \"targetId\": z.string(),\n \"weight\": z.number().optional(),\n \"createdAt\": z.number().optional()\n })),\n \"relatedBeliefs\": z.array(z.object({\n \"id\": z.string(),\n \"text\": z.string().optional(),\n \"confidence\": z.string().optional(),\n \"confidenceScore\": z.number().optional()\n })).optional(),\n \"questions\": z.array(z.object({\n \"id\": z.string(),\n \"text\": z.string(),\n \"status\": z.string(),\n \"priority\": z.string().optional(),\n \"answer\": z.string().optional(),\n \"answerStatus\": z.string().optional(),\n \"answeredBy\": z.string().optional(),\n \"answeredAt\": z.number().optional(),\n \"evidenceCount\": z.number()\n })),\n \"evidence\": z.array(z.object({\n \"id\": z.string(),\n \"text\": z.string(),\n \"sourceType\": z.string().optional(),\n \"verificationStatus\": z.string().optional(),\n \"verified\": z.boolean(),\n \"createdAt\": z.number().optional()\n })),\n \"tasksCompleted\": z.number().optional(),\n \"totalTasks\": z.number().optional(),\n \"outcome\": z.object({\n \"verdict\": z.string(),\n \"summary\": z.string(),\n \"confidenceChange\": z.number(),\n \"startingConfidence\": z.number(),\n \"endingConfidence\": z.number()\n }),\n \"confidenceHistory\": z.array(z.object({\n \"beliefId\": z.string(),\n \"recentChanges\": z.array(z.object({\n \"confidence\": z.string().optional(),\n \"trigger\": z.string().optional(),\n \"timestamp\": z.number().optional()\n }))\n })).optional()\n }).optional(),\n \"keyFindings\": z.array(z.string()).optional(),\n \"decisionsReached\": z.array(z.string()).optional(),\n \"nextSteps\": z.array(z.string()).optional(),\n \"retrospective\": z.object({\n \"whatWorked\": z.array(z.string()),\n \"whatDidnt\": z.array(z.string()),\n \"lessonsLearned\": z.array(z.string()),\n \"confidenceChange\": z.number()\n }).optional(),\n \"thesisReportId\": z.string().optional(),\n \"branchThesis\": z.object({\n \"content\": z.string(),\n \"memoContent\": z.string().optional(),\n \"status\": z.enum([\"ai_draft\", \"user_draft\", \"final\"]),\n \"generatedAt\": z.number().optional(),\n \"approvedAt\": z.number().optional(),\n \"approvedBy\": z.string().optional(),\n \"generationMetadata\": z.object({\n \"modelUsed\": z.string(),\n \"promptName\": z.string(),\n \"langfuseTraceId\": z.string().optional()\n }).optional()\n }).optional(),\n \"generatedAt\": z.number().optional(),\n \"sourceProposalId\": z.string().optional(),\n \"triggerReason\": z.string().optional(),\n \"linkedEvidenceIds\": z.array(z.string()).optional(),\n \"linkedDocumentIds\": z.array(z.string()).optional(),\n \"linkedCallIds\": z.array(z.string()).optional(),\n \"linkedNewsIds\": z.array(z.string()).optional(),\n \"linkedPrimerIds\": z.array(z.string()).optional(),\n \"linkedDeepResearchIds\": z.array(z.string()).optional(),\n \"notes\": z.array(z.object({\n \"id\": z.string(),\n \"content\": z.string(),\n \"createdAt\": z.number(),\n \"createdBy\": z.string(),\n \"linkedTaskId\": z.string().optional(),\n \"linkedQuestionId\": z.string().optional(),\n \"linkedBeliefId\": z.string().optional()\n })).optional(),\n \"targetBranch\": z.string().optional(),\n \"worktreeScope\": z.enum([\"belief\", \"branch\"]).optional(),\n \"synthesisState\": z.object({\n \"originalBeliefIds\": z.array(z.string()),\n \"synthesizedBeliefIds\": z.array(z.string()),\n \"synthesisComplete\": z.boolean(),\n \"synthesisRationale\": z.string().optional(),\n \"synthesisCompletedAt\": z.number().optional(),\n \"synthesisCompletedBy\": z.string().optional()\n }).optional(),\n \"evidenceReviewState\": z.object({\n \"existingEvidenceReviewed\": z.boolean(),\n \"evidenceGaps\": z.array(z.string()),\n \"strengthAreas\": z.array(z.string()),\n \"evidenceQuestionMapping\": z.array(z.object({\n \"evidenceId\": z.string(),\n \"questionIds\": z.array(z.string()),\n \"coverageNote\": z.string().optional()\n })).optional(),\n \"reviewCompletedAt\": z.number().optional(),\n \"reviewCompletedBy\": z.string().optional()\n }).optional(),\n \"phase\": z.string().optional(),\n \"clusterStatus\": z.object({\n \"totalConditionals\": z.number(),\n \"hasCounterfactuals\": z.boolean(),\n \"hasDependencies\": z.boolean(),\n \"hasCascades\": z.boolean(),\n \"conditionalsByType\": z.object({\n \"counterfactuals\": z.number(),\n \"dependencies\": z.number(),\n \"cascades\": z.number(),\n \"other\": z.number()\n }).optional(),\n \"mappingCompletedAt\": z.number().optional(),\n \"mappingCompletedBy\": z.string().optional()\n }).optional(),\n \"phaseHistory\": z.array(z.object({\n \"phase\": z.string(),\n \"enteredAt\": z.number(),\n \"pausedAt\": z.number().optional(),\n \"resumedAt\": z.number().optional(),\n \"completedAt\": z.number().optional(),\n \"completedBy\": z.string().optional()\n })).optional(),\n \"questionsCoverage\": z.object({\n \"totalQuestions\": z.number(),\n \"clusterNodesCovered\": z.number(),\n \"coveragePercent\": z.number(),\n \"gapsIdentified\": z.array(z.string()).optional()\n }).optional(),\n \"researchEfficiency\": z.object({\n \"totalTasks\": z.number(),\n \"questionsPerTask\": z.number(),\n \"clusterCoverage\": z.number(),\n \"efficiencyScore\": z.number()\n }).optional(),\n \"createdBy\": z.string(),\n \"metadata\": z.any().optional()\n }),\n indices: [\n { kind: 'index', name: \"by_topicId\", columns: [\"topicId\"] },\n { kind: 'index', name: \"by_topicId_status\", columns: [\"topicId\", \"status\"] },\n { kind: 'index', name: \"by_topicId_index\", columns: [\"topicId\", \"index\"] },\n { kind: 'index', name: \"by_worktreeType\", columns: [\"topicId\", \"worktreeType\"] },\n { kind: 'index', name: \"by_topicId_priority\", columns: [\"topicId\", \"priority\"] },\n { kind: 'index', name: \"by_topicId_campaign_lane_order\", columns: [\"topicId\", \"campaign\", \"laneOrderInCampaign\", \"orderInLane\"] },\n { kind: 'index', name: \"by_topicId_lane_order\", columns: [\"topicId\", \"lane\", \"orderInLane\"] },\n { kind: 'index', name: \"by_topicId_branch\", columns: [\"topicId\", \"targetBranch\"] },\n { kind: 'index', name: \"by_topicId_scope\", columns: [\"topicId\", \"worktreeScope\"] }\n ],\n});\n","import { z } from \"zod\";\n\nexport const ComponentTableManifestSchema = z.object({\n manifestVersion: z.string(),\n componentName: z.enum([\"kernel\", \"control-plane\"]),\n tier: z.enum([\"K\", \"CP\"]),\n packageVersion: z.string(),\n tables: z.array(\n z.object({\n name: z.string(),\n fields: z.array(\n z.object({\n name: z.string(),\n type: z.string(),\n optional: z.boolean(),\n validator: z.string().optional(),\n })\n ),\n })\n ),\n});\n\nexport type ComponentTableManifest = z.infer<\n typeof ComponentTableManifestSchema\n>;\n","import { z } from \"zod\";\n\nconst SL_EPSILON = 1e-9;\n\nexport const SLOpinionInputSchema = z\n .object({\n belief: z.number(),\n disbelief: z.number(),\n uncertainty: z.number(),\n baseRate: z.number(),\n })\n .refine(\n (o) => Math.abs(o.belief + o.disbelief + o.uncertainty - 1) < SL_EPSILON,\n {\n message: \"SL invariant b+d+u=1 violated at API boundary\",\n }\n );\n\nexport type SLOpinionInput = z.infer<typeof SLOpinionInputSchema>;\n","export const GRAPH_INTELLIGENCE_QUERY_CATALOG_VERSION =\n \"graph_intelligence_query_catalog.v1\" as const;\n\nexport const GRAPH_INTELLIGENCE_QUERY_MODES = [\n \"core\",\n \"bias\",\n \"stress\",\n \"operational\",\n \"alpha\",\n \"semantic\",\n \"evidence\",\n] as const;\n\nexport type GraphIntelligenceQueryMode =\n (typeof GRAPH_INTELLIGENCE_QUERY_MODES)[number];\n\nexport const GRAPH_INTELLIGENCE_PUBLIC_TOOL_NAMES = [\n \"get_graph_structure_analysis\",\n \"detect_confirmation_bias\",\n \"get_graph_gaps\",\n \"get_topic_coverage\",\n \"find_contradictions\",\n \"get_falsification_questions\",\n \"search_beliefs\",\n \"search_evidence\",\n \"list_beliefs\",\n \"list_questions\",\n \"traverse_graph\",\n \"query_lineage\",\n \"get_graph_neighborhood\",\n] as const;\n\nexport type GraphIntelligencePublicToolName =\n (typeof GRAPH_INTELLIGENCE_PUBLIC_TOOL_NAMES)[number];\n\nexport const GRAPH_INTELLIGENCE_MODE_TOOL_NAMES = {\n core: [\n \"get_graph_structure_analysis\",\n \"get_topic_coverage\",\n \"get_graph_gaps\",\n \"list_beliefs\",\n \"list_questions\",\n \"search_evidence\",\n ],\n bias: [\n \"get_graph_structure_analysis\",\n \"detect_confirmation_bias\",\n \"find_contradictions\",\n \"search_evidence\",\n \"list_beliefs\",\n ],\n stress: [\n \"get_graph_structure_analysis\",\n \"get_graph_gaps\",\n \"find_contradictions\",\n \"get_falsification_questions\",\n \"list_beliefs\",\n \"list_questions\",\n ],\n operational: [\n \"get_topic_coverage\",\n \"get_graph_gaps\",\n \"list_beliefs\",\n \"list_questions\",\n \"search_evidence\",\n ],\n alpha: [\n \"get_graph_structure_analysis\",\n \"detect_confirmation_bias\",\n \"find_contradictions\",\n \"search_beliefs\",\n \"search_evidence\",\n ],\n semantic: [\n \"get_graph_structure_analysis\",\n \"search_beliefs\",\n \"search_evidence\",\n \"traverse_graph\",\n \"query_lineage\",\n \"get_graph_neighborhood\",\n ],\n evidence: [\n \"get_graph_structure_analysis\",\n \"get_topic_coverage\",\n \"search_evidence\",\n \"get_falsification_questions\",\n \"find_contradictions\",\n ],\n} as const satisfies Record<\n GraphIntelligenceQueryMode,\n readonly GraphIntelligencePublicToolName[]\n>;\n\nexport type GraphIntelligenceQueryCategory = {\n id: string;\n name: string;\n description: string;\n};\n\nexport const GRAPH_INTELLIGENCE_QUERY_CATEGORIES = [\n {\n id: \"problems\",\n name: \"Find Problems\",\n description: \"Risk, contradiction, bias, and structural weakness queries.\",\n },\n {\n id: \"gaps\",\n name: \"Find Gaps\",\n description: \"Missing evidence, unanswered questions, and sparse areas.\",\n },\n {\n id: \"reasoning\",\n name: \"Reasoning Quality\",\n description: \"Assumption chains, evidence convergence, and weak links.\",\n },\n {\n id: \"strategic\",\n name: \"Strategic Analysis\",\n description: \"Pre-mortems, falsification, contrarian signals, and bets.\",\n },\n {\n id: \"deep\",\n name: \"Deep Graph Analysis\",\n description: \"Centrality, propagation, underdetermination, and topology.\",\n },\n {\n id: \"browse\",\n name: \"Browse and Explore\",\n description: \"Narrative summaries, search, theme exploration, and bridges.\",\n },\n {\n id: \"prep\",\n name: \"Meeting Prep\",\n description: \"Company, entity, and question prep from graph context.\",\n },\n] as const satisfies readonly GraphIntelligenceQueryCategory[];\n\nexport type GraphIntelligenceQueryInputType =\n | \"none\"\n | \"entity\"\n | \"theme\"\n | \"belief\"\n | \"company\"\n | \"company-list\"\n | \"search\";\n\nexport type GraphIntelligenceQueryDefinition = {\n id: string;\n categoryId: string;\n mode: GraphIntelligenceQueryMode;\n name: string;\n description: string;\n prompt: string;\n inputType?: GraphIntelligenceQueryInputType;\n tools?: readonly GraphIntelligencePublicToolName[];\n highlightStrategy?: string;\n riskLevel?: \"low\" | \"medium\" | \"high\";\n};\n\nconst byMode = (mode: GraphIntelligenceQueryMode) =>\n GRAPH_INTELLIGENCE_MODE_TOOL_NAMES[mode];\n\nexport const GRAPH_INTELLIGENCE_QUERIES = [\n {\n id: \"confirmation-bias\",\n categoryId: \"problems\",\n mode: \"bias\",\n name: \"Find Confirmation Bias\",\n description: \"Find beliefs supported mainly by confirming evidence.\",\n prompt:\n \"Find beliefs where supporting evidence overwhelms challenging evidence. Prioritize high-conviction beliefs with few defeaters.\",\n highlightStrategy: \"bias-risk\",\n riskLevel: \"high\",\n },\n {\n id: \"contradiction-map\",\n categoryId: \"problems\",\n mode: \"stress\",\n name: \"Map Contradictions\",\n description: \"Surface direct and indirect contradiction clusters.\",\n prompt:\n \"Map the graph's contradiction clusters and explain which tensions matter most.\",\n highlightStrategy: \"contradictions\",\n riskLevel: \"high\",\n },\n {\n id: \"weak-evidence\",\n categoryId: \"problems\",\n mode: \"stress\",\n name: \"Weak Evidence Chains\",\n description: \"Find important claims with thin or indirect evidence.\",\n prompt:\n \"Find high-importance beliefs whose evidence support is thin, indirect, stale, or low quality.\",\n highlightStrategy: \"weak-support\",\n riskLevel: \"medium\",\n },\n {\n id: \"single-source\",\n categoryId: \"problems\",\n mode: \"bias\",\n name: \"Single-Source Risk\",\n description: \"Find claims overly dependent on one source or source type.\",\n prompt:\n \"Identify beliefs that rely on a single source, one methodology, or one repeated perspective.\",\n highlightStrategy: \"source-concentration\",\n riskLevel: \"medium\",\n },\n {\n id: \"untested-assumptions\",\n categoryId: \"problems\",\n mode: \"stress\",\n name: \"Untested Assumptions\",\n description: \"Find load-bearing assumptions without falsification paths.\",\n prompt:\n \"Find assumptions that appear load-bearing but do not have direct testing questions or falsification evidence.\",\n highlightStrategy: \"untested\",\n riskLevel: \"high\",\n },\n {\n id: \"load-bearing-beliefs\",\n categoryId: \"problems\",\n mode: \"stress\",\n name: \"Load-Bearing Beliefs\",\n description: \"Find central beliefs whose failure would affect many claims.\",\n prompt:\n \"Find the beliefs with the largest downstream impact if they are wrong.\",\n highlightStrategy: \"load-bearing\",\n riskLevel: \"high\",\n },\n {\n id: \"cascade-analysis\",\n categoryId: \"problems\",\n mode: \"stress\",\n name: \"Cascade Analysis\",\n description: \"Trace what changes if a belief is weakened or invalidated.\",\n prompt:\n \"Analyze likely downstream cascades if the most central or uncertain beliefs are weakened.\",\n highlightStrategy: \"cascade\",\n riskLevel: \"high\",\n },\n {\n id: \"unanswered-questions\",\n categoryId: \"gaps\",\n mode: \"operational\",\n name: \"Unanswered Questions\",\n description: \"Find important open questions that block confidence.\",\n prompt:\n \"Identify the most important unanswered questions and explain which beliefs they block.\",\n highlightStrategy: \"open-questions\",\n },\n {\n id: \"thin-themes\",\n categoryId: \"gaps\",\n mode: \"operational\",\n name: \"Thin Themes\",\n description: \"Find topics with shallow belief or evidence coverage.\",\n prompt:\n \"Find themes that look underdeveloped relative to their role in the graph.\",\n highlightStrategy: \"thin-themes\",\n },\n {\n id: \"missing-evidence\",\n categoryId: \"gaps\",\n mode: \"stress\",\n name: \"Missing Evidence\",\n description: \"Find beliefs that need specific missing evidence.\",\n prompt:\n \"Find the most valuable missing evidence needed to strengthen or falsify the graph.\",\n highlightStrategy: \"missing-evidence\",\n },\n {\n id: \"isolated-clusters\",\n categoryId: \"gaps\",\n mode: \"operational\",\n name: \"Isolated Clusters\",\n description: \"Find clusters not connected to the broader graph.\",\n prompt:\n \"Find isolated graph clusters and recommend bridge questions or bridge evidence.\",\n highlightStrategy: \"isolated-clusters\",\n },\n {\n id: \"source-contribution\",\n categoryId: \"gaps\",\n mode: \"evidence\",\n name: \"Source Contribution\",\n description: \"Assess how source mix shapes the graph.\",\n prompt:\n \"Assess whether the source mix is balanced enough for the graph's strongest claims.\",\n highlightStrategy: \"source-mix\",\n },\n {\n id: \"stale-beliefs\",\n categoryId: \"gaps\",\n mode: \"operational\",\n name: \"Stale Beliefs\",\n description: \"Find beliefs that need review because they are old or stale.\",\n prompt:\n \"Find beliefs that should be revisited because they are stale, unsupported by recent evidence, or contradicted by newer context.\",\n highlightStrategy: \"staleness\",\n },\n {\n id: \"assumption-pyramid\",\n categoryId: \"reasoning\",\n mode: \"operational\",\n name: \"Assumption Pyramid\",\n description: \"Show which conclusions rest on which assumptions.\",\n prompt:\n \"Build an assumption pyramid from the graph: foundational assumptions, intermediate claims, and top-level conclusions.\",\n highlightStrategy: \"assumptions\",\n },\n {\n id: \"converging-evidence\",\n categoryId: \"reasoning\",\n mode: \"evidence\",\n name: \"Converging Evidence\",\n description: \"Find claims supported by independent evidence streams.\",\n prompt:\n \"Find beliefs with genuinely independent converging evidence and explain why they are robust.\",\n highlightStrategy: \"convergence\",\n },\n {\n id: \"weakest-links\",\n categoryId: \"reasoning\",\n mode: \"stress\",\n name: \"Weakest Links\",\n description: \"Find the weakest links in important reasoning chains.\",\n prompt:\n \"Find the weakest links in important reasoning chains and explain how to test them.\",\n highlightStrategy: \"weak-links\",\n riskLevel: \"medium\",\n },\n {\n id: \"challenged-beliefs\",\n categoryId: \"reasoning\",\n mode: \"stress\",\n name: \"Challenged Beliefs\",\n description: \"Find beliefs with active challenges or defeaters.\",\n prompt:\n \"Find beliefs with active challenges, contradiction edges, or unresolved defeaters.\",\n highlightStrategy: \"challenged\",\n },\n {\n id: \"contrarian-map\",\n categoryId: \"strategic\",\n mode: \"alpha\",\n name: \"Contrarian Map\",\n description: \"Find non-consensus beliefs and where they are grounded.\",\n prompt:\n \"Find the graph's strongest contrarian or non-consensus beliefs and explain their support.\",\n highlightStrategy: \"contrarian\",\n },\n {\n id: \"irreversibility-audit\",\n categoryId: \"strategic\",\n mode: \"stress\",\n name: \"Irreversibility Audit\",\n description: \"Find irreversible bets and assumptions behind them.\",\n prompt:\n \"Audit irreversible decisions or beliefs and identify what must be true before acting.\",\n highlightStrategy: \"irreversible\",\n riskLevel: \"high\",\n },\n {\n id: \"pre-mortem\",\n categoryId: \"strategic\",\n mode: \"stress\",\n name: \"Pre-Mortem\",\n description: \"Explain how the graph could be wrong.\",\n prompt:\n \"Run a pre-mortem: assume the current thesis fails and identify the most plausible failure paths.\",\n highlightStrategy: \"failure-paths\",\n riskLevel: \"high\",\n },\n {\n id: \"devils-advocate\",\n categoryId: \"strategic\",\n mode: \"stress\",\n name: \"Devil's Advocate\",\n description: \"Generate the strongest critique of the graph.\",\n prompt:\n \"Produce the strongest evidence-grounded critique of the current graph and its main thesis.\",\n highlightStrategy: \"critique\",\n },\n {\n id: \"falsification-map\",\n categoryId: \"strategic\",\n mode: \"stress\",\n name: \"Falsification Map\",\n description: \"Find the cheapest tests that would disprove key beliefs.\",\n prompt:\n \"Map the cheapest, clearest falsification tests for the graph's key claims.\",\n highlightStrategy: \"falsification\",\n riskLevel: \"high\",\n },\n {\n id: \"prediction-tracker\",\n categoryId: \"strategic\",\n mode: \"evidence\",\n name: \"Prediction Tracker\",\n description: \"Find beliefs that imply measurable predictions.\",\n prompt:\n \"Find beliefs that imply measurable predictions and suggest tracking signals.\",\n highlightStrategy: \"predictions\",\n },\n {\n id: \"belief-pagerank\",\n categoryId: \"deep\",\n mode: \"semantic\",\n name: \"Belief PageRank\",\n description: \"Identify structurally central beliefs.\",\n prompt:\n \"Use graph centrality to identify the most structurally important beliefs.\",\n highlightStrategy: \"centrality\",\n },\n {\n id: \"underdetermination\",\n categoryId: \"deep\",\n mode: \"semantic\",\n name: \"Underdetermination\",\n description: \"Find places where evidence supports multiple explanations.\",\n prompt:\n \"Find places where the same evidence could support multiple incompatible explanations.\",\n highlightStrategy: \"underdetermination\",\n },\n {\n id: \"confidence-propagation\",\n categoryId: \"deep\",\n mode: \"semantic\",\n name: \"Confidence Propagation\",\n description: \"Assess how uncertainty moves through the graph.\",\n prompt:\n \"Explain how uncertainty propagates from weak or contested beliefs through downstream conclusions.\",\n highlightStrategy: \"confidence-flow\",\n },\n {\n id: \"argument-depth\",\n categoryId: \"deep\",\n mode: \"evidence\",\n name: \"Argument Depth\",\n description: \"Assess reasoning depth and chain quality.\",\n prompt:\n \"Assess reasoning depth: where claims are shallow, deeply supported, or overextended.\",\n highlightStrategy: \"depth\",\n },\n {\n id: \"information-edge\",\n categoryId: \"deep\",\n mode: \"alpha\",\n name: \"Information Edge\",\n description: \"Find differentiated evidence or signals.\",\n prompt:\n \"Find evidence, sources, or beliefs that could represent differentiated information edge.\",\n highlightStrategy: \"information-edge\",\n },\n {\n id: \"thesis-summary\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Thesis Summary\",\n description: \"Summarize the graph's core thesis and support.\",\n prompt:\n \"Summarize the graph's core thesis, strongest support, weakest support, and open questions.\",\n highlightStrategy: \"summary\",\n },\n {\n id: \"theme-deep-dive\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Theme Deep Dive\",\n description: \"Deep dive into a named theme.\",\n prompt:\n \"Deep dive into {input}. Explain the key beliefs, evidence, contradictions, and open questions.\",\n inputType: \"theme\",\n highlightStrategy: \"theme\",\n },\n {\n id: \"belief-detail\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Belief Detail\",\n description: \"Explain one belief and its graph neighborhood.\",\n prompt:\n \"Explain {input} and its support, challenges, related beliefs, and downstream implications.\",\n inputType: \"belief\",\n highlightStrategy: \"belief\",\n },\n {\n id: \"strongest-beliefs\",\n categoryId: \"browse\",\n mode: \"operational\",\n name: \"Strongest Beliefs\",\n description: \"Find the graph's strongest current beliefs.\",\n prompt:\n \"Find the strongest current beliefs and explain why each one deserves confidence.\",\n highlightStrategy: \"strongest\",\n },\n {\n id: \"cross-theme-connection\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Cross-Theme Connections\",\n description: \"Find bridges between themes.\",\n prompt:\n \"Find meaningful connections across themes and explain which bridge beliefs matter.\",\n highlightStrategy: \"bridges\",\n },\n {\n id: \"research-velocity\",\n categoryId: \"browse\",\n mode: \"operational\",\n name: \"Research Velocity\",\n description: \"Summarize recent graph movement and momentum.\",\n prompt:\n \"Assess research velocity: what changed recently, where progress is fastest, and what is stuck.\",\n highlightStrategy: \"velocity\",\n },\n {\n id: \"search\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Graph Search\",\n description: \"Search the graph with semantic context.\",\n prompt:\n \"Search the graph for {input}. Return the most relevant beliefs, evidence, and questions.\",\n inputType: \"search\",\n highlightStrategy: \"search\",\n },\n {\n id: \"expert-coverage\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Expert Coverage\",\n description: \"Assess coverage from expert/source perspectives.\",\n prompt:\n \"Assess whether the graph has enough expert, primary, and dissenting coverage.\",\n highlightStrategy: \"expert-coverage\",\n },\n {\n id: \"value-chain-map\",\n categoryId: \"browse\",\n mode: \"semantic\",\n name: \"Value Chain Map\",\n description: \"Map entities, dependencies, and value-chain logic.\",\n prompt:\n \"Map the value chain implied by this graph: entities, dependencies, pressure points, and missing links.\",\n highlightStrategy: \"value-chain\",\n },\n {\n id: \"meeting-brief\",\n categoryId: \"prep\",\n mode: \"semantic\",\n name: \"Meeting Brief\",\n description: \"Prepare a meeting brief from graph context.\",\n prompt:\n \"Prepare a concise meeting brief using the graph: thesis, open questions, risks, and recommended asks.\",\n highlightStrategy: \"brief\",\n },\n {\n id: \"open-questions-entity\",\n categoryId: \"prep\",\n mode: \"semantic\",\n name: \"Entity Open Questions\",\n description: \"Find open questions about a specific entity.\",\n prompt:\n \"Find the most important open questions about {input} and the beliefs those questions would unlock.\",\n inputType: \"entity\",\n highlightStrategy: \"entity-questions\",\n },\n {\n id: \"company-context\",\n categoryId: \"prep\",\n mode: \"semantic\",\n name: \"Company Context\",\n description: \"Summarize graph context about a company.\",\n prompt:\n \"Summarize what the graph knows about {input}: thesis relevance, evidence, risks, and open questions.\",\n inputType: \"company\",\n highlightStrategy: \"company\",\n },\n {\n id: \"company-theme-fit\",\n categoryId: \"prep\",\n mode: \"semantic\",\n name: \"Company Theme Fit\",\n description: \"Assess how a company fits graph themes.\",\n prompt:\n \"Assess how {input} fits the graph's themes and where the fit is weak or uncertain.\",\n inputType: \"company\",\n highlightStrategy: \"fit\",\n },\n {\n id: \"company-comparison\",\n categoryId: \"prep\",\n mode: \"semantic\",\n name: \"Company Comparison\",\n description: \"Compare companies through graph context.\",\n prompt:\n \"Compare {input} using graph beliefs, evidence, risks, and open questions.\",\n inputType: \"company-list\",\n highlightStrategy: \"comparison\",\n },\n {\n id: \"questions-to-ask\",\n categoryId: \"prep\",\n mode: \"operational\",\n name: \"Questions to Ask\",\n description: \"Generate high-signal questions from graph gaps.\",\n prompt:\n \"Generate the highest-signal questions to ask next, grounded in current graph gaps.\",\n highlightStrategy: \"questions\",\n },\n {\n id: \"beliefs-to-test\",\n categoryId: \"prep\",\n mode: \"stress\",\n name: \"Beliefs to Test\",\n description: \"Prioritize beliefs that should be tested next.\",\n prompt:\n \"Prioritize the beliefs that should be tested next and explain the cheapest test for each.\",\n highlightStrategy: \"tests\",\n riskLevel: \"medium\",\n },\n] as const satisfies readonly GraphIntelligenceQueryDefinition[];\n\nexport type GraphIntelligenceQueryId =\n (typeof GRAPH_INTELLIGENCE_QUERIES)[number][\"id\"];\n\nexport const GRAPH_INTELLIGENCE_QUERIES_WITH_TOOLS =\n GRAPH_INTELLIGENCE_QUERIES.map((query) => {\n const definition = query as GraphIntelligenceQueryDefinition;\n return {\n ...definition,\n tools: definition.tools ?? byMode(definition.mode),\n };\n });\n\nexport type GraphIntelligenceQueryWithTools =\n (typeof GRAPH_INTELLIGENCE_QUERIES_WITH_TOOLS)[number];\n\nexport type GraphIntelligenceQuickQuery = {\n id: string;\n name: string;\n queryId: GraphIntelligenceQueryId;\n prompt: string;\n};\n\nexport const GRAPH_INTELLIGENCE_QUICK_QUERIES = [\n {\n id: \"health-check\",\n name: \"Health Check\",\n queryId: \"thesis-summary\",\n prompt:\n \"Give me a fast graph health check: biggest strengths, biggest risks, and next best action.\",\n },\n {\n id: \"find-risks\",\n name: \"Find Risks\",\n queryId: \"weakest-links\",\n prompt:\n \"Find the most important risks in this graph and the beliefs or evidence behind each one.\",\n },\n {\n id: \"pre-mortem\",\n name: \"Pre-Mortem\",\n queryId: \"pre-mortem\",\n prompt:\n \"Assume this thesis fails. Explain the most plausible failure paths and what would reveal them early.\",\n },\n {\n id: \"whats-next\",\n name: \"What's Next\",\n queryId: \"questions-to-ask\",\n prompt:\n \"What should I learn or test next to make this graph more useful?\",\n },\n] as const satisfies readonly GraphIntelligenceQuickQuery[];\n\nexport type GraphIntelligenceCatalogFilter = {\n categoryId?: string;\n mode?: GraphIntelligenceQueryMode;\n};\n\nexport function isGraphIntelligenceQueryMode(\n value: unknown\n): value is GraphIntelligenceQueryMode {\n return (\n typeof value === \"string\" &&\n (GRAPH_INTELLIGENCE_QUERY_MODES as readonly string[]).includes(value)\n );\n}\n\nexport function getGraphIntelligenceQuery(queryId: string) {\n return GRAPH_INTELLIGENCE_QUERIES_WITH_TOOLS.find(\n (query) => query.id === queryId\n );\n}\n\nexport function listGraphIntelligenceQueries(\n filter: GraphIntelligenceCatalogFilter = {}\n) {\n return GRAPH_INTELLIGENCE_QUERIES_WITH_TOOLS.filter((query) => {\n if (filter.categoryId && query.categoryId !== filter.categoryId) {\n return false;\n }\n if (filter.mode && query.mode !== filter.mode) {\n return false;\n }\n return true;\n });\n}\n\nexport function fillGraphIntelligencePromptTemplate(\n prompt: string,\n input?: string\n) {\n const replacement = input?.trim() || \"the current topic\";\n return prompt.split(\"{input}\").join(replacement);\n}\n","/**\n * @lucern/contracts — events (canonical support contract)\n *\n * Consolidated flat support surface for Lucern's domain event stream:\n * - Event type definitions, constants, and shared enums\n * - Event construction + cursor helpers\n *\n * Consolidated from the former split type-definition module\n * and the prior src/events.contract.ts (helpers) in EK-16 T1 PR 3b.\n * Compat shim remains at the old events-types path until Lucern 1.0.0 (D12).\n */\n\n// =============================================================================\n// EVENT TYPE DEFINITIONS & CONSTANTS\n// (Formerly the split events type-definition module)\n// =============================================================================\n\nexport const DOMAIN_EVENT_VERSION = \"1.0\" as const;\nexport const EVENT_RETENTION_DEFAULT_DAYS = 30;\nexport const WEBHOOK_MAX_ATTEMPTS = 5;\nexport const WEBHOOK_RETRY_DELAYS_MS = [1_000, 5_000, 30_000, 300_000] as const;\n\nexport const DOMAIN_EVENT_TYPES = [\n \"belief.created\",\n \"belief.forked\",\n \"belief.confidence_updated\",\n \"belief.archived\",\n \"belief.refined\",\n \"belief.contract_created\",\n \"belief.contract_evaluated\",\n \"belief.lineage_queried\",\n \"evidence.created\",\n \"evidence.linked\",\n \"evidence.search_executed\",\n \"question.created\",\n \"question.answered\",\n \"question.refined\",\n \"question.status_updated\",\n \"question.archived\",\n \"edge.created\",\n \"contradiction.flagged\",\n \"worktree.created\",\n \"worktree.activated\",\n \"worktree.merged\",\n \"worktree.targets_updated\",\n \"worktree.metadata_updated\",\n \"topic.created\",\n \"topic.updated\",\n \"topic.archived\",\n \"task.created\",\n \"task.completed\",\n \"task.updated\",\n \"ontology.bound\",\n \"context.compiled\",\n \"identity.key_created\",\n \"identity.key_rotated\",\n \"identity.key_revoked\",\n \"webhook.test\",\n] as const;\n\nexport type DomainEventType = (typeof DOMAIN_EVENT_TYPES)[number];\n\nexport type DomainResourceType =\n | \"belief\"\n | \"evidence\"\n | \"question\"\n | \"edge\"\n | \"contradiction\"\n | \"worktree\"\n | \"topic\"\n | \"task\"\n | \"ontology\"\n | \"context\"\n | \"identity\"\n | \"webhook\";\n\nexport type DomainActorType = \"human\" | \"agent\" | \"service\";\n\nexport type DomainEventData = Record<string, unknown>;\n\nexport type DomainEvent = {\n eventId: string;\n type: DomainEventType | string;\n version: typeof DOMAIN_EVENT_VERSION;\n timestamp: number;\n tenantId?: string;\n workspaceId?: string;\n topicId: string;\n resourceId: string;\n resourceType: DomainResourceType | string;\n actorId: string;\n actorType: DomainActorType;\n data: DomainEventData;\n correlationId?: string;\n expiresAt: number;\n};\n\nexport type CreateDomainEventInput = {\n eventId?: string;\n timestamp?: number;\n tenantId?: string;\n workspaceId?: string;\n topicId: string;\n type: DomainEventType | string;\n resourceId: string;\n resourceType: DomainResourceType | string;\n actorId: string;\n actorType: DomainActorType;\n data?: DomainEventData;\n correlationId?: string;\n retentionDays?: number;\n};\n\nexport type EventCursor = {\n timestamp: number;\n eventId: string;\n};\n\nexport type EventListQuery = {\n topicId?: string;\n after?: string;\n types?: string[];\n startTime?: number;\n endTime?: number;\n limit?: number;\n};\n\nexport type EventListResult = {\n events: DomainEvent[];\n nextCursor: string | null;\n};\n\nexport type WebhookSecretMode = \"configured\";\n\nexport type WebhookRecord = {\n id: string;\n webhookId: string;\n tenantId?: string;\n workspaceId?: string;\n topicId?: string;\n url: string;\n events: string[];\n active: boolean;\n secretConfigured: boolean;\n createdAt: number;\n updatedAt: number;\n createdBy: string;\n updatedBy: string;\n lastDeliveryAt?: number;\n lastSuccessfulDeliveryAt?: number;\n};\n\nexport type WebhookCreateInput = {\n url: string;\n events: string[];\n secret: string;\n topicId?: string;\n active?: boolean;\n};\n\nexport type WebhookUpdateInput = {\n url?: string;\n events?: string[];\n secret?: string;\n topicId?: string | null;\n active?: boolean;\n};\n\nexport type WebhookDeliveryStatus =\n | \"pending\"\n | \"delivering\"\n | \"succeeded\"\n | \"failed\"\n | \"dead_letter\";\n\nexport type WebhookDeliveryRecord = {\n id: string;\n deliveryId: string;\n webhookId: string;\n eventId: string;\n eventType: string;\n topicId: string;\n status: WebhookDeliveryStatus;\n attemptCount: number;\n maxAttempts: number;\n nextAttemptAt?: number;\n lastAttemptAt?: number;\n lastStatusCode?: number;\n lastError?: string;\n deliveredAt?: number;\n createdAt: number;\n updatedAt: number;\n};\n\nexport type WebhookDeliveryAttemptRecord = {\n id: string;\n attemptId: string;\n deliveryId: string;\n webhookId: string;\n eventId: string;\n eventType: string;\n attemptNumber: number;\n status: \"succeeded\" | \"failed\";\n statusCode?: number;\n error?: string;\n responseBody?: string;\n durationMs?: number;\n createdAt: number;\n};\n\nexport type WebhookDeliveriesResult = {\n deliveries: Array<\n WebhookDeliveryRecord & {\n attempts?: WebhookDeliveryAttemptRecord[];\n }\n >;\n};\n\nexport type WebhookHealthResult = {\n webhookId: string;\n totalAttempts: number;\n successfulAttempts: number;\n failedAttempts: number;\n successRate: number;\n pendingDeliveries: number;\n deadLetterDeliveries: number;\n lastDeliveryAt?: number;\n lastSuccessfulDeliveryAt?: number;\n};\n\nexport type WebhookTestResult = {\n webhookId: string;\n deliveryId: string;\n status: WebhookDeliveryStatus;\n attempts: number;\n};\n\nexport type ReplayEventsInput = EventListQuery & {\n webhookId?: string;\n};\n\nexport type ReplayEventsResult = EventListResult & {\n replayedDeliveries?: number;\n replayedWebhookId?: string;\n};\n\nconst RUNTIME_BUFFER = (\n globalThis as typeof globalThis & {\n Buffer?: {\n from(\n value: string,\n encoding: \"utf8\" | \"base64url\"\n ): {\n toString(encoding: \"utf8\" | \"base64url\"): string;\n };\n };\n }\n).Buffer;\n\n// =============================================================================\n// EVENT HELPERS\n// (Formerly the body of src/events.contract.ts)\n// =============================================================================\n\nfunction toBase64(value: string): string {\n if (typeof RUNTIME_BUFFER !== \"undefined\") {\n return RUNTIME_BUFFER.from(value, \"utf8\").toString(\"base64url\");\n }\n return btoa(unescape(encodeURIComponent(value)))\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\")\n .replace(/=+$/g, \"\");\n}\n\nfunction fromBase64(value: string): string {\n if (typeof RUNTIME_BUFFER !== \"undefined\") {\n return RUNTIME_BUFFER.from(value, \"base64url\").toString(\"utf8\");\n }\n const normalized = value.replace(/-/g, \"+\").replace(/_/g, \"/\");\n return decodeURIComponent(escape(atob(normalized)));\n}\n\nexport function createEventId(): string {\n const random = crypto.randomUUID().replace(/-/g, \"\");\n return `evt_${random}`;\n}\n\nexport function normalizeRetentionDays(value: number | undefined): number {\n if (!Number.isFinite(value) || typeof value !== \"number\" || value <= 0) {\n return EVENT_RETENTION_DEFAULT_DAYS;\n }\n return Math.max(1, Math.trunc(value));\n}\n\nexport function buildDomainEvent(input: CreateDomainEventInput): DomainEvent {\n const timestamp = input.timestamp ?? Date.now();\n const retentionDays = normalizeRetentionDays(input.retentionDays);\n return {\n eventId: input.eventId?.trim() || createEventId(),\n type: input.type.trim(),\n version: DOMAIN_EVENT_VERSION,\n timestamp,\n tenantId: input.tenantId?.trim() || undefined,\n workspaceId: input.workspaceId?.trim() || undefined,\n topicId: input.topicId.trim(),\n resourceId: input.resourceId.trim(),\n resourceType: input.resourceType.trim(),\n actorId: input.actorId.trim(),\n actorType: input.actorType,\n data: input.data ?? {},\n correlationId: input.correlationId?.trim() || undefined,\n expiresAt: timestamp + retentionDays * 24 * 60 * 60 * 1000,\n };\n}\n\nexport function compareEventCursor(left: EventCursor, right: EventCursor): number {\n if (left.timestamp !== right.timestamp) {\n return left.timestamp - right.timestamp;\n }\n return left.eventId.localeCompare(right.eventId);\n}\n\nexport function encodeEventCursor(cursor: EventCursor): string {\n return toBase64(JSON.stringify(cursor));\n}\n\nexport function decodeEventCursor(cursor: string | undefined): EventCursor | null {\n if (!cursor || cursor.trim().length === 0) {\n return null;\n }\n try {\n const parsed = JSON.parse(fromBase64(cursor.trim())) as Partial<EventCursor>;\n if (\n typeof parsed.timestamp !== \"number\" ||\n !Number.isFinite(parsed.timestamp) ||\n typeof parsed.eventId !== \"string\" ||\n parsed.eventId.trim().length === 0\n ) {\n return null;\n }\n return {\n timestamp: parsed.timestamp,\n eventId: parsed.eventId.trim(),\n };\n } catch {\n return null;\n }\n}\n\nexport function isAfterCursor(\n event: Pick<DomainEvent, \"timestamp\" | \"eventId\">,\n cursor: EventCursor | null\n): boolean {\n if (!cursor) {\n return true;\n }\n return compareEventCursor(event, cursor) > 0;\n}\n\nexport function sortEventsByCursor<T extends Pick<DomainEvent, \"timestamp\" | \"eventId\">>(\n events: readonly T[]\n): T[] {\n return [...events].sort((left, right) => compareEventCursor(left, right));\n}\n\nexport function inferActorType(args: {\n sessionType?: \"agent\" | \"user\";\n authMode?: string;\n principalType?: string;\n}): DomainActorType {\n if (args.sessionType === \"agent\") {\n return \"agent\";\n }\n if (\n args.authMode === \"service_principal\" ||\n args.authMode === \"tenant_api_key\" ||\n args.principalType === \"service\"\n ) {\n return \"service\";\n }\n return \"human\";\n}\n\nexport async function emitDomainEvent(\n invokeMutation: (reference: any, args: CreateDomainEventInput) => Promise<unknown>,\n input: CreateDomainEventInput\n): Promise<unknown> {\n return await invokeMutation(\"events:recordEvent\" as any, input);\n}\n","export type NodeType =\n | \"decision\"\n | \"belief\"\n | \"question\"\n | \"theme\"\n | \"deal\"\n | \"topic\"\n | \"claim\"\n | \"evidence\"\n | \"synthesis\"\n | \"answer\"\n | \"atomic_fact\"\n | \"excerpt\"\n | \"source\"\n | \"company\"\n | \"person\"\n | \"investor\"\n | \"function\"\n | \"value_chain\";\n\nexport type EpistemicLayer =\n | \"L4\"\n | \"L3\"\n | \"L2\"\n | \"L1\"\n | \"ontological\"\n | \"organizational\";\n\nexport const NODE_TYPES = [\n \"decision\",\n \"belief\",\n \"question\",\n \"theme\",\n \"deal\",\n \"topic\",\n \"claim\",\n \"evidence\",\n \"synthesis\",\n \"answer\",\n \"atomic_fact\",\n \"excerpt\",\n \"source\",\n \"company\",\n \"person\",\n \"investor\",\n \"function\",\n \"value_chain\",\n] as const satisfies readonly NodeType[];\n\nconst NODE_TYPE_SET = new Set<string>(NODE_TYPES);\nconst NODE_TYPE_TO_LAYER = new Map<NodeType, EpistemicLayer>([\n [\"decision\", \"L4\"],\n [\"belief\", \"L3\"],\n [\"question\", \"L3\"],\n [\"theme\", \"L3\"],\n [\"deal\", \"L3\"],\n [\"claim\", \"L2\"],\n [\"evidence\", \"L2\"],\n [\"synthesis\", \"L2\"],\n [\"answer\", \"L2\"],\n [\"atomic_fact\", \"L1\"],\n [\"excerpt\", \"L1\"],\n [\"source\", \"L1\"],\n [\"topic\", \"organizational\"],\n [\"company\", \"ontological\"],\n [\"person\", \"ontological\"],\n [\"investor\", \"ontological\"],\n [\"function\", \"ontological\"],\n [\"value_chain\", \"ontological\"],\n]);\n\n// Backward compatibility type guard: callers depend on the exported predicate.\nexport function isNodeType(value: string): value is NodeType {\n return NODE_TYPE_SET.has(value);\n}\n\nexport function getLayerForNodeType(type: NodeType): EpistemicLayer {\n const layer = NODE_TYPE_TO_LAYER.get(type);\n if (!layer) {\n throw new Error(`Unknown node type: ${type}`);\n }\n return layer;\n}\n\nexport function resolveKnownLayerForNodeType(\n type: string\n): EpistemicLayer | undefined {\n return isNodeType(type) ? NODE_TYPE_TO_LAYER.get(type) : undefined;\n}\n\nexport function isEpistemicNodeType(type: NodeType): boolean {\n return getLayerForNodeType(type) !== \"ontological\";\n}\n","import { z } from \"zod\";\nimport { NODE_TYPES } from \"../schema-helpers/spine/tables/epistemicNodes.js\";\n\nconst GRAPH_REF_EXTRA_NODE_TYPES = [\n \"edge\",\n \"ontology\",\n \"lens\",\n \"contradiction\",\n] as const;\n\nexport const GRAPH_REF_NODE_TYPES = [\n ...NODE_TYPES,\n ...GRAPH_REF_EXTRA_NODE_TYPES,\n] as const;\n\ntype GraphRefNodeType = (typeof GRAPH_REF_NODE_TYPES)[number];\n\nexport const EpistemicNodeTypeSchema = z.enum(\n GRAPH_REF_NODE_TYPES as unknown as [GraphRefNodeType, ...GraphRefNodeType[]]\n);\n\nexport type EpistemicNodeType = z.infer<typeof EpistemicNodeTypeSchema>;\n\nexport type GraphRef =\n | { kind: \"epistemic_node\"; nodeId: string; nodeType: EpistemicNodeType }\n | { kind: \"external_belief\"; ref: { tenantId: string; beliefId: string } };\n\nexport const GraphRefSchema = z.discriminatedUnion(\"kind\", [\n z.object({\n kind: z.literal(\"epistemic_node\"),\n nodeId: z.string(),\n nodeType: EpistemicNodeTypeSchema,\n }),\n z.object({\n kind: z.literal(\"external_belief\"),\n ref: z.object({\n tenantId: z.string(),\n beliefId: z.string(),\n }),\n }),\n]);\n","import { z } from \"zod\";\nimport {\n EpistemicNodeTypeSchema,\n type EpistemicNodeType,\n type GraphRef,\n} from \"../types/graph-ref.js\";\n\nconst graphRefKind = z.enum([\"epistemic_node\", \"external_belief\"]);\n\nexport const EdgePolicyEntrySchema = z.object({\n edgeType: z.string(),\n fromKinds: z.array(graphRefKind),\n fromNodeTypes: z.array(EpistemicNodeTypeSchema).optional(),\n toKinds: z.array(graphRefKind),\n toNodeTypes: z.array(EpistemicNodeTypeSchema).optional(),\n description: z.string(),\n});\n\nexport const EdgePolicyManifestSchema = z.object({\n manifestVersion: z.literal(\"1.0.0\"),\n policies: z.array(EdgePolicyEntrySchema),\n});\n\nexport type EdgePolicyEntry = z.infer<typeof EdgePolicyEntrySchema>;\nexport type EdgePolicyManifest = z.infer<typeof EdgePolicyManifestSchema>;\n\nexport type EdgePolicyViolation = {\n code: \"POLICY_VIOLATION\";\n edgeType: string;\n from: GraphRef;\n to: GraphRef;\n};\n\nexport function findEdgePolicy(\n manifest: EdgePolicyManifest,\n edgeType: string\n): EdgePolicyEntry | undefined {\n return manifest.policies.find((policy) => policy.edgeType === edgeType);\n}\n\nfunction nodeTypeAllowed(\n allowed: EpistemicNodeType[] | undefined,\n ref: GraphRef\n): boolean {\n return (\n ref.kind !== \"epistemic_node\" ||\n !allowed ||\n allowed.includes(ref.nodeType)\n );\n}\n\nexport function assertEdgePolicyAllowed(\n manifest: EdgePolicyManifest,\n edgeType: string,\n from: GraphRef,\n to: GraphRef\n): void {\n const policy = findEdgePolicy(manifest, edgeType);\n const allowed =\n Boolean(policy) &&\n policy!.fromKinds.includes(from.kind) &&\n policy!.toKinds.includes(to.kind) &&\n nodeTypeAllowed(policy!.fromNodeTypes, from) &&\n nodeTypeAllowed(policy!.toNodeTypes, to);\n\n if (!allowed) {\n const error = new Error(\n `Edge policy violation for ${edgeType}: ${from.kind} -> ${to.kind}`\n ) as Error & { code: \"POLICY_VIOLATION\"; details: EdgePolicyViolation };\n error.code = \"POLICY_VIOLATION\";\n error.details = { code: \"POLICY_VIOLATION\", edgeType, from, to };\n throw error;\n }\n}\n","import { EDGE_TYPE_VALUES } from \"../schemas/enums.js\";\nimport type {\n EdgePolicyEntry,\n EdgePolicyManifest,\n} from \"./edge-policy-manifest.js\";\n\nconst publicEpistemicNodeEdgePolicy = (\n edgeType: (typeof EDGE_TYPE_VALUES)[number]\n): EdgePolicyEntry => ({\n edgeType,\n fromKinds: [\"epistemic_node\"],\n toKinds: [\"epistemic_node\"],\n description:\n \"Canonical public create_edge policy for graph-node relationships. The policy layer gates edge-type membership, not endpoint semantics.\",\n});\n\nexport const edgePolicyManifest = {\n manifestVersion: \"1.0.0\",\n policies: EDGE_TYPE_VALUES.map(publicEpistemicNodeEdgePolicy),\n} satisfies EdgePolicyManifest;\n","/**\n * Tenant client contract\n *\n * Defines the generic boundary for any customer-owned product that consumes\n * Lucern through the SDK, hosted API, or MCP server. Tenant clients may run\n * their own UI, auth provider, deployment, and data plane, but reasoning\n * operations must enter through the published packages below.\n */\n\nimport type {\n SessionAuthMode,\n SessionPrincipalType,\n} from \"./auth.contract\";\n\nexport const TENANT_CLIENT_CONTRACT_VERSION = \"2026-04-27\" as const;\n\nexport const TENANT_CLIENT_AUTH_MODES = [\n \"interactive_user\",\n \"service_principal\",\n \"tenant_api_key\",\n \"session_token\",\n] as const satisfies readonly SessionAuthMode[];\nexport type TenantClientAuthMode = (typeof TENANT_CLIENT_AUTH_MODES)[number];\n\nexport const TENANT_CLIENT_PRINCIPAL_TYPES = [\n \"human\",\n \"service\",\n \"agent\",\n \"group\",\n \"external_viewer\",\n] as const satisfies readonly SessionPrincipalType[];\nexport type TenantClientPrincipalType =\n (typeof TENANT_CLIENT_PRINCIPAL_TYPES)[number];\n\nexport const TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"authMode\",\n \"scopes\",\n] as const;\nexport type TenantClientRequiredContextField =\n (typeof TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS = [\n \"clerkId\",\n \"principalType\",\n \"roles\",\n \"groupIds\",\n \"permittedToolNames\",\n \"permittedPackKeys\",\n \"principalStatus\",\n \"tenantStatus\",\n \"workspaceStatus\",\n \"permit\",\n \"sessionId\",\n \"delegationChain\",\n] as const;\nexport type TenantClientOptionalContextField =\n (typeof TENANT_CLIENT_OPTIONAL_CONTEXT_FIELDS)[number];\n\nexport const TENANT_CLIENT_INSTALL_TOKEN_ENV = \"INSTALL_LUCERN_NPM\" as const;\nexport const TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH =\n \"tenants/shared\" as const;\nexport const TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS = [\n \"/platform/publish\",\n] as const;\nexport const TENANT_CLIENT_FORBIDDEN_SECRET_ENV = [\"NPM_TOKEN\"] as const;\nexport type TenantClientForbiddenInstallTokenInfisicalPath =\n (typeof TENANT_CLIENT_FORBIDDEN_INSTALL_TOKEN_INFISICAL_PATHS)[number];\nexport type TenantClientForbiddenSecretEnv =\n (typeof TENANT_CLIENT_FORBIDDEN_SECRET_ENV)[number];\n\nexport const TENANT_CLIENT_INSTALLABLE_PACKAGES = [\n {\n packageName: \"@lucern/access-control\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/agent\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/auth\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/cli\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/client-core\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/confidence\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/config\",\n role: \"configuration\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/contracts\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/control-plane\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/developer-kit\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/events\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-primitives\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/graph-sync\",\n role: \"host_addon_runtime\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/mcp\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/pack-host\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/pack-installer\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/proof-compiler\",\n role: \"developer_tool\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/react\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n role: \"component_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/sdk\",\n role: \"runtime_entrypoint\",\n directTenantImport: true,\n },\n {\n packageName: \"@lucern/secrets\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/server-core\",\n role: \"platform_runtime\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/testing\",\n role: \"test_support\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/transport-core\",\n role: \"sdk_dependency\",\n directTenantImport: false,\n },\n {\n packageName: \"@lucern/types\",\n role: \"contract_entrypoint\",\n directTenantImport: true,\n },\n] as const;\nexport type TenantClientInstallablePackage =\n (typeof TENANT_CLIENT_INSTALLABLE_PACKAGES)[number];\nexport type TenantClientPackageRole = TenantClientInstallablePackage[\"role\"];\nexport type TenantClientInstallablePackageName =\n TenantClientInstallablePackage[\"packageName\"];\n\n/**\n * Direct package installs are package.json entries owned by the tenant repo.\n * Direct imports are source-code imports that tenant application code may use.\n *\n * These concepts intentionally differ: `@lucern/cli` is a direct install when a\n * tenant repo needs the `lucern` binary, but it is not a direct application\n * import. `@lucern/reasoning-kernel` and `@lucern/control-plane` are direct installs\n * for Convex component binding, while tenant app code should only import their\n * explicit component config subpaths.\n */\nexport type TenantClientInstallProfile = {\n id: string;\n description: string;\n packageNames: readonly TenantClientInstallablePackageName[];\n dependencyField: \"dependencies\" | \"devDependencies\" | \"mixed\";\n};\n\nexport const TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES =\n TENANT_CLIENT_INSTALLABLE_PACKAGES.map(\n (entry) => entry.packageName\n ) as readonly TenantClientInstallablePackageName[];\n\nexport const TENANT_CLIENT_INSTALL_PROFILES = [\n {\n id: \"core_app_runtime\",\n description:\n \"Smallest tenant app/runtime install for typed Lucern API calls plus tool-access policy helpers.\",\n packageNames: [\"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"react_app_runtime\",\n description:\n \"React tenant app install for hooks, provider, curated graph components, and direct SDK calls.\",\n packageNames: [\"@lucern/react\", \"@lucern/sdk\", \"@lucern/access-control\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"convex_components\",\n description:\n \"Tenant Convex host install for binding the Lucern control-plane and reasoning-kernel components.\",\n packageNames: [\"@lucern/control-plane\", \"@lucern/reasoning-kernel\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"graph_mirroring_addon\",\n description:\n \"Optional tenant Convex host install for Neo4j graph projection, edge topology writes, backfill, health checks, and query proxy helpers.\",\n packageNames: [\"@lucern/graph-sync\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"operator_cli\",\n description:\n \"Developer/operator install for the `lucern` binary, including tenant bootstrap seed commands.\",\n packageNames: [\"@lucern/cli\"],\n dependencyField: \"devDependencies\",\n },\n {\n id: \"mcp_runtime\",\n description:\n \"Agent runtime install for the standalone Lucern MCP server and hosted route helpers.\",\n packageNames: [\"@lucern/mcp\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"contracts_and_types\",\n description:\n \"Compile-time contract/type install for codegen, audits, and tenant integration validation.\",\n packageNames: [\"@lucern/contracts\", \"@lucern/types\"],\n dependencyField: \"dependencies\",\n },\n {\n id: \"full_suite\",\n description:\n \"Full coherent Lucern package suite for design-partner repos that want every published runtime, tool, component, test, and config package pinned together.\",\n packageNames: TENANT_CLIENT_FULL_SUITE_PACKAGE_NAMES,\n dependencyField: \"mixed\",\n },\n] as const satisfies readonly TenantClientInstallProfile[];\nexport type TenantClientInstallProfileId =\n (typeof TENANT_CLIENT_INSTALL_PROFILES)[number][\"id\"];\n\n/**\n * Direct imports tenant-owned product code may use. This is intentionally\n * smaller than TENANT_CLIENT_INSTALLABLE_PACKAGES: several publishable packages\n * are installed as SDK dependencies, tooling, or platform runtimes but should\n * not become the application integration surface.\n */\nexport const TENANT_CLIENT_PUBLIC_IMPORTS = [\n {\n packageName: \"@lucern/sdk\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"TypeScript SDK runtime and generated operation namespaces.\",\n },\n {\n packageName: \"@lucern/react\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"React bindings for tenant-owned UI applications.\",\n },\n {\n packageName: \"@lucern/mcp\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description: \"MCP client/server entry points and hosted route helpers.\",\n },\n {\n packageName: \"@lucern/graph-sync\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Optional Neo4j graph mirroring host actions, edge API, query proxy, backfill, and health helpers.\",\n },\n {\n packageName: \"@lucern/contracts\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type and manifest contracts.\",\n },\n {\n packageName: \"@lucern/access-control\",\n surface: \"runtime\",\n subpaths: \"published_exports\",\n description:\n \"Tenant runtime access-control helpers, including effective tool access.\",\n },\n {\n packageName: \"@lucern/types\",\n surface: \"contract\",\n subpaths: \"published_exports\",\n description: \"Published type-only helpers for tenant integration code.\",\n },\n] as const;\nexport type TenantClientPublicImport =\n (typeof TENANT_CLIENT_PUBLIC_IMPORTS)[number];\nexport type TenantClientPublicPackage =\n TenantClientPublicImport[\"packageName\"];\nexport type TenantClientPublicSurface = TenantClientPublicImport[\"surface\"];\n\nexport const TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS = [\n {\n packageName: \"@lucern/control-plane\",\n importPath: \"@lucern/control-plane/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern control plane.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/convex.config\",\n surface: \"component_config\",\n description:\n \"Convex component binding config for tenant deployments that install the Lucern reasoning kernel.\",\n },\n {\n packageName: \"@lucern/reasoning-kernel\",\n importPath: \"@lucern/reasoning-kernel/runtime.config\",\n surface: \"component_config\",\n description:\n \"Runtime config alias for tenant deployments that install the Lucern reasoning kernel.\",\n },\n] as const;\nexport type TenantClientComponentConfigImport =\n (typeof TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS)[number];\nexport type TenantClientAllowedImport =\n | TenantClientPublicImport\n | TenantClientComponentConfigImport;\n\nexport function findTenantClientInstallablePackage(\n packageName: string\n): TenantClientInstallablePackage | undefined {\n return TENANT_CLIENT_INSTALLABLE_PACKAGES.find(\n (entry) => entry.packageName === packageName\n );\n}\n\nexport function isTenantClientInstallablePackage(packageName: string): boolean {\n return Boolean(findTenantClientInstallablePackage(packageName));\n}\n\nexport const TENANT_CLIENT_REQUIRED_SDK_NAMESPACES = [\n \"bootstrap\",\n \"context\",\n \"beliefs\",\n \"evidence\",\n \"questions\",\n \"graph\",\n \"worktrees\",\n \"topics\",\n \"edges\",\n \"contradictions\",\n \"contracts\",\n \"graphIntel\",\n \"graphIntelligence\",\n \"graphAnalysis\",\n \"graphRecommendations\",\n \"orgGraphSearch\",\n \"embeddings\",\n \"ontologyLinks\",\n \"graphStateClassifier\",\n \"tools\",\n \"controlPlane\",\n \"identity\",\n \"modelRuntime\",\n \"events\",\n \"jobs\",\n \"telemetry\",\n] as const;\nexport type TenantClientRequiredSdkNamespace =\n (typeof TENANT_CLIENT_REQUIRED_SDK_NAMESPACES)[number];\n\nexport const TENANT_CLIENT_CAPABILITIES = [\n {\n id: \"identity.resolve_interactive_principal\",\n description:\n \"Resolve a Clerk-authenticated user into a Permit-backed Lucern principal context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: [\"principalId\", \"tenantId\", \"scopes\"],\n },\n {\n id: \"identity.bootstrap_session\",\n description: \"Start a scoped Lucern session for a tenant principal.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.context.compile\",\n description: \"Compile tenant and workspace scoped reasoning context.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.read\",\n description: \"Read beliefs, evidence, questions, topics, graph edges, and lineage.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph.write\",\n description: \"Create and update graph objects through authorized APIs.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_intelligence.run\",\n description:\n \"Discover and run Graph Intelligence query recipes for structural graph analysis.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/cli\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"reasoning.graph_mirroring.install\",\n description:\n \"Install and run the optional Neo4j graph mirror for paid or enterprise tenant deployments.\",\n surfaces: [\"@lucern/graph-sync\", \"@lucern/cli\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n {\n id: \"workflow.worktree_lifecycle\",\n description: \"Create, review, merge, and close scoped worktrees.\",\n surfaces: [\"@lucern/sdk\", \"@lucern/react\", \"@lucern/mcp\"],\n requiredContextFields: TENANT_CLIENT_REQUIRED_CONTEXT_FIELDS,\n },\n] as const;\nexport type TenantClientCapability =\n (typeof TENANT_CLIENT_CAPABILITIES)[number];\nexport type TenantClientCapabilityId = TenantClientCapability[\"id\"];\n\nexport const TENANT_CLIENT_ISOLATION_RULES = [\n {\n id: \"tenant_workspace_scope_required\",\n description:\n \"Runtime operations must resolve both tenantId and workspaceId before reaching Lucern reasoning state.\",\n },\n {\n id: \"principal_audit_required\",\n description:\n \"Runtime operations must carry principalId, authMode, and scopes for audit attribution.\",\n },\n {\n id: \"no_private_lucern_imports\",\n description:\n \"Tenant code must not import Lucern source, Convex internals, generated adapters, or unpublished package internals.\",\n },\n] as const;\nexport type TenantClientIsolationRule =\n (typeof TENANT_CLIENT_ISOLATION_RULES)[number];\n\nexport const TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS = [\n {\n id: \"deep_src_import\",\n pattern: \"^@lucern/[^/]+/src(?:/|$)\",\n description: \"Published packages must not be bypassed through src paths.\",\n },\n {\n id: \"deep_dist_import\",\n pattern: \"^@lucern/[^/]+/dist(?:/|$)\",\n description:\n \"Published package exports must be used instead of dist file paths.\",\n },\n {\n id: \"generated_adapter_import\",\n pattern: \"^@lucern/[^/]+/(?:adapters/)?_generated(?:/|$)\",\n description:\n \"Generated Lucern adapters are internal deployment artifacts.\",\n },\n {\n id: \"private_runtime_import\",\n pattern: \"^@lucern/[^/]+/(?:internal|private)(?:/|$)\",\n description: \"Internal and private package subpaths are not public SDK API.\",\n },\n {\n id: \"workspace_source_import\",\n pattern: \"^(?:packages|modules|services|lucern|apps)/(?:.+/)?src(?:/|$)\",\n description:\n \"Tenant clients must not import source files from the Lucern monorepo.\",\n },\n {\n id: \"root_alias_lucern_import\",\n pattern: \"^@/(?:lucern|packages|modules|services|apps)(?:/|$)\",\n description:\n \"Tenant clients must not depend on Lucern repo-local path aliases.\",\n },\n {\n id: \"relative_lucern_source_import\",\n pattern: \"^\\\\.\\\\.?/(?:.+/)?(?:packages|modules|services|lucern|apps)(?:/|$)\",\n description:\n \"Tenant clients must not reach back into Lucern source through relative paths.\",\n },\n {\n id: \"monorepo_path_import\",\n pattern: \"lucern-repo\",\n description:\n \"Absolute imports that name the Lucern repository are not portable tenant code.\",\n },\n] as const;\nexport type TenantClientForbiddenImportPattern =\n (typeof TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS)[number];\nexport type TenantClientForbiddenImportPatternId =\n TenantClientForbiddenImportPattern[\"id\"];\n\nexport type TenantClientImportDecision =\n | \"public\"\n | \"forbidden\"\n | \"local\"\n | \"external\";\n\nexport type TenantClientImportClassification = {\n importPath: string;\n decision: TenantClientImportDecision;\n publicImport?: TenantClientAllowedImport;\n pattern?: TenantClientForbiddenImportPattern;\n reason: string;\n};\n\nfunction matchesPublicImport(\n importPath: string\n): TenantClientAllowedImport | undefined {\n const componentConfig = TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.find(\n (entry) => importPath === entry.importPath\n );\n if (componentConfig) {\n return componentConfig;\n }\n\n return TENANT_CLIENT_PUBLIC_IMPORTS.find(\n (entry) =>\n importPath === entry.packageName ||\n importPath.startsWith(`${entry.packageName}/`)\n );\n}\n\nfunction matchesForbiddenPattern(\n importPath: string\n): TenantClientForbiddenImportPattern | undefined {\n return TENANT_CLIENT_FORBIDDEN_IMPORT_PATTERNS.find((entry) =>\n new RegExp(entry.pattern, \"u\").test(importPath)\n );\n}\n\nexport function classifyTenantClientImport(\n importPath: string\n): TenantClientImportClassification {\n const normalizedImportPath = importPath.trim();\n const pattern = matchesForbiddenPattern(normalizedImportPath);\n\n if (pattern) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n pattern,\n reason: pattern.description,\n };\n }\n\n const publicImport = matchesPublicImport(normalizedImportPath);\n if (publicImport) {\n return {\n importPath: normalizedImportPath,\n decision: \"public\",\n publicImport,\n reason: publicImport.description,\n };\n }\n\n if (normalizedImportPath.startsWith(\"@lucern/\")) {\n return {\n importPath: normalizedImportPath,\n decision: \"forbidden\",\n reason:\n \"This @lucern package is not part of the tenant client public surface.\",\n };\n }\n\n if (\n normalizedImportPath.startsWith(\"./\") ||\n normalizedImportPath.startsWith(\"../\")\n ) {\n return {\n importPath: normalizedImportPath,\n decision: \"local\",\n reason: \"Local tenant-owned import.\",\n };\n }\n\n return {\n importPath: normalizedImportPath,\n decision: \"external\",\n reason: \"External dependency outside the Lucern package namespace.\",\n };\n}\n\nexport function isTenantClientPublicImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function isTenantClientComponentConfigImport(\n importPath: string\n): boolean {\n return TENANT_CLIENT_COMPONENT_CONFIG_IMPORTS.some(\n (entry) => importPath === entry.importPath\n );\n}\n\nexport function isTenantClientAllowedImport(importPath: string): boolean {\n return classifyTenantClientImport(importPath).decision === \"public\";\n}\n\nexport function assertTenantClientImportAllowed(importPath: string): void {\n const classification = classifyTenantClientImport(importPath);\n if (classification.decision !== \"forbidden\") {\n return;\n }\n\n throw new Error(formatTenantClientImportViolation(classification));\n}\n\nexport function formatTenantClientImportViolation(\n classification: TenantClientImportClassification\n): string {\n const patternId = classification.pattern\n ? ` [${classification.pattern.id}]`\n : \"\";\n return `Tenant client import is not allowed${patternId}: ${classification.importPath}. ${classification.reason}`;\n}\n","/**\n * Infisical runtime contract\n *\n * Defines how Lucern runtime surfaces receive platform configuration and\n * secrets. Vercel-owned apps consume Infisical through secret syncs. Server,\n * CLI, MCP, and SDK operator contexts may hydrate runtime config directly from\n * Infisical when they have a scoped machine identity. Tenant user auth still\n * flows through Lucern device login; tenant tools never receive platform Clerk\n * secrets.\n */\n\nimport { TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH } from \"./tenant-client.contract\";\n\nexport const INFISICAL_RUNTIME_CONTRACT_VERSION = \"2026-05-06\" as const;\n\nexport const INFISICAL_RUNTIME_DEFAULT_API_URL =\n \"https://app.infisical.com\" as const;\nexport const INFISICAL_RUNTIME_DEFAULT_PROJECT_ID =\n \"344b0526-90df-4606-ba50-22c647a36c65\" as const;\n\nexport const INFISICAL_RUNTIME_ENVIRONMENTS = [\n \"dev\",\n \"staging\",\n \"prod\",\n] as const;\nexport type InfisicalRuntimeEnvironment =\n (typeof INFISICAL_RUNTIME_ENVIRONMENTS)[number];\n\nexport const INFISICAL_RUNTIME_DELIVERY_MODES = [\n \"vercel_sync\",\n \"runtime_fetch\",\n \"device_auth\",\n] as const;\nexport type InfisicalRuntimeDeliveryMode =\n (typeof INFISICAL_RUNTIME_DELIVERY_MODES)[number];\n\nexport const INFISICAL_VERCEL_DESTINATION_ENVIRONMENTS = [\n \"development\",\n \"preview\",\n \"staging\",\n \"production\",\n] as const;\nexport type InfisicalVercelDestinationEnvironment =\n (typeof INFISICAL_VERCEL_DESTINATION_ENVIRONMENTS)[number];\n\nexport const INFISICAL_VERCEL_TARGETS = [\n \"development\",\n \"preview\",\n \"production\",\n] as const;\nexport type InfisicalVercelTarget = (typeof INFISICAL_VERCEL_TARGETS)[number];\n\nexport const INFISICAL_CONVEX_TIERS = [\"preprod\", \"prod\"] as const;\nexport type InfisicalConvexTier = (typeof INFISICAL_CONVEX_TIERS)[number];\n\nexport const INFISICAL_CONVEX_TIER_BY_VERCEL_ENVIRONMENT = {\n development: \"preprod\",\n preview: \"preprod\",\n staging: \"preprod\",\n production: \"prod\",\n} as const satisfies Record<\n InfisicalVercelDestinationEnvironment,\n InfisicalConvexTier\n>;\n\nexport type InfisicalVercelSyncDestination = {\n readonly environment: InfisicalVercelDestinationEnvironment;\n readonly vercelTarget: InfisicalVercelTarget;\n readonly convexTier: InfisicalConvexTier;\n readonly customEnvironmentSlug?: string;\n readonly customEnvironmentIdsByProjectName?: Readonly<Record<string, string>>;\n readonly domainsByProjectName?: Readonly<Record<string, string>>;\n};\n\nexport const INFISICAL_VERCEL_SYNC_RECONCILIATION = {\n sourceOfTruth: \"infisical\",\n writer: \"vercel_api\",\n disableSecretDeletion: false,\n pruneDestinationKeys: true,\n} as const;\n\nexport const INFISICAL_VERCEL_SYNC_DESTINATIONS = [\n {\n environment: \"development\",\n vercelTarget: \"development\",\n convexTier: \"preprod\",\n },\n {\n environment: \"preview\",\n vercelTarget: \"preview\",\n convexTier: \"preprod\",\n },\n {\n environment: \"staging\",\n vercelTarget: \"preview\",\n convexTier: \"preprod\",\n customEnvironmentSlug: \"staging\",\n customEnvironmentIdsByProjectName: {\n stackos: \"env_RbS0TYRRvWISTje8qR4u2lRg7TC8\",\n },\n domainsByProjectName: {\n stackos: \"staging.stack.vc\",\n },\n },\n {\n environment: \"production\",\n vercelTarget: \"production\",\n convexTier: \"prod\",\n },\n] as const satisfies readonly InfisicalVercelSyncDestination[];\n\nexport const INFISICAL_RUNTIME_SURFACE_IDS = [\n \"lucern-web\",\n \"lucern-gateway\",\n \"lucern-sdk\",\n \"lucern-cli\",\n \"lucern-mcp\",\n \"tenant-client\",\n] as const;\nexport type InfisicalRuntimeSurfaceId =\n (typeof INFISICAL_RUNTIME_SURFACE_IDS)[number];\n\nexport const INFISICAL_RUNTIME_BOOTSTRAP_ENV = {\n apiUrl: [\"INFISICAL_API_URL\", \"INFISICAL_URL\"],\n projectId: [\"INFISICAL_PROJECT_ID\", \"INFISICAL_WORKSPACE_ID\"],\n clientId: [\n \"INFISICAL_CLIENT_ID\",\n \"INFISICAL_MACHINE_CLIENT_ID\",\n \"INFISICAL_UNIVERSAL_AUTH_CLIENT_ID\",\n ],\n clientSecret: [\n \"INFISICAL_CLIENT_SECRET\",\n \"INFISICAL_MACHINE_CLIENT_SECRET\",\n \"INFISICAL_UNIVERSAL_AUTH_CLIENT_SECRET\",\n ],\n environment: [\"INFISICAL_ENV\", \"LUCERN_INFISICAL_ENV\"],\n organizationSlug: [\"INFISICAL_ORG_SLUG\", \"INFISICAL_ORGANIZATION_SLUG\"],\n disabled: [\"LUCERN_INFISICAL_DISABLE\", \"INFISICAL_DISABLE\"],\n} as const;\nexport type InfisicalRuntimeBootstrapEnv =\n typeof INFISICAL_RUNTIME_BOOTSTRAP_ENV;\n\nexport const INFISICAL_RUNTIME_CONTROL_ENV = [\n {\n name: \"NODE_ENV\",\n category: \"framework\",\n description:\n \"Node/Next runtime mode. Framework-owned, not written by Infisical.\",\n },\n {\n name: \"CI\",\n category: \"ci\",\n description:\n \"CI execution signal. Workflow-owned, not written by Infisical.\",\n },\n {\n name: \"VERCEL\",\n category: \"vercel\",\n description:\n \"Vercel runtime signal. Platform-owned, not written by Infisical.\",\n },\n {\n name: \"VERCEL_ENV\",\n category: \"vercel\",\n description:\n \"Vercel environment label used for build/runtime selection.\",\n },\n {\n name: \"VERCEL_URL\",\n category: \"vercel\",\n description:\n \"Vercel deployment URL supplied by Vercel for previews and builds.\",\n },\n {\n name: \"VERCEL_GIT_COMMIT_SHA\",\n category: \"vercel\",\n description:\n \"Vercel git metadata used for release labels. Platform-owned, not written by Infisical.\",\n },\n {\n name: \"NEXT_RUNTIME\",\n category: \"nextjs\",\n description:\n \"Next.js runtime selector for node/edge instrumentation modules.\",\n },\n {\n name: \"PORT\",\n category: \"framework\",\n description:\n \"Local/server port supplied by the runtime process manager.\",\n },\n {\n name: \"HOST\",\n category: \"framework\",\n description:\n \"Local/server host supplied by the runtime process manager.\",\n },\n {\n name: \"APP_URL\",\n category: \"compatibility\",\n description:\n \"Legacy local app URL fallback. Prefer LUCERN_LOGIN_BASE_URL or LUCERN_API_URL.\",\n },\n {\n name: \"NEXT_PUBLIC_APP_URL\",\n category: \"compatibility\",\n description:\n \"Legacy public app URL fallback. Prefer LUCERN_LOGIN_BASE_URL or LUCERN_API_URL.\",\n },\n {\n name: \"CLAUDE_PROJECT_DIR\",\n category: \"agent_local\",\n description:\n \"Local agent workspace hint. Agent-runtime-owned, not written by Infisical.\",\n },\n {\n name: \"HOME\",\n category: \"os\",\n description:\n \"Operating-system home directory used only for local credential discovery.\",\n },\n {\n name: \"USERPROFILE\",\n category: \"os\",\n description:\n \"Windows home directory used only for local credential discovery.\",\n },\n] as const;\nexport type InfisicalRuntimeControlEnv =\n (typeof INFISICAL_RUNTIME_CONTROL_ENV)[number];\n\nexport type InfisicalRuntimeVariable = {\n readonly name: string;\n readonly required: boolean;\n readonly secret: boolean;\n readonly public: boolean;\n readonly aliases?: readonly string[];\n readonly description: string;\n};\n\nexport type InfisicalRuntimePathDefinition = {\n readonly id: string;\n readonly secretPath: string;\n readonly description: string;\n readonly variables: readonly InfisicalRuntimeVariable[];\n};\n\nexport const INFISICAL_RUNTIME_PATHS = [\n {\n id: \"platform-auth\",\n secretPath: \"/platform/auth\",\n description:\n \"Lucern platform authentication secrets. Synced into Vercel web/gateway projects; never distributed to tenant tools.\",\n variables: [\n {\n name: \"NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY\",\n required: true,\n secret: false,\n public: true,\n description: \"Clerk publishable key for the Lucern web origin.\",\n },\n {\n name: \"CLERK_SECRET_KEY\",\n required: true,\n secret: true,\n public: false,\n description: \"Clerk backend secret key for Lucern server runtimes.\",\n },\n {\n name: \"CLERK_JWT_ISSUER_DOMAIN\",\n required: false,\n secret: false,\n public: false,\n description: \"Expected Clerk issuer/JWKS domain for JWT verification.\",\n },\n {\n name: \"NEXT_PUBLIC_CLERK_SIGN_IN_URL\",\n required: false,\n secret: false,\n public: true,\n description: \"Public sign-in URL for Lucern-owned web flows.\",\n },\n {\n name: \"NEXT_PUBLIC_CLERK_SIGN_UP_URL\",\n required: false,\n secret: false,\n public: true,\n description: \"Public sign-up URL for Lucern-owned web flows.\",\n },\n ],\n },\n {\n id: \"platform-runtime\",\n secretPath: \"/platform/runtime\",\n description:\n \"Runtime defaults shared by server-side Lucern clients and operator tooling.\",\n variables: [\n {\n name: \"LUCERN_API_URL\",\n required: true,\n secret: false,\n public: false,\n aliases: [\"LUCERN_API_BASE_URL\", \"LUCERN_BASE_URL\"],\n description: \"Canonical Lucern API gateway URL.\",\n },\n {\n name: \"LUCERN_LOGIN_BASE_URL\",\n required: false,\n secret: false,\n public: false,\n aliases: [\"LUCERN_AUTH_BASE_URL\"],\n description: \"Browser login origin used when it differs from the API.\",\n },\n {\n name: \"LUCERN_ENVIRONMENT\",\n required: false,\n secret: false,\n public: false,\n aliases: [\"LUCERN_ENV\"],\n description: \"Lucern environment label consumed by CLI profiles.\",\n },\n {\n name: \"LUCERN_CLI_SESSION_TTL_MS\",\n required: false,\n secret: false,\n public: false,\n description:\n \"Optional web-issued CLI login session lifetime override in milliseconds.\",\n },\n ],\n },\n {\n id: \"platform-operator-credentials\",\n secretPath: \"/platform/runtime\",\n description:\n \"Lucern-owned operator credential material for local CLI, MCP, and SDK sessions.\",\n variables: [\n {\n name: \"LUCERN_API_KEY\",\n required: false,\n secret: true,\n public: false,\n aliases: [\"LUCERN_KEY\"],\n description:\n \"Lucern-owned operator API key for gateway calls from trusted local tooling.\",\n },\n ],\n },\n {\n id: \"tenant-shared-install\",\n secretPath: TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH,\n description:\n \"Tenant package-install secrets. This is install-only and distinct from platform publish credentials.\",\n variables: [\n {\n name: \"INSTALL_LUCERN_NPM\",\n required: true,\n secret: true,\n public: false,\n description:\n \"Read-only install token for the published @lucern/* suite.\",\n },\n ],\n },\n] as const satisfies readonly InfisicalRuntimePathDefinition[];\nexport type InfisicalRuntimePath = (typeof INFISICAL_RUNTIME_PATHS)[number];\nexport type InfisicalRuntimePathId = InfisicalRuntimePath[\"id\"];\n\nexport type InfisicalRuntimeSurfaceDefinition = {\n readonly id: InfisicalRuntimeSurfaceId;\n readonly packageName?: string;\n readonly delivery: InfisicalRuntimeDeliveryMode;\n readonly fallback?: InfisicalRuntimeDeliveryMode;\n readonly sourcePathIds: readonly InfisicalRuntimePathId[];\n readonly consumer: string;\n readonly description: string;\n};\n\nexport const INFISICAL_RUNTIME_SURFACES = [\n {\n id: \"lucern-web\",\n delivery: \"vercel_sync\",\n sourcePathIds: [\"platform-auth\", \"platform-runtime\"],\n consumer: \"apps/web on Vercel project lucern\",\n description:\n \"Lucern web consumes Clerk and runtime config via Infisical-to-Vercel syncs.\",\n },\n {\n id: \"lucern-gateway\",\n delivery: \"vercel_sync\",\n fallback: \"runtime_fetch\",\n sourcePathIds: [\"platform-auth\", \"platform-runtime\"],\n consumer: \"apps/gateway on Vercel project lucern-gateway\",\n description:\n \"Lucern gateway consumes platform config via Infisical-to-Vercel syncs and may self-hydrate from Infisical when the host environment has scoped bootstrap credentials.\",\n },\n {\n id: \"lucern-sdk\",\n packageName: \"@lucern/sdk\",\n delivery: \"runtime_fetch\",\n sourcePathIds: [\"platform-runtime\", \"platform-operator-credentials\"],\n consumer:\n \"server-side SDK operator contexts with a scoped Infisical identity\",\n description:\n \"SDK exposes the runtime Infisical resolver used by clients that have machine identity credentials.\",\n },\n {\n id: \"lucern-cli\",\n packageName: \"@lucern/cli\",\n delivery: \"runtime_fetch\",\n fallback: \"device_auth\",\n sourcePathIds: [\"platform-runtime\", \"platform-operator-credentials\"],\n consumer: \"developer/operator CLI processes\",\n description:\n \"CLI hydrates runtime defaults from Infisical when configured, then authenticates users through Lucern device login.\",\n },\n {\n id: \"lucern-mcp\",\n packageName: \"@lucern/mcp\",\n delivery: \"runtime_fetch\",\n fallback: \"device_auth\",\n sourcePathIds: [\"platform-runtime\", \"platform-operator-credentials\"],\n consumer: \"MCP server/client processes\",\n description:\n \"MCP hydrates runtime defaults through the SDK resolver and remains a Lucern client, not a platform secret owner.\",\n },\n {\n id: \"tenant-client\",\n delivery: \"device_auth\",\n sourcePathIds: [\"tenant-shared-install\"],\n consumer: \"tenant-owned apps and coding agents\",\n description:\n \"Tenant clients install the published packages and receive user/service credentials through Lucern auth surfaces.\",\n },\n] as const satisfies readonly InfisicalRuntimeSurfaceDefinition[];\nexport type InfisicalRuntimeSurface =\n (typeof INFISICAL_RUNTIME_SURFACES)[number];\n\nexport type InfisicalTenantSoftwareSystemDefinition = {\n readonly id: string;\n readonly tenantKey: string;\n readonly workspaceKey: string;\n readonly vercelProjectName: string;\n readonly vercelTeamId: string;\n readonly vercelProjectId: string;\n readonly vercelWriterTokenEnv: string;\n readonly repository: {\n readonly owner: string;\n readonly name: string;\n };\n readonly sharedSourcePath: string;\n readonly sharedVariablePolicy: \"tenant_shared_all_systems\";\n readonly convex: {\n readonly urlEnv: string;\n readonly deployKeyEnv: string;\n readonly preprodDeployment: string;\n readonly prodDeployment: string;\n };\n};\n\nexport const INFISICAL_TENANT_SOFTWARE_SYSTEMS = [\n {\n id: \"stack-frontend\",\n tenantKey: \"stack\",\n workspaceKey: \"frontend\",\n vercelProjectName: \"ai-chatbot-diao\",\n vercelTeamId: \"team_mZBKwvXSSu7qxrWdg2go29sK\",\n vercelProjectId: \"prj_PihFw8kohSSw14nZs9YQV3xVo517\",\n vercelWriterTokenEnv: \"STACK_VERCEL_TOKEN\",\n repository: {\n owner: \"stack-vc\",\n name: \"front-end\",\n },\n sharedSourcePath: \"/tenants/stack\",\n sharedVariablePolicy: \"tenant_shared_all_systems\",\n convex: {\n urlEnv: \"CONVEX_FRONTEND_URL\",\n deployKeyEnv: \"CONVEX_FRONTEND_DEPLOY_KEY\",\n preprodDeployment: \"rugged-lobster-664\",\n prodDeployment: \"wonderful-toucan-0\",\n },\n },\n {\n id: \"stackos\",\n tenantKey: \"stack\",\n workspaceKey: \"stackos\",\n vercelProjectName: \"stackos\",\n vercelTeamId: \"team_mZBKwvXSSu7qxrWdg2go29sK\",\n vercelProjectId: \"prj_rXLAL0Z6v9p1fasKbomby6GI7kau\",\n vercelWriterTokenEnv: \"STACK_VERCEL_TOKEN\",\n repository: {\n owner: \"stack-vc\",\n name: \"stackos\",\n },\n sharedSourcePath: \"/tenants/stack\",\n sharedVariablePolicy: \"tenant_shared_all_systems\",\n convex: {\n urlEnv: \"CONVEX_STACKOS_URL\",\n deployKeyEnv: \"CONVEX_STACKOS_DEPLOY_KEY\",\n preprodDeployment: \"giant-mandrill-761\",\n prodDeployment: \"good-snake-515\",\n },\n },\n {\n id: \"stack-eng\",\n tenantKey: \"stack\",\n workspaceKey: \"engineering\",\n vercelProjectName: \"stackos-engineering-graph\",\n vercelTeamId: \"team_mZBKwvXSSu7qxrWdg2go29sK\",\n vercelProjectId: \"prj_zAU0Zn9GkbHjHI63dxW4vLpmoqTJ\",\n vercelWriterTokenEnv: \"STACK_VERCEL_TOKEN\",\n repository: {\n owner: \"stack-vc\",\n name: \"stackos-engineering-graph\",\n },\n sharedSourcePath: \"/tenants/stack/engineering\",\n sharedVariablePolicy: \"tenant_shared_all_systems\",\n convex: {\n urlEnv: \"CONVEX_STACK_ENG_URL\",\n deployKeyEnv: \"CONVEX_STACK_ENG_DEPLOY_KEY\",\n preprodDeployment: \"small-oyster-270\",\n prodDeployment: \"bold-cuttlefish-804\",\n },\n },\n {\n id: \"lucern-graph\",\n tenantKey: \"lucern\",\n workspaceKey: \"lucern\",\n vercelProjectName: \"lucern-graph\",\n vercelTeamId: \"team_vTHxxs8GAoAFUe6RWMlYt7fY\",\n vercelProjectId: \"prj_KJ8EKV8vGM5xURpqmwTwmECEGPgQ\",\n vercelWriterTokenEnv: \"LUCERN_VERCEL_TOKEN\",\n repository: {\n owner: \"LucernAI\",\n name: \"lucern-graph\",\n },\n sharedSourcePath: \"/tenants/lucern/shared\",\n sharedVariablePolicy: \"tenant_shared_all_systems\",\n convex: {\n urlEnv: \"CONVEX_LUCERN_URL\",\n deployKeyEnv: \"CONVEX_LUCERN_DEPLOY_KEY\",\n preprodDeployment: \"good-blackbird-774\",\n prodDeployment: \"precious-dog-365\",\n },\n },\n] as const satisfies readonly InfisicalTenantSoftwareSystemDefinition[];\nexport type InfisicalTenantSoftwareSystem =\n (typeof INFISICAL_TENANT_SOFTWARE_SYSTEMS)[number];\nexport type InfisicalTenantSoftwareSystemId =\n InfisicalTenantSoftwareSystem[\"id\"];\n\nexport function findInfisicalTenantSoftwareSystem(\n systemId: InfisicalTenantSoftwareSystemId,\n): InfisicalTenantSoftwareSystem | undefined {\n return INFISICAL_TENANT_SOFTWARE_SYSTEMS.find(\n (system) => system.id === systemId,\n );\n}\n\nexport function tenantSoftwareSystemConvexEnvNames(\n systemId: InfisicalTenantSoftwareSystemId,\n): readonly [string, string] {\n const system = findInfisicalTenantSoftwareSystem(systemId);\n if (!system) {\n throw new Error(`Unknown tenant software system: ${systemId}.`);\n }\n return [system.convex.urlEnv, system.convex.deployKeyEnv] as const;\n}\n\nexport function tenantSoftwareSystemOwnsConvexEnvName(\n systemId: InfisicalTenantSoftwareSystemId,\n envName: string,\n): boolean {\n return tenantSoftwareSystemConvexEnvNames(systemId).includes(envName);\n}\n\nexport function convexTierForVercelDestinationEnvironment(\n environment: InfisicalVercelDestinationEnvironment,\n): InfisicalConvexTier {\n return INFISICAL_CONVEX_TIER_BY_VERCEL_ENVIRONMENT[environment];\n}\n\nexport function findInfisicalVercelSyncDestination(\n environment: InfisicalVercelDestinationEnvironment,\n): InfisicalVercelSyncDestination | undefined {\n return INFISICAL_VERCEL_SYNC_DESTINATIONS.find(\n (destination) => destination.environment === environment,\n );\n}\n\nexport function vercelCustomEnvironmentIdForTenantSoftwareSystem(\n systemId: InfisicalTenantSoftwareSystemId,\n environment: InfisicalVercelDestinationEnvironment,\n): string | undefined {\n const system = findInfisicalTenantSoftwareSystem(systemId);\n const destination = findInfisicalVercelSyncDestination(environment);\n if (!system || !destination) {\n return undefined;\n }\n return destination.customEnvironmentIdsByProjectName?.[\n system.vercelProjectName\n ];\n}\n\nexport function expectedTenantConvexDeploymentForVercelEnvironment(\n systemId: InfisicalTenantSoftwareSystemId,\n environment: InfisicalVercelDestinationEnvironment,\n): string {\n const system = findInfisicalTenantSoftwareSystem(systemId);\n if (!system) {\n throw new Error(`Unknown tenant software system: ${systemId}.`);\n }\n return convexTierForVercelDestinationEnvironment(environment) === \"prod\"\n ? system.convex.prodDeployment\n : system.convex.preprodDeployment;\n}\n\nexport function findInfisicalRuntimePath(\n pathId: InfisicalRuntimePathId,\n): InfisicalRuntimePath | undefined {\n return INFISICAL_RUNTIME_PATHS.find((path) => path.id === pathId);\n}\n\nexport function findInfisicalRuntimeSurface(\n surfaceId: InfisicalRuntimeSurfaceId,\n): InfisicalRuntimeSurface | undefined {\n return INFISICAL_RUNTIME_SURFACES.find((surface) => surface.id === surfaceId);\n}\n\nexport const INFISICAL_SECRET_OWNERS = [\n \"lucern_platform\",\n \"tenant\",\n \"provider\",\n \"operator_local\",\n] as const;\nexport type InfisicalSecretOwner = (typeof INFISICAL_SECRET_OWNERS)[number];\n\nexport const INFISICAL_SECRET_SCOPES = [\n \"global\",\n \"environment\",\n \"tenant\",\n \"workspace\",\n \"software_system\",\n \"deployment\",\n \"local\",\n] as const;\nexport type InfisicalSecretScope = (typeof INFISICAL_SECRET_SCOPES)[number];\n\nexport const INFISICAL_SECRET_ENVIRONMENT_POLICIES = [\n \"same_all_environments\",\n \"environment_specific\",\n \"preprod_staging_prod_prod\",\n \"local_only\",\n] as const;\nexport type InfisicalSecretEnvironmentPolicy =\n (typeof INFISICAL_SECRET_ENVIRONMENT_POLICIES)[number];\n\nexport const INFISICAL_SECRET_CONSUMERS = [\n \"lucern-web\",\n \"lucern-gateway\",\n \"lucern-mcp\",\n \"lucern-cli\",\n \"lucern-ai-runtime\",\n \"lucern-graph-sync\",\n \"lucern-observability\",\n \"lucern-repo-ci\",\n \"mc-convex\",\n \"mc-operator-tooling\",\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-ai-runtime\",\n \"tenant-graph-sync\",\n \"tenant-observability\",\n \"tenant-vector-store\",\n \"tenant-deploy-tooling\",\n \"tenant-agent-runtime\",\n] as const;\nexport type InfisicalSecretConsumer = (typeof INFISICAL_SECRET_CONSUMERS)[number];\n\nexport const INFISICAL_SECRET_DESTINATION_KINDS = [\n \"vercel\",\n \"convex\",\n \"github_actions\",\n \"runtime_fetch\",\n \"operator_local\",\n] as const;\nexport type InfisicalSecretDestinationKind =\n (typeof INFISICAL_SECRET_DESTINATION_KINDS)[number];\n\nexport type InfisicalSecretDestination = {\n readonly kind: InfisicalSecretDestinationKind;\n readonly target: string;\n readonly environmentPolicy: InfisicalSecretEnvironmentPolicy;\n readonly writeNames?: readonly string[];\n readonly notes?: string;\n};\n\nexport type InfisicalSecretDefinition = {\n readonly id: string;\n readonly canonicalName: string;\n readonly aliases?: readonly string[];\n readonly owner: InfisicalSecretOwner;\n readonly scope: InfisicalSecretScope;\n readonly sourcePath: string;\n readonly environmentPolicy: InfisicalSecretEnvironmentPolicy;\n readonly required: boolean;\n readonly secret: boolean;\n readonly public: boolean;\n readonly consumers: readonly InfisicalSecretConsumer[];\n readonly destinations: readonly InfisicalSecretDestination[];\n readonly description: string;\n};\n","import { TENANT_CLIENT_INSTALL_TOKEN_INFISICAL_PATH } from \"./tenant-client.contract\";\nimport { INFISICAL_TENANT_SOFTWARE_SYSTEMS } from \"./infisical-runtime.base\";\nimport type { InfisicalSecretDefinition, InfisicalTenantSoftwareSystem } from \"./infisical-runtime.base\";\n\nexport const TENANT_SHARED_SECRET_DEFINITION_TEMPLATES = [\n {\n idSuffix: \"clerk.publishable\",\n canonicalName: \"NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY\",\n aliases: [\"CLERK_PUBLISHABLE_KEY\"],\n required: true,\n secret: false,\n public: true,\n description:\n \"Tenant-owned Clerk browser key. For Stack this is the master clerk.stack.vc project shared by front-end, StackOS, and the engineering workspace.\",\n },\n {\n idSuffix: \"clerk.secret\",\n canonicalName: \"CLERK_SECRET_KEY\",\n required: true,\n secret: true,\n public: false,\n description:\n \"Tenant-owned Clerk backend secret used only by that tenant's server runtimes.\",\n },\n {\n idSuffix: \"clerk.project\",\n canonicalName: \"CLERK_PROJECT_ID\",\n required: true,\n secret: false,\n public: false,\n description:\n \"Tenant-owned Clerk project id used to resolve canonical Clerk aliases.\",\n },\n {\n idSuffix: \"clerk.jwks\",\n canonicalName: \"CLERK_JWT_ISSUER_DOMAIN\",\n aliases: [\"CLERK_ISSUER_URL\", \"CLERK_JWKS_URL\"],\n required: false,\n secret: false,\n public: false,\n description:\n \"Tenant Clerk issuer/JWKS URL consumed by Convex auth.config.ts.\",\n },\n {\n idSuffix: \"clerk.jwt-key\",\n canonicalName: \"CLERK_JWT_KEY\",\n required: false,\n secret: true,\n public: false,\n description:\n \"Tenant Clerk JWT public verification key used by bearer-token API routes.\",\n },\n {\n idSuffix: \"clerk.authorized-parties\",\n canonicalName: \"CLERK_AUTHORIZED_PARTIES\",\n aliases: [\"CLERK_MOBILE_AUTHORIZED_PARTIES\"],\n required: false,\n secret: false,\n public: false,\n description:\n \"Comma-separated Clerk authorized parties for browser and mobile bearer-token validation.\",\n },\n {\n idSuffix: \"clerk.sign-in-url\",\n canonicalName: \"NEXT_PUBLIC_CLERK_SIGN_IN_URL\",\n required: false,\n secret: false,\n public: true,\n description:\n \"Tenant Clerk sign-in route for custom app login surfaces.\",\n },\n {\n idSuffix: \"clerk.sign-up-url\",\n canonicalName: \"NEXT_PUBLIC_CLERK_SIGN_UP_URL\",\n required: false,\n secret: false,\n public: true,\n description:\n \"Tenant Clerk sign-up route for custom app login surfaces.\",\n },\n] as const;\n\nexport const TENANT_SHARED_SECRET_DEFINITIONS =\n INFISICAL_TENANT_SOFTWARE_SYSTEMS.flatMap((system) =>\n TENANT_SHARED_SECRET_DEFINITION_TEMPLATES.map(\n (template): InfisicalSecretDefinition => ({\n id: `tenant.${system.id}.${template.idSuffix}`,\n canonicalName: template.canonicalName,\n aliases: \"aliases\" in template ? template.aliases : undefined,\n owner: \"tenant\",\n scope: \"tenant\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: template.required,\n secret: template.secret,\n public: template.public,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"convex\",\n target: `${system.convex.preprodDeployment}|${system.convex.prodDeployment}`,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description: `${system.tenantKey}/${system.workspaceKey}: ${template.description}`,\n }),\n ),\n );\n\nexport const TENANT_INSTALL_SECRET_DEFINITIONS =\n INFISICAL_TENANT_SOFTWARE_SYSTEMS.map(\n (system): InfisicalSecretDefinition => ({\n id: `tenant.${system.id}.install-lucern-npm`,\n canonicalName: \"INSTALL_LUCERN_NPM\",\n owner: \"provider\",\n scope: \"global\",\n sourcePath: \"/tenants/shared\",\n environmentPolicy: \"same_all_environments\",\n required: true,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-deploy-tooling\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"same_all_environments\",\n },\n {\n kind: \"github_actions\",\n target: `${system.repository.owner}/${system.repository.name}`,\n environmentPolicy: \"same_all_environments\",\n },\n ],\n description: `${system.tenantKey}/${system.workspaceKey}: read-only npm install token for published @lucern/* packages.`,\n }),\n );\n\nexport const TENANT_PRODUCT_SOFTWARE_SYSTEM_IDS = [\"stack-frontend\", \"stackos\"];\n\nexport const TENANT_PRODUCT_RUNTIME_SECRET_DEFINITION_TEMPLATES = [\n {\n idSuffix: \"ai.openai-api-key\",\n canonicalName: \"OPENAI_API_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\", \"tenant-ai-runtime\"],\n description: \"Tenant-owned OpenAI key for product runtime LLM calls.\",\n },\n {\n idSuffix: \"ai.anthropic-api-key\",\n canonicalName: \"ANTHROPIC_API_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\", \"tenant-ai-runtime\"],\n description: \"Tenant-owned Anthropic key for product runtime LLM calls.\",\n },\n {\n idSuffix: \"ai.gemini-api-key\",\n canonicalName: \"GEMINI_API_KEY\",\n aliases: [\"GOOGLE_AI_API_KEY\", \"GOOGLE_GENERATIVE_AI_API_KEY\"],\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\", \"tenant-ai-runtime\"],\n description:\n \"Tenant-owned Google/Gemini key for product runtime LLM calls.\",\n },\n {\n idSuffix: \"langfuse.secret-key\",\n canonicalName: \"LANGFUSE_SECRET_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-observability\",\n ],\n description: \"Tenant-owned Langfuse secret key for product AI tracing.\",\n },\n {\n idSuffix: \"langfuse.public-key\",\n canonicalName: \"LANGFUSE_PUBLIC_KEY\",\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-observability\",\n ],\n description: \"Tenant-owned Langfuse public key for product AI tracing.\",\n },\n {\n idSuffix: \"langfuse.base-url\",\n canonicalName: \"LANGFUSE_BASE_URL\",\n aliases: [\"LANGFUSE_BASEURL\", \"LANGFUSE_HOST\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-observability\",\n ],\n description: \"Tenant-owned Langfuse API origin.\",\n },\n {\n idSuffix: \"graph.neo4j-uri\",\n canonicalName: \"NEO4J_URI\",\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-graph-sync\",\n ],\n description: \"Tenant-owned Neo4j URI for product graph-sync.\",\n },\n {\n idSuffix: \"graph.neo4j-user\",\n canonicalName: \"NEO4J_USER\",\n aliases: [\"NEO4J_USERNAME\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-graph-sync\",\n ],\n description: \"Tenant-owned Neo4j user for product graph-sync.\",\n },\n {\n idSuffix: \"graph.neo4j-password\",\n canonicalName: \"NEO4J_PASSWORD\",\n required: false,\n secret: true,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-graph-sync\",\n ],\n description: \"Tenant-owned Neo4j password for product graph-sync.\",\n },\n {\n idSuffix: \"graph.neo4j-sync-secret\",\n canonicalName: \"NEO4J_SYNC_SECRET\",\n required: false,\n secret: true,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-graph-sync\",\n ],\n description:\n \"Tenant-owned shared secret for product Convex-to-HTTP graph-sync calls.\",\n },\n {\n idSuffix: \"graph.neo4j-database\",\n canonicalName: \"NEO4J_DATABASE\",\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-graph-sync\",\n ],\n description: \"Tenant-owned Neo4j database name for product graph-sync.\",\n },\n {\n idSuffix: \"vector.pinecone-api-key\",\n canonicalName: \"PINECONE_API_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-vector-store\",\n ],\n description: \"Tenant-owned Pinecone API key for product vector search.\",\n },\n {\n idSuffix: \"vector.pinecone-index-name\",\n canonicalName: \"PINECONE_INDEX_NAME\",\n aliases: [\"PINECONE_INDEX\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-vector-store\",\n ],\n description: \"Tenant-owned Pinecone index name for product vector search.\",\n },\n {\n idSuffix: \"vector.pinecone-host\",\n canonicalName: \"PINECONE_HOST\",\n aliases: [\"PINECONE_INDEX_HOST\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-vector-store\",\n ],\n description: \"Tenant-owned Pinecone host for product vector search.\",\n },\n {\n idSuffix: \"vector.pinecone-namespace\",\n canonicalName: \"PINECONE_NAMESPACE\",\n required: false,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-convex-deployment\",\n \"tenant-vector-store\",\n ],\n description:\n \"Tenant-owned Pinecone namespace for product vector search isolation.\",\n },\n {\n idSuffix: \"storage.aws-access-key-id\",\n canonicalName: \"AWS_ACCESS_KEY_ID\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\"],\n description: \"Tenant-owned AWS access key id for document/file ingestion.\",\n },\n {\n idSuffix: \"storage.aws-secret-access-key\",\n canonicalName: \"AWS_SECRET_ACCESS_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\"],\n description:\n \"Tenant-owned AWS secret access key for document/file ingestion.\",\n },\n {\n idSuffix: \"storage.aws-region\",\n canonicalName: \"AWS_REGION\",\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-convex-deployment\"],\n description: \"Tenant-owned AWS region for document/file ingestion.\",\n },\n {\n idSuffix: \"observability.sentry-dsn\",\n canonicalName: \"NEXT_PUBLIC_SENTRY_DSN\",\n aliases: [\"NEXT_PUBLIC_SENTRY_DSN_NEXTJS\", \"SENTRY_DSN\"],\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry DSN for app telemetry.\",\n },\n {\n idSuffix: \"observability.sentry-auth-token\",\n canonicalName: \"SENTRY_AUTH_TOKEN\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-deploy-tooling\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry release token for app deployments.\",\n },\n {\n idSuffix: \"observability.sentry-org\",\n canonicalName: \"SENTRY_ORG\",\n aliases: [\"SENTRY_ORG_SLUG\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-deploy-tooling\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry org slug for release uploads.\",\n },\n {\n idSuffix: \"observability.sentry-project\",\n canonicalName: \"SENTRY_PROJECT\",\n aliases: [\"SENTRY_PROJECT_NEXTJS\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-deploy-tooling\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry project slug for release uploads.\",\n },\n {\n idSuffix: \"observability.sentry-environment\",\n canonicalName: \"NEXT_PUBLIC_SENTRY_ENVIRONMENT\",\n aliases: [\"SENTRY_ENVIRONMENT\"],\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry environment label.\",\n },\n {\n idSuffix: \"observability.sentry-release\",\n canonicalName: \"NEXT_PUBLIC_SENTRY_RELEASE\",\n aliases: [\"SENTRY_RELEASE\"],\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry release label.\",\n },\n {\n idSuffix: \"observability.sentry-client-options\",\n canonicalName: \"NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE\",\n aliases: [\n \"NEXT_PUBLIC_SENTRY_CAPTURE_CONSOLE_LEVELS\",\n \"NEXT_PUBLIC_SENTRY_CAPTURE_CONSOLE_LEVELS_NEXTJS\",\n \"NEXT_PUBLIC_SENTRY_CONSOLE_BREADCRUMB_LEVELS\",\n \"NEXT_PUBLIC_SENTRY_CONSOLE_BREADCRUMB_LEVELS_NEXTJS\",\n \"NEXT_PUBLIC_SENTRY_CONSOLE_LOG_LEVELS\",\n \"NEXT_PUBLIC_SENTRY_CONSOLE_LOG_LEVELS_NEXTJS\",\n \"NEXT_PUBLIC_SENTRY_ENABLE_LOGS\",\n \"NEXT_PUBLIC_SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE\",\n \"NEXT_PUBLIC_SENTRY_REPLAYS_SESSION_SAMPLE_RATE\",\n \"NEXT_PUBLIC_SENTRY_SEND_DEFAULT_PII\",\n \"NEXT_PUBLIC_SENTRY_TRACES_SAMPLE_RATE_NEXTJS\",\n ],\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\", \"tenant-observability\"],\n description:\n \"Tenant-owned public Sentry tuning values for Next.js client instrumentation.\",\n },\n {\n idSuffix: \"observability.sentry-webhook-secret\",\n canonicalName: \"SENTRY_WEBHOOK_SECRET\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-convex-deployment\", \"tenant-observability\"],\n description: \"Tenant-owned Sentry webhook verification secret.\",\n },\n {\n idSuffix: \"lucern.gateway-api-key\",\n canonicalName: \"LUCERN_API_KEY\",\n aliases: [\"STACK_API_KEY\"],\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-agent-runtime\"],\n description:\n \"Tenant-scoped Lucern/MC gateway API key for product front-door calls.\",\n },\n {\n idSuffix: \"lucern.gateway-base-url\",\n canonicalName: \"LUCERN_BASE_URL\",\n aliases: [\"LUCERN_API_BASE_URL\", \"LUCERN_GATEWAY_BASE_URL\"],\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-agent-runtime\"],\n description: \"Lucern/MC gateway base URL used by tenant product apps.\",\n },\n {\n idSuffix: \"lucern.proxy-token-secret\",\n canonicalName: \"LUCERN_PROXY_TOKEN_SECRET\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-agent-runtime\"],\n description:\n \"Tenant-owned secret for signing internal proxy/session tokens in product apps.\",\n },\n {\n idSuffix: \"tenant.integrations.linear-api-key\",\n canonicalName: \"LINEAR_API_KEY\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-agent-runtime\"],\n description: \"Tenant-owned Linear API key for support/slash-command flows.\",\n },\n {\n idSuffix: \"tenant.vercel.bypass-token\",\n canonicalName: \"VERCEL_AUTOMATION_BYPASS_SECRET\",\n aliases: [\"NEXT_PUBLIC_VERCEL_BYPASS_TOKEN\"],\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-vercel-app\", \"tenant-deploy-tooling\"],\n description:\n \"Tenant-owned Vercel automation bypass token. Public alias is legacy and should be removed from app code.\",\n },\n] as const;\n\nexport const TENANT_PRODUCT_RUNTIME_SECRET_DEFINITIONS =\n INFISICAL_TENANT_SOFTWARE_SYSTEMS.filter((system) =>\n TENANT_PRODUCT_SOFTWARE_SYSTEM_IDS.includes(system.id),\n ).flatMap((system) =>\n TENANT_PRODUCT_RUNTIME_SECRET_DEFINITION_TEMPLATES.map(\n (template): InfisicalSecretDefinition => ({\n id: `tenant.${system.id}.${template.idSuffix}`,\n canonicalName: template.canonicalName,\n aliases: \"aliases\" in template ? template.aliases : undefined,\n owner: \"tenant\",\n scope: \"tenant\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: template.required,\n secret: template.secret,\n public: template.public,\n consumers: template.consumers,\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"convex\",\n target: `${system.convex.preprodDeployment}|${system.convex.prodDeployment}`,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: `${system.repository.owner}/${system.repository.name}`,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description: `${system.tenantKey}/${system.workspaceKey}: ${template.description}`,\n }),\n ),\n );\n\nfunction tenantVercelConvexUrlWriteNames(\n system: InfisicalTenantSoftwareSystem,\n): readonly string[] {\n const names = [system.convex.urlEnv, \"NEXT_PUBLIC_CONVEX_URL\"];\n if (system.id === \"stack-eng\") {\n return [...names, \"STACKOS_ENGINEERING_GRAPH_CONVEX_URL\"];\n }\n return names;\n}\n\nfunction tenantRepositoryConvexUrlWriteNames(\n system: InfisicalTenantSoftwareSystem,\n): readonly string[] {\n if (system.id === \"stack-eng\") {\n return [system.convex.urlEnv, \"STACKOS_ENGINEERING_GRAPH_CONVEX_URL\"];\n }\n return [system.convex.urlEnv];\n}\n\nfunction tenantRepositoryConvexDeployKeyWriteNames(\n system: InfisicalTenantSoftwareSystem,\n): readonly string[] {\n if (system.id === \"stack-eng\") {\n return [system.convex.deployKeyEnv, \"STACKOS_ENGINEERING_GRAPH_DEPLOY_KEY\"];\n }\n return [system.convex.deployKeyEnv];\n}\n\nfunction tenantConvexUrlAliases(\n system: InfisicalTenantSoftwareSystem,\n): readonly string[] | undefined {\n if (system.id === \"stack-frontend\") {\n return [\n \"CONVEX_PROD_URL\",\n \"CONVEX_STACK_V2_PROD_URL\",\n \"CONVEX_STACK_V2_STAGING_URL\",\n \"STACK_CONVEX_URL\",\n ];\n }\n if (system.id === \"stackos\") {\n return [\n \"CONVEX_CLOUD_URL\",\n \"CONVEX_STACK_URL\",\n \"CONVEX_URL\",\n \"CONVEX_URL_DEVELOPMENT\",\n \"CONVEX_URL_PRODUCTION\",\n \"STACK_CONVEX_URL\",\n ];\n }\n if (system.id === \"stack-eng\") {\n return [\"STACKOS_ENGINEERING_GRAPH_CONVEX_URL\"];\n }\n if (system.id === \"lucern-graph\") {\n return [\n \"CONVEX_GRAPH_URL\",\n \"LUCERN_PROD_URL\",\n \"NEXT_PUBLIC_LUCERN_GRAPH_URL\",\n ];\n }\n return undefined;\n}\n\nfunction tenantConvexDeployKeyAliases(\n system: InfisicalTenantSoftwareSystem,\n): readonly string[] | undefined {\n if (system.id === \"stack-frontend\") {\n return [\n \"CONVEX_STACK_V2_PROD_DEPLOY_KEY\",\n \"CONVEX_STACK_V2_STAGING_DEPLOY_KEY\",\n \"STACK_DEPLOY_KEY\",\n ];\n }\n if (system.id === \"stackos\") {\n return [\n \"CONVEX_DEPLOY_KEY\",\n \"CONVEX_DEV_DEPLOY_KEY\",\n \"CONVEX_PROD_DEPLOY_KEY\",\n \"CONVEX_STACK_DEPLOY_KEY\",\n \"STACK_DEPLOY_KEY\",\n ];\n }\n if (system.id === \"stack-eng\") {\n return [\"CONVEX_DEPLOY_KEY\", \"STACKOS_ENGINEERING_GRAPH_DEPLOY_KEY\"];\n }\n if (system.id === \"lucern-graph\") {\n return [\n \"CONVEX_DEPLOY_KEY\",\n \"CONVEX_GRAPH_DEPLOY_KEY\",\n \"LUCERN_CONVEX_DEPLOY_KEY\",\n \"LUCERN_DEV_DEPLOY_KEY\",\n \"LUCERN_PROD_DEPLOY_KEY\",\n ];\n }\n return undefined;\n}\n\nexport const TENANT_GRAPH_PUBLIC_CONFIG_SECRET_DEFINITIONS =\n INFISICAL_TENANT_SOFTWARE_SYSTEMS.flatMap(\n (system): readonly InfisicalSecretDefinition[] => {\n if (system.id === \"lucern-graph\") {\n return [\n {\n id: \"tenant.lucern-graph.public.tenant-id\",\n canonicalName: \"NEXT_PUBLIC_LUCERN_GRAPH_TENANT_ID\",\n aliases: [\"NEXT_PUBLIC_LUCERN_TENANT_ID\"],\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Lucern graph public tenant id used by the standalone graph explorer.\",\n },\n {\n id: \"tenant.lucern-graph.public.tenant-label\",\n canonicalName: \"NEXT_PUBLIC_LUCERN_GRAPH_TENANT_LABEL\",\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Lucern graph public tenant label used by the standalone graph explorer.\",\n },\n ] as const satisfies readonly InfisicalSecretDefinition[];\n }\n if (system.id === \"stack-eng\") {\n return [\n {\n id: \"tenant.stack-eng.public.tenant-id\",\n canonicalName: \"NEXT_PUBLIC_STACKOS_ENGINEERING_GRAPH_TENANT_ID\",\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Stack engineering graph public tenant id used by the graph explorer.\",\n },\n {\n id: \"tenant.stack-eng.public.tenant-label\",\n canonicalName: \"NEXT_PUBLIC_STACKOS_ENGINEERING_GRAPH_TENANT_LABEL\",\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Stack engineering graph public tenant label used by the graph explorer.\",\n },\n {\n id: \"tenant.stack-eng.public.environment\",\n canonicalName: \"NEXT_PUBLIC_STACKOS_ENGINEERING_GRAPH_ENV\",\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: true,\n consumers: [\"tenant-vercel-app\"],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Stack engineering graph public environment label used by the graph explorer.\",\n },\n ] as const satisfies readonly InfisicalSecretDefinition[];\n }\n return [] as const;\n });\n\nexport const STACK_ENG_GRAPH_STORE_SECRET_DEFINITIONS = [\n {\n id: \"tenant.stack-eng.neo4j.uri\",\n canonicalName: \"NEO4J_URI\",\n aliases: [\"NEO4J_ENG_URI\"],\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: \"/tenants/stack/engineering\",\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-graph-sync\", \"tenant-convex-deployment\"],\n destinations: [\n {\n kind: \"convex\",\n target: \"small-oyster-270|bold-cuttlefish-804\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"vercel\",\n target: \"stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: \"stack-vc/stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Stack engineering graph Neo4j runtime URI. NEO4J_ENG_URI is the source alias used to avoid StackOS front-office collisions.\",\n },\n {\n id: \"tenant.stack-eng.neo4j.user\",\n canonicalName: \"NEO4J_USER\",\n aliases: [\"NEO4J_ENG_USER\"],\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: \"/tenants/stack/engineering\",\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: false,\n public: false,\n consumers: [\"tenant-graph-sync\", \"tenant-convex-deployment\"],\n destinations: [\n {\n kind: \"convex\",\n target: \"small-oyster-270|bold-cuttlefish-804\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"vercel\",\n target: \"stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: \"stack-vc/stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description: \"Stack engineering graph Neo4j runtime user.\",\n },\n {\n id: \"tenant.stack-eng.neo4j.password\",\n canonicalName: \"NEO4J_PASSWORD\",\n aliases: [\"NEO4J_ENG_PASSWORD\"],\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: \"/tenants/stack/engineering\",\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-graph-sync\", \"tenant-convex-deployment\"],\n destinations: [\n {\n kind: \"convex\",\n target: \"small-oyster-270|bold-cuttlefish-804\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"vercel\",\n target: \"stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: \"stack-vc/stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description: \"Stack engineering graph Neo4j runtime password.\",\n },\n {\n id: \"tenant.stack-eng.neo4j.sync-secret\",\n canonicalName: \"NEO4J_SYNC_SECRET\",\n owner: \"tenant\",\n scope: \"workspace\",\n sourcePath: \"/tenants/stack/engineering\",\n environmentPolicy: \"environment_specific\",\n required: false,\n secret: true,\n public: false,\n consumers: [\"tenant-graph-sync\", \"tenant-convex-deployment\"],\n destinations: [\n {\n kind: \"convex\",\n target: \"small-oyster-270|bold-cuttlefish-804\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"vercel\",\n target: \"stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: \"stack-vc/stackos-engineering-graph\",\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n ],\n description:\n \"Stack engineering graph sync secret for Convex-to-HTTP graph query/sync calls.\",\n },\n] as const satisfies readonly InfisicalSecretDefinition[];\n\nexport const TENANT_CONVEX_SECRET_DEFINITIONS =\n INFISICAL_TENANT_SOFTWARE_SYSTEMS.flatMap((system) => [\n {\n id: `tenant.${system.id}.convex.url`,\n canonicalName: system.convex.urlEnv,\n aliases: tenantConvexUrlAliases(system),\n owner: \"tenant\",\n scope: \"software_system\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"preprod_staging_prod_prod\",\n required: true,\n secret: false,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-agent-runtime\",\n \"mc-operator-tooling\",\n ],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n writeNames: tenantVercelConvexUrlWriteNames(system),\n },\n {\n kind: \"github_actions\",\n target: `${system.repository.owner}/${system.repository.name}`,\n environmentPolicy: \"preprod_staging_prod_prod\",\n writeNames: tenantRepositoryConvexUrlWriteNames(system),\n notes:\n \"Only if that repository deploy/test workflow owns this software system.\",\n },\n ],\n description: `${system.tenantKey}/${system.workspaceKey} Convex URL. Pre-prod resolves to ${system.convex.preprodDeployment}; prod resolves to ${system.convex.prodDeployment}.`,\n },\n {\n id: `tenant.${system.id}.convex.deploy-key`,\n canonicalName: system.convex.deployKeyEnv,\n aliases: tenantConvexDeployKeyAliases(system),\n owner: \"tenant\",\n scope: \"software_system\",\n sourcePath: system.sharedSourcePath,\n environmentPolicy: \"preprod_staging_prod_prod\",\n required: true,\n secret: true,\n public: false,\n consumers: [\n \"tenant-vercel-app\",\n \"tenant-agent-runtime\",\n \"mc-operator-tooling\",\n ],\n destinations: [\n {\n kind: \"vercel\",\n target: system.vercelProjectName,\n environmentPolicy: \"preprod_staging_prod_prod\",\n },\n {\n kind: \"github_actions\",\n target: `${system.repository.owner}/${system.repository.name}`,\n environmentPolicy: \"preprod_staging_prod_prod\",\n writeNames: tenantRepositoryConvexDeployKeyWriteNames(system),\n notes:\n \"Only if that repository deploy/test workflow owns this software system.\",\n },\n ],\n description: `${system.tenantKey}/${system.workspaceKey} Convex deploy/admin key. Never route to sibling workspaces.`,\n },\n ] as const satisfies readonly InfisicalSecretDefinition[]);\n","import { z } from \"zod\";\nimport type { ProjectionRegistry } from \"../projections/index.js\";\n\nexport type InvariantId = string;\nexport type CheckerKind = \"ast\" | \"manifest\" | \"runtime\";\nexport type InvariantSeverity = \"block_publish\" | \"block_pr\" | \"warn\";\n\nexport interface CheckContext {\n repoRoot: string;\n projections: ProjectionRegistry;\n}\n\nexport interface InvariantResult {\n status: \"passed\" | \"failed\" | \"skipped\";\n evidenceRefs: string[];\n reason?: string;\n}\n\nexport interface InvariantRule {\n invariant: InvariantId;\n description: string;\n checker: CheckerKind;\n severity: InvariantSeverity;\n evaluate: (ctx: CheckContext) => Promise<InvariantResult>;\n}\n\nexport const InvariantManifestSchema = z.object({\n manifestVersion: z.literal(\"1.0.0\"),\n rules: z.array(\n z.object({\n invariant: z.string(),\n description: z.string(),\n checker: z.enum([\"ast\", \"manifest\", \"runtime\"]),\n severity: z.enum([\"block_publish\", \"block_pr\", \"warn\"]),\n })\n ),\n});\n\nexport type InvariantManifest = z.infer<typeof InvariantManifestSchema>;\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 { defineProjection } from \"./projection-dsl.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\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 sourceType: z.string().optional(),\n externalSourceType: z.string().optional(),\n sourceQuestionId: z.string().optional(),\n methodology: z.string().optional(),\n informationAsymmetry: z.string().optional(),\n sourceDescription: z.string().optional(),\n targetId: z.string().optional(),\n targetNodeId: z.string().optional(),\n linkedBeliefNodeId: z.string().optional(),\n evidenceRelation: z.enum([\"supports\", \"contradicts\"]).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\nexport const createEvidenceInputSchema = createEvidenceInputSchemaBase.refine(\n (input) => Boolean(input.text ?? input.canonicalText),\n {\n message: \"create_evidence requires text\",\n path: [\"text\"],\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\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\n return compactRecord({\n projectId: input.projectId,\n topicId: 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 sourceUrl: input.sourceUrl ?? input.source,\n sourceQuestionId: input.sourceQuestionId,\n methodology: input.methodology,\n informationAsymmetry: input.informationAsymmetry,\n sourceDescription: input.sourceDescription,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n source: input.source,\n targetId: input.targetId,\n targetNodeId: input.targetNodeId,\n weight,\n reasoning: input.reasoning,\n rationale: input.rationale,\n }),\n linkedBeliefNodeId:\n input.linkedBeliefNodeId ?? input.targetNodeId ?? input.targetId,\n evidenceRelation:\n input.evidenceRelation ??\n (weight === undefined\n ? undefined\n : weight < 0\n ? \"contradicts\"\n : \"supports\"),\n confidence:\n input.confidence ??\n (weight === undefined\n ? undefined\n : Math.min(1, Math.max(0, Math.abs(weight)))),\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 sourceUrl: v.optional(v.string()),\n sourceQuestionId: v.optional(v.string()),\n methodology: v.optional(v.string()),\n informationAsymmetry: 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 evidenceRelation: v.optional(\n v.union(\n v.literal(\"supports\"),\n v.literal(\"contradicts\"),\n ),\n ),\n confidence: v.optional(v.number()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst beliefStatusSchema = z\n .enum([\"active\", \"superseded\", \"archived\", \"unscored\", \"scored\"])\n .optional()\n .describe(\"Filter by belief lifecycle or scoring status\");\n\nexport const listBeliefsInputSchema = z.object({\n topicId: z.string().describe(\"Topic scope\"),\n worktreeId: z.string().optional().describe(\"Filter to worktree scope\"),\n status: beliefStatusSchema,\n minConfidence: z\n .number()\n .optional()\n .describe(\"Minimum confidence threshold\"),\n limit: z.number().optional().describe(\"Maximum results\"),\n includeEdgeAssociated: z\n .boolean()\n .optional()\n .describe(\"Include beliefs associated to the topic through edges\"),\n});\n\nexport type ListBeliefsProjectionInput = z.infer<\n typeof listBeliefsInputSchema\n>;\n\nfunction kernelStatus(status: ListBeliefsProjectionInput[\"status\"]) {\n return status === \"active\" ||\n status === \"superseded\" ||\n status === \"archived\"\n ? status\n : undefined;\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\nexport const listBeliefsProjection = defineProjection({\n contractName: \"list_beliefs\",\n inputSchema: listBeliefsInputSchema,\n project: (input: ListBeliefsProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: kernelStatus(input.status),\n limit: input.limit,\n includeEdgeAssociated: input.includeEdgeAssociated,\n }),\n convexArgsValidator: v.object({\n topicId: v.string(),\n status: v.optional(\n v.union(\n v.literal(\"active\"),\n v.literal(\"superseded\"),\n v.literal(\"archived\"),\n ),\n ),\n limit: v.optional(v.number()),\n includeEdgeAssociated: v.optional(v.boolean()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst taskStatusSchema = z\n .enum([\"todo\", \"in_progress\", \"blocked\", \"done\"])\n .optional()\n .describe(\"Filter by task status\");\n\nexport const listTasksInputSchema = z\n .object({\n topicId: z.string().optional().describe(\"Topic scope\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Alias for linkedWorktreeId\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Filter to tasks linked to this worktree\"),\n status: taskStatusSchema,\n limit: z.number().optional().describe(\"Maximum results\"),\n })\n .refine(\n (input) => Boolean(input.topicId || input.worktreeId || input.linkedWorktreeId),\n {\n message: \"topicId or worktreeId is required\",\n },\n );\n\nexport type ListTasksProjectionInput = z.infer<typeof listTasksInputSchema>;\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\nexport const listTasksProjection = defineProjection({\n contractName: \"list_tasks\",\n inputSchema: listTasksInputSchema,\n project: (input: ListTasksProjectionInput) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n userId: undefined,\n limit: input.limit,\n linkedWorktreeId: input.linkedWorktreeId ?? input.worktreeId,\n }),\n convexArgsValidator: v.object({\n topicId: v.optional(v.string()),\n status: v.optional(\n v.union(\n v.literal(\"todo\"),\n v.literal(\"in_progress\"),\n v.literal(\"blocked\"),\n v.literal(\"done\"),\n ),\n ),\n limit: v.optional(v.number()),\n linkedWorktreeId: v.optional(v.string()),\n }),\n});\n","import { v } from \"convex/values\";\nimport { z } from \"zod\";\nimport { defineProjection } from \"./projection-dsl.js\";\n\nconst confidenceTriggerSchema = z.enum([\n \"evidence_added\",\n \"evidence_removed\",\n \"contradiction_resolved\",\n \"agent_assessment\",\n \"worktree_outcome\",\n \"worktree_completed\",\n \"contradiction_detected\",\n \"answer_recorded\",\n \"fusion\",\n \"discount\",\n \"deduction\",\n \"backfill_synthetic\",\n]);\n\nconst provenanceSchema = z.object({\n evidence: z.string().optional(),\n question: z.string().optional(),\n answer: z.string().optional(),\n contradiction: z.string().optional(),\n worktree: z.string().optional(),\n});\n\nconst slOpinionProjectionSchema = z.object({\n belief: z.number(),\n disbelief: z.number(),\n uncertainty: z.number(),\n baseRate: z.number(),\n});\n\nconst modulateConfidenceInputObjectSchema = z.object({\n nodeId: z.string().optional(),\n beliefNodeId: z.string().optional(),\n worktreeId: z.string().optional(),\n opinion: slOpinionProjectionSchema.optional(),\n belief: z.number().optional(),\n disbelief: z.number().optional(),\n uncertainty: z.number().optional(),\n baseRate: z.number().optional(),\n trigger: confidenceTriggerSchema,\n provenance: provenanceSchema.optional(),\n triggeringEvidenceId: z.string().optional(),\n triggeringQuestionId: z.string().optional(),\n triggeringAnswerId: z.string().optional(),\n triggeringContradictionId: z.string().optional(),\n triggeringWorktreeId: z.string().optional(),\n rationale: z.string(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nexport const modulateConfidenceInputSchema =\n modulateConfidenceInputObjectSchema.superRefine((input, ctx) => {\n if (hasProvenance(input)) {\n return;\n }\n\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message:\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n path: [\"provenance\"],\n });\n });\n\nexport type ModulateConfidenceProjectionInput = z.infer<\n typeof modulateConfidenceInputSchema\n>;\n\nexport const modulateConfidenceProjection = defineProjection({\n contractName: \"modulate_confidence\",\n inputSchema: modulateConfidenceInputSchema,\n project: (input: ModulateConfidenceProjectionInput) => {\n const nodeId = input.beliefNodeId ?? input.nodeId;\n if (!nodeId) {\n throw new Error(\"modulate_confidence requires beliefNodeId or nodeId\");\n }\n\n const opinion = input.opinion ?? {\n belief: requireNumber(input.belief, \"belief\"),\n disbelief: requireNumber(input.disbelief, \"disbelief\"),\n uncertainty: requireNumber(input.uncertainty, \"uncertainty\"),\n baseRate: requireNumber(input.baseRate, \"baseRate\"),\n };\n assertProvenance(input);\n\n return {\n nodeId,\n worktreeId: input.worktreeId,\n belief: opinion.belief,\n disbelief: opinion.disbelief,\n uncertainty: opinion.uncertainty,\n baseRate: opinion.baseRate,\n trigger:\n input.trigger === \"answer_recorded\"\n ? \"agent_assessment\"\n : input.trigger,\n triggeringEvidenceId:\n input.provenance?.evidence ?? input.triggeringEvidenceId,\n triggeringQuestionId:\n input.provenance?.question ?? input.triggeringQuestionId,\n triggeringAnswerId: input.provenance?.answer ?? input.triggeringAnswerId,\n triggeringContradictionId:\n input.provenance?.contradiction ?? input.triggeringContradictionId,\n triggeringWorktreeId:\n input.provenance?.worktree ?? input.triggeringWorktreeId,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n };\n },\n convexArgsValidator: v.object({\n nodeId: v.string(),\n worktreeId: v.optional(v.string()),\n belief: v.number(),\n disbelief: v.number(),\n uncertainty: v.number(),\n baseRate: v.number(),\n trigger: v.union(\n v.literal(\"evidence_added\"),\n v.literal(\"evidence_removed\"),\n v.literal(\"worktree_completed\"),\n v.literal(\"contradiction_detected\"),\n v.literal(\"contradiction_resolved\"),\n v.literal(\"agent_assessment\"),\n v.literal(\"worktree_outcome\"),\n v.literal(\"fusion\"),\n v.literal(\"discount\"),\n v.literal(\"deduction\"),\n v.literal(\"backfill_synthetic\"),\n ),\n triggeringEvidenceId: v.optional(v.string()),\n triggeringQuestionId: v.optional(v.string()),\n triggeringAnswerId: v.optional(v.string()),\n triggeringContradictionId: v.optional(v.string()),\n triggeringWorktreeId: v.optional(v.string()),\n rationale: v.string(),\n trustedBypassAccessCheck: v.optional(v.boolean()),\n }),\n});\n\nfunction requireNumber(value: number | undefined, field: string): number {\n if (value === undefined) {\n throw new Error(`modulate_confidence requires ${field}`);\n }\n return value;\n}\n\nfunction assertProvenance(input: ModulateConfidenceProjectionInput): void {\n if (!hasProvenance(input)) {\n throw new Error(\n \"modulate_confidence requires evidence, question, answer, contradiction, or worktree provenance\",\n );\n }\n}\n\nfunction hasProvenance(input: ModulateConfidenceProjectionInput): boolean {\n return (\n input.trigger === \"backfill_synthetic\" ||\n Boolean(input.provenance && Object.values(input.provenance).some(Boolean)) ||\n Boolean(input.triggeringEvidenceId) ||\n Boolean(input.triggeringQuestionId) ||\n Boolean(input.triggeringAnswerId) ||\n Boolean(input.triggeringContradictionId) ||\n Boolean(input.triggeringWorktreeId)\n );\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 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 \"compile_context\",\n \"identity_whoami\",\n \"resolve_interactive_principal\",\n \"check_permission\",\n \"filter_by_permission\",\n \"create_belief\",\n \"get_belief\",\n \"list_beliefs\",\n \"refine_belief\",\n \"modulate_confidence\",\n \"fork_belief\",\n \"archive_belief\",\n \"search_beliefs\",\n \"bisect_confidence\",\n \"create_evidence\",\n \"get_evidence\",\n \"list_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 \"traverse_graph\",\n \"get_graph_neighborhood\",\n \"get_graph_structure_analysis\",\n \"list_graph_intelligence_queries\",\n \"run_graph_intelligence_query\",\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_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 ...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","import { z } from \"zod\";\nimport type { FunctionEffect } from \"../dsl/defineFunction.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\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 {\n compactRecord,\n recordValue,\n surfaceContract,\n withUserId,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst observationArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope for the observation.\"),\n summary: z.string().describe(\"Short observation summary.\"),\n text: z\n .string()\n .optional()\n .describe(\"Canonical observation text alias.\"),\n title: z.string().optional().describe(\"Optional observation title.\"),\n content: z.string().optional().describe(\"Optional rich observation content.\"),\n contentType: z.string().optional().describe(\"Observation content type.\"),\n kind: z.string().optional().describe(\"Evidence kind to store.\"),\n observationType: z.string().optional().describe(\"Observation type.\"),\n tags: z.array(z.string()).optional().describe(\"Observation tags.\"),\n source: z.string().optional().describe(\"Observation source label.\"),\n sourceType: z.string().optional().describe(\"Evidence source type.\"),\n externalSourceType: z\n .string()\n .optional()\n .describe(\"External source type for imported observations.\"),\n sourceUrl: z.string().optional().describe(\"Canonical source URL.\"),\n confidence: z.number().optional().describe(\"Observation confidence.\"),\n metadata: jsonRecordSchema.optional().describe(\"Observation metadata.\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this observation should be recorded.\"),\n});\n\nconst observationContextArgs = z.object({\n topicId: z.string().describe(\"Topic scope.\"),\n query: z.string().optional().describe(\"Optional context query.\"),\n limit: z.number().optional().describe(\"Maximum observations to return.\"),\n status: z.string().optional().describe(\"Observation status filter.\"),\n});\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nconst observationInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n withUserId(\n compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text: input.text ?? input.summary,\n title: input.title ?? input.summary,\n content: input.content ?? input.summary,\n contentType: input.contentType,\n kind: input.kind ?? input.observationType ?? \"observation\",\n tags: input.tags,\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType,\n sourceUrl: input.sourceUrl,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n observationType: input.observationType,\n source: input.source,\n }),\n rationale:\n input.rationale ??\n input.reasoning ??\n input.summary ??\n input.text ??\n \"Recorded observation\",\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n );\n\nexport const contextContracts = [\n surfaceContract({\n name: \"compile_context\",\n kind: \"query\",\n domain: \"context\",\n surfaceClass: \"platform_public\",\n path: \"/context/compile\",\n sdkNamespace: \"context\",\n sdkMethod: \"compileContext\",\n summary: \"Compile a focused reasoning context, resolving topic from query when omitted.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"compile\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"ingest_observation\",\n kind: \"mutation\",\n domain: \"observations\",\n surfaceClass: \"tenant_public\",\n path: \"/observations/ingest\",\n sdkNamespace: \"observations\",\n sdkMethod: \"ingestObservation\",\n summary: \"Ingest a non-destructive observation.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: observationInput,\n outputProjection: (output, input) => ({\n ...(isRecord(output)\n ? output\n : {}),\n observationId:\n isRecord(output)\n ? output.nodeId\n : undefined,\n observationType: input.observationType,\n }),\n },\n args: observationArgs,\n }),\n surfaceContract({\n name: \"get_observation_context\",\n kind: \"query\",\n domain: \"observations\",\n surfaceClass: \"tenant_public\",\n path: \"/observations/context\",\n sdkNamespace: \"observations\",\n sdkMethod: \"getObservationContext\",\n summary: \"Read staged observation context.\",\n convex: {\n module: \"evidence\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId,\n limit: input.limit,\n status: input.status,\n userId: input.userId,\n }),\n },\n args: observationContextArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst withPrincipal = (\n input: Record<string, unknown>,\n context: {\n tenantId?: string;\n workspaceId?: string;\n userId?: string;\n principalId?: string;\n }\n) => ({\n ...input,\n tenantId: input.tenantId ?? context.tenantId,\n workspaceId: input.workspaceId ?? context.workspaceId,\n userId: input.userId ?? context.userId,\n principalId: input.principalId ?? context.principalId ?? context.userId,\n});\n\nexport const identityContracts = [\n surfaceContract({\n name: \"identity_whoami\",\n kind: \"query\",\n domain: \"identity\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/identity/whoami\",\n sdkNamespace: \"identity\",\n sdkMethod: \"whoami\",\n summary: \"Describe the current gateway principal.\",\n gateway: {\n handler: \"identity.whoami\",\n },\n }),\n surfaceContract({\n name: \"resolve_interactive_principal\",\n kind: \"query\",\n domain: \"controlPlane\",\n surfaceClass: \"platform_public\",\n method: \"POST\",\n path: \"/control-plane/identity/resolve-interactive-principal\",\n sdkNamespace: \"controlPlane.identity\",\n sdkMethod: \"resolveInteractivePrincipal\",\n summary:\n \"Resolve an authenticated Clerk user into a Permit-backed Lucern principal context.\",\n args: z.object({\n clerkId: z.string().min(1),\n tenantId: z.string().min(1).optional(),\n workspaceId: z.string().min(1).optional(),\n providerProjectId: z.string().min(1).optional(),\n }),\n convex: {\n module: \"platform\",\n functionName: \"resolveInteractivePrincipal\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"check_permission\",\n kind: \"query\",\n domain: \"identity\",\n surfaceClass: \"platform_public\",\n path: \"/identity/check-permission\",\n sdkNamespace: \"identity\",\n sdkMethod: \"checkPermission\",\n summary: \"Check whether the current principal can access a topic.\",\n convex: {\n module: \"identity\",\n functionName: \"checkPermission\",\n kind: \"query\",\n inputProjection: withPrincipal,\n },\n }),\n surfaceContract({\n name: \"filter_by_permission\",\n kind: \"query\",\n domain: \"identity\",\n surfaceClass: \"platform_public\",\n path: \"/identity/filter-by-permission\",\n sdkNamespace: \"identity\",\n sdkMethod: \"filterByPermission\",\n summary: \"Filter topic ids by the current principal's permission.\",\n convex: {\n module: \"identity\",\n functionName: \"filterByPermission\",\n kind: \"query\",\n inputProjection: withPrincipal,\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { z } from \"zod\";\nimport { compactRecord, surfaceContract, withUserId } from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { listBeliefsInputSchema } from \"../projections/list-beliefs.projection.js\";\nimport {\n modulateConfidenceInputSchema,\n modulateConfidenceProjection,\n} from \"../projections/modulate-confidence.projection.js\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst sourceTypeSchema = z.enum([\"human\", \"ai_extracted\", \"ai_generated\"]);\n\nconst reversibilitySchema = z.enum([\n \"irreversible\",\n \"hard_to_reverse\",\n \"reversible\",\n \"trivial\",\n]);\n\nconst predictionMetaSchema = z.object({\n isPrediction: z.boolean().describe(\"Whether this belief is a prediction.\"),\n registeredAt: z\n .number()\n .describe(\"Timestamp when the prediction was registered.\"),\n expectedBy: z\n .number()\n .optional()\n .describe(\"Timestamp when the prediction should be evaluated.\"),\n});\n\nconst createBeliefArgs = z.object({\n canonicalText: z\n .string()\n .describe(\"The belief statement the agent holds to be true.\"),\n topicId: z.string().optional().describe(\"Topic scope hint for the belief.\"),\n baseRate: z\n .number()\n .optional()\n .describe(\"Prior base rate used to seed the vacuous opinion.\"),\n beliefType: z.string().optional().describe(\"Schema belief type.\"),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Extra metadata merged into the belief node.\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this belief should enter the reasoning graph.\"),\n pillar: z\n .string()\n .optional()\n .describe(\"Innovation pillar or product pillar associated with the belief.\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Worktree responsible for creating or testing this belief.\"),\n sourceBeliefIds: z\n .array(z.string())\n .optional()\n .describe(\"Source belief IDs this belief derives from.\"),\n sourceType: sourceTypeSchema\n .optional()\n .describe(\"Actor/source class that produced the belief.\"),\n reversibility: reversibilitySchema\n .optional()\n .describe(\"How reversible the belief's implied decision is.\"),\n predictionMeta: predictionMetaSchema\n .optional()\n .describe(\"Prediction lifecycle metadata when this belief is a forecast.\"),\n});\n\nconst forkBeliefArgs = z.object({\n nodeId: z.string().describe(\"The scored belief to fork from.\"),\n newFormulation: z.string().describe(\"The evolved belief statement.\"),\n forkReason: z\n .enum([\n \"refinement\",\n \"contradiction_response\",\n \"scope_change\",\n \"confidence_collapse\",\n \"manual\",\n ])\n .describe(\"Why this fork was created.\"),\n rationale: z.string().optional().describe(\"Why the fork is warranted.\"),\n});\n\nconst beliefLookupInput = (input: Record<string, unknown>) =>\n compactRecord({\n nodeId: input.nodeId ?? input.id ?? input.beliefId,\n beliefId: input.beliefId,\n });\n\nconst beliefNodeInput = (input: Record<string, unknown>) =>\n compactRecord({\n nodeId: input.nodeId ?? input.id ?? input.beliefId,\n });\n\nconst createBeliefInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) => {\n return withUserId(\n compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n formulation: input.formulation ?? input.canonicalText,\n beliefType: input.beliefType,\n rationale: input.rationale,\n pillar: input.pillar,\n worktreeId: input.worktreeId,\n sourceBeliefIds: input.sourceBeliefIds,\n sourceType: input.sourceType,\n reversibility: input.reversibility,\n predictionMeta: input.predictionMeta,\n baseRate: input.baseRate ?? 0.5,\n metadata: input.metadata,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n );\n};\n\nconst forkBeliefInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n withUserId(\n compactRecord({\n parentNodeId: input.parentNodeId ?? input.nodeId ?? input.id,\n newFormulation: input.newFormulation,\n forkReason: input.forkReason,\n rationale: input.rationale,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n );\n\nconst confidenceInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) => {\n const parsed = modulateConfidenceProjection.inputSchema.safeParse(input);\n if (!parsed.success) {\n throw new Error(\n `modulate_confidence projection input rejected: ${parsed.error.message}`\n );\n }\n\n return withUserId(\n compactRecord(modulateConfidenceProjection.project(parsed.data)),\n context\n );\n};\n\nexport const beliefsContracts = [\n surfaceContract({\n name: \"create_belief\",\n kind: \"mutation\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n path: \"/beliefs\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"createBelief\",\n summary: \"Create a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createBeliefInput,\n },\n args: createBeliefArgs,\n }),\n surfaceContract({\n name: \"get_belief\",\n kind: \"query\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/beliefs/get\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"getBelief\",\n summary: \"Get a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"getById\",\n kind: \"query\",\n inputProjection: beliefLookupInput,\n },\n }),\n surfaceContract({\n name: \"list_beliefs\",\n kind: \"query\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/beliefs\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"listBeliefs\",\n summary: \"List beliefs for a topic.\",\n gateway: {\n handler: \"beliefs.list\",\n },\n args: listBeliefsInputSchema,\n }),\n surfaceContract({\n name: \"refine_belief\",\n kind: \"mutation\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/beliefs/refine\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"refineBelief\",\n summary: \"Refine an unscored belief in place.\",\n convex: {\n module: \"beliefs\",\n functionName: \"refineBelief\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n {\n ...beliefLookupInput(input),\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n },\n context\n ),\n },\n }),\n surfaceContract({\n name: \"modulate_confidence\",\n kind: \"mutation\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n path: \"/beliefs/confidence\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"modulateConfidence\",\n summary: \"Append a belief confidence modulation.\",\n convex: {\n module: \"beliefs\",\n functionName: \"modulateConfidence\",\n kind: \"mutation\",\n inputProjection: confidenceInput,\n },\n args: modulateConfidenceInputSchema,\n }),\n surfaceContract({\n name: \"fork_belief\",\n kind: \"mutation\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n path: \"/beliefs/fork\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"forkBelief\",\n summary: \"Fork a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"forkBelief\",\n kind: \"mutation\",\n inputProjection: forkBeliefInput,\n },\n args: forkBeliefArgs,\n }),\n surfaceContract({\n name: \"archive_belief\",\n kind: \"mutation\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/beliefs\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"archiveBelief\",\n summary: \"Archive a belief.\",\n convex: {\n module: \"beliefs\",\n functionName: \"archive\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n ...beliefNodeInput(input),\n reason: input.reason ?? input.rationale,\n }),\n context\n ),\n },\n }),\n surfaceContract({\n name: \"search_beliefs\",\n kind: \"query\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n path: \"/beliefs/search\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"searchBeliefs\",\n summary: \"Search beliefs.\",\n convex: {\n module: \"nodes\",\n functionName: \"search\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n searchQuery: input.searchQuery ?? input.query,\n projectId: input.projectId,\n topicId: input.topicId,\n nodeType: \"belief\",\n limit: input.limit,\n }),\n },\n }),\n surfaceContract({\n name: \"bisect_confidence\",\n kind: \"query\",\n domain: \"beliefs\",\n surfaceClass: \"platform_public\",\n path: \"/beliefs/confidence/bisect\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"bisectConfidence\",\n summary: \"Read belief confidence history for bisection.\",\n convex: {\n module: \"beliefs\",\n functionName: \"getConfidenceHistory\",\n kind: \"query\",\n inputProjection: beliefNodeInput,\n },\n }),\n surfaceContract({\n name: \"get_confidence_history\",\n kind: \"query\",\n domain: \"beliefs\",\n surfaceClass: \"legacy_compat\",\n replacedBy: \"bisect_confidence\",\n path: \"/beliefs/confidence-history\",\n sdkNamespace: \"beliefs\",\n sdkMethod: \"getConfidenceHistory\",\n summary: \"Legacy confidence-history alias for the generated belief history route.\",\n convex: {\n module: \"beliefs\",\n functionName: \"getConfidenceHistory\",\n kind: \"query\",\n inputProjection: beliefNodeInput,\n },\n }),\n] as const satisfies readonly FunctionContract[];\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 { z } from \"zod\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst evidenceRelationSchema = z.enum([\"supports\", \"contradicts\"]);\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 targetId: z\n .string()\n .optional()\n .describe(\"Belief or question identifier to link immediately.\"),\n linkedBeliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node this evidence bears on.\"),\n evidenceRelation: evidenceRelationSchema\n .optional()\n .describe(\"How the evidence relates to the linked belief.\"),\n confidence: z\n .number()\n .optional()\n .describe(\"Confidence in the evidence relation.\"),\n weight: z\n .number()\n .optional()\n .describe(\"Support weight from -1.0 to +1.0.\"),\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: z.string().optional().describe(\"Collection methodology.\"),\n informationAsymmetry: z\n .string()\n .optional()\n .describe(\"Information asymmetry class.\"),\n sourceDescription: z\n .string()\n .optional()\n .describe(\"Human-readable source description.\"),\n});\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 .optional()\n .describe(\"Support weight 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 evidenceIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n evidenceId: input.evidenceId,\n insightId: input.insightId,\n nodeId: input.nodeId ?? input.id ?? input.evidenceId,\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\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:\n typeof input.weight === \"number\"\n ? input.weight\n : input.type === \"contradicting\"\n ? -1\n : 1,\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 const weight = typeof input.weight === \"number\" ? input.weight : 0.7;\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 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 convex: {\n module: \"evidence\",\n functionName: \"getById\",\n kind: \"query\",\n inputProjection: evidenceIdInput,\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 }),\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 convex: {\n module: \"nodes\",\n functionName: \"search\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n searchQuery: input.searchQuery ?? input.q ?? input.query,\n projectId: input.projectId,\n topicId: input.topicId,\n nodeType: \"evidence\",\n limit: input.limit,\n }),\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: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: linkEvidenceToBeliefEdgeInput,\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","import { compactRecord, surfaceContract, withUserId } from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst questionPrioritySchema = z.enum([\"urgent\", \"high\", \"medium\", \"low\"]);\n\nconst kernelQuestionPrioritySchema = z.enum([\n \"critical\",\n \"high\",\n \"medium\",\n \"low\",\n]);\n\nconst questionTypeSchema = z.enum([\n \"validation\",\n \"falsification\",\n \"assumption_probe\",\n \"prediction_test\",\n \"counterfactual\",\n \"discovery\",\n \"clarification\",\n \"comparison\",\n \"causal\",\n \"mechanism\",\n \"general\",\n]);\n\nconst createQuestionArgs = z.object({\n text: z.string().describe(\"The question text.\"),\n question: z\n .string()\n .optional()\n .describe(\"Backend question text alias for kernel-native callers.\"),\n topicId: z.string().optional().describe(\"Topic scope hint.\"),\n priority: questionPrioritySchema\n .optional()\n .describe(\"Human-facing question priority.\"),\n linkedBeliefId: z\n .string()\n .optional()\n .describe(\"Belief this question tests.\"),\n linkedBeliefNodeId: z\n .string()\n .optional()\n .describe(\"Belief node this question tests.\"),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Optional metadata merged into the question record.\"),\n category: z.string().optional().describe(\"Question category.\"),\n source: z.string().optional().describe(\"Question source.\"),\n testType: z\n .enum([\"validates\", \"invalidates\", \"clarifies\"])\n .optional()\n .describe(\"How this question tests its linked belief.\"),\n importance: z.number().optional().describe(\"Numeric importance score.\"),\n epistemicUnlock: z\n .string()\n .optional()\n .describe(\"What this question unlocks if answered.\"),\n sourceQuestionIds: z\n .array(z.string())\n .optional()\n .describe(\"Question IDs this question derives from.\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Worktree this question belongs to.\"),\n questionType: questionTypeSchema.optional().describe(\"Question type.\"),\n questionPriority: kernelQuestionPrioritySchema\n .optional()\n .describe(\"Kernel-native question priority.\"),\n});\n\nconst refineQuestionArgs = z.object({\n id: z.string().describe(\"The question to refine.\"),\n text: z.string().describe(\"Updated question text.\"),\n question: z\n .string()\n .optional()\n .describe(\"Backend question text alias for kernel-native callers.\"),\n rationale: z.string().optional().describe(\"Why the question is refined.\"),\n category: z.string().optional().describe(\"Updated question category.\"),\n priority: questionPrioritySchema\n .optional()\n .describe(\"Updated human-facing priority.\"),\n});\n\nconst createAnswerArgs = z.object({\n questionNodeId: z\n .string()\n .describe(\"The question node ID this answer responds to.\"),\n questionId: z\n .string()\n .optional()\n .describe(\"Question ID alias accepted by the projection.\"),\n answerText: z.string().describe(\"The answer content.\"),\n topicId: z.string().optional().describe(\"Topic scope for the answer.\"),\n confidence: z.string().optional().describe(\"Answer confidence.\"),\n evidenceNodeIds: z\n .array(z.string())\n .optional()\n .describe(\"Evidence node IDs supporting the answer.\"),\n answerSource: z.string().optional().describe(\"How the answer was produced.\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Worktree whose outcome produced this answer.\"),\n sprintId: z.string().optional().describe(\"Legacy sprint identifier.\"),\n});\n\nconst answerQuestionArgs = z.object({\n id: z.string().describe(\"Canonical question ID.\"),\n topicId: z.string().describe(\"Topic scope for the answer.\"),\n text: z.string().describe(\"Answer text.\"),\n confidence: z\n .enum([\"weak\", \"medium\", \"strong\"])\n .optional()\n .describe(\"Optional answer confidence.\"),\n evidenceIds: z\n .array(z.string())\n .optional()\n .describe(\"Canonical evidence IDs supporting the answer.\"),\n rationale: z.string().optional().describe(\"Why this answer is credible.\"),\n questionId: z\n .string()\n .optional()\n .describe(\"Question ID alias accepted by the projection.\"),\n questionNodeId: z\n .string()\n .optional()\n .describe(\"Question node ID alias accepted by the projection.\"),\n answerText: z\n .string()\n .optional()\n .describe(\"Canonical answer text alias accepted by newer callers.\"),\n evidenceNodeIds: z\n .array(z.string())\n .optional()\n .describe(\"Evidence node ID alias accepted by newer callers.\"),\n answerSource: z.string().optional().describe(\"How the answer was produced.\"),\n worktreeId: z\n .string()\n .optional()\n .describe(\"Worktree whose outcome produced this answer.\"),\n sprintId: z.string().optional().describe(\"Legacy sprint identifier.\"),\n});\n\nconst missingQuestionsArgs = z.object({\n topicId: z.string().describe(\"Topic scope.\"),\n minConfidence: z\n .number()\n .optional()\n .describe(\"Minimum confidence threshold for missing-question checks.\"),\n status: z.string().optional().describe(\"Question status filter.\"),\n limit: z.number().optional().describe(\"Maximum questions to inspect.\"),\n});\n\nconst falsificationQuestionsArgs = z.object({\n topicId: z.string().describe(\"Topic scope.\"),\n beliefIds: z\n .array(z.string())\n .optional()\n .describe(\"Beliefs to generate falsification questions for.\"),\n status: z.string().optional().describe(\"Question status filter.\"),\n limit: z.number().optional().describe(\"Maximum questions to inspect.\"),\n});\n\nconst questionIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n questionId: input.questionId ?? input.id ?? input.nodeId,\n nodeId: input.nodeId,\n });\n\nconst questionNodeInput = (input: Record<string, unknown>) =>\n compactRecord({\n nodeId: input.nodeId ?? input.id ?? input.questionId,\n questionId: input.questionId,\n });\n\nconst questionTopicInput = (input: Record<string, unknown>) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n userId: input.userId,\n limit: input.limit,\n });\n\nconst createQuestionInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) => {\n const priority = input.priority === \"urgent\" ? \"high\" : input.priority;\n return withUserId(\n compactRecord({\n topicId: input.topicId,\n question: input.question ?? input.text,\n category: input.category,\n priority,\n source: input.source,\n linkedBeliefNodeId: input.linkedBeliefNodeId ?? input.linkedBeliefId,\n testType: input.testType,\n importance: input.importance,\n epistemicUnlock: input.epistemicUnlock,\n sourceQuestionIds: input.sourceQuestionIds,\n linkedWorktreeId: input.linkedWorktreeId,\n questionType: input.questionType,\n questionPriority: input.questionPriority,\n }),\n context\n );\n};\n\nexport const questionsContracts = [\n surfaceContract({\n name: \"create_question\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n path: \"/questions\",\n sdkNamespace: \"questions\",\n sdkMethod: \"createQuestion\",\n summary: \"Create a question.\",\n convex: {\n module: \"questions\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createQuestionInput,\n },\n args: createQuestionArgs,\n }),\n surfaceContract({\n name: \"get_question\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/questions/get\",\n sdkNamespace: \"questions\",\n sdkMethod: \"getQuestion\",\n summary: \"Get a question.\",\n convex: {\n module: \"questions\",\n functionName: \"getById\",\n kind: \"query\",\n inputProjection: questionNodeInput,\n },\n }),\n surfaceContract({\n name: \"list_questions\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/questions\",\n sdkNamespace: \"questions\",\n sdkMethod: \"listQuestions\",\n summary: \"List questions for a topic.\",\n gateway: {\n handler: \"questions.list\",\n },\n }),\n surfaceContract({\n name: \"refine_question\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/questions/refine\",\n sdkNamespace: \"questions\",\n sdkMethod: \"refineQuestion\",\n summary: \"Refine a question.\",\n convex: {\n module: \"questions\",\n functionName: \"updateQuestion\",\n kind: \"mutation\",\n inputProjection: (input) =>\n compactRecord({\n questionId: input.questionId ?? input.id ?? input.nodeId,\n question: input.question ?? input.text,\n category: input.category,\n priority: input.priority,\n }),\n },\n args: refineQuestionArgs,\n }),\n surfaceContract({\n name: \"update_question_status\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/questions/status\",\n sdkNamespace: \"questions\",\n sdkMethod: \"updateQuestionStatus\",\n summary: \"Update a question status.\",\n convex: {\n module: \"questions\",\n functionName: \"updateStatus\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n questionId: input.questionId ?? input.id,\n nodeId: input.nodeId,\n status: input.status,\n answer: input.answer,\n answerStatus: input.answerStatus,\n }),\n context\n ),\n },\n }),\n surfaceContract({\n name: \"archive_question\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/questions\",\n sdkNamespace: \"questions\",\n sdkMethod: \"archiveQuestion\",\n summary: \"Archive a question.\",\n convex: {\n module: \"questions\",\n functionName: \"deleteQuestion\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n questionId: input.questionId ?? input.id ?? input.nodeId,\n }),\n context\n ),\n },\n }),\n surfaceContract({\n name: \"create_answer\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n path: \"/answers\",\n sdkNamespace: \"answers\",\n sdkMethod: \"createAnswer\",\n summary: \"Create an answer.\",\n convex: {\n module: \"answers\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n topicId: input.topicId,\n questionNodeId: input.questionNodeId ?? input.questionId,\n answerText: input.answerText,\n confidence: input.confidence,\n evidenceNodeIds: input.evidenceNodeIds,\n answerSource: input.answerSource,\n worktreeId: input.worktreeId,\n sprintId: input.sprintId,\n }),\n context\n ),\n },\n args: createAnswerArgs,\n }),\n surfaceContract({\n name: \"answer_question\",\n kind: \"mutation\",\n domain: \"questions\",\n surfaceClass: \"legacy_compat\",\n replacedBy: \"create_answer\",\n path: \"/questions/answer\",\n sdkNamespace: \"answers\",\n sdkMethod: \"answerQuestion\",\n summary: \"Legacy question-answer alias that writes through create_answer.\",\n convex: {\n module: \"answers\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n topicId: input.topicId,\n questionNodeId: input.questionNodeId ?? input.questionId ?? input.id,\n answerText: input.answerText ?? input.text,\n evidenceNodeIds: input.evidenceNodeIds ?? input.evidenceIds,\n answerSource: input.answerSource ?? \"human\",\n confidence: input.confidence,\n worktreeId: input.worktreeId,\n sprintId: input.sprintId,\n }),\n context\n ),\n },\n args: answerQuestionArgs,\n }),\n surfaceContract({\n name: \"get_answer\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/answers/get\",\n sdkNamespace: \"answers\",\n sdkMethod: \"getAnswer\",\n summary: \"Get the latest answer for a question.\",\n convex: {\n module: \"answers\",\n functionName: \"getLatestForQuestion\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"find_missing_questions\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n path: \"/questions/missing\",\n sdkNamespace: \"questions\",\n sdkMethod: \"findMissingQuestions\",\n summary: \"List open questions as missing-question candidates.\",\n convex: {\n module: \"questions\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: questionTopicInput,\n },\n args: missingQuestionsArgs,\n }),\n surfaceContract({\n name: \"get_high_priority_questions\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n path: \"/questions/high-priority\",\n sdkNamespace: \"questions\",\n sdkMethod: \"getHighPriorityQuestions\",\n summary: \"List high-priority questions.\",\n convex: {\n module: \"questions\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n ...questionTopicInput(input),\n status: input.includeAnswered === true ? undefined : \"open\",\n }),\n },\n }),\n surfaceContract({\n name: \"get_falsification_questions\",\n kind: \"query\",\n domain: \"questions\",\n surfaceClass: \"platform_public\",\n path: \"/questions/falsification\",\n sdkNamespace: \"questions\",\n sdkMethod: \"getFalsificationQuestions\",\n summary: \"List falsification questions.\",\n convex: {\n module: \"questions\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: questionTopicInput,\n },\n args: falsificationQuestionsArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract, withCreatedBy } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst topicVisibilitySchema = z.enum([\n \"private\",\n \"team\",\n \"firm\",\n \"external\",\n \"public\",\n]);\n\nconst topicStatusSchema = z.enum([\"active\", \"archived\", \"watching\"]);\n\nconst createTopicArgs = z.object({\n globalId: z.string().optional().describe(\"Optional idempotent topic global ID.\"),\n name: z.string().describe(\"Topic name.\"),\n description: z.string().optional().describe(\"Topic description.\"),\n type: z.string().describe(\"Topic type.\"),\n parentTopicId: z.string().optional().describe(\"Optional parent topic ID.\"),\n parentTopicGlobalId: z\n .string()\n .optional()\n .describe(\"Optional parent topic global ID.\"),\n ontologyId: z.string().optional().describe(\"Ontology to bind.\"),\n tenantId: z.string().optional().describe(\"Optional tenant scope.\"),\n workspaceId: z.string().optional().describe(\"Optional workspace scope.\"),\n visibility: topicVisibilitySchema.optional().describe(\"Topic visibility.\"),\n metadata: z.record(z.unknown()).optional().describe(\"Topic metadata.\"),\n graphScopeProjectId: z.string().optional(),\n createdBy: z.string().optional(),\n});\n\nconst updateTopicArgs = z.object({\n id: z.string().describe(\"Topic ID.\"),\n topicId: z.string().optional().describe(\"Topic ID alias.\"),\n name: z.string().optional().describe(\"Topic name.\"),\n description: z.string().optional().describe(\"Topic description.\"),\n type: z.string().optional().describe(\"Topic type.\"),\n status: topicStatusSchema.optional().describe(\"Topic status.\"),\n visibility: topicVisibilitySchema.optional().describe(\"Topic visibility.\"),\n ontologyId: z.string().optional().describe(\"Ontology to bind.\"),\n clearOntologyId: z\n .boolean()\n .optional()\n .describe(\"Whether to clear the ontology binding.\"),\n metadata: z.record(z.unknown()).optional().describe(\"Topic metadata.\"),\n});\n\nconst materializeTopicGraphArgs = z.object({\n rootTopicId: z.string().optional().describe(\"Optional root topic ID.\"),\n dryRun: z.boolean().optional().describe(\"Report missing rows without writing.\"),\n createdBy: z.string().optional(),\n});\n\nconst getTopicGraphSpineArgs = z.object({\n rootTopicId: z.string().optional().describe(\"Optional root topic ID.\"),\n includeTopicBeliefEdges: z.boolean().optional(),\n});\n\nconst topicIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n id: input.id ?? input.topicId,\n });\n\nconst updateTopicInput = (input: Record<string, unknown>) =>\n compactRecord({\n id: input.id ?? input.topicId,\n name: input.name,\n description: input.description,\n type: input.type,\n status: input.status,\n visibility: input.visibility,\n ontologyId: input.ontologyId,\n clearOntologyId: input.clearOntologyId,\n graphScopeProjectId: input.graphScopeProjectId,\n metadata: input.metadata,\n });\n\nexport const topicsContracts = [\n surfaceContract({\n name: \"create_topic\",\n kind: \"mutation\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n path: \"/topics\",\n sdkNamespace: \"topics\",\n sdkMethod: \"createTopic\",\n summary: \"Create a topic.\",\n convex: {\n module: \"topics\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: withCreatedBy,\n },\n args: createTopicArgs,\n }),\n surfaceContract({\n name: \"get_topic\",\n kind: \"query\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/topics/get\",\n sdkNamespace: \"topics\",\n sdkMethod: \"getTopic\",\n summary: \"Get a topic.\",\n convex: {\n module: \"topics\",\n functionName: \"get\",\n kind: \"query\",\n inputProjection: topicIdInput,\n },\n }),\n surfaceContract({\n name: \"list_topics\",\n kind: \"query\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/topics\",\n sdkNamespace: \"topics\",\n sdkMethod: \"listTopics\",\n summary: \"List topics.\",\n convex: {\n module: \"topics\",\n functionName: \"list\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"update_topic\",\n kind: \"mutation\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/topics\",\n sdkNamespace: \"topics\",\n sdkMethod: \"updateTopic\",\n summary: \"Update a topic.\",\n convex: {\n module: \"topics\",\n functionName: \"update\",\n kind: \"mutation\",\n inputProjection: updateTopicInput,\n },\n args: updateTopicArgs,\n }),\n surfaceContract({\n name: \"get_topic_tree\",\n kind: \"query\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/topics/tree\",\n sdkNamespace: \"topics\",\n sdkMethod: \"getTopicTree\",\n summary: \"Get a topic tree.\",\n convex: {\n module: \"topics\",\n functionName: \"getTree\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"materialize_topic_graph\",\n kind: \"mutation\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n path: \"/topics/materialize-graph\",\n sdkNamespace: \"topics\",\n sdkMethod: \"materializeTopicGraph\",\n summary: \"Materialize topic nodes and parent-child graph edges.\",\n convex: {\n module: \"topics\",\n functionName: \"materializeTopicGraph\",\n kind: \"mutation\",\n inputProjection: withCreatedBy,\n },\n args: materializeTopicGraphArgs,\n }),\n surfaceContract({\n name: \"get_topic_graph_spine\",\n kind: \"query\",\n domain: \"topics\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/topics/graph-spine\",\n sdkNamespace: \"topics\",\n sdkMethod: \"getTopicGraphSpine\",\n summary: \"Verify topic nodes and parent-child graph edges.\",\n convex: {\n module: \"topics\",\n functionName: \"getTopicGraphSpine\",\n kind: \"query\",\n },\n args: getTopicGraphSpineArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { z } from \"zod\";\nimport {\n authUserId,\n compactRecord,\n surfaceContract,\n withCreatedBy,\n withUserId,\n NODE_TYPE,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\n\nconst sourceTypeSchema = z.enum([\n \"human\",\n \"ai_extracted\",\n \"ai_generated\",\n \"imported\",\n \"system\",\n \"verified\",\n \"proprietary\",\n]);\n\nconst verificationStatusSchema = z.enum([\n \"unverified\",\n \"human_verified\",\n \"ai_verified\",\n \"contradicted\",\n \"outdated\",\n]);\n\nconst nodeStatusSchema = z.enum([\n \"active\",\n \"superseded\",\n \"archived\",\n \"deleted\",\n]);\n\nconst externalIdsArgs = z\n .object({\n crunchbase: z.string().optional(),\n linkedin: z.string().optional(),\n pitchbook: z.string().optional(),\n twitter: z.string().optional(),\n website: z.string().optional(),\n })\n .optional();\n\nconst createEpistemicNodeItemArgs = z.object({\n globalId: z\n .string()\n .optional()\n .describe(\"Optional idempotent node global ID.\"),\n nodeType: NODE_TYPE.describe(\"Public epistemic node type.\"),\n subtype: z.string().optional(),\n canonicalText: z.string().optional().describe(\"Canonical node text.\"),\n text: z.string().optional().describe(\"Alias for canonicalText.\"),\n contentHash: z\n .string()\n .optional()\n .describe(\"Optional idempotency content hash.\"),\n content: z.string().optional(),\n contentType: z.string().optional(),\n title: z.string().optional(),\n tags: z.array(z.string()).optional(),\n domain: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n externalIds: externalIdsArgs,\n sourceType: sourceTypeSchema.optional(),\n aiProvider: z.string().optional(),\n extractedFromNodeId: z.string().optional(),\n confidence: z.number().optional(),\n verificationStatus: verificationStatusSchema.optional(),\n topicId: z.string().optional(),\n projectId: z.string().optional(),\n createdBy: z.string().optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nconst createEpistemicNodeArgs = createEpistemicNodeItemArgs;\n\nconst batchCreateEpistemicNodesArgs = z.object({\n nodes: z.array(createEpistemicNodeItemArgs),\n});\n\nconst getEpistemicNodeArgs = z.object({\n nodeId: z.string().describe(\"Node ID or global ID.\"),\n globalId: z.string().optional().describe(\"Node global ID alias.\"),\n});\n\nconst listEpistemicNodesArgs = z.object({\n topicId: z.string().optional(),\n projectId: z.string().optional(),\n nodeType: NODE_TYPE.optional(),\n status: nodeStatusSchema.optional(),\n searchQuery: z.string().optional(),\n query: z.string().optional(),\n limit: z.number().optional(),\n});\n\nconst updateEpistemicNodeArgs = z.object({\n nodeId: z.string().describe(\"Node ID or global ID.\"),\n id: z.string().optional().describe(\"Node ID alias.\"),\n subtype: z.string().optional(),\n canonicalText: z.string().optional(),\n text: z.string().optional(),\n contentHash: z.string().optional(),\n content: z.string().optional(),\n contentType: z.string().optional(),\n title: z.string().optional(),\n tags: z.array(z.string()).optional(),\n domain: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n externalIds: externalIdsArgs,\n confidence: z.number().optional(),\n verificationStatus: verificationStatusSchema.optional(),\n status: nodeStatusSchema.optional(),\n userId: z.string().optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nconst archiveEpistemicNodeArgs = z.object({\n nodeId: z.string().describe(\"Node ID or global ID.\"),\n id: z.string().optional().describe(\"Node ID alias.\"),\n userId: z.string().optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nconst verifyEpistemicNodeArgs = z.object({\n nodeId: z.string().describe(\"Node ID or global ID.\"),\n id: z.string().optional().describe(\"Node ID alias.\"),\n verificationStatus: verificationStatusSchema,\n confidence: z.number().optional(),\n userId: z.string().optional(),\n});\n\nconst supersedeEpistemicNodeArgs = z.object({\n oldNodeId: z.string().describe(\"Node ID or global ID to supersede.\"),\n nodeId: z.string().optional().describe(\"Old node ID alias.\"),\n newGlobalId: z.string().optional(),\n newCanonicalText: z.string().optional(),\n text: z.string().optional(),\n canonicalText: z.string().optional(),\n newContentHash: z.string().optional(),\n reason: z.string().optional(),\n createdBy: z.string().optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nfunction generatedGlobalId(prefix: string): string {\n return `${prefix}:${crypto.randomUUID()}`;\n}\n\nfunction resolveCanonicalText(input: Record<string, unknown>): string {\n const text =\n input.canonicalText ?? input.text ?? input.title ?? input.content;\n if (typeof text !== \"string\" || text.trim().length === 0) {\n throw new Error(\"canonicalText or text is required.\");\n }\n return text;\n}\n\nfunction createNodeInput(\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) {\n const canonicalText = resolveCanonicalText(input);\n const nodeType = String(input.nodeType);\n return withCreatedBy(\n compactRecord({\n globalId:\n typeof input.globalId === \"string\" && input.globalId.trim()\n ? input.globalId\n : generatedGlobalId(nodeType),\n nodeType,\n subtype: input.subtype,\n canonicalText,\n contentHash:\n typeof input.contentHash === \"string\" && input.contentHash.trim()\n ? input.contentHash\n : `${nodeType}:${canonicalText}`,\n content: input.content,\n contentType: input.contentType,\n title: input.title,\n tags: input.tags,\n domain: input.domain,\n metadata: input.metadata,\n externalIds: input.externalIds,\n sourceType:\n typeof input.sourceType === \"string\" && input.sourceType.trim()\n ? input.sourceType\n : \"human\",\n aiProvider: input.aiProvider,\n extractedFromNodeId: input.extractedFromNodeId,\n confidence: input.confidence,\n verificationStatus: input.verificationStatus,\n topicId: input.topicId,\n projectId: input.projectId,\n }),\n context,\n );\n}\n\nconst getNodeInput = (input: Record<string, unknown>) =>\n compactRecord({\n nodeId: input.nodeId ?? input.globalId,\n });\n\nconst listNodesInput = (input: Record<string, unknown>) =>\n compactRecord({\n topicId: input.topicId,\n projectId: input.projectId,\n nodeType: input.nodeType,\n status: input.status,\n searchQuery: input.searchQuery ?? input.query,\n limit: input.limit,\n });\n\nconst updateNodeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withUserId(\n compactRecord({\n nodeId: input.nodeId ?? input.id,\n subtype: input.subtype,\n canonicalText: input.canonicalText ?? input.text,\n contentHash: input.contentHash,\n content: input.content,\n contentType: input.contentType,\n title: input.title,\n tags: input.tags,\n domain: input.domain,\n metadata: input.metadata,\n externalIds: input.externalIds,\n confidence: input.confidence,\n verificationStatus: input.verificationStatus,\n status: input.status,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck,\n }),\n context,\n );\n\nconst archiveNodeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withUserId(\n compactRecord({\n nodeId: input.nodeId ?? input.id,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck,\n }),\n context,\n );\n\nconst verifyNodeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) =>\n withUserId(\n compactRecord({\n nodeId: input.nodeId ?? input.id,\n verificationStatus: input.verificationStatus,\n confidence: input.confidence,\n }),\n context,\n );\n\nconst supersedeNodeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const newCanonicalText =\n input.newCanonicalText ?? input.canonicalText ?? input.text;\n if (\n typeof newCanonicalText !== \"string\" ||\n newCanonicalText.trim().length === 0\n ) {\n throw new Error(\"newCanonicalText or text is required.\");\n }\n return {\n oldNodeId: input.oldNodeId ?? input.nodeId,\n newGlobalId:\n typeof input.newGlobalId === \"string\" && input.newGlobalId.trim()\n ? input.newGlobalId\n : generatedGlobalId(\"node\"),\n newCanonicalText,\n newContentHash:\n typeof input.newContentHash === \"string\" && input.newContentHash.trim()\n ? input.newContentHash\n : `superseded:${newCanonicalText}`,\n createdBy:\n typeof input.createdBy === \"string\"\n ? input.createdBy\n : authUserId(context),\n reason: input.reason,\n trustedBypassAccessCheck: input.trustedBypassAccessCheck,\n };\n};\n\nconst batchCreateNodesInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext,\n) => {\n const nodes = Array.isArray(input.nodes) ? input.nodes : [];\n return {\n nodes: nodes.map((node) =>\n createNodeInput(\n node && typeof node === \"object\"\n ? (node as Record<string, unknown>)\n : {},\n context,\n ),\n ),\n };\n};\n\nexport const nodesContracts = [\n surfaceContract({\n name: \"create_epistemic_node\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n path: \"/nodes\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"createEpistemicNode\",\n summary: \"Create a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createNodeInput,\n },\n args: createEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"get_epistemic_node\",\n kind: \"query\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/nodes/get\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"getEpistemicNode\",\n summary: \"Get a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"get\",\n kind: \"query\",\n inputProjection: getNodeInput,\n },\n args: getEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"list_epistemic_nodes\",\n kind: \"query\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/nodes\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"listEpistemicNodes\",\n summary: \"List generic epistemic graph nodes.\",\n convex: {\n module: \"nodes\",\n functionName: \"list\",\n kind: \"query\",\n inputProjection: listNodesInput,\n },\n args: listEpistemicNodesArgs,\n }),\n surfaceContract({\n name: \"update_epistemic_node\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/nodes\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"updateEpistemicNode\",\n summary: \"Update a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"update\",\n kind: \"mutation\",\n inputProjection: updateNodeInput,\n },\n args: updateEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"archive_epistemic_node\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n path: \"/nodes/archive\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"archiveEpistemicNode\",\n summary: \"Archive a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"archive\",\n kind: \"mutation\",\n inputProjection: archiveNodeInput,\n },\n args: archiveEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"verify_epistemic_node\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n path: \"/nodes/verify\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"verifyEpistemicNode\",\n summary: \"Verify a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"verify\",\n kind: \"mutation\",\n inputProjection: verifyNodeInput,\n },\n args: verifyEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"supersede_epistemic_node\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n path: \"/nodes/supersede\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"supersedeEpistemicNode\",\n summary: \"Supersede a generic epistemic graph node.\",\n convex: {\n module: \"nodes\",\n functionName: \"supersede\",\n kind: \"mutation\",\n inputProjection: supersedeNodeInput,\n },\n args: supersedeEpistemicNodeArgs,\n }),\n surfaceContract({\n name: \"batch_create_epistemic_nodes\",\n kind: \"mutation\",\n domain: \"nodes\",\n surfaceClass: \"platform_public\",\n path: \"/nodes/batch\",\n sdkNamespace: \"nodes\",\n sdkMethod: \"batchCreateEpistemicNodes\",\n summary: \"Batch create generic epistemic graph nodes.\",\n convex: {\n module: \"nodes\",\n functionName: \"batchCreate\",\n kind: \"mutation\",\n inputProjection: batchCreateNodesInput,\n },\n args: batchCreateEpistemicNodesArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { authUserId, compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst lensPerspectiveSchema = z.enum([\n \"investigation\",\n \"monitoring\",\n \"analysis\",\n \"comparison\",\n \"taxonomy\",\n]);\nconst jsonRecordSchema = z.record(z.unknown());\n\nconst createLensArgs = z.object({\n name: z.string().describe(\"Lens name.\"),\n workspaceId: z.string().optional().describe(\"Workspace scope for the lens.\"),\n topicId: z.string().optional().describe(\"Originating topic scope.\"),\n description: z\n .string()\n .optional()\n .describe(\"What this lens investigates or monitors.\"),\n perspectiveType: lensPerspectiveSchema.describe(\"Perspective type.\"),\n promptTemplates: z\n .array(jsonRecordSchema)\n .optional()\n .describe(\"Prompt templates used through this lens.\"),\n workflowTemplates: z\n .array(jsonRecordSchema)\n .optional()\n .describe(\"Guided workflow templates.\"),\n taskTemplates: z\n .array(jsonRecordSchema)\n .optional()\n .describe(\"Default task templates.\"),\n questionTemplates: z\n .array(jsonRecordSchema)\n .optional()\n .describe(\"Default question templates.\"),\n filterCriteria: jsonRecordSchema\n .optional()\n .describe(\"Belief/evidence filtering criteria.\"),\n metadata: jsonRecordSchema\n .optional()\n .describe(\"Additional lens metadata.\"),\n});\n\nconst createLensInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n compactRecord({\n name: input.name,\n description: input.description,\n workspaceId: input.workspaceId,\n topicId: input.topicId,\n perspectiveType: input.perspectiveType,\n promptTemplates: input.promptTemplates,\n workflowTemplates: input.workflowTemplates,\n taskTemplates: input.taskTemplates,\n questionTemplates: input.questionTemplates,\n filterCriteria: input.filterCriteria,\n metadata: input.metadata,\n createdBy: authUserId(context),\n });\n\nconst lensListInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n compactRecord({\n actorId: input.actorId ?? authUserId(context),\n workspaceId: input.workspaceId,\n topicId: input.topicId,\n status: input.status,\n perspectiveType: input.perspectiveType,\n });\n\nexport const lensesContracts = [\n surfaceContract({\n name: \"create_lens\",\n kind: \"mutation\",\n domain: \"lenses\",\n surfaceClass: \"platform_public\",\n path: \"/lenses\",\n sdkNamespace: \"lenses\",\n sdkMethod: \"createLens\",\n summary: \"Create a lens.\",\n convex: {\n module: \"lenses\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createLensInput,\n },\n args: createLensArgs,\n }),\n surfaceContract({\n name: \"list_lenses\",\n kind: \"query\",\n domain: \"lenses\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/lenses\",\n sdkNamespace: \"lenses\",\n sdkMethod: \"listLenses\",\n summary: \"List lenses.\",\n convex: {\n module: \"lenses\",\n functionName: \"list\",\n kind: \"query\",\n inputProjection: lensListInput,\n },\n }),\n surfaceContract({\n name: \"apply_lens_to_topic\",\n kind: \"mutation\",\n domain: \"lenses\",\n surfaceClass: \"platform_public\",\n path: \"/lenses/apply\",\n sdkNamespace: \"lenses\",\n sdkMethod: \"applyLensToTopic\",\n summary: \"Apply a lens to a topic.\",\n convex: {\n module: \"lenses\",\n functionName: \"applyToTopic\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n compactRecord({\n lensId: input.lensId,\n topicId: input.topicId,\n metadata: input.metadata,\n appliedBy: authUserId(context),\n }),\n },\n }),\n surfaceContract({\n name: \"remove_lens_from_topic\",\n kind: \"mutation\",\n domain: \"lenses\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/lenses/apply\",\n sdkNamespace: \"lenses\",\n sdkMethod: \"removeLensFromTopic\",\n summary: \"Remove a lens from a topic.\",\n convex: {\n module: \"lenses\",\n functionName: \"removeFromTopic\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n compactRecord({\n lensId: input.lensId,\n topicId: input.topicId,\n removedBy: authUserId(context),\n }),\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst updateOntologyArgs = z.object({\n id: z.string().describe(\"Ontology definition ID.\"),\n ontologyId: z.string().optional().describe(\"Ontology ID alias.\"),\n name: z.string().optional().describe(\"Ontology display name.\"),\n description: z.string().optional().describe(\"Ontology description.\"),\n status: z.string().optional().describe(\"Ontology lifecycle status.\"),\n});\n\nconst ontologyVersionLifecycleArgs = z.object({\n id: z.string().describe(\"Ontology version ID.\"),\n versionId: z.string().optional().describe(\"Ontology version ID alias.\"),\n ontologyId: z.string().optional().describe(\"Ontology definition ID.\"),\n});\n\nconst ontologyIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n id: input.id ?? input.ontologyId,\n });\n\nconst ontologyVersionIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n id: input.id ?? input.versionId,\n ontologyId: input.ontologyId,\n actorId: input.actorId,\n });\n\nconst effectiveOntologyInput = (input: Record<string, unknown>) =>\n compactRecord({\n ontologyId: input.ontologyId ?? input.id,\n });\n\nexport const ontologiesContracts = [\n surfaceContract({\n name: \"create_ontology\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n path: \"/ontologies\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"createOntology\",\n summary: \"Create an ontology definition.\",\n convex: {\n module: \"ontologies\",\n functionName: \"createOntologyDefinition\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"get_ontology\",\n kind: \"query\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/ontologies/get\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"getOntology\",\n summary: \"Get an ontology definition.\",\n convex: {\n module: \"ontologies\",\n functionName: \"getOntologyDefinition\",\n kind: \"query\",\n inputProjection: ontologyIdInput,\n },\n }),\n surfaceContract({\n name: \"list_ontologies\",\n kind: \"query\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/ontologies\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"listOntologies\",\n summary: \"List ontology definitions.\",\n convex: {\n module: \"ontologies\",\n functionName: \"listOntologyDefinitions\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"update_ontology\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/ontologies\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"updateOntology\",\n summary: \"Update an ontology definition.\",\n convex: {\n module: \"ontologies\",\n functionName: \"updateOntologyDefinition\",\n kind: \"mutation\",\n inputProjection: (input) =>\n compactRecord({\n id: input.id ?? input.ontologyId,\n name: input.name,\n description: input.description,\n status: input.status,\n actorId: input.actorId,\n }),\n },\n args: updateOntologyArgs,\n }),\n surfaceContract({\n name: \"archive_ontology\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/ontologies\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"archiveOntology\",\n summary: \"Archive an ontology definition.\",\n convex: {\n module: \"ontologies\",\n functionName: \"archiveOntologyDefinition\",\n kind: \"mutation\",\n inputProjection: ontologyIdInput,\n },\n }),\n surfaceContract({\n name: \"create_ontology_version\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n path: \"/ontologies/versions\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"createOntologyVersion\",\n summary: \"Create an ontology version.\",\n convex: {\n module: \"ontologies\",\n functionName: \"createOntologyVersion\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"apply_ontology\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n path: \"/ontologies/apply\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"applyOntology\",\n summary: \"Apply an ontology to a topic.\",\n convex: {\n module: \"topics\",\n functionName: \"update\",\n kind: \"mutation\",\n inputProjection: (input) =>\n compactRecord({\n id: input.topicId ?? input.id,\n ontologyId: input.ontologyId ?? input.id,\n }),\n },\n }),\n surfaceContract({\n name: \"match_entity_type\",\n kind: \"query\",\n domain: \"ontologies\",\n surfaceClass: \"platform_public\",\n path: \"/ontologies/match-entity-type\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"matchEntityType\",\n summary: \"Resolve an ontology before matching entity types.\",\n convex: {\n module: \"ontologies\",\n functionName: \"resolveEffectiveOntology\",\n kind: \"query\",\n inputProjection: effectiveOntologyInput,\n },\n }),\n surfaceContract({\n name: \"publish_ontology_version\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"tenant_public\",\n path: \"/ontologies/versions/publish\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"publishOntologyVersion\",\n summary: \"Publish an ontology version.\",\n convex: {\n module: \"ontologies\",\n functionName: \"publishOntologyVersion\",\n kind: \"mutation\",\n inputProjection: ontologyVersionIdInput,\n },\n args: ontologyVersionLifecycleArgs,\n }),\n surfaceContract({\n name: \"deprecate_ontology_version\",\n kind: \"mutation\",\n domain: \"ontologies\",\n surfaceClass: \"tenant_public\",\n path: \"/ontologies/versions/deprecate\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"deprecateOntologyVersion\",\n summary: \"Deprecate an ontology version.\",\n convex: {\n module: \"ontologies\",\n functionName: \"deprecateOntologyVersion\",\n kind: \"mutation\",\n inputProjection: ontologyVersionIdInput,\n },\n args: ontologyVersionLifecycleArgs,\n }),\n surfaceContract({\n name: \"resolve_effective_ontology\",\n kind: \"query\",\n domain: \"ontologies\",\n surfaceClass: \"tenant_public\",\n path: \"/ontologies/effective\",\n sdkNamespace: \"ontologies\",\n sdkMethod: \"resolveEffectiveOntology\",\n summary: \"Resolve the effective ontology for a topic.\",\n convex: {\n module: \"ontologies\",\n functionName: \"resolveEffectiveOntology\",\n kind: \"query\",\n inputProjection: effectiveOntologyInput,\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import {\n compactRecord,\n surfaceContract,\n withCreatedBy,\n withUserId,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst autoFixPolicyInputSchema = z\n .object({\n enabled: z.boolean().optional().describe(\"Whether automatic remediation is enabled.\"),\n mode: z\n .string()\n .optional()\n .describe(\"Automation mode for worktree auto-fixes.\"),\n maxAttempts: z\n .number()\n .optional()\n .describe(\"Maximum number of auto-fix attempts.\"),\n reviewer: z\n .string()\n .optional()\n .describe(\"Reviewer responsible for auto-fix oversight.\"),\n maxActionsPerRun: z\n .number()\n .optional()\n .describe(\"Maximum number of auto-fix actions per run.\"),\n permittedMutationTiers: z\n .array(z.enum([\"read_only\", \"low_risk_write\", \"high_risk_write\"]))\n .optional()\n .describe(\"Mutation tiers the auto-fix worker may execute.\"),\n requireAuditTrail: z\n .boolean()\n .optional()\n .describe(\"Whether auto-fix actions must write an audit trail.\"),\n escalationGate: z\n .string()\n .optional()\n .describe(\"Gate to trigger when auto-fix policy requires escalation.\"),\n })\n .passthrough()\n .describe(\"Policy for permitted automatic remediation inside the worktree.\");\n\nconst worktreeKeyQuestionInputSchema = z\n .object({\n question: z.string().describe(\"Question the worktree must resolve.\"),\n status: z\n .enum([\"open\", \"answered\", \"forked\"])\n .optional()\n .describe(\"Current disposition of the key question.\"),\n answer: z\n .string()\n .optional()\n .describe(\"Captured answer when the key question is resolved.\"),\n answerConfidence: z\n .enum([\"high\", \"medium\", \"low\"])\n .optional()\n .describe(\"Confidence in the captured answer.\"),\n linkedQuestionId: z\n .string()\n .optional()\n .describe(\"Canonical question node linked to this key question.\"),\n })\n .passthrough()\n .describe(\"Question contract embedded in the worktree plan.\");\n\nconst worktreeEvidenceSignalInputSchema = z\n .object({\n signal: z.string().describe(\"Evidence signal the worktree should collect.\"),\n collected: z\n .boolean()\n .optional()\n .describe(\"Whether the signal has already been collected.\"),\n progress: z\n .string()\n .optional()\n .describe(\"Collection progress note for the signal.\"),\n notes: z\n .string()\n .optional()\n .describe(\"Additional evidence collection notes.\"),\n })\n .passthrough()\n .describe(\"Evidence signal embedded in the worktree plan.\");\n\nconst worktreeDocCompanionTargetSchema = z\n .object({\n docPath: z\n .string()\n .describe(\n \"Repo-relative path to a documentation file the worktree promises to update.\"\n ),\n sectionAnchor: z\n .string()\n .optional()\n .describe(\n \"Markdown heading anchor (e.g. '## Function-surface manifest') that scopes the promised update.\"\n ),\n reason: z\n .string()\n .describe(\n \"Why this doc section must be updated for the worktree to be complete.\"\n ),\n })\n .passthrough()\n .describe(\n \"Intent-driven docs companion target. pr-gate-reviewer verifies that the PR actually touches each declared (docPath, sectionAnchor). Distinct from the touch-driven docs-loop. See docs/development/docs-sync-discipline.md Lock 3.\"\n );\n\nconst worktreeDecisionGateInputSchema = z\n .object({\n goCriteria: z\n .array(z.string())\n .describe(\"Criteria that must hold for the worktree to proceed.\"),\n noGoSignals: z\n .array(z.string())\n .describe(\"Signals that stop or redirect the worktree.\"),\n verdict: z\n .enum([\"go\", \"no_go\", \"pivot\", \"pending\"])\n .optional()\n .describe(\"Current decision verdict for the worktree gate.\"),\n verdictRationale: z\n .string()\n .optional()\n .describe(\"Rationale supporting the current gate verdict.\"),\n decidedAt: z\n .number()\n .optional()\n .describe(\"Timestamp when the gate verdict was decided.\"),\n decidedBy: z\n .string()\n .optional()\n .describe(\"Actor that decided the gate verdict.\"),\n })\n .passthrough()\n .describe(\"Decision gate contract for worktree activation or exit.\");\n\nconst addWorktreeArgs = z.object({\n title: z\n .string()\n .describe(\"Human-readable worktree name or objective.\"),\n name: z\n .string()\n .optional()\n .describe(\"Storage-name alias for callers that already use backend naming.\"),\n topicId: z\n .string()\n .optional()\n .describe(\"Optional primary topic scope hint for resolver validation.\"),\n projectId: z.string().optional().describe(\"Legacy topicId alias/hint.\"),\n topicHint: z\n .string()\n .optional()\n .describe(\"Natural-language topic hint for automatic topic resolution.\"),\n branchId: z\n .string()\n .optional()\n .describe(\"Legacy branch identifier for compatibility with workflow callers.\"),\n objective: z\n .string()\n .optional()\n .describe(\"Reasoning objective this worktree is intended to resolve.\"),\n hypothesis: z\n .string()\n .optional()\n .describe(\"Testable claim this worktree investigates.\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this worktree exists and why it belongs in the campaign.\"),\n worktreeType: z\n .string()\n .optional()\n .describe(\"Schema-enum worktree type used for kernel lifecycle behavior.\"),\n gate: z.string().optional().describe(\"Exit gate for this worktree.\"),\n startDate: z\n .number()\n .optional()\n .describe(\"Planned start timestamp in milliseconds since epoch.\"),\n endDate: z\n .number()\n .optional()\n .describe(\"Planned end timestamp in milliseconds since epoch.\"),\n durationWeeks: z\n .number()\n .optional()\n .describe(\"Planned duration in weeks.\"),\n confidenceImpact: z\n .enum([\"high\", \"medium\", \"low\"])\n .optional()\n .describe(\"Expected confidence impact if this worktree succeeds.\"),\n beliefFocus: z\n .string()\n .optional()\n .describe(\"Natural-language focus spanning the target belief neighborhood.\"),\n beliefIds: z\n .array(z.string())\n .optional()\n .describe(\"Legacy alias for targetBeliefIds.\"),\n beliefs: z\n .array(z.string())\n .optional()\n .describe(\"Legacy alias for targetBeliefIds.\"),\n targetBeliefIds: z\n .array(z.string())\n .optional()\n .describe(\"Belief node IDs this worktree is expected to test or update.\"),\n targetQuestionIds: z\n .array(z.string())\n .optional()\n .describe(\"Question node IDs this worktree is expected to answer.\"),\n keyQuestions: z\n .array(worktreeKeyQuestionInputSchema)\n .optional()\n .describe(\"Inline key questions captured as part of the worktree plan.\"),\n evidenceSignals: z\n .array(worktreeEvidenceSignalInputSchema)\n .optional()\n .describe(\"Evidence signals the worktree needs to collect or validate.\"),\n decisionGate: worktreeDecisionGateInputSchema.optional(),\n docCompanionTargets: z\n .array(worktreeDocCompanionTargetSchema)\n .optional()\n .describe(\n \"Doc sections the worktree promises to update at PR time. Enforced by pr-gate-reviewer (Lock 3).\"\n ),\n goCriteria: z\n .array(z.string())\n .optional()\n .describe(\"Shorthand go criteria used to build decisionGate.\"),\n noGoSignals: z\n .array(z.string())\n .optional()\n .describe(\"Shorthand no-go signals used to build decisionGate.\"),\n proofArtifacts: z\n .array(z.unknown())\n .optional()\n .describe(\"Expected proof artifacts required to close the worktree.\"),\n autoShape: z\n .boolean()\n .optional()\n .describe(\"Whether to invoke inquiry auto-shaping during creation.\"),\n autoFixPolicy: autoFixPolicyInputSchema.optional(),\n domainPackId: z\n .string()\n .optional()\n .describe(\"Domain pack whose shaping hooks should influence the worktree.\"),\n tags: z\n .array(z.string())\n .optional()\n .describe(\"Additional topic-resolution tags for the worktree.\"),\n touchedPaths: z\n .array(z.string())\n .optional()\n .describe(\"File paths used as topic-resolution signals.\"),\n sourceRef: z\n .string()\n .optional()\n .describe(\"Source reference used as a topic-resolution signal.\"),\n sourceKind: z\n .string()\n .optional()\n .describe(\"Source kind used as a topic-resolution signal.\"),\n campaign: z\n .number()\n .optional()\n .describe(\"Top-level pipeline campaign number.\"),\n lane: z.string().optional().describe(\"Campaign lane for the worktree.\"),\n laneOrderInCampaign: z\n .number()\n .optional()\n .describe(\"Ordering for this lane within its campaign.\"),\n orderInLane: z\n .number()\n .optional()\n .describe(\"Position of this worktree inside its lane.\"),\n dependsOn: z\n .array(z.string())\n .optional()\n .describe(\"Worktree IDs that must complete before this worktree.\"),\n blocks: z\n .array(z.string())\n .optional()\n .describe(\"Worktree IDs blocked by this worktree.\"),\n staffingHint: z\n .string()\n .optional()\n .describe(\"Suggested staffing or agent allocation note.\"),\n lensId: z\n .string()\n .optional()\n .describe(\"Lens that scopes this worktree when applicable.\"),\n lastReconciledAt: z\n .number()\n .optional()\n .describe(\"Timestamp when worktree metadata was last reconciled.\"),\n});\n\nconst worktreeIdInput = (input: Record<string, unknown>) =>\n compactRecord({\n worktreeId: input.worktreeId ?? input.id,\n });\n\nconst getWorktreeArgs = z.object({\n worktreeId: z.string().describe(\"The worktree to retrieve.\"),\n id: z.string().optional().describe(\"Worktree ID alias.\"),\n});\n\nconst activateWorktreeInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) => withUserId(worktreeIdInput(input), context);\n\nconst worktreeTargetsInput = (input: Record<string, unknown>) =>\n compactRecord({\n worktreeId: input.worktreeId ?? input.id,\n addBeliefIds: input.addBeliefIds,\n removeBeliefIds: input.removeBeliefIds,\n addQuestionIds: input.addQuestionIds,\n removeQuestionIds: input.removeQuestionIds,\n });\n\nconst worktreeMetadataInput = (input: Record<string, unknown>) =>\n compactRecord({\n worktreeId: input.worktreeId ?? input.id,\n topicId: input.topicId,\n additionalTopicIds: input.additionalTopicIds,\n status: input.status,\n campaign: input.campaign,\n lane: input.lane,\n laneOrderInCampaign: input.laneOrderInCampaign,\n orderInLane: input.orderInLane,\n gate: input.gate,\n hypothesis: input.hypothesis,\n objective: input.objective,\n rationale: input.rationale,\n proofArtifacts: input.proofArtifacts,\n staffingHint: input.staffingHint,\n blocks: input.blocks,\n dependsOn: input.dependsOn,\n lensId: input.lensId,\n autoFixPolicy: input.autoFixPolicy,\n lastReconciledAt: input.lastReconciledAt,\n });\n\nconst worktreeMetadataArgs = z.object({\n worktreeId: z.string().describe(\"The worktree to update.\"),\n id: z.string().optional().describe(\"Worktree ID alias.\"),\n topicId: z.string().optional().describe(\"Primary topic scope.\"),\n additionalTopicIds: z\n .array(z.string())\n .optional()\n .describe(\"Additional topic scopes associated with this worktree.\"),\n status: z.string().optional().describe(\"Worktree lifecycle status.\"),\n campaign: z.number().optional().describe(\"Top-level pipeline campaign.\"),\n lane: z.string().optional().describe(\"Campaign lane.\"),\n laneOrderInCampaign: z\n .number()\n .optional()\n .describe(\"Ordering for this lane within its campaign.\"),\n orderInLane: z\n .number()\n .optional()\n .describe(\"Position of this worktree inside its lane.\"),\n gate: z.string().optional().describe(\"Exit gate for this worktree.\"),\n hypothesis: z\n .string()\n .optional()\n .describe(\"Testable claim this worktree investigates.\"),\n objective: z\n .string()\n .optional()\n .describe(\"Reasoning objective for the worktree.\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this worktree is sequenced here.\"),\n proofArtifacts: z\n .array(z.unknown())\n .optional()\n .describe(\"Proof artifacts required to close the worktree.\"),\n staffingHint: z\n .string()\n .optional()\n .describe(\"Suggested staffing or agent allocation note.\"),\n blocks: z\n .array(z.string())\n .optional()\n .describe(\"Worktree IDs blocked by this worktree.\"),\n dependsOn: z\n .array(z.string())\n .optional()\n .describe(\"Worktree IDs this worktree depends on.\"),\n lensId: z.string().optional().describe(\"Lens that scopes this worktree.\"),\n autoFixPolicy: autoFixPolicyInputSchema.optional(),\n lastReconciledAt: z\n .number()\n .optional()\n .describe(\"Timestamp of the last deterministic reconciliation pass.\"),\n});\n\nconst pushArgs = worktreeMetadataArgs.extend({\n targetContext: z.string().describe(\"Where to push merged findings.\"),\n beliefIds: z\n .array(z.string())\n .optional()\n .describe(\"Optional subset of beliefs to push.\"),\n});\n\nconst openPullRequestArgs = worktreeMetadataArgs.extend({\n reviewers: z\n .array(z.string())\n .optional()\n .describe(\"User IDs of requested reviewers.\"),\n summary: z\n .string()\n .describe(\"Summary of findings and why they are ready for review.\"),\n});\n\nconst mergeKeyFindingsInput = (input: Record<string, unknown>) => {\n if (Array.isArray(input.keyFindings)) {\n return input.keyFindings;\n }\n if (Array.isArray(input.outcomes)) {\n const findings = input.outcomes.filter(\n (outcome): outcome is string =>\n typeof outcome === \"string\" && outcome.trim().length > 0\n );\n if (findings.length > 0) {\n return findings;\n }\n }\n return [input.summary ?? \"Merged worktree\"];\n};\n\nconst listAllWorktreesInput = (input: Record<string, unknown>) =>\n compactRecord({\n status: input.status,\n lane: input.lane,\n campaign: input.campaign,\n limit: input.limit,\n });\n\nexport const worktreesContracts = [\n surfaceContract({\n name: \"begin_build_session\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_internal\",\n path: \"/mcp/build-session/begin\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"beginBuildSession\",\n summary: \"Begin a coding build session for a worktree.\",\n }),\n surfaceContract({\n name: \"add_worktree\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n path: \"/worktrees\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"addWorktree\",\n summary: \"Create a worktree.\",\n convex: {\n module: \"worktrees\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withCreatedBy(\n compactRecord({\n name: input.name ?? input.title,\n topicId: input.topicId ?? input.projectId,\n worktreeType: input.worktreeType,\n objective: input.objective,\n gate: input.gate,\n hypothesis: input.hypothesis,\n rationale: input.rationale,\n startDate: input.startDate,\n endDate: input.endDate,\n durationWeeks: input.durationWeeks,\n confidenceImpact: input.confidenceImpact,\n autoShape: input.autoShape,\n autoFixPolicy: input.autoFixPolicy,\n beliefFocus: input.beliefFocus,\n targetQuestionIds: input.targetQuestionIds,\n targetBeliefIds: input.targetBeliefIds ?? input.beliefIds,\n keyQuestions: input.keyQuestions,\n proofArtifacts: input.proofArtifacts,\n decisionGate:\n input.decisionGate ??\n (input.goCriteria || input.noGoSignals\n ? compactRecord({\n goCriteria: input.goCriteria,\n noGoSignals: input.noGoSignals,\n })\n : undefined),\n evidenceSignals: input.evidenceSignals,\n dependsOn: input.dependsOn,\n blocks: input.blocks,\n campaign: input.campaign,\n lane: input.lane,\n laneOrderInCampaign: input.laneOrderInCampaign,\n orderInLane: input.orderInLane,\n staffingHint: input.staffingHint,\n domainPackId: input.domainPackId,\n lensId: input.lensId,\n lastReconciledAt: input.lastReconciledAt,\n }),\n context\n ),\n },\n args: addWorktreeArgs,\n }),\n surfaceContract({\n name: \"activate_worktree\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n path: \"/worktrees/activate\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"activateWorktree\",\n summary: \"Activate a worktree.\",\n convex: {\n module: \"worktrees\",\n functionName: \"activate\",\n kind: \"mutation\",\n inputProjection: activateWorktreeInput,\n },\n }),\n surfaceContract({\n name: \"get_worktree\",\n kind: \"query\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/worktrees/get\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"getWorktree\",\n summary: \"Get a worktree.\",\n gateway: {\n handler: \"worktrees.get\",\n },\n args: getWorktreeArgs,\n }),\n surfaceContract({\n name: \"list_worktrees\",\n kind: \"query\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/worktrees\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"listWorktrees\",\n summary: \"List worktrees for a topic.\",\n convex: {\n module: \"worktrees\",\n functionName: \"list\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n groupBy: input.groupBy,\n lane: input.lane,\n campaign: input.campaign,\n limit: input.limit,\n }),\n },\n }),\n surfaceContract({\n name: \"list_campaigns\",\n kind: \"query\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/worktrees/campaigns\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"listCampaigns\",\n summary: \"List compact pipeline campaigns with nested lanes.\",\n convex: {\n module: \"worktrees\",\n functionName: \"listCampaigns\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId,\n status: input.status,\n limit: input.limit,\n }),\n },\n }),\n surfaceContract({\n name: \"list_all_worktrees\",\n kind: \"query\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/worktrees/all\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"listAllWorktrees\",\n summary: \"List all worktrees.\",\n convex: {\n module: \"worktrees\",\n functionName: \"listAll\",\n kind: \"query\",\n inputProjection: listAllWorktreesInput,\n },\n }),\n surfaceContract({\n name: \"update_worktree_targets\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/worktrees/targets\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"updateWorktreeTargets\",\n summary: \"Update worktree target ids.\",\n convex: {\n module: \"worktrees\",\n functionName: \"updateTargets\",\n kind: \"mutation\",\n inputProjection: worktreeTargetsInput,\n },\n }),\n surfaceContract({\n name: \"update_worktree_metadata\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/worktrees/metadata\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"updateWorktreeMetadata\",\n summary: \"Update worktree metadata.\",\n convex: {\n module: \"worktrees\",\n functionName: \"updateMetadata\",\n kind: \"mutation\",\n inputProjection: worktreeMetadataInput,\n },\n args: worktreeMetadataArgs,\n }),\n surfaceContract({\n name: \"merge\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"tenant_public\",\n path: \"/worktrees/merge\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"merge\",\n summary: \"Complete a worktree merge-style handoff.\",\n convex: {\n module: \"worktrees\",\n functionName: \"complete\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n {\n ...worktreeIdInput(input),\n keyFindings: mergeKeyFindingsInput(input),\n decisionsReached: input.decisionsReached ?? [],\n nextSteps: input.nextSteps ?? [],\n },\n context\n ),\n },\n }),\n surfaceContract({\n name: \"push\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_internal\",\n path: \"/worktrees/push\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"push\",\n summary: \"Record a worktree push intent.\",\n convex: {\n module: \"worktrees\",\n functionName: \"updateMetadata\",\n kind: \"mutation\",\n inputProjection: worktreeMetadataInput,\n },\n args: pushArgs,\n }),\n surfaceContract({\n name: \"open_pull_request\",\n kind: \"mutation\",\n domain: \"worktrees\",\n surfaceClass: \"platform_internal\",\n path: \"/worktrees/open-pull-request\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"openPullRequest\",\n summary: \"Record a pull-request opening intent.\",\n convex: {\n module: \"worktrees\",\n functionName: \"updateMetadata\",\n kind: \"mutation\",\n inputProjection: worktreeMetadataInput,\n },\n args: openPullRequestArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\nimport {\n listTasksInputSchema,\n listTasksProjection,\n} from \"../projections/list-tasks.projection.js\";\n\nconst taskPrioritySchema = z.enum([\"urgent\", \"high\", \"medium\", \"low\"]);\nconst taskStatusSchema = z.enum([\"todo\", \"in_progress\", \"blocked\", \"done\"]);\nconst taskTypeSchema = z.enum([\n \"general\",\n \"find_evidence\",\n \"verify_claim\",\n \"research\",\n \"review\",\n \"interview\",\n \"analysis\",\n \"track_metrics\",\n]);\n\nconst createTaskArgs = z.object({\n title: z.string().describe(\"Task title.\"),\n topicId: z.string().optional().describe(\"Topic scope.\"),\n description: z.string().optional().describe(\"Long-form task description.\"),\n taskType: taskTypeSchema.optional().describe(\"Task taxonomy.\"),\n priority: taskPrioritySchema\n .optional()\n .describe(\"Priority. Defaults to medium when omitted by the server.\"),\n status: taskStatusSchema\n .optional()\n .describe(\"Initial status. Defaults to todo.\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Worktree this task belongs to.\"),\n linkedBeliefId: z\n .string()\n .optional()\n .describe(\"Belief this task supports.\"),\n linkedQuestionId: z\n .string()\n .optional()\n .describe(\"Question this task addresses.\"),\n assigneeId: z\n .string()\n .optional()\n .describe(\"Principal assigned to the task.\"),\n dueDate: z\n .number()\n .optional()\n .describe(\"Due date as epoch milliseconds.\"),\n tags: z.array(z.string()).optional().describe(\"Free-form tags.\"),\n metadata: z\n .record(z.unknown())\n .optional()\n .describe(\"Structured task metadata for handoff context and routing hints.\"),\n});\n\nconst updateTaskArgs = z.object({\n taskId: z.string().describe(\"Task to update.\"),\n title: z.string().optional().describe(\"Updated task title.\"),\n description: z.string().optional().describe(\"Updated task description.\"),\n priority: taskPrioritySchema.optional().describe(\"Updated priority.\"),\n status: taskStatusSchema.optional().describe(\"Updated status.\"),\n linkedWorktreeId: z\n .string()\n .optional()\n .describe(\"Worktree this task belongs to.\"),\n linkedBeliefId: z\n .string()\n .optional()\n .describe(\"Belief this task supports.\"),\n linkedQuestionId: z\n .string()\n .optional()\n .describe(\"Question this task addresses.\"),\n assigneeId: z\n .string()\n .optional()\n .describe(\"Principal assigned to the task.\"),\n blockedReason: z\n .string()\n .optional()\n .describe(\"Reason the task is blocked or deferred.\"),\n metadata: z\n .record(z.unknown())\n .optional()\n .describe(\"Structured task metadata for handoff context and routing hints.\"),\n});\n\nconst createTaskInput = (input: Record<string, unknown>) =>\n compactRecord({\n title: input.title,\n topicId: input.topicId,\n description: input.description,\n taskType: input.taskType,\n priority: input.priority ?? \"medium\",\n status: input.status ?? \"todo\",\n linkedWorktreeId: input.linkedWorktreeId,\n linkedBeliefId: input.linkedBeliefId,\n linkedQuestionId: input.linkedQuestionId,\n assigneeId: input.assigneeId,\n dueDate: input.dueDate,\n tags: input.tags,\n metadata: input.metadata,\n });\n\nconst taskInput = (input: Record<string, unknown>) =>\n compactRecord({\n ...input,\n taskId: input.taskId ?? input.id,\n });\n\nconst taskTopicInput = (input: Record<string, unknown>) => {\n const parsed = listTasksProjection.inputSchema.safeParse(input);\n if (!parsed.success) {\n throw new Error(\n `list_tasks projection input rejected: ${parsed.error.message}`,\n );\n }\n return compactRecord(listTasksProjection.project(parsed.data));\n};\n\nconst completeTaskInput = (input: Record<string, unknown>) =>\n compactRecord({\n taskId: input.taskId ?? input.id,\n outputSummary: input.outputSummary ?? input.summary,\n });\n\nexport const tasksContracts = [\n surfaceContract({\n name: \"create_task\",\n kind: \"mutation\",\n domain: \"tasks\",\n surfaceClass: \"platform_public\",\n path: \"/tasks\",\n sdkNamespace: \"tasks\",\n sdkMethod: \"createTask\",\n summary: \"Create a task.\",\n convex: {\n module: \"tasks\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: createTaskInput,\n },\n gateway: { handler: \"tasks.create\" },\n args: createTaskArgs,\n }),\n surfaceContract({\n name: \"list_tasks\",\n kind: \"query\",\n domain: \"tasks\",\n surfaceClass: \"platform_public\",\n method: \"GET\",\n path: \"/tasks\",\n sdkNamespace: \"tasks\",\n sdkMethod: \"listTasks\",\n summary: \"List tasks.\",\n convex: {\n module: \"tasks\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: taskTopicInput,\n },\n gateway: { handler: \"tasks.list\" },\n args: listTasksInputSchema,\n }),\n surfaceContract({\n name: \"update_task\",\n kind: \"mutation\",\n domain: \"tasks\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/tasks\",\n sdkNamespace: \"tasks\",\n sdkMethod: \"updateTask\",\n summary: \"Update a task.\",\n convex: {\n module: \"tasks\",\n functionName: \"update\",\n kind: \"mutation\",\n inputProjection: taskInput,\n },\n gateway: { handler: \"tasks.update\" },\n args: updateTaskArgs,\n }),\n surfaceContract({\n name: \"complete_task\",\n kind: \"mutation\",\n domain: \"tasks\",\n surfaceClass: \"platform_public\",\n path: \"/tasks/complete\",\n sdkNamespace: \"tasks\",\n sdkMethod: \"completeTask\",\n summary: \"Complete a task.\",\n convex: {\n module: \"tasks\",\n functionName: \"complete\",\n kind: \"mutation\",\n inputProjection: completeTaskInput,\n },\n gateway: { handler: \"tasks.complete\" },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { z } from \"zod\";\nimport { compactRecord, surfaceContract, withCreatedBy } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport {\n assertEdgePolicyAllowed,\n} from \"../manifests/edge-policy-manifest.js\";\nimport { edgePolicyManifest } from \"../manifests/edge-policy-manifest.data.js\";\nimport { GraphRefSchema, type GraphRef } from \"../types/graph-ref.js\";\nimport { REASONING_METHODS } from \"../types/reasoning-method.js\";\n\nconst CREATE_EDGE_TYPES = edgePolicyManifest.policies.map(\n (policy) => policy.edgeType\n) as [string, ...string[]];\nconst REASONING_METHOD_TYPES = [...REASONING_METHODS] as [string, ...string[]];\n\nconst createEdgeArgs = z.object({\n from: GraphRefSchema,\n to: GraphRefSchema,\n edgeType: z.enum(CREATE_EDGE_TYPES),\n globalId: z.string().optional(),\n weight: z.number().optional(),\n confidence: z.number().optional(),\n context: z.string().optional(),\n reasoning: z.string().optional(),\n reasoningMethod: z.enum(REASONING_METHOD_TYPES).optional(),\n derivationType: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n topicId: z.string().optional(),\n trustedBypassAccessCheck: z.boolean().optional(),\n});\n\nconst updateEdgeArgs = z.object({\n edgeId: z.string().describe(\"Edge ID or global ID.\"),\n weight: z.number().optional(),\n confidence: z.number().optional(),\n context: z.string().optional(),\n reasoning: z.string().optional(),\n derivationType: z.string().optional(),\n metadata: z.record(z.unknown()).optional(),\n userId: z.string().optional(),\n});\n\nconst removeEdgeArgs = z.object({\n edgeId: z.string().describe(\"Edge ID or global ID.\"),\n userId: z.string().optional(),\n});\n\nconst removeEdgesBetweenArgs = z.object({\n from: GraphRefSchema.optional(),\n to: GraphRefSchema.optional(),\n fromNodeId: z.string().optional(),\n toNodeId: z.string().optional(),\n edgeType: z.enum(CREATE_EDGE_TYPES).optional(),\n});\n\nconst batchCreateEdgesArgs = z.object({\n edges: z.array(createEdgeArgs),\n skipLayerValidation: z.boolean().optional(),\n});\n\nconst queryLineageArgs = z.object({\n nodeId: z.string().describe(\"Starting node to trace from.\"),\n startNode: z\n .string()\n .optional()\n .describe(\"Starting node alias accepted by traversal callers.\"),\n depth: z.number().optional().describe(\"Traversal depth alias.\"),\n maxDepth: z.number().optional().describe(\"Maximum traversal depth.\"),\n mode: z.string().optional().describe(\"Traversal mode.\"),\n minLayer: z.string().optional().describe(\"Minimum epistemic layer.\"),\n maxLayer: z.string().optional().describe(\"Maximum epistemic layer.\"),\n});\n\nfunction graphRefNodeId(ref: GraphRef): string {\n if (ref.kind === \"epistemic_node\") {\n return ref.nodeId;\n }\n return `external_belief:${ref.ref.tenantId}:${ref.ref.beliefId}`;\n}\n\nexport const edgesContracts = [\n surfaceContract({\n name: \"create_edge\",\n kind: \"mutation\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n path: \"/edges\",\n sdkNamespace: \"edges\",\n sdkMethod: \"createEdge\",\n summary: \"Create an epistemic edge.\",\n convex: {\n module: \"edges\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) => {\n const parsed = createEdgeArgs.parse(input);\n assertEdgePolicyAllowed(\n edgePolicyManifest,\n parsed.edgeType,\n parsed.from,\n parsed.to\n );\n const fromNodeId = graphRefNodeId(parsed.from);\n const toNodeId = graphRefNodeId(parsed.to);\n\n return withCreatedBy(\n compactRecord({\n fromNodeId,\n toNodeId,\n edgeType: parsed.edgeType,\n globalId:\n parsed.globalId ??\n `edge:${fromNodeId}:${toNodeId}:${parsed.edgeType}`,\n weight: parsed.weight,\n confidence: parsed.confidence,\n context: parsed.context ?? parsed.reasoning,\n reasoningMethod: parsed.reasoningMethod,\n derivationType: parsed.derivationType,\n metadata: parsed.metadata,\n skipLayerValidation: true,\n topicId: parsed.topicId,\n trustedBypassAccessCheck: parsed.trustedBypassAccessCheck,\n }),\n context\n );\n },\n },\n args: createEdgeArgs,\n }),\n surfaceContract({\n name: \"update_edge\",\n kind: \"mutation\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n method: \"PATCH\",\n path: \"/edges\",\n sdkNamespace: \"edges\",\n sdkMethod: \"updateEdge\",\n summary: \"Update an epistemic edge.\",\n convex: {\n module: \"edges\",\n functionName: \"update\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n compactRecord({\n edgeId: input.edgeId,\n weight: input.weight,\n confidence: input.confidence,\n context: input.context ?? input.reasoning,\n derivationType: input.derivationType,\n metadata: input.metadata,\n userId: input.userId ?? context.userId ?? context.principalId,\n }),\n },\n args: updateEdgeArgs,\n }),\n surfaceContract({\n name: \"remove_edge\",\n kind: \"mutation\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/edges\",\n sdkNamespace: \"edges\",\n sdkMethod: \"removeEdge\",\n summary: \"Remove an epistemic edge.\",\n convex: {\n module: \"edges\",\n functionName: \"remove\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n compactRecord({\n edgeId: input.edgeId,\n userId: input.userId ?? context.userId ?? context.principalId,\n }),\n },\n args: removeEdgeArgs,\n }),\n surfaceContract({\n name: \"remove_edges_between\",\n kind: \"mutation\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n method: \"DELETE\",\n path: \"/edges/between\",\n sdkNamespace: \"edges\",\n sdkMethod: \"removeEdgesBetween\",\n summary: \"Remove epistemic edges between two nodes.\",\n convex: {\n module: \"edges\",\n functionName: \"removeBetween\",\n kind: \"mutation\",\n inputProjection: (input) => {\n const parsed = removeEdgesBetweenArgs.parse(input);\n const fromNodeId = parsed.from\n ? graphRefNodeId(parsed.from)\n : parsed.fromNodeId;\n const toNodeId = parsed.to ? graphRefNodeId(parsed.to) : parsed.toNodeId;\n if (!fromNodeId || !toNodeId) {\n throw new Error(\"from/to or fromNodeId/toNodeId are required.\");\n }\n return compactRecord({\n fromNodeId,\n toNodeId,\n edgeType: parsed.edgeType,\n });\n },\n },\n args: removeEdgesBetweenArgs,\n }),\n surfaceContract({\n name: \"batch_create_edges\",\n kind: \"mutation\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n path: \"/edges/batch\",\n sdkNamespace: \"edges\",\n sdkMethod: \"batchCreateEdges\",\n summary: \"Batch create epistemic edges.\",\n convex: {\n module: \"edges\",\n functionName: \"batchCreate\",\n kind: \"mutation\",\n inputProjection: (input, context) => {\n const parsed = batchCreateEdgesArgs.parse(input);\n return {\n skipLayerValidation: parsed.skipLayerValidation ?? true,\n edges: parsed.edges.map((edge) => {\n assertEdgePolicyAllowed(\n edgePolicyManifest,\n edge.edgeType,\n edge.from,\n edge.to,\n );\n const fromNodeId = graphRefNodeId(edge.from);\n const toNodeId = graphRefNodeId(edge.to);\n return withCreatedBy(\n compactRecord({\n fromNodeId,\n toNodeId,\n edgeType: edge.edgeType,\n globalId:\n edge.globalId ??\n `edge:${fromNodeId}:${toNodeId}:${edge.edgeType}`,\n weight: edge.weight,\n confidence: edge.confidence,\n context: edge.context ?? edge.reasoning,\n reasoningMethod: edge.reasoningMethod,\n derivationType: edge.derivationType,\n metadata: edge.metadata,\n topicId: edge.topicId,\n }),\n context,\n );\n }),\n };\n },\n },\n args: batchCreateEdgesArgs,\n }),\n surfaceContract({\n name: \"query_lineage\",\n kind: \"query\",\n domain: \"edges\",\n surfaceClass: \"platform_public\",\n path: \"/edges/lineage\",\n sdkNamespace: \"edges\",\n sdkMethod: \"queryLineage\",\n summary: \"Query graph lineage for a node.\",\n convex: {\n module: \"edges\",\n functionName: \"getLineage\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n nodeId: input.nodeId ?? input.startNode,\n maxDepth: input.maxDepth ?? input.depth,\n mode: input.mode,\n minLayer: input.minLayer,\n maxLayer: input.maxLayer,\n }),\n },\n args: queryLineageArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { authUserId, compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst graphIntelligenceQueryModes = [\n \"core\",\n \"bias\",\n \"stress\",\n \"operational\",\n \"alpha\",\n \"semantic\",\n \"evidence\",\n] as const;\n\nconst traversalLayerSchema = z.enum([\n \"L4\",\n \"L3\",\n \"L2\",\n \"L1\",\n \"ontological\",\n \"organizational\",\n]);\n\nconst traversalModeSchema = z.enum([\"low\", \"medium\", \"high\", \"extra_high\"]);\n\nconst lineageAliasArgs = z.object({\n nodeId: z\n .string()\n .optional()\n .describe(\"Starting node to traverse from.\"),\n startNode: z\n .string()\n .optional()\n .describe(\"Starting node alias for traversal callers.\"),\n entityId: z\n .string()\n .optional()\n .describe(\"Entity identifier alias for impact tracing.\"),\n depth: z.number().optional().describe(\"Traversal depth alias.\"),\n maxDepth: z.number().optional().describe(\"Maximum traversal depth.\"),\n mode: traversalModeSchema.optional().describe(\"Traversal mode.\"),\n minLayer: traversalLayerSchema\n .optional()\n .describe(\"Minimum epistemic layer to include.\"),\n maxLayer: traversalLayerSchema\n .optional()\n .describe(\"Maximum epistemic layer to include.\"),\n});\n\nconst lineageArgs = lineageAliasArgs.extend({\n nodeId: z.string().describe(\"Starting node to traverse from.\"),\n});\n\nconst traverseGraphArgs = lineageAliasArgs.extend({\n startNode: z.string().describe(\"Node to start traversal from.\"),\n direction: z\n .enum([\"up\", \"down\", \"both\"])\n .optional()\n .describe(\"Traversal direction.\"),\n});\n\nconst graphNeighborhoodArgs = z.object({\n globalId: z.string().optional().describe(\"Single root global ID.\"),\n globalIds: z\n .array(z.string())\n .optional()\n .describe(\"Root global IDs for the neighborhood.\"),\n maxDepth: z.number().optional().describe(\"Maximum traversal depth.\"),\n topicId: z.string().optional().describe(\"Topic scope for edge lookup.\"),\n limit: z.number().optional().describe(\"Maximum edges to return.\"),\n});\n\nconst graphIntelligenceModeSchema = z.enum([\n graphIntelligenceQueryModes[0],\n ...graphIntelligenceQueryModes.slice(1),\n]);\n\nconst graphIntelligenceCatalogArgs = z.object({\n categoryId: z.string().optional().describe(\"Optional query category filter.\"),\n mode: graphIntelligenceModeSchema\n .optional()\n .describe(\"Optional Graph Intelligence query mode filter.\"),\n});\n\nconst graphIntelligenceRunArgs = z.object({\n topicId: z.string().describe(\"Topic to analyze.\"),\n queryId: z\n .string()\n .optional()\n .describe(\"Catalog query ID to run, such as pre-mortem.\"),\n prompt: z\n .string()\n .optional()\n .describe(\"Custom prompt when queryId is omitted or overridden.\"),\n input: z\n .string()\n .optional()\n .describe(\"Optional entity, theme, belief, company, or search text.\"),\n mode: graphIntelligenceModeSchema\n .optional()\n .describe(\"Optional query mode override for custom prompts.\"),\n limit: z.number().optional().describe(\"Maximum graph context rows to return.\"),\n});\n\nconst flagContradictionArgs = z.object({\n beliefA: z.string().describe(\"First belief in tension.\"),\n beliefB: z.string().describe(\"Second belief in tension.\"),\n topicId: z.string().optional().describe(\"Topic scope for the contradiction.\"),\n description: z.string().optional().describe(\"Human-readable contradiction.\"),\n severity: z\n .enum([\"critical\", \"high\", \"medium\", \"low\"])\n .optional()\n .describe(\"Contradiction severity.\"),\n defeatType: z.string().optional().describe(\"Defeat type annotation.\"),\n supportingInsightIds: z\n .array(z.string())\n .optional()\n .describe(\"Evidence supporting the primary belief.\"),\n contradictingInsightIds: z\n .array(z.string())\n .optional()\n .describe(\"Evidence or beliefs contradicting the primary belief.\"),\n});\n\nconst discoverEntityConnectionsArgs = lineageAliasArgs.extend({\n nodeId: z\n .string()\n .describe(\"Epistemic node ID to find entity connections for.\"),\n topicId: z.string().optional().describe(\"Topic scope override.\"),\n minScore: z.number().optional().describe(\"Minimum match score.\"),\n limit: z.number().optional().describe(\"Maximum candidates to return.\"),\n});\n\nconst contradictionSeverity = (value: unknown) => {\n switch (value) {\n case \"critical\":\n case \"high\":\n return \"critical\";\n case \"medium\":\n return \"significant\";\n case \"low\":\n return \"minor\";\n default:\n return \"significant\";\n }\n};\n\nconst flagContradictionInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n compactRecord({\n beliefId: input.beliefId ?? input.beliefA,\n supportingInsightIds: Array.isArray(input.supportingInsightIds)\n ? input.supportingInsightIds\n : [],\n contradictingInsightIds: Array.isArray(input.contradictingInsightIds)\n ? input.contradictingInsightIds\n : [input.beliefB].filter((value): value is string => typeof value === \"string\"),\n severity: contradictionSeverity(input.severity),\n aiAnalysis: {\n summary: input.description ?? \"Contradiction flagged.\",\n likelyExplanation: input.description ?? \"Contradiction flagged.\",\n suggestedResolution: `Review the conflicting beliefs before acting. Defeat type: ${\n typeof input.defeatType === \"string\" ? input.defeatType : \"unspecified\"\n }.`,\n confidenceInAnalysis: 0.5,\n analyzedAt: Date.now(),\n },\n createdBy: authUserId(context),\n });\n\nconst lineageInput = (input: Record<string, unknown>) =>\n compactRecord({\n nodeId: input.nodeId ?? input.startNode ?? input.entityId,\n maxDepth: input.maxDepth ?? input.depth,\n mode: input.mode,\n minLayer: input.minLayer,\n maxLayer: input.maxLayer,\n });\n\nconst topicEdgesInput = (input: Record<string, unknown>) =>\n compactRecord({\n topicId: input.topicId,\n userId: input.userId,\n limit: input.limit,\n });\n\nexport const graphContracts = [\n surfaceContract({\n name: \"traverse_graph\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/traverse\",\n sdkNamespace: \"graph\",\n sdkMethod: \"traverseGraph\",\n summary: \"Traverse graph lineage from a node.\",\n convex: {\n module: \"edges\",\n functionName: \"getLineage\",\n kind: \"query\",\n inputProjection: lineageInput,\n },\n args: traverseGraphArgs,\n }),\n surfaceContract({\n name: \"get_graph_neighborhood\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/neighborhood\",\n sdkNamespace: \"graph\",\n sdkMethod: \"getGraphNeighborhood\",\n summary: \"Read graph neighborhood edges for a topic.\",\n convex: {\n module: \"edges\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: topicEdgesInput,\n },\n args: graphNeighborhoodArgs,\n }),\n surfaceContract({\n name: \"get_graph_structure_analysis\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/structure-analysis\",\n sdkNamespace: \"graph\",\n sdkMethod: \"getGraphStructureAnalysis\",\n summary: \"Read cached graph structure analysis.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"getGraphStructureAnalysis\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"list_graph_intelligence_queries\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph-intelligence/queries\",\n sdkNamespace: \"graphAnalysis\",\n sdkMethod: \"listGraphIntelligenceQueries\",\n summary: \"List Graph Intelligence query catalog entries.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"listGraphIntelligenceQueries\",\n kind: \"query\",\n },\n args: graphIntelligenceCatalogArgs,\n }),\n surfaceContract({\n name: \"run_graph_intelligence_query\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph-intelligence/run\",\n sdkNamespace: \"graphAnalysis\",\n sdkMethod: \"runGraphIntelligenceQuery\",\n summary: \"Run a Graph Intelligence query against a topic graph.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"runGraphIntelligenceQuery\",\n kind: \"query\",\n },\n args: graphIntelligenceRunArgs,\n }),\n surfaceContract({\n name: \"find_contradictions\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/contradictions\",\n sdkNamespace: \"graph\",\n sdkMethod: \"findContradictions\",\n summary: \"Find contradiction edges.\",\n convex: {\n module: \"edges\",\n functionName: \"findContradictions\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n nodeId: input.nodeId ?? input.beliefId,\n }),\n },\n }),\n surfaceContract({\n name: \"flag_contradiction\",\n kind: \"mutation\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/contradictions\",\n sdkNamespace: \"contradictions\",\n sdkMethod: \"flagContradiction\",\n summary: \"Flag a contradiction between two beliefs.\",\n convex: {\n module: \"contradictions\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: flagContradictionInput,\n },\n args: flagContradictionArgs,\n }),\n surfaceContract({\n name: \"detect_confirmation_bias\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/confirmation-bias\",\n sdkNamespace: \"graph\",\n sdkMethod: \"detectConfirmationBias\",\n summary: \"Detect confirmation-bias risk from topic context.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"detectConfirmationBias\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"get_topic_coverage\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/topic-coverage\",\n sdkNamespace: \"graph\",\n sdkMethod: \"getTopicCoverage\",\n summary: \"Read topic coverage context.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"getTopicCoverage\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"get_graph_gaps\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"platform_public\",\n path: \"/graph/gaps\",\n sdkNamespace: \"graph\",\n sdkMethod: \"getGraphGaps\",\n summary: \"Read graph gap context.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"getGraphGaps\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"analyze_topic_density\",\n kind: \"query\",\n domain: \"scope\",\n surfaceClass: \"tenant_public\",\n path: \"/scope/topic-density\",\n sdkNamespace: \"context\",\n sdkMethod: \"analyzeTopicDensity\",\n summary: \"Analyze graph density for a topic.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"analyzeTopicDensity\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"apply_auto_branching\",\n kind: \"mutation\",\n domain: \"scope\",\n surfaceClass: \"tenant_public\",\n path: \"/scope/auto-branching\",\n sdkNamespace: \"context\",\n sdkMethod: \"applyAutoBranching\",\n summary: \"Apply automatic graph branching recommendations.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"applyAutoBranching\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"discover_entity_connections\",\n kind: \"query\",\n domain: \"context\",\n surfaceClass: \"tenant_public\",\n path: \"/context/entity-connections\",\n sdkNamespace: \"context\",\n sdkMethod: \"discoverEntityConnections\",\n summary: \"Discover graph connections for an entity.\",\n convex: {\n module: \"edges\",\n functionName: \"getLineage\",\n kind: \"query\",\n inputProjection: lineageInput,\n },\n args: discoverEntityConnectionsArgs,\n }),\n surfaceContract({\n name: \"trigger_belief_review\",\n kind: \"mutation\",\n domain: \"context\",\n surfaceClass: \"tenant_public\",\n path: \"/context/belief-review\",\n sdkNamespace: \"context\",\n sdkMethod: \"triggerBeliefReview\",\n summary: \"Trigger review suggestions for belief quality.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"triggerBeliefReview\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"trace_entity_impact\",\n kind: \"query\",\n domain: \"graph\",\n surfaceClass: \"tenant_public\",\n path: \"/graph/trace-entity-impact\",\n sdkNamespace: \"graph\",\n sdkMethod: \"traceEntityImpact\",\n summary: \"Trace graph impact for an entity.\",\n convex: {\n module: \"edges\",\n functionName: \"getLineage\",\n kind: \"query\",\n inputProjection: lineageInput,\n },\n args: lineageArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\n\nexport const contractsContracts = [\n surfaceContract({\n name: \"create_epistemic_contract\",\n kind: \"mutation\",\n domain: \"contracts\",\n surfaceClass: \"tenant_public\",\n path: \"/contracts\",\n sdkNamespace: \"contracts\",\n sdkMethod: \"createEpistemicContract\",\n summary: \"Create an epistemic contract.\",\n convex: {\n module: \"contracts\",\n functionName: \"createEpistemicContract\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"evaluate_contract\",\n kind: \"mutation\",\n domain: \"contracts\",\n surfaceClass: \"tenant_public\",\n path: \"/contracts/evaluate\",\n sdkNamespace: \"contracts\",\n sdkMethod: \"evaluateContract\",\n summary: \"Evaluate an epistemic contract.\",\n convex: {\n module: \"contracts\",\n functionName: \"evaluateContract\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"get_contract_status\",\n kind: \"query\",\n domain: \"contracts\",\n surfaceClass: \"tenant_public\",\n path: \"/contracts/status\",\n sdkNamespace: \"contracts\",\n sdkMethod: \"getContractStatus\",\n summary: \"Read epistemic contract status.\",\n convex: {\n module: \"contracts\",\n functionName: \"getContractStatus\",\n kind: \"query\",\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract, withUserId } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst auditTrailArgs = z.object({\n nodeId: z.string().describe(\"The node to audit.\"),\n id: z.string().optional().describe(\"Node ID alias.\"),\n limit: z.number().optional().describe(\"Maximum entries to return.\"),\n depth: z.number().optional().describe(\"Traversal depth alias.\"),\n maxDepth: z.number().optional().describe(\"Maximum lineage depth.\"),\n mode: z.string().optional().describe(\"Traversal mode.\"),\n minLayer: z.string().optional().describe(\"Minimum epistemic layer.\"),\n maxLayer: z.string().optional().describe(\"Maximum epistemic layer.\"),\n});\n\nexport const judgmentsContracts = [\n surfaceContract({\n name: \"record_judgment\",\n kind: \"mutation\",\n domain: \"judgments\",\n surfaceClass: \"platform_internal\",\n path: \"/judgments\",\n sdkNamespace: \"judgments\",\n sdkMethod: \"recordJudgment\",\n summary: \"Record a judgment as evidence.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n withUserId(\n compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text: input.rationale,\n title: input.title,\n content: input.rationale,\n kind: \"judgment\",\n sourceType: \"ai_generated\",\n metadata: compactRecord({\n confidence: input.confidence,\n beliefIds: input.beliefIds,\n }),\n rationale:\n input.rationale ??\n input.reasoning ??\n \"Recorded judgment evidence\",\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n ),\n },\n }),\n surfaceContract({\n name: \"get_audit_trail\",\n kind: \"query\",\n domain: \"judgments\",\n surfaceClass: \"platform_internal\",\n path: \"/judgments/audit-trail\",\n sdkNamespace: \"judgments\",\n sdkMethod: \"getAuditTrail\",\n summary: \"Read node lineage as an audit trail.\",\n convex: {\n module: \"edges\",\n functionName: \"getLineage\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n nodeId: input.nodeId ?? input.id,\n maxDepth: input.maxDepth ?? input.depth,\n mode: input.mode,\n minLayer: input.minLayer,\n maxLayer: input.maxLayer,\n }),\n },\n args: auditTrailArgs,\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\n\nconst stringArray = (value: unknown): string[] | undefined =>\n Array.isArray(value)\n ? value.filter((entry): entry is string => typeof entry === \"string\")\n : undefined;\n\nexport const coordinationContracts = [\n surfaceContract({\n name: \"register_session\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/register-session\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"registerSession\",\n summary: \"Register an active agent session.\",\n convex: {\n module: \"coordination\",\n functionName: \"registerSession\",\n kind: \"mutation\",\n injectSessionId: \"sessionId\",\n },\n }),\n surfaceContract({\n name: \"heartbeat_session\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/heartbeat-session\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"heartbeatSession\",\n summary: \"Refresh an agent session heartbeat.\",\n convex: {\n module: \"coordination\",\n functionName: \"heartbeatSession\",\n kind: \"mutation\",\n injectSessionId: \"sessionId\",\n },\n }),\n surfaceContract({\n name: \"end_session\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/end-session\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"endSession\",\n summary: \"End an agent session.\",\n convex: {\n module: \"coordination\",\n functionName: \"endSession\",\n kind: \"mutation\",\n injectSessionId: \"sessionId\",\n },\n }),\n surfaceContract({\n name: \"list_active_sessions\",\n kind: \"query\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/active-sessions\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"listActiveSessions\",\n summary: \"List active agent sessions.\",\n convex: {\n module: \"coordination\",\n functionName: \"listActiveSessions\",\n kind: \"query\",\n },\n }),\n surfaceContract({\n name: \"send_agent_message\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/messages/send\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"sendAgentMessage\",\n summary: \"Send a directed agent coordination message.\",\n convex: {\n module: \"coordination\",\n functionName: \"sendMessage\",\n kind: \"mutation\",\n injectSessionId: \"fromSessionId\",\n inputProjection: (input) => ({\n ...input,\n messageType:\n typeof input.messageType === \"string\" ? input.messageType : \"note\",\n }),\n },\n }),\n surfaceContract({\n name: \"broadcast_message\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/messages/broadcast\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"broadcastMessage\",\n summary: \"Broadcast an agent coordination message.\",\n convex: {\n module: \"coordination\",\n functionName: \"sendMessage\",\n kind: \"mutation\",\n injectSessionId: \"fromSessionId\",\n broadcastToAll: true,\n inputProjection: (input) => ({\n ...input,\n messageType:\n typeof input.messageType === \"string\" ? input.messageType : \"note\",\n }),\n },\n }),\n surfaceContract({\n name: \"get_agent_inbox\",\n kind: \"query\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/messages/inbox\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"getAgentInbox\",\n summary: \"Read an agent session inbox.\",\n convex: {\n module: \"coordination\",\n functionName: \"getInbox\",\n kind: \"query\",\n injectSessionId: \"sessionId\",\n inputProjection: (input) =>\n compactRecord({\n limit: input.limit,\n }),\n },\n }),\n surfaceContract({\n name: \"claim_files\",\n kind: \"mutation\",\n domain: \"coordination\",\n surfaceClass: \"platform_internal\",\n path: \"/coordination/file-claims\",\n sdkNamespace: \"coordination\",\n sdkMethod: \"claimFiles\",\n summary: \"Claim files for advisory agent coordination.\",\n convex: {\n module: \"coordination\",\n functionName: \"claimFiles\",\n kind: \"mutation\",\n injectSessionId: \"sessionId\",\n inputProjection: (input) => ({\n touchedFiles:\n stringArray(input.touchedFiles) ??\n stringArray(input.files) ??\n stringArray(input.paths) ??\n [],\n }),\n },\n }),\n surfaceContract({\n name: \"generate_session_handoff\",\n kind: \"query\",\n domain: \"bootstrap\",\n surfaceClass: \"platform_internal\",\n path: \"/bootstrap/session-handoff\",\n sdkNamespace: \"bootstrap\",\n sdkMethod: \"generateSessionHandoff\",\n summary: \"Generate a session handoff package.\",\n convex: {\n module: \"worktrees\",\n functionName: \"get\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n worktreeId: input.worktreeId ?? input.id,\n }),\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { compactRecord, surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\nimport { z } from \"zod\";\n\nconst pipelineSnapshotArgs = z.object({\n topicId: z.string().describe(\"Topic scope ID.\"),\n status: z.string().optional().describe(\"Worktree status filter.\"),\n lane: z.string().optional().describe(\"Campaign lane filter.\"),\n campaign: z.number().optional().describe(\"Campaign number filter.\"),\n limit: z.number().optional().describe(\"Maximum worktrees to inspect.\"),\n});\n\nexport const pipelineContracts = [\n surfaceContract({\n name: \"pipeline_snapshot\",\n kind: \"query\",\n domain: \"worktrees\",\n surfaceClass: \"platform_internal\",\n path: \"/worktrees/pipeline-snapshot\",\n sdkNamespace: \"worktrees\",\n sdkMethod: \"pipelineSnapshot\",\n summary: \"Summarize worktree pipeline state for a topic.\",\n convex: {\n module: \"worktrees\",\n functionName: \"listAll\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n status: input.status,\n lane: input.lane,\n campaign: input.campaign,\n limit: input.limit,\n }),\n },\n args: pipelineSnapshotArgs,\n }),\n surfaceContract({\n name: \"seed_belief_lattice\",\n kind: \"mutation\",\n domain: \"scope\",\n surfaceClass: \"platform_internal\",\n path: \"/scope/belief-lattice/seed\",\n sdkNamespace: \"context\",\n sdkMethod: \"seedBeliefLattice\",\n summary: \"Seed baseline belief lattice coverage for a topic.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"seedBeliefLattice\",\n kind: \"mutation\",\n },\n }),\n surfaceContract({\n name: \"get_lattice_coverage\",\n kind: \"query\",\n domain: \"scope\",\n surfaceClass: \"platform_internal\",\n path: \"/scope/belief-lattice/coverage\",\n sdkNamespace: \"context\",\n sdkMethod: \"getLatticeCoverage\",\n summary: \"Read belief lattice coverage for a topic.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"getLatticeCoverage\",\n kind: \"query\",\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { z } from \"zod\";\nimport {\n compactRecord,\n recordValue,\n surfaceContract,\n withUserId,\n} from \"./helpers.js\";\nimport type { ContractProjectionContext, FunctionContract } from \"./types.js\";\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction stringValues(value: unknown): string[] {\n if (typeof value === \"string\") {\n return [value];\n }\n if (Array.isArray(value)) {\n return value.flatMap((item) => stringValues(item));\n }\n return [];\n}\n\nfunction nestedEvidenceRows(value: unknown): Record<string, unknown>[] {\n if (Array.isArray(value)) {\n return value.flatMap((item) => nestedEvidenceRows(item));\n }\n if (!isRecord(value)) {\n return [];\n }\n\n const nestedKeys = [\"evidence\", \"items\", \"nodes\"];\n const nestedRows = nestedKeys.flatMap((key) => nestedEvidenceRows(value[key]));\n return nestedRows.length > 0 ? nestedRows : [value];\n}\n\nfunction isFailedAttemptRow(row: Record<string, unknown>): boolean {\n const metadata = isRecord(row.metadata) ? row.metadata : null;\n return (\n metadata?.failedApproach === true ||\n metadata?.isFailedAttempt === true\n );\n}\n\nfunction failureLogSearchFields(row: Record<string, unknown>): string[] {\n const metadata = isRecord(row.metadata) ? row.metadata : null;\n return [\n ...stringValues(row.id),\n ...stringValues(row._id),\n ...stringValues(row.title),\n ...stringValues(row.text),\n ...stringValues(row.canonicalText),\n ...stringValues(row.content),\n ...stringValues(metadata?.codeAnchor),\n ...stringValues(metadata?.codeAnchors),\n ...stringValues(metadata?.anchor),\n ...stringValues(metadata?.anchors),\n ...stringValues(metadata?.filePath),\n ...stringValues(metadata?.filePaths),\n ...stringValues(metadata?.path),\n ...stringValues(metadata?.paths),\n ...stringValues(metadata?.sourceRef),\n ...stringValues(metadata?.touchedPaths),\n ];\n}\n\nfunction projectFailureLog(\n output: unknown,\n input: Record<string, unknown>,\n): {\n query?: string;\n failures: Record<string, unknown>[];\n totalFound: number;\n showing: number;\n} {\n const rawQuery =\n typeof input.query === \"string\" && input.query.trim().length > 0\n ? input.query.trim()\n : undefined;\n const searchKey = rawQuery?.toLowerCase();\n const failures = nestedEvidenceRows(output)\n .filter((row) => isFailedAttemptRow(row))\n .filter((row) =>\n !searchKey\n ? true\n : failureLogSearchFields(row).some((field) =>\n field.toLowerCase().includes(searchKey),\n ),\n );\n\n return {\n query: rawQuery,\n failures,\n totalFound: failures.length,\n showing: failures.length,\n };\n}\n\nconst recordScopeLearningArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope ID\"),\n summary: z.string().describe(\"Atomic learning statement\"),\n title: z\n .string()\n .optional()\n .describe(\"Optional evidence title, such as a commit, doc, or issue.\"),\n body: z\n .string()\n .optional()\n .describe(\n \"Optional rich evidence body. If omitted, body is synthesized from summary and touched paths.\"\n ),\n contentType: z\n .string()\n .optional()\n .describe(\"Optional evidence body format, such as markdown or text.\"),\n sourceKind: z\n .enum([\"commit\", \"merge\", \"doc\", \"issue\", \"manual\"])\n .optional()\n .describe(\"Source type for the learning event\"),\n sourceRef: z\n .string()\n .optional()\n .describe(\"Optional source reference, such as SHA, PR number, or URL slug.\"),\n sourceUrl: z.string().optional().describe(\"Optional canonical source URL\"),\n touchedPaths: z\n .array(z.string())\n .optional()\n .describe(\"Optional touched file paths for retrieval hints\"),\n tags: z.array(z.string()).optional().describe(\"Optional tags\"),\n linkedBeliefNodeId: z\n .string()\n .optional()\n .describe(\"Optional belief to attach evidence to\"),\n evidenceRelation: z\n .enum([\"supports\", \"contradicts\"])\n .optional()\n .describe(\"Relation to linked belief\"),\n confidence: z.number().optional().describe(\"Optional confidence in [0,1]\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this learning should enter the reasoning graph\"),\n createQuestionText: z\n .string()\n .optional()\n .describe(\"Optional follow-up question text\"),\n createBeliefText: z\n .string()\n .optional()\n .describe(\"Optional new belief text\"),\n beliefType: z\n .string()\n .optional()\n .describe(\"Optional belief type for createBeliefText\"),\n text: z.string().optional().describe(\"Canonical learning text alias.\"),\n content: z\n .string()\n .optional()\n .describe(\"Canonical learning content alias.\"),\n kind: z.string().optional().describe(\"Evidence kind to store.\"),\n sourceType: z.string().optional().describe(\"Evidence source type.\"),\n externalSourceType: z\n .string()\n .optional()\n .describe(\"External source type alias.\"),\n metadata: z.record(z.unknown()).optional().describe(\"Learning metadata.\"),\n});\n\nconst codeContextArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope.\"),\n filePath: z.string().optional().describe(\"File path anchor.\"),\n includeFailures: z\n .boolean()\n .optional()\n .describe(\"Whether to include failed attempts.\"),\n limit: z.number().optional().describe(\"Maximum records to return.\"),\n status: z.string().optional().describe(\"Evidence status filter.\"),\n});\n\nconst recordAttemptArgs = z.object({\n topicId: z.string().optional().describe(\"Topic scope.\"),\n description: z.string().describe(\"Attempt description.\"),\n errorMessage: z.string().optional().describe(\"Failure or error message.\"),\n filePaths: z\n .array(z.string())\n .optional()\n .describe(\"Files involved in the attempt.\"),\n filePath: z.string().optional().describe(\"Single file path alias.\"),\n linkedBeliefId: z.string().optional().describe(\"Linked belief ID.\"),\n metadata: z.record(z.unknown()).optional().describe(\"Attempt metadata.\"),\n rationale: z\n .string()\n .optional()\n .describe(\"Why this attempt should be recorded.\"),\n title: z.string().optional().describe(\"Attempt evidence title.\"),\n});\n\nconst learningInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) => {\n const sourceKind = input.sourceKind ?? input.externalSourceType;\n return withUserId(\n compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text: input.summary ?? input.text,\n title: input.title ?? input.summary ?? \"Scope learning\",\n content: input.body ?? input.content ?? input.summary,\n contentType: input.contentType,\n kind: input.kind ?? \"learning\",\n tags: input.tags ?? [],\n sourceType: input.sourceType,\n externalSourceType: input.externalSourceType ?? input.sourceKind,\n sourceUrl: input.sourceUrl,\n metadata: compactRecord({\n ...recordValue(input.metadata),\n sourceRef: input.sourceRef,\n sourceKind,\n touchedPaths: input.touchedPaths,\n createQuestionText: input.createQuestionText,\n createBeliefText: input.createBeliefText,\n beliefType: input.beliefType,\n }),\n linkedBeliefNodeId: input.linkedBeliefNodeId,\n evidenceRelation: input.evidenceRelation,\n confidence: input.confidence,\n rationale:\n input.rationale ??\n input.reasoning ??\n input.summary ??\n input.text ??\n \"Recorded scope learning\",\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n );\n};\n\nconst attemptInput = (\n input: Record<string, unknown>,\n context: ContractProjectionContext\n) =>\n withUserId(\n compactRecord({\n projectId: input.projectId,\n topicId: input.topicId,\n text: input.description,\n title: input.title ?? input.description,\n content: input.errorMessage ?? input.description,\n kind: \"code_attempt\",\n tags: [\"code_attempt\"],\n metadata: compactRecord({\n ...recordValue(input.metadata),\n failedApproach: true,\n isFailedAttempt: true,\n filePaths: input.filePaths,\n filePath: input.filePath,\n errorMessage: input.errorMessage,\n linkedBeliefId: input.linkedBeliefId,\n }),\n rationale:\n input.rationale ??\n input.reasoning ??\n input.errorMessage ??\n input.description ??\n \"Recorded implementation attempt\",\n trustedBypassAccessCheck: input.trustedBypassAccessCheck ?? true,\n }),\n context\n );\n\nexport const codingContracts = [\n surfaceContract({\n name: \"record_scope_learning\",\n kind: \"mutation\",\n domain: \"scope\",\n surfaceClass: \"platform_internal\",\n path: \"/scope/learnings\",\n sdkNamespace: \"context\",\n sdkMethod: \"recordScopeLearning\",\n summary: \"Record a scope-level learning to the reasoning graph.\",\n args: recordScopeLearningArgs,\n input: recordScopeLearningArgs,\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: learningInput,\n },\n }),\n surfaceContract({\n name: \"manage_write_policy\",\n kind: \"mutation\",\n domain: \"policy\",\n surfaceClass: \"tenant_public\",\n path: \"/policy/write-policy/manage\",\n sdkNamespace: \"policy\",\n sdkMethod: \"manageWritePolicy\",\n summary: \"Manage MCP write policy rules.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: (input, context) =>\n learningInput(\n {\n ...input,\n summary:\n input.summary ??\n `Write policy ${String(input.action ?? \"update\")}`,\n sourceKind: \"write_policy\",\n },\n context\n ),\n },\n }),\n surfaceContract({\n name: \"get_code_context\",\n kind: \"query\",\n domain: \"coding\",\n surfaceClass: \"platform_internal\",\n path: \"/coding/context\",\n sdkNamespace: \"coding\",\n sdkMethod: \"getCodeContext\",\n summary: \"Read code context for graph-linked files.\",\n convex: {\n module: \"evidence\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId,\n limit: input.limit,\n status: input.status,\n userId: input.userId,\n }),\n },\n args: codeContextArgs,\n }),\n surfaceContract({\n name: \"get_change_history\",\n kind: \"query\",\n domain: \"coding\",\n surfaceClass: \"platform_internal\",\n path: \"/coding/change-history\",\n sdkNamespace: \"coding\",\n sdkMethod: \"getChangeHistory\",\n summary: \"Read recorded code change attempts.\",\n convex: {\n module: \"evidence\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId,\n limit: input.limit,\n status: input.status,\n userId: input.userId,\n }),\n },\n }),\n surfaceContract({\n name: \"record_attempt\",\n kind: \"mutation\",\n domain: \"coding\",\n surfaceClass: \"platform_internal\",\n path: \"/coding/attempts\",\n sdkNamespace: \"coding\",\n sdkMethod: \"recordAttempt\",\n summary: \"Record a code attempt for failure learning.\",\n convex: {\n module: \"evidence\",\n functionName: \"create\",\n kind: \"mutation\",\n inputProjection: attemptInput,\n },\n args: recordAttemptArgs,\n }),\n surfaceContract({\n name: \"get_failure_log\",\n kind: \"query\",\n domain: \"coding\",\n surfaceClass: \"platform_internal\",\n path: \"/coding/failure-log\",\n sdkNamespace: \"coding\",\n sdkMethod: \"getFailureLog\",\n summary: \"Read code failure log entries.\",\n convex: {\n module: \"evidence\",\n functionName: \"getByTopic\",\n kind: \"query\",\n inputProjection: (input) =>\n compactRecord({\n topicId: input.topicId ?? input.query,\n limit: input.limit,\n status: input.status,\n userId: input.userId,\n }),\n outputProjection: (output, input) => projectFailureLog(output, input),\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { surfaceContract } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\n\nexport const legacyContracts = [\n surfaceContract({\n name: \"discover\",\n kind: \"query\",\n domain: \"context\",\n surfaceClass: \"legacy_compat\",\n replacedBy: \"compile_context\",\n path: \"/context/discover\",\n sdkNamespace: \"context\",\n sdkMethod: \"discover\",\n summary: \"Discover relevant topic context.\",\n convex: {\n module: \"contextCompiler\",\n functionName: \"compile\",\n kind: \"query\",\n inputProjection: (input) => ({\n ...input,\n query: input.query ?? input.prompt ?? input.topicHint ?? \"discover\",\n }),\n },\n }),\n] as const satisfies readonly FunctionContract[];\n","import { contextContracts } from \"./context.js\";\nimport { identityContracts } from \"./identity.js\";\nimport { beliefsContracts } from \"./beliefs.js\";\nimport { evidenceContracts } from \"./evidence.js\";\nimport { questionsContracts } from \"./questions.js\";\nimport { topicsContracts } from \"./topics.js\";\nimport { nodesContracts } from \"./nodes.js\";\nimport { lensesContracts } from \"./lenses.js\";\nimport { ontologiesContracts } from \"./ontologies.js\";\nimport { worktreesContracts } from \"./worktrees.js\";\nimport { tasksContracts } from \"./tasks.js\";\nimport { edgesContracts } from \"./edges.js\";\nimport { graphContracts } from \"./graph.js\";\nimport { contractsContracts } from \"./contracts.js\";\nimport { judgmentsContracts } from \"./judgments.js\";\nimport { coordinationContracts } from \"./coordination.js\";\nimport { pipelineContracts } from \"./pipeline.js\";\nimport { codingContracts } from \"./coding.js\";\nimport { legacyContracts } from \"./legacy.js\";\nimport { assertSurfaceCoverage } from \"./helpers.js\";\nimport type { FunctionContract } from \"./types.js\";\n\nexport * from \"./types.js\";\nexport * from \"./helpers.js\";\nexport * from \"./manifest.js\";\nexport { contextContracts } from \"./context.js\";\nexport { identityContracts } from \"./identity.js\";\nexport { beliefsContracts } from \"./beliefs.js\";\nexport { evidenceContracts } from \"./evidence.js\";\nexport { questionsContracts } from \"./questions.js\";\nexport { topicsContracts } from \"./topics.js\";\nexport { nodesContracts } from \"./nodes.js\";\nexport { lensesContracts } from \"./lenses.js\";\nexport { ontologiesContracts } from \"./ontologies.js\";\nexport { worktreesContracts } from \"./worktrees.js\";\nexport { tasksContracts } from \"./tasks.js\";\nexport { edgesContracts } from \"./edges.js\";\nexport { graphContracts } from \"./graph.js\";\nexport { contractsContracts } from \"./contracts.js\";\nexport { judgmentsContracts } from \"./judgments.js\";\nexport { coordinationContracts } from \"./coordination.js\";\nexport { pipelineContracts } from \"./pipeline.js\";\nexport { codingContracts } from \"./coding.js\";\nexport { legacyContracts } from \"./legacy.js\";\n\nexport const ALL_FUNCTION_CONTRACTS: readonly FunctionContract[] = [\n ...contextContracts,\n ...identityContracts,\n ...beliefsContracts,\n ...evidenceContracts,\n ...questionsContracts,\n ...topicsContracts,\n ...nodesContracts,\n ...lensesContracts,\n ...ontologiesContracts,\n ...worktreesContracts,\n ...tasksContracts,\n ...edgesContracts,\n ...graphContracts,\n ...contractsContracts,\n ...judgmentsContracts,\n ...coordinationContracts,\n ...pipelineContracts,\n ...codingContracts,\n ...legacyContracts,\n] as const;\n\nassertSurfaceCoverage(ALL_FUNCTION_CONTRACTS);\n\nexport const FUNCTION_SURFACE_CONTRACTS: readonly FunctionContract[] = [\n ...ALL_FUNCTION_CONTRACTS,\n];\n\nexport const FUNCTION_CONTRACTS_BY_NAME = new Map(\n ALL_FUNCTION_CONTRACTS.map((contract) => [contract.name, contract] as const)\n);\n\nexport const getFunctionContract: (\n name: string\n) => FunctionContract | undefined = FUNCTION_CONTRACTS_BY_NAME.get.bind(\n FUNCTION_CONTRACTS_BY_NAME\n);\n","/**\n * Tenant bootstrap seed contract.\n *\n * Fresh tenant deployments install the Lucern kernel and control-plane components\n * from npm, then copy canonical template rows for non-secret runtime defaults.\n * This contract is intentionally exhaustive for the K/CP tables: it separates\n * rows that must be carried by the template deployments from rows that are\n * runtime data, runtime credentials, logs, queues, or derived caches.\n */\n\nexport const TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION = \"2026-04-30\" as const;\n\nexport const TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS = [\n \"tenantId\",\n \"workspaceId\",\n \"principalId\",\n \"role\",\n \"authMode\",\n \"correlationId\",\n \"auditMetadata\",\n] as const;\nexport type TenantBootstrapSeedAuthMetadataField =\n (typeof TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_COMPONENTS = {\n kernel: {\n componentName: \"lucern\",\n migrationModule: \"adapters/migration\",\n templateMigrationModule: \"dist/adapters/migration\",\n tenantMigrationModule: \"adapters/migration\",\n templateService: \"services/kernel-template\",\n templateDeployments: {\n staging: \"kindly-goldfish-162\",\n prod: \"cool-badger-368\",\n },\n },\n \"control-plane\": {\n componentName: \"controlPlane\",\n migrationModule: \"migration\",\n templateMigrationModule: \"dist/migration\",\n tenantMigrationModule: \"migration\",\n templateService: \"services/control-plane-template\",\n templateDeployments: {\n staging: \"industrious-cheetah-864\",\n prod: \"combative-beagle-879\",\n },\n },\n} as const;\nexport type TenantBootstrapSeedComponent =\n keyof typeof TENANT_BOOTSTRAP_SEED_COMPONENTS;\n\nexport type TenantBootstrapSeedScope = \"global\" | \"tenant\";\n\nexport type TenantBootstrapPrepopulation =\n | \"required_template\"\n | \"optional_template\"\n | \"runtime_bootstrap\"\n | \"runtime_data\"\n | \"runtime_log\"\n | \"runtime_secret\"\n | \"runtime_derived\"\n | \"runtime_queue\";\n\nexport type TenantBootstrapCopyMode =\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\"\n | \"none\";\n\nexport type TenantBootstrapTableRequirement = {\n component: TenantBootstrapSeedComponent;\n table: string;\n prepopulation: TenantBootstrapPrepopulation;\n copyMode: TenantBootstrapCopyMode;\n scope?: TenantBootstrapSeedScope;\n uniqueKey?: readonly string[];\n dependsOn?: readonly string[];\n description: string;\n};\n\nexport type TenantBootstrapSeedTable = TenantBootstrapTableRequirement & {\n copyMode:\n | \"template_global\"\n | \"template_tenant_rewrite\"\n | \"template_reference_remap\";\n scope: TenantBootstrapSeedScope;\n uniqueKey: readonly string[];\n};\n\nfunction isCopyableSeedRequirement(\n entry: TenantBootstrapTableRequirement,\n): entry is TenantBootstrapSeedTable {\n return (\n (entry.copyMode === \"template_global\" ||\n entry.copyMode === \"template_tenant_rewrite\" ||\n entry.copyMode === \"template_reference_remap\") &&\n Boolean(entry.scope) &&\n Array.isArray(entry.uniqueKey) &&\n entry.uniqueKey.length > 0\n );\n}\n\nexport const TENANT_BOOTSTRAP_TABLE_REQUIREMENTS = [\n {\n component: \"kernel\",\n table: \"agentMessages\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Agent coordination messages are session data, not template data.\",\n },\n {\n component: \"kernel\",\n table: \"agentSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Agent coordination sessions are created by active clients.\",\n },\n {\n component: \"kernel\",\n table: \"autofixJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Autofix work items are runtime queue rows.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Background job executions are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"backgroundJobSettings\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"jobKey\"],\n description:\n \"Default job enablement settings must come from the K template.\",\n },\n {\n component: \"kernel\",\n table: \"beliefConfidence\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief confidence rows are created with tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"beliefEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefHistory\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Belief history is append-only tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefScenarios\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Scenario rows are tenant-authored reasoning data.\",\n },\n {\n component: \"kernel\",\n table: \"beliefVotes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision belief votes are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"calibrationScores\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Calibration scores are computed from tenant outcomes.\",\n },\n {\n component: \"kernel\",\n table: \"contractEvaluations\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Contract evaluation rows are runtime computation logs.\",\n },\n {\n component: \"kernel\",\n table: \"contradictions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Contradictions are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"crossProjectConnections\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Cross-topic connections are tenant graph facts.\",\n },\n {\n component: \"kernel\",\n table: \"decisionComputedSummaries\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision summaries are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"decisionEvents\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision events are lifecycle data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionParticipants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision participants are tenant-selected actors.\",\n },\n {\n component: \"kernel\",\n table: \"decisionRiskLedger\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Decision risk rows are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"decisionSnapshots\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Decision snapshots are derived from tenant state.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationContributions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation contributions are tenant-authored data.\",\n },\n {\n component: \"kernel\",\n table: \"deliberationSessions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Deliberation sessions are created by tenant workflows.\",\n },\n {\n component: \"kernel\",\n table: \"domainEvents\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description:\n \"Domain event rows are append-only runtime audit/exhaust data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Epistemic audit rows are append-only runtime audit data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicContracts\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Epistemic contracts are tenant-authored governance data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicEdges\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Edges are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodeEmbeddings\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Embeddings are derived from tenant graph nodes.\",\n },\n {\n component: \"kernel\",\n table: \"epistemicNodes\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Nodes are tenant reasoning graph data.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisCache\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description:\n \"Graph analysis cache rows are derived from tenant graph state.\",\n },\n {\n component: \"kernel\",\n table: \"graphAnalysisResults\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph analysis result rows are derived tenant outputs.\",\n },\n {\n component: \"kernel\",\n table: \"graphSuggestions\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description: \"Graph suggestions are derived recommendations.\",\n },\n {\n component: \"kernel\",\n table: \"harnessReplays\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness replay rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"harnessRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness run rows are runtime verification logs.\",\n },\n {\n component: \"kernel\",\n table: \"idempotencyTokens\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Idempotency tokens are request-scoped runtime guards.\",\n },\n {\n component: \"kernel\",\n table: \"lenses\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Reusable lens templates may live in K templates, but workspace-specific copies are not required for core SDK boot.\",\n },\n {\n component: \"kernel\",\n table: \"lensTopicBindings\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Lens bindings attach runtime topics to runtime/workspace lenses.\",\n },\n {\n component: \"kernel\",\n table: \"neo4jSyncQueue\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Neo4j sync queue rows are runtime work items.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyDefinitions\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\"],\n description:\n \"Platform ontology definitions power taxonomy reads and effective ontology resolution.\",\n },\n {\n component: \"kernel\",\n table: \"ontologyVersions\",\n prepopulation: \"required_template\",\n copyMode: \"template_reference_remap\",\n scope: \"global\",\n uniqueKey: [\"ontologyKey\", \"version\"],\n dependsOn: [\"ontologyDefinitions\"],\n description:\n \"Ontology versions must be copied with ontologyDefinition ID remapping.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPolicyDecisions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run policy decisions are audit logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunPromptResolutions\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run prompt resolution rows are runtime logs.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRuns\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent runs are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformAgentRunToolCalls\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Agent-run tool calls are runtime execution records.\",\n },\n {\n component: \"kernel\",\n table: \"platformHarnessShadowAudit\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Harness shadow audit rows are runtime audit records.\",\n },\n {\n component: \"kernel\",\n table: \"publicationRules\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"name\"],\n description:\n \"Default publication policy rules are rewritten into each tenant.\",\n },\n {\n component: \"kernel\",\n table: \"questionEvidenceLinks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Question-to-evidence links are tenant graph data.\",\n },\n {\n component: \"kernel\",\n table: \"researchJobs\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Research job rows are runtime queue items.\",\n },\n {\n component: \"kernel\",\n table: \"schemaEnumConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"category\", \"value\"],\n description: \"Runtime-extensible enum defaults required by SDK graph APIs.\",\n },\n {\n component: \"kernel\",\n table: \"stakeholderGroups\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Stakeholder groups are tenant decision data.\",\n },\n {\n component: \"kernel\",\n table: \"systemLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"System logs are runtime telemetry.\",\n },\n {\n component: \"kernel\",\n table: \"tasks\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Tasks are tenant-authored work items.\",\n },\n {\n component: \"kernel\",\n table: \"topics\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description:\n \"Default topics are created by tenant provisioning, not copied from templates.\",\n },\n {\n component: \"kernel\",\n table: \"workflowDefinitions\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n description:\n \"Table-driven workflow definitions can be template data after the workflow engine leaves legacy mode.\",\n },\n {\n component: \"kernel\",\n table: \"workflowPullRequests\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Workflow pull requests are tenant workflow data.\",\n },\n {\n component: \"kernel\",\n table: \"workflowStages\",\n prepopulation: \"optional_template\",\n copyMode: \"none\",\n dependsOn: [\"workflowDefinitions\"],\n description:\n \"Workflow stages can be template data after workflowDefinitions are enabled for bootstrap copying.\",\n },\n {\n component: \"kernel\",\n table: \"worktreeBeliefCluster\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Worktree cluster rows link runtime worktrees to runtime beliefs.\",\n },\n {\n component: \"kernel\",\n table: \"worktrees\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Worktrees are tenant/runtime planning data.\",\n },\n {\n component: \"control-plane\",\n table: \"agents\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description:\n \"Service agents are provisioned per tenant or service, not copied.\",\n },\n {\n component: \"control-plane\",\n table: \"mcpWritePolicy\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"topicId\", \"role\", \"toolCategory\"],\n description:\n \"Global write policy defaults govern service and interactive MCP writes.\",\n },\n {\n component: \"control-plane\",\n table: \"modelCallLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Model call logs are runtime telemetry.\",\n },\n {\n component: \"control-plane\",\n table: \"modelFunctionSlots\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description:\n \"Function-to-model slots are required by model runtime resolution.\",\n },\n {\n component: \"control-plane\",\n table: \"modelRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"key\"],\n description:\n \"Model catalog defaults are required by model runtime clients.\",\n },\n {\n component: \"control-plane\",\n table: \"modelSlotConfigs\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"slot\"],\n description:\n \"Slot-level defaults are required before tenant overrides exist.\",\n },\n {\n component: \"control-plane\",\n table: \"permitAccessReviewItems\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit access-review item rows are tenant review data projected from Permit.\",\n },\n {\n component: \"control-plane\",\n table: \"permitAccessReviews\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit access-review campaigns are tenant review data projected from Permit.\",\n },\n {\n component: \"control-plane\",\n table: \"permitAttributeBindings\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit ABAC attribute bindings are tenant policy projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitGroups\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit groups are tenant-defined policy subjects, not template data.\",\n },\n {\n component: \"control-plane\",\n table: \"permitGroupMemberships\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit group memberships are tenant-specific policy projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitPolicyBundles\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description:\n \"Permit policy bundles are derived from the Permit control plane.\",\n },\n {\n component: \"control-plane\",\n table: \"permitPolicyDecisionReceipts\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description:\n \"Permit decision receipts are runtime authorization audit logs.\",\n },\n {\n component: \"control-plane\",\n table: \"permitPrincipalAliases\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit principal aliases are tenant-specific identity projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitPrincipals\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit principals are projected from Clerk, Permit, and tenant onboarding flows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitProjectionOutbox\",\n prepopulation: \"runtime_queue\",\n copyMode: \"none\",\n description: \"Permit projection outbox rows are runtime sync queue data.\",\n },\n {\n component: \"control-plane\",\n table: \"permitRelationshipTuples\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit ReBAC relationship tuples are tenant policy projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitResourceInstances\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit resource instances are tenant/workspace graph and deployment projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"permitRoleAssignments\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Permit role assignments are tenant-specific policy projection rows.\",\n },\n {\n component: \"control-plane\",\n table: \"platformAudienceGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Audience grants are principal/group-specific access rows.\",\n },\n {\n component: \"control-plane\",\n table: \"platformAudiences\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"audienceKey\"],\n description:\n \"Default tenant audience taxonomy rows are rewritten into each tenant.\",\n },\n {\n component: \"control-plane\",\n table: \"platformPolicyDecisionLogs\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Policy decisions are runtime audit logs.\",\n },\n {\n component: \"control-plane\",\n table: \"projectGrants\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description:\n \"Project/topic grants are principal or group-specific access rows.\",\n },\n {\n component: \"control-plane\",\n table: \"reasoningPermissions\",\n prepopulation: \"runtime_data\",\n copyMode: \"none\",\n description: \"Reasoning permissions are principal-specific policy rows.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantApiKeys\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"API keys are tenant credentials and must never be copied.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantConfig\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\"],\n description: \"Tenant-local config defaults are rewritten during bootstrap.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantIntegrations\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"integrationKey\"],\n description:\n \"Non-secret integration descriptors are rewritten into each tenant.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantModelSlotBindings\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description:\n \"Tenant model slot bindings reference provider secrets and are runtime-only.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantPermitSyncStates\",\n prepopulation: \"runtime_derived\",\n copyMode: \"none\",\n description:\n \"Tenant Permit sync state rows are runtime reconciliation state.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantPolicies\",\n prepopulation: \"required_template\",\n copyMode: \"template_tenant_rewrite\",\n scope: \"tenant\",\n uniqueKey: [\"tenantId\", \"workspaceId\", \"roleName\"],\n description: \"Default tenant policy roles are rewritten during bootstrap.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantProviderSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Provider secrets are credentials and must never be copied.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantProxyGatewayUsage\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Proxy gateway usage rows are runtime telemetry.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantProxyTokenMints\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Proxy token mints are ephemeral secret-bearing runtime rows.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantSandboxAuditEvents\",\n prepopulation: \"runtime_log\",\n copyMode: \"none\",\n description: \"Sandbox audit rows are runtime security logs.\",\n },\n {\n component: \"control-plane\",\n table: \"tenantSecrets\",\n prepopulation: \"runtime_secret\",\n copyMode: \"none\",\n description: \"Tenant secrets are credentials and must never be copied.\",\n },\n {\n component: \"control-plane\",\n table: \"toolAcls\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"role\", \"toolName\"],\n description:\n \"Default role-to-tool grants are required for SDK/MCP tool access.\",\n },\n {\n component: \"control-plane\",\n table: \"toolRegistry\",\n prepopulation: \"required_template\",\n copyMode: \"template_global\",\n scope: \"global\",\n uniqueKey: [\"toolName\"],\n description:\n \"Core tool catalog rows are required before pack or tenant tools exist.\",\n },\n {\n component: \"control-plane\",\n table: \"users\",\n prepopulation: \"runtime_bootstrap\",\n copyMode: \"none\",\n description:\n \"Users are created from Clerk/MC principal resolution, not copied.\",\n },\n] as const satisfies readonly TenantBootstrapTableRequirement[];\n\nexport const TENANT_BOOTSTRAP_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n isCopyableSeedRequirement,\n ) as readonly TenantBootstrapSeedTable[];\n\nexport type TenantBootstrapSeedTableName =\n (typeof TENANT_BOOTSTRAP_SEED_TABLES)[number][\"table\"];\n\nexport const TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES =\n TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.filter(\n (entry) => !isCopyableSeedRequirement(entry),\n ).map((entry) => entry.table) as readonly string[];\nexport type TenantBootstrapForbiddenSeedTable =\n (typeof TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES)[number];\n\nexport const TENANT_BOOTSTRAP_SEED_MANIFEST = {\n contractVersion: TENANT_BOOTSTRAP_SEED_CONTRACT_VERSION,\n authMetadataFields: TENANT_BOOTSTRAP_SEED_AUTH_METADATA_FIELDS,\n components: TENANT_BOOTSTRAP_SEED_COMPONENTS,\n tableRequirements: TENANT_BOOTSTRAP_TABLE_REQUIREMENTS,\n tables: TENANT_BOOTSTRAP_SEED_TABLES,\n forbiddenTables: TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES,\n} as const;\n\nexport function findTenantBootstrapTableRequirement(\n table: string,\n): TenantBootstrapTableRequirement | undefined {\n return TENANT_BOOTSTRAP_TABLE_REQUIREMENTS.find(\n (entry) => entry.table === table,\n );\n}\n\nexport function findTenantBootstrapSeedTable(\n table: string,\n): TenantBootstrapSeedTable | undefined {\n return TENANT_BOOTSTRAP_SEED_TABLES.find((entry) => entry.table === table);\n}\n\nexport function isTenantBootstrapSeedTable(table: string): boolean {\n return Boolean(findTenantBootstrapSeedTable(table));\n}\n\nexport function isTenantBootstrapForbiddenSeedTable(table: string): boolean {\n return TENANT_BOOTSTRAP_FORBIDDEN_SEED_TABLES.some(\n (entry) => entry === table,\n );\n}\n","import { WEBHOOK_MAX_ATTEMPTS, WEBHOOK_RETRY_DELAYS_MS } from \"@lucern/contracts\";\nimport { assign, setup, transition } from \"xstate\";\n\nexport type WebhookDeliveryLifecycleState =\n | \"pending\"\n | \"delivering\"\n | \"delivered\"\n | \"dead_letter\";\n\nexport type WebhookDeliveryMachineEvent =\n | { type: \"START\"; now?: number }\n | { type: \"RESUME\"; now?: number }\n | { type: \"ATTEMPT_SUCCEEDED\"; now?: number }\n | {\n type: \"ATTEMPT_RETRYABLE_FAILED\";\n reason?: string;\n now?: number;\n statusCode?: number;\n }\n | {\n type: \"ATTEMPT_FAILED\";\n reason?: string;\n now?: number;\n statusCode?: number;\n }\n | { type: \"REPLAY\"; now?: number };\n\nexport type WebhookDeliveryMachineContext = {\n attemptCount: number;\n maxAttempts: number;\n retryDelaysMs: readonly number[];\n nextAttemptAt?: number;\n lastAttemptAt?: number;\n lastStatusCode?: number;\n lastError?: string;\n deliveredAt?: number;\n};\n\nexport type WebhookDeliveryMachineSnapshot = {\n value: WebhookDeliveryLifecycleState;\n context: WebhookDeliveryMachineContext;\n};\n\ntype NextAttemptInput = {\n attemptCount: number;\n maxAttempts: number;\n retryDelaysMs: readonly number[];\n now: number;\n};\n\nexport function computeWebhookNextAttemptAt({\n attemptCount,\n maxAttempts,\n retryDelaysMs,\n now,\n}: NextAttemptInput): number | undefined {\n if (attemptCount >= maxAttempts) {\n return undefined;\n }\n const retryIndex = attemptCount - 1;\n const delay = retryDelaysMs[retryIndex];\n return typeof delay === \"number\" ? now + delay : undefined;\n}\n\nexport function createWebhookDeliveryMachineContext(\n params: Partial<\n Pick<\n WebhookDeliveryMachineContext,\n | \"attemptCount\"\n | \"maxAttempts\"\n | \"retryDelaysMs\"\n | \"nextAttemptAt\"\n | \"lastAttemptAt\"\n | \"lastError\"\n | \"lastStatusCode\"\n | \"deliveredAt\"\n >\n > = {}\n): WebhookDeliveryMachineContext {\n return {\n attemptCount: params.attemptCount ?? 0,\n maxAttempts: params.maxAttempts ?? WEBHOOK_MAX_ATTEMPTS,\n retryDelaysMs: params.retryDelaysMs ?? WEBHOOK_RETRY_DELAYS_MS,\n nextAttemptAt: params.nextAttemptAt,\n lastAttemptAt: params.lastAttemptAt,\n lastError: params.lastError,\n lastStatusCode: params.lastStatusCode,\n deliveredAt: params.deliveredAt,\n };\n}\n\nfunction nowFromEvent(event: WebhookDeliveryMachineEvent): number {\n return typeof event.now === \"number\" && Number.isFinite(event.now)\n ? event.now\n : 0;\n}\n\nconst machineSetup = setup({\n types: {} as {\n context: WebhookDeliveryMachineContext;\n events: WebhookDeliveryMachineEvent;\n },\n guards: {\n canStart: ({ context, event }) => {\n const now = nowFromEvent(event);\n return context.nextAttemptAt === undefined || now >= context.nextAttemptAt;\n },\n canRetry: ({ context, event }) => {\n const nextAttemptCount = context.attemptCount + 1;\n return (\n computeWebhookNextAttemptAt({\n attemptCount: nextAttemptCount,\n maxAttempts: context.maxAttempts,\n retryDelaysMs: context.retryDelaysMs,\n now: nowFromEvent(event),\n }) !== undefined\n );\n },\n },\n actions: {\n markStart: assign({\n nextAttemptAt: undefined,\n }),\n registerRetryableFailure: assign({\n attemptCount: ({ context }) => context.attemptCount + 1,\n lastAttemptAt: ({ event }) => nowFromEvent(event),\n lastStatusCode: ({ context, event }) =>\n event.type === \"ATTEMPT_RETRYABLE_FAILED\" &&\n typeof event.statusCode === \"number\"\n ? event.statusCode\n : context.lastStatusCode,\n lastError: ({ context, event }) =>\n event.type === \"ATTEMPT_RETRYABLE_FAILED\" &&\n typeof event.reason === \"string\"\n ? event.reason\n : context.lastError,\n nextAttemptAt: ({ context, event }) =>\n computeWebhookNextAttemptAt({\n attemptCount: context.attemptCount + 1,\n maxAttempts: context.maxAttempts,\n retryDelaysMs: context.retryDelaysMs,\n now: nowFromEvent(event),\n }),\n }),\n registerFatalFailure: assign({\n attemptCount: ({ context }) => context.attemptCount + 1,\n lastAttemptAt: ({ event }) => nowFromEvent(event),\n lastStatusCode: ({ context, event }) =>\n event.type === \"ATTEMPT_FAILED\" && typeof event.statusCode === \"number\"\n ? event.statusCode\n : context.lastStatusCode,\n lastError: ({ context, event }) =>\n event.type === \"ATTEMPT_FAILED\" && typeof event.reason === \"string\"\n ? event.reason\n : context.lastError,\n nextAttemptAt: undefined,\n }),\n markDelivered: assign({\n attemptCount: ({ context }) => context.attemptCount + 1,\n deliveredAt: ({ event }) => nowFromEvent(event),\n lastAttemptAt: ({ event }) => nowFromEvent(event),\n nextAttemptAt: undefined,\n }),\n markReplay: assign({\n attemptCount: 0,\n lastAttemptAt: undefined,\n lastStatusCode: undefined,\n lastError: undefined,\n nextAttemptAt: undefined,\n deliveredAt: undefined,\n }),\n },\n});\n\nexport const webhookDeliveryMachine = machineSetup.createMachine({\n id: \"lucern.webhookDeliveryMachine\",\n initial: \"pending\",\n context: () => createWebhookDeliveryMachineContext(),\n states: {\n pending: {\n on: {\n START: {\n target: \"delivering\",\n guard: \"canStart\",\n actions: \"markStart\",\n },\n RESUME: {\n target: \"delivering\",\n guard: \"canStart\",\n actions: \"markStart\",\n },\n REPLAY: {\n target: \"pending\",\n actions: \"markReplay\",\n },\n },\n },\n delivering: {\n on: {\n ATTEMPT_SUCCEEDED: {\n target: \"delivered\",\n actions: \"markDelivered\",\n },\n ATTEMPT_RETRYABLE_FAILED: [\n {\n target: \"pending\",\n guard: \"canRetry\",\n actions: \"registerRetryableFailure\",\n },\n {\n target: \"dead_letter\",\n actions: \"registerRetryableFailure\",\n },\n ],\n ATTEMPT_FAILED: {\n target: \"dead_letter\",\n actions: \"registerFatalFailure\",\n },\n },\n },\n delivered: {\n on: {\n REPLAY: {\n target: \"pending\",\n actions: \"markReplay\",\n },\n },\n },\n dead_letter: {\n on: {\n REPLAY: {\n target: \"pending\",\n actions: \"markReplay\",\n },\n },\n },\n },\n});\n\nexport type WebhookDeliveryMachine = typeof webhookDeliveryMachine;\n\nexport function evaluateWebhookDeliveryTransition(\n state: WebhookDeliveryLifecycleState,\n context: WebhookDeliveryMachineContext,\n event: WebhookDeliveryMachineEvent\n): {\n allowed: boolean;\n to: WebhookDeliveryLifecycleState;\n context: WebhookDeliveryMachineContext;\n from: WebhookDeliveryLifecycleState;\n} {\n const snapshot = webhookDeliveryMachine.resolveState({\n value: state,\n context,\n status: \"active\",\n });\n const [next] = transition(webhookDeliveryMachine, snapshot, event);\n const to = String(next.value) as WebhookDeliveryLifecycleState;\n\n return {\n allowed:\n to !== state || JSON.stringify(context) !== JSON.stringify(next.context),\n to,\n context: next.context,\n from: state,\n };\n}\n\nexport function normalizeWebhookDeliveryLifecycleState(\n status: string | undefined\n): WebhookDeliveryLifecycleState {\n return status === \"pending\" ||\n status === \"delivering\" ||\n status === \"delivered\" ||\n status === \"dead_letter\"\n ? status\n : \"pending\";\n}\n"]}