@lucern/pack-host 1.0.29 → 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts.d.ts +35 -35
- package/dist/contracts.js.map +1 -1
- package/dist/dependencyResolution.d.ts +3 -3
- package/dist/dependencyResolution.js +83 -59
- package/dist/dependencyResolution.js.map +1 -1
- package/dist/domain-pack/authoring.core.d.ts +82 -82
- package/dist/domain-pack/authoring.core.js +7 -6
- package/dist/domain-pack/authoring.core.js.map +1 -1
- package/dist/domain-pack/authoring.js +400 -281
- package/dist/domain-pack/authoring.js.map +1 -1
- package/dist/domain-pack/authoring.validation.js +400 -281
- package/dist/domain-pack/authoring.validation.js.map +1 -1
- package/dist/domain-pack/contracts.d.ts +95 -95
- package/dist/domain-pack/contracts.js.map +1 -1
- package/dist/domain-pack/index.js +416 -285
- package/dist/domain-pack/index.js.map +1 -1
- package/dist/domain-pack/ontology/software-entities-v1.d.ts +7 -7
- package/dist/domain-pack/ontology/software-entities-v1.js.map +1 -1
- package/dist/domain-pack/packs/developer-reasoning.js +7 -1
- package/dist/domain-pack/packs/developer-reasoning.js.map +1 -1
- package/dist/domain-pack/packs/engineering-accelerator.js.map +1 -1
- package/dist/domain-pack/packs/index.js +333 -239
- package/dist/domain-pack/packs/index.js.map +1 -1
- package/dist/domain-pack/shaping.d.ts +15 -15
- package/dist/domain-pack/shaping.js +326 -238
- package/dist/domain-pack/shaping.js.map +1 -1
- package/dist/domain-pack/validation.d.ts +6 -6
- package/dist/domain-pack/validation.js +318 -236
- package/dist/domain-pack/validation.js.map +1 -1
- package/dist/domain-pack.js +416 -285
- package/dist/domain-pack.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +3793 -3643
- package/dist/index.js.map +1 -1
- package/dist/lifecycle.d.ts +9 -9
- package/dist/lifecycle.js.map +1 -1
- package/dist/manifestValidation.d.ts +9 -9
- package/dist/manifestValidation.js.map +1 -1
- package/dist/manifests/chat-v1.js +1 -1
- package/dist/manifests/chat-v1.js.map +1 -1
- package/dist/manifests/deals-v1.js +1 -6
- package/dist/manifests/deals-v1.js.map +1 -1
- package/dist/manifests/decisions-v1.js.map +1 -1
- package/dist/manifests/documents-v1.js.map +1 -1
- package/dist/manifests/epistemic-algorithms-v1.js.map +1 -1
- package/dist/manifests/graph-visualization-v1.js.map +1 -1
- package/dist/manifests/index.js +2 -7
- package/dist/manifests/index.js.map +1 -1
- package/dist/manifests/news-v1.js.map +1 -1
- package/dist/manifests/philosophy-mode-v1.js.map +1 -1
- package/dist/manifests/sprints-v1.js.map +1 -1
- package/dist/manifests/task-management-v1.js.map +1 -1
- package/dist/manifests/team-analysis-v1.js.map +1 -1
- package/dist/manifests/themes-v1.js.map +1 -1
- package/dist/manifests/user-profiles-v1.js.map +1 -1
- package/dist/manifests.js +2 -7
- package/dist/manifests.js.map +1 -1
- package/dist/namespacePolicy.d.ts +6 -6
- package/dist/namespacePolicy.js.map +1 -1
- package/dist/proof-attestation.json +1 -1
- package/dist/registry.js +85 -66
- package/dist/registry.js.map +1 -1
- package/dist/runtime.d.ts +6 -6
- package/dist/runtime.js +83 -59
- package/dist/runtime.js.map +1 -1
- package/dist/serviceContracts.d.ts +4 -4
- package/dist/serviceContracts.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/contracts.ts","../src/dependencyResolution.ts","../src/lifecycle.ts","../src/manifests/chat-v1.ts","../src/manifests/deals-v1.ts","../src/manifests/decisions-v1.ts","../src/manifests/documents-v1.ts","../src/manifests/epistemic-algorithms-v1.ts","../src/manifests/graph-visualization-v1.ts","../src/manifests/news-v1.ts","../src/manifests/philosophy-mode-v1.ts","../src/manifests/sprints-v1.ts","../src/manifests/task-management-v1.ts","../src/manifests/team-analysis-v1.ts","../src/manifests/themes-v1.ts","../src/manifests/user-profiles-v1.ts","../src/manifests/index.ts","../src/manifestValidation.ts","../src/namespacePolicy.ts","../src/serviceContracts.ts","../src/runtime.ts","../src/registry.ts","../src/domain-pack/contracts.ts","../src/domain-pack/authoring.core.ts","../src/domain-pack/validation.ts","../src/domain-pack/authoring.validation.ts","../src/domain-pack/authoring.ts","../src/domain-pack/ontology/software-entities-v1.ts","../src/domain-pack/shaping.ts","../src/domain-pack/packs/developer-reasoning.ts","../src/domain-pack/packs/engineering-accelerator-tail.ts","../src/domain-pack/packs/engineering-accelerator.ts","../src/domain-pack/packs/index.ts"],"names":["issue","toIssue","dedupeStrings","normalizeRuntimeTargets","KEBAB_CASE","SEMVER","isPlainObject","detectDomainPackManifestFormat","validateDomainPackAuthoringManifest","validateDomainPackAuthoringManifestSource","previewDomainPackAuthoringManifest","previewDomainPackAuthoringManifestSource","publishDomainPackAuthoringManifest","publishDomainPackAuthoringManifestSource","createDomainPackAuthoringTools","checkDuplicateIds"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport type RouteNamespace = {\n web: string[];\n api: string[];\n};\n\nexport type SurfaceOwnership = {\n components: string[];\n convex: string[];\n tools: string[];\n};\n\nexport type PolicyRule = {\n resource: PolicyResource;\n actions: PolicyAction[];\n notes?: string;\n};\n\nexport type PolicyProfile = {\n audiences: PackAudience[];\n rules: PolicyRule[];\n};\n\nexport type DataContract = {\n requiredNodeTypes: string[];\n requiredEdgeTypes: string[];\n requiredTables: string[];\n projectionBehavior: ProjectionBehavior;\n};\n\nexport type TemplateAssets = {\n workflows: string[];\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n};\n\nexport type PackTestSuite = {\n parity: string[];\n policy: string[];\n contract: string[];\n};\n\nexport type SharedServiceIntegration = {\n service: SharedService;\n mode: SharedServiceMode;\n contracts: string[];\n};\n\nexport type AppPackManifest = {\n key: string;\n name: string;\n version: string;\n lifecycle: PackLifecycle;\n category: PackCategory;\n description: string;\n dependencies: string[];\n capabilityFlags: string[];\n routeNamespace: RouteNamespace;\n surfaces: SurfaceOwnership;\n policyProfile: PolicyProfile;\n dataContract: DataContract;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n sharedServices: SharedServiceIntegration[];\n};\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","/**\n * Pack Dependency Resolution\n *\n * Dependency-graph validation and deterministic activation ordering.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport type { PackValidationIssue } from \"./manifestValidation\";\n\nexport type PackDependencyResolutionResult = {\n orderedPackKeys: string[];\n dependencyClosureByPack: Record<string, string[]>;\n issues: PackValidationIssue[];\n valid: boolean;\n};\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction buildManifestMap(\n manifests: AppPackManifest[]\n): Map<string, AppPackManifest> {\n return new Map(manifests.map((manifest) => [manifest.key, manifest]));\n}\n\nfunction walkDependencyClosure(\n manifestKey: string,\n manifestsByKey: Map<string, AppPackManifest>,\n path: string[],\n closure: Set<string>,\n issues: PackValidationIssue[]\n): void {\n const manifest = manifestsByKey.get(manifestKey);\n if (!manifest) {\n return;\n }\n\n for (const dependency of manifest.dependencies) {\n if (!manifestsByKey.has(dependency)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_MISSING\",\n `Pack \"${manifestKey}\" depends on unknown pack \"${dependency}\".`,\n `dependencies:${manifestKey}`\n )\n );\n continue;\n }\n\n if (path.includes(dependency)) {\n const cycle = [...path, dependency].join(\" -> \");\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_CYCLE\",\n `Cycle detected: ${cycle}`,\n `dependencies:${manifestKey}`\n )\n );\n continue;\n }\n\n if (closure.has(dependency)) {\n continue;\n }\n\n closure.add(dependency);\n walkDependencyClosure(\n dependency,\n manifestsByKey,\n [...path, dependency],\n closure,\n issues\n );\n }\n}\n\nexport function resolvePackDependencyGraph(\n manifests: AppPackManifest[]\n): PackDependencyResolutionResult {\n const issues: PackValidationIssue[] = [];\n const manifestsByKey = buildManifestMap(manifests);\n const indegree = new Map<string, number>();\n const adjacency = new Map<string, string[]>();\n\n for (const manifest of manifests) {\n indegree.set(manifest.key, indegree.get(manifest.key) ?? 0);\n adjacency.set(manifest.key, []);\n }\n\n for (const manifest of manifests) {\n for (const dependency of manifest.dependencies) {\n if (!manifestsByKey.has(dependency)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_MISSING\",\n `Pack \"${manifest.key}\" depends on unknown pack \"${dependency}\".`,\n `dependencies:${manifest.key}`\n )\n );\n continue;\n }\n\n const dependencyDependents = adjacency.get(dependency) ?? [];\n dependencyDependents.push(manifest.key);\n adjacency.set(dependency, dependencyDependents);\n\n indegree.set(manifest.key, (indegree.get(manifest.key) ?? 0) + 1);\n }\n }\n\n const queue = [...indegree.entries()]\n .filter(([, value]) => value === 0)\n .map(([packKey]) => packKey)\n .sort();\n\n const orderedPackKeys: string[] = [];\n while (queue.length > 0) {\n const nextKey = queue.shift();\n if (!nextKey) {\n break;\n }\n\n orderedPackKeys.push(nextKey);\n const dependents = adjacency.get(nextKey) ?? [];\n for (const dependent of dependents) {\n const current = indegree.get(dependent) ?? 0;\n const updated = current - 1;\n indegree.set(dependent, updated);\n if (updated === 0) {\n queue.push(dependent);\n }\n }\n queue.sort();\n }\n\n if (orderedPackKeys.length !== manifestsByKey.size) {\n const unresolved = [...indegree.entries()]\n .filter(([, value]) => value > 0)\n .map(([key]) => key)\n .sort();\n\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_CYCLE\",\n `Dependency graph is not acyclic; unresolved packs: ${unresolved.join(\", \")}`,\n \"dependencies\"\n )\n );\n }\n\n const dependencyClosureByPack: Record<string, string[]> = {};\n for (const manifest of manifests) {\n const closure = new Set<string>();\n walkDependencyClosure(\n manifest.key,\n manifestsByKey,\n [manifest.key],\n closure,\n issues\n );\n dependencyClosureByPack[manifest.key] = [...closure].sort();\n }\n\n return {\n orderedPackKeys,\n dependencyClosureByPack,\n issues,\n valid: issues.every((issue) => issue.severity !== \"error\"),\n };\n}\n","/**\n * Pack Lifecycle Enforcement\n *\n * License and dependency checks for tenant/workspace pack enablement.\n */\n\nimport type { AppPackManifest, PackLifecycle } from \"./contracts\";\n\nexport type PackEnablementReason =\n | \"allowed\"\n | \"pack_not_found\"\n | \"lifecycle_blocked\"\n | \"license_missing\"\n | \"dependency_missing\"\n | \"dependency_not_installed\"\n | \"dependency_not_enabled\";\n\nexport type PackEnablementDecision = {\n packKey: string;\n allowed: boolean;\n reason: PackEnablementReason;\n missingDependencies: string[];\n};\n\nexport type PackEnablementPolicy = {\n requireExplicitEntitlement?: boolean;\n allowedLifecycles?: readonly PackLifecycle[];\n tenantEntitledPackKeys?: readonly string[];\n workspaceEntitledPackKeys?: readonly string[];\n installedPackKeys?: readonly string[];\n enabledPackKeys?: readonly string[];\n};\n\nconst DEFAULT_ALLOWED_LIFECYCLES: PackLifecycle[] = [\n \"active\",\n \"beta\",\n \"experimental\",\n];\n\nfunction toSet(values?: readonly string[]): Set<string> {\n return new Set(values ?? []);\n}\n\nexport function evaluatePackEnablement(\n packKey: string,\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision {\n const manifest = registry[packKey];\n if (!manifest) {\n return {\n packKey,\n allowed: false,\n reason: \"pack_not_found\",\n missingDependencies: [],\n };\n }\n\n const allowedLifecycles = new Set(\n policy.allowedLifecycles ?? DEFAULT_ALLOWED_LIFECYCLES\n );\n if (!allowedLifecycles.has(manifest.lifecycle)) {\n return {\n packKey,\n allowed: false,\n reason: \"lifecycle_blocked\",\n missingDependencies: [],\n };\n }\n\n const requireExplicitEntitlement = policy.requireExplicitEntitlement ?? false;\n if (requireExplicitEntitlement) {\n const entitled = new Set([\n ...toSet(policy.tenantEntitledPackKeys),\n ...toSet(policy.workspaceEntitledPackKeys),\n ]);\n if (!entitled.has(packKey)) {\n return {\n packKey,\n allowed: false,\n reason: \"license_missing\",\n missingDependencies: [],\n };\n }\n }\n\n const missingDependencies = manifest.dependencies.filter(\n (dependency) => !registry[dependency]\n );\n if (missingDependencies.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_missing\",\n missingDependencies,\n };\n }\n\n const installed = toSet(policy.installedPackKeys);\n if (installed.size > 0) {\n const notInstalled = manifest.dependencies.filter(\n (dependency) => !installed.has(dependency)\n );\n if (notInstalled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_installed\",\n missingDependencies: notInstalled,\n };\n }\n }\n\n const enabled = toSet(policy.enabledPackKeys);\n if (enabled.size > 0) {\n const notEnabled = manifest.dependencies.filter(\n (dependency) => !enabled.has(dependency)\n );\n if (notEnabled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_enabled\",\n missingDependencies: notEnabled,\n };\n }\n }\n\n return {\n packKey,\n allowed: true,\n reason: \"allowed\",\n missingDependencies: [],\n };\n}\n\nexport function evaluateCatalogEnablement(\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision[] {\n return Object.keys(registry)\n .sort()\n .map((packKey) => evaluatePackEnablement(packKey, registry, policy));\n}\n","/**\n * App Pack Manifest: chat-v1\n *\n * Declarative runtime contract for the chat-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const chatV1Manifest = defineAppPackManifest({\n key: \"chat-v1\",\n name: \"Chat\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"conversation\",\n description:\n \"Core conversational runtime, streaming orchestration, and tool invocation shell.\",\n dependencies: [],\n capabilityFlags: [\n \"chat.streaming\",\n \"chat.history\",\n \"tool.invocation\",\n \"slash.commands\",\n \"voice.mode\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat\", \"/(chat)/chat/[id]\"],\n api: [\n \"/(chat)/api/chat\",\n \"/(chat)/api/coach\",\n \"/(chat)/api/history\",\n \"/(chat)/api/suggestions\",\n \"/(chat)/api/vote\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/components/lucern/dev/chat-debug-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-try-it-panel.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/events.ts\",\n \"services/master-control/convex/tools.ts\",\n \"services/master-control/convex/toolAccess.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/functionSurface.ts\",\n \"packages/server-core/src/mcp-context-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n {\n resource: \"tool_action\",\n actions: [\"read\", \"mutate\"],\n notes: \"Mutation tools must pass server-side policy checks.\",\n },\n { resource: \"artifact\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\"],\n requiredTables: [\n \"agentMessages\",\n \"platformAgentRuns\",\n \"platformAgentRunToolCalls\",\n \"epistemicNodes\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"chat/default\", \"chat/voice-mode\"],\n prompts: [\"chat/main-system-prompt\", \"chat/voice-mode-style\"],\n reports: [],\n uiLabels: [\"chat\", \"assistant\", \"conversation\"],\n },\n testSuite: {\n parity: [\"chat-streaming-parity\", \"slash-command-parity\"],\n policy: [\"chat-context-filtering\", \"tool-deny-enforcement\"],\n contract: [\"chat-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: deals-v1\n *\n * Declarative runtime contract for the deals-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const dealsV1Manifest = defineAppPackManifest({\n key: \"deals-v1\",\n name: \"Deals\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"domain\",\n description:\n \"Deal diligence application using shared reasoning graph primitives with deal-calibrated workflows.\",\n dependencies: [\n \"chat-v1\",\n \"documents-v1\",\n \"news-v1\",\n \"decisions-v1\",\n ],\n capabilityFlags: [\n \"deal.lifecycle\",\n \"diligence.workflow\",\n \"deal.risk-assessment\",\n \"decision.integration\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects\", \"/(projects)/projects/[projectId]\"],\n api: [\"/api/research/*\", \"/api/tasks/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"services/master-control/convex/workspaces.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/topics.ts\",\n \"packages/server-core/src/domain/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"deal\", \"belief\", \"question\", \"evidence\", \"decision\"],\n requiredEdgeTypes: [\n \"evaluates\",\n \"informs\",\n \"depends_on\",\n \"based_on_belief\",\n ],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"deals/diligence-default\", \"deals/ic-prep\"],\n prompts: [\"deals/main-system-prompt\", \"deals/risk-ledger-draft\"],\n reports: [\"deal-memo\", \"knowledge-map\"],\n uiLabels: [\"deal\", \"diligence\", \"investment_case\", \"ic_readiness\"],\n },\n testSuite: {\n parity: [\"deal-workflow-parity\"],\n policy: [\"deal-data-audience-filtering\"],\n contract: [\"deals-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: decisions-v1\n *\n * Declarative runtime contract for the decisions-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const decisionsV1Manifest = defineAppPackManifest({\n key: \"decisions-v1\",\n name: \"Decisions\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"decision\",\n description:\n \"Graph-native decision workflow with belief-level voting, risk ledgers, and snapshot locking.\",\n dependencies: [\"epistemic-algorithms-v1\"],\n capabilityFlags: [\n \"decision.workflow\",\n \"belief.level-voting\",\n \"risk.ledger\",\n \"decision.snapshot\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/decisions\"],\n api: [\"/api/thesis-audit/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/policy/page.tsx\",\n \"apps/web/app/lucern/mc/policy/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"packages/reasoning-kernel/src/adapters/questionsConvictionMutations.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.confidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/judgments.ts\",\n \"packages/server-core/src/policy/index.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"decision\", \"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\n \"based_on_belief\",\n \"based_on_question\",\n \"informed_by_theme\",\n \"blocked_by_contradiction\",\n ],\n requiredTables: [\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n \"beliefVotes\",\n \"decisionRiskLedger\",\n \"decisionSnapshots\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"decisions/pre-ic\", \"decisions/in-ic\", \"decisions/post-ic\"],\n prompts: [\n \"decisions/main-system-prompt\",\n \"decisions/risk-ledger-assistant\",\n ],\n reports: [\"decision-brief\", \"ic-memo\"],\n uiLabels: [\"decision\", \"risk_ledger\", \"vote_map\", \"snapshot\"],\n },\n testSuite: {\n parity: [\"decision-flow-parity\"],\n policy: [\"decision-lineage-visibility\"],\n contract: [\"decisions-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: documents-v1\n *\n * Declarative runtime contract for the documents-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const documentsV1Manifest = defineAppPackManifest({\n key: \"documents-v1\",\n name: \"Documents\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"documents\",\n description:\n \"Document upload, extraction, annotation, and conversion into graph-grounded evidence.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"document.ingestion\",\n \"document.extraction\",\n \"document.annotation\",\n \"document.rag\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/documents\",\n \"/(projects)/projects/[projectId]/documents/[documentId]\",\n ],\n api: [\"/api/documents/*\", \"/api/rag/document\", \"/api/rag/extract-pdf\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/workspace-pack-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/evidenceCreate.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"excerpt\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"derived_from\", \"based_on\", \"informs\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"documents/upload-extract-link\",\n \"documents/annotate-to-evidence\",\n ],\n prompts: [\"documents/extraction\", \"documents/summarization\"],\n reports: [],\n uiLabels: [\"documents\", \"annotations\", \"excerpts\", \"sources\"],\n },\n testSuite: {\n parity: [\"documents-page-parity\"],\n policy: [\"document-access-enforcement\"],\n contract: [\"documents-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: epistemic-algorithms-v1\n *\n * Declarative runtime contract for the epistemic-algorithms-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const epistemicAlgorithmsV1Manifest = defineAppPackManifest({\n key: \"epistemic-algorithms-v1\",\n name: \"Epistemic Algorithms\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Reasoning quality engines: contradiction detection, conviction dynamics, and graph intelligence analytics.\",\n dependencies: [\"graph-visualization-v1\", \"chat-v1\"],\n capabilityFlags: [\n \"contradiction.detection\",\n \"conviction.analytics\",\n \"reasoning.depth\",\n \"bias.detection\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/contradictions\",\n \"/(projects)/projects/[projectId]/thesis-audit\",\n ],\n api: [\"/api/thesis-audit\", \"/api/graph-explain\", \"/api/lucern/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/lib/platform/react/components/ContradictionList.ts\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/contradictions.ts\",\n \"packages/reasoning-kernel/src/adapters/graphIntelligence.ts\",\n \"packages/reasoning-kernel/src/adapters/graphAnalysisResults.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/contradictions.ts\",\n \"packages/server-core/src/graph-analysis.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"decision\"],\n requiredEdgeTypes: [\n \"informs\",\n \"contradicts\",\n \"depends_on\",\n \"strengthened_by\",\n \"weakened_by\",\n \"collapses_if\",\n ],\n requiredTables: [\n \"contradictions\",\n \"beliefConfidence\",\n \"epistemicAudit\",\n \"graphAnalysisResults\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"epistemic/contradiction-resolution\", \"epistemic/thesis-audit\"],\n prompts: [\n \"graph-intelligence/full-guide\",\n \"graph-intelligence/bias-detection\",\n ],\n reports: [\"knowledge_map\"],\n uiLabels: [\n \"contradiction\",\n \"conviction\",\n \"thesis_audit\",\n \"epistemic_health\",\n ],\n },\n testSuite: {\n parity: [\"epistemic-algorithm-output-parity\"],\n policy: [\"epistemic-output-scope-filtering\"],\n contract: [\"epistemic-algorithms-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: graph-visualization-v1\n *\n * Declarative runtime contract for the graph-visualization-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const graphVisualizationV1Manifest = defineAppPackManifest({\n key: \"graph-visualization-v1\",\n name: \"Graph Visualization\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"graph\",\n description:\n \"Interactive graph explorer for node/edge traversal, neighborhood inspection, and query rendering.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"graph.rendering\",\n \"graph.query\",\n \"graph.highlighting\",\n \"graph.neighborhood\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/graph\"],\n api: [\"/api/graph\", \"/api/graph-query\", \"/api/graph-suggestions\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/graph/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/edgesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/nodesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/neo4jQueries.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/graph.ts\",\n \"packages/server-core/src/mcp-graph-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\n \"belief\",\n \"question\",\n \"evidence\",\n \"theme\",\n \"deal\",\n \"decision\",\n ],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"graph/query-and-traverse\"],\n prompts: [\n \"graph-intelligence/query\",\n \"graph-intelligence/suggestions-extraction\",\n ],\n reports: [],\n uiLabels: [\"graph\", \"nodes\", \"edges\", \"lineage\"],\n },\n testSuite: {\n parity: [\"graph-query-parity\", \"graph-render-parity\"],\n policy: [\"graph-node-visibility-filtering\"],\n contract: [\"graph-visualization-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: news-v1\n *\n * Declarative runtime contract for the news-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const newsV1Manifest = defineAppPackManifest({\n key: \"news-v1\",\n name: \"News\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"news\",\n description:\n \"News ingestion, curation, and contextual linkage into the reasoning graph.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"news.search\",\n \"news.ingestion\",\n \"news.curation\",\n \"news.graph-linkage\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/news-v3\",\n \"/(projects)/projects/[projectId]/news-v3/[articleId]\",\n ],\n api: [\"/api/news/search\", \"/api/intelligence/smart-news-search\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-catalog-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n \"packages/server-core/src/domain/sources.ts\",\n ],\n tools: [\n \"packages/server-core/src/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"evidence\", \"synthesis\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"derived_from\", \"informs\", \"belongs_to\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"news/search-import-curate\", \"news/evidence-linking\"],\n prompts: [\"news/summary\", \"news/relevance-scoring\"],\n reports: [\"news-digest\"],\n uiLabels: [\"news\", \"articles\", \"curation\", \"signals\"],\n },\n testSuite: {\n parity: [\"news-v3-parity\"],\n policy: [\"news-audience-redaction\"],\n contract: [\"news-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: philosophy-mode-v1\n *\n * Declarative runtime contract for the philosophy-mode-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const philosophyModeV1Manifest = defineAppPackManifest({\n key: \"philosophy-mode-v1\",\n name: \"Philosophy Mode\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Investor worldview extraction, archetype synthesis, and philosophy profile management.\",\n dependencies: [\"chat-v1\", \"user-profiles-v1\"],\n capabilityFlags: [\n \"philosophy.extraction\",\n \"philosophy.profiles\",\n \"archetype.classification\",\n \"worldview.synthesis\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat/[id]\"],\n api: [\n \"/api/philosophy/detect\",\n \"/api/philosophy/extract\",\n \"/api/philosophy/get-profile\",\n \"/api/philosophy/ingest\",\n \"/api/philosophy/synthesize\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/userSessions.ts\",\n \"packages/reasoning-kernel/src/adapters/ontologies.ts\",\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/ontologies.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\"],\n rules: [\n { resource: \"user_profile\", actions: [\"read\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"theme\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\"],\n requiredTables: [\"users\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"philosophy/conversation-to-profile\"],\n prompts: [\n \"philosophy/deep-thinker\",\n \"philosophy/welcome-back\",\n \"philosophy/detect-philosophical-statement\",\n \"philosophy/content-classifier\",\n \"philosophy/atom-extractor\",\n \"philosophy/summarize-investor-profile\",\n \"philosophy/team-aggregator\",\n \"philosophy/market-synthesis\",\n \"thematic/extractor\",\n ],\n reports: [],\n uiLabels: [\"philosophy_mode\", \"investor_worldview\", \"archetype\"],\n },\n testSuite: {\n parity: [\"philosophy-profile-parity\"],\n policy: [\"philosophy-profile-isolation\"],\n contract: [\"philosophy-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: sprints-v1\n *\n * Declarative runtime contract for the worktree workflow application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const worktreesV1Manifest = defineAppPackManifest({\n key: \"sprints-v1\",\n name: \"Worktrees\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"workflow\",\n description:\n \"Structured research execution workflow with phases, scoring, and worktree-linked tasks.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"worktree.lifecycle\",\n \"worktree.phase-navigation\",\n \"worktree.scoring\",\n \"worktree.workspace\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/topics/[topicId]/worktrees\",\n \"/(projects)/topics/[topicId]/worktrees/[worktreeId]\",\n ],\n api: [\n \"/api/sprint/assess-beliefs\",\n \"/api/sprint/generate-thesis\",\n \"/api/sprint/refine-thesis\",\n \"/api/sprint/welcome\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/worktrees.ts\",\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/worktrees.ts\",\n \"packages/server-core/src/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"task\", actions: [\"read\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\"tests\", \"informs\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\n \"worktrees\",\n \"workflowDefinitions\",\n \"workflowStages\",\n \"tasks\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"worktree/hypothesis-formation\",\n \"worktree/cluster-mapping\",\n \"worktree/question-validation\",\n ],\n prompts: [\"worktree/main-system-prompt\", \"worktree/research-task-planning\"],\n reports: [\"sprint_thesis\"],\n uiLabels: [\"worktree\", \"phase\", \"conviction\", \"thesis\"],\n },\n testSuite: {\n parity: [\"worktree-lifecycle-parity\"],\n policy: [\"worktree-tool-enforcement\"],\n contract: [\"worktrees-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: task-management-v1\n *\n * Declarative runtime contract for the task-management-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const taskManagementV1Manifest = defineAppPackManifest({\n key: \"task-management-v1\",\n name: \"Task Management\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"operations\",\n description:\n \"Operational task system linked to beliefs, questions, worktrees, and AI-assisted execution.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"task.lifecycle\",\n \"task.assignment\",\n \"task.attachments\",\n \"task.ai-execution\",\n \"task.evidence-capture\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/tasks\"],\n api: [\n \"/api/tasks/execute\",\n \"/api/tasks/execute-workflow\",\n \"/api/tasks/refresh-call-script\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/tools/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/tools/*\",\n ],\n convex: [\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"modules/tasks/src/v1/engine/tasks.queries.ts\",\n \"modules/tasks/src/v1/engine/tasks.mutations.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/tasks.ts\",\n \"packages/server-core/src/tasks.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"task\", actions: [\"read\", \"mutate\", \"admin\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"informs\", \"tests\", \"belongs_to\"],\n requiredTables: [\n \"tasks\",\n \"topics\",\n \"worktrees\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"tasks/research-plan\",\n \"tasks/execution-loop\",\n \"tasks/evidence-capture\",\n ],\n prompts: [\"tasks/call-script\", \"tasks/research-plan-generator\"],\n reports: [],\n uiLabels: [\"tasks\", \"assignee\", \"checklist\", \"workflow_status\"],\n },\n testSuite: {\n parity: [\"task-management-parity\"],\n policy: [\"task-project-access-enforcement\"],\n contract: [\"task-management-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: team-analysis-v1\n *\n * Declarative runtime contract for the team-analysis-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const teamAnalysisV1Manifest = defineAppPackManifest({\n key: \"team-analysis-v1\",\n name: \"Team Analysis\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Team-level behavioral analytics, archetype distribution, and comparative operating patterns.\",\n dependencies: [\"user-profiles-v1\"],\n capabilityFlags: [\n \"team.analytics\",\n \"team.behavioral-summary\",\n \"team.archetype-distribution\",\n \"team.activity-heatmap\",\n ],\n routeNamespace: {\n web: [\"/(team)/team\"],\n api: [\"/api/coaching/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/mc/analytics/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/people/*\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/groups.ts\",\n \"packages/reasoning-kernel/src/adapters/telemetry.ts\",\n ],\n tools: [\n \"packages/server-core/src/identity.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n { resource: \"team_analytics\", actions: [\"read\", \"admin\"] },\n { resource: \"user_profile\", actions: [\"read\"] },\n { resource: \"project\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\"],\n requiredEdgeTypes: [\"informs\", \"tests\"],\n requiredTables: [\n \"users\",\n \"epistemicAudit\",\n \"beliefConfidence\",\n \"contradictions\",\n \"calibrationScores\",\n \"tasks\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"team/behavioral-summary\", \"team/coverage-gap-analysis\"],\n prompts: [\"coaching/team-summary\", \"coaching/team-recommendations\"],\n reports: [\"team-operating-review\"],\n uiLabels: [\"team\", \"behavior\", \"distribution\", \"coverage\"],\n },\n testSuite: {\n parity: [\"team-page-parity\"],\n policy: [\"team-analytics-admin-scope\"],\n contract: [\"team-analysis-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: themes-v1\n *\n * Declarative runtime contract for the themes-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const themesV1Manifest = defineAppPackManifest({\n key: \"themes-v1\",\n name: \"Themes\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Thematic research lifecycle built on graph primitives, worktree workflows, and conviction analytics.\",\n dependencies: [\n \"chat-v1\",\n \"epistemic-algorithms-v1\",\n \"news-v1\",\n \"documents-v1\",\n ],\n capabilityFlags: [\n \"theme.lifecycle\",\n \"belief.question.evidence\",\n \"thesis.development\",\n \"reporting\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects\",\n \"/(projects)/projects/[projectId]\",\n \"/(projects)/projects/[projectId]/beliefs-v2\",\n \"/(projects)/projects/[projectId]/questions\",\n \"/(projects)/projects/[projectId]/research\",\n \"/(projects)/projects/[projectId]/reports\",\n ],\n api: [\"/api/research/*\", \"/api/reports/*\", \"/api/questions/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/beliefs.ts\",\n \"packages/mcp/src/handlers/questions.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"report_section\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"theme\", \"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\", \"informs\", \"tests\"],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"workflowDefinitions\",\n \"workflowStages\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"themes/default-lifecycle\", \"themes/worktree-thesis-loop\"],\n prompts: [\n \"thematic/extractor\",\n \"reports/thematic-long-form/thesis-statement\",\n \"reports/thematic-long-form/belief-map\",\n ],\n reports: [\"thematic-long-form\", \"knowledge-map\"],\n uiLabels: [\"theme\", \"belief\", \"question\", \"evidence\", \"conviction\"],\n },\n testSuite: {\n parity: [\"themes-v1-parity-against-current\"],\n policy: [\"theme-compilation-entitlement-filtering\"],\n contract: [\"themes-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: user-profiles-v1\n *\n * Declarative runtime contract for the user-profiles-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const userProfilesV1Manifest = defineAppPackManifest({\n key: \"user-profiles-v1\",\n name: \"User Profiles\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"identity\",\n description:\n \"Individual cognition and operating profile layer including journey progression, archetypes, and behavioral telemetry.\",\n dependencies: [],\n capabilityFlags: [\n \"user.profile\",\n \"user.journey\",\n \"user.analytics\",\n \"voice.preferences\",\n ],\n routeNamespace: {\n web: [\"/(team)/team/[userId]\"],\n api: [\"/api/philosophy/get-profile\", \"/api/mobile/v1/session\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/userSessions.ts\",\n \"services/master-control/convex/groups.ts\",\n ],\n tools: [\"packages/server-core/src/identity.ts\"],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n {\n resource: \"user_profile\",\n actions: [\"read\", \"mutate\"],\n notes: \"Users can edit self; tenant admins can read broader profiles.\",\n },\n { resource: \"project\", actions: [\"read\"] },\n { resource: \"team_analytics\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [],\n requiredEdgeTypes: [],\n requiredTables: [\n \"users\",\n \"userSessions\",\n \"principals\",\n \"principalIdentityAliases\",\n \"calibrationScores\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"user/profile-synthesis\", \"user/journey-update\"],\n prompts: [\"coaching/user-eval\", \"philosophy/profile-synthesis\"],\n reports: [\"user-profile-summary\"],\n uiLabels: [\"profile\", \"journey\", \"archetype\", \"calibration\"],\n },\n testSuite: {\n parity: [\"user-profile-page-parity\"],\n policy: [\"user-profile-self-vs-admin-access\"],\n contract: [\"user-profiles-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest Exports\n *\n * Aggregated exports for versioned app-pack manifests.\n */\n\nimport type { AppPackManifest } from \"../contracts\";\nimport { chatV1Manifest } from \"./chat-v1\";\nimport { dealsV1Manifest } from \"./deals-v1\";\nimport { decisionsV1Manifest } from \"./decisions-v1\";\nimport { documentsV1Manifest } from \"./documents-v1\";\nimport { epistemicAlgorithmsV1Manifest } from \"./epistemic-algorithms-v1\";\nimport { graphVisualizationV1Manifest } from \"./graph-visualization-v1\";\nimport { newsV1Manifest } from \"./news-v1\";\nimport { philosophyModeV1Manifest } from \"./philosophy-mode-v1\";\nimport { worktreesV1Manifest } from \"./sprints-v1\";\nimport { taskManagementV1Manifest } from \"./task-management-v1\";\nimport { teamAnalysisV1Manifest } from \"./team-analysis-v1\";\nimport { themesV1Manifest } from \"./themes-v1\";\nimport { userProfilesV1Manifest } from \"./user-profiles-v1\";\n\nexport {\n chatV1Manifest,\n decisionsV1Manifest,\n dealsV1Manifest,\n documentsV1Manifest,\n epistemicAlgorithmsV1Manifest,\n graphVisualizationV1Manifest,\n newsV1Manifest,\n philosophyModeV1Manifest,\n worktreesV1Manifest,\n taskManagementV1Manifest,\n teamAnalysisV1Manifest,\n themesV1Manifest,\n userProfilesV1Manifest,\n};\n\nexport const allAppPackManifests: AppPackManifest[] = [\n philosophyModeV1Manifest,\n chatV1Manifest,\n worktreesV1Manifest,\n graphVisualizationV1Manifest,\n epistemicAlgorithmsV1Manifest,\n themesV1Manifest,\n dealsV1Manifest,\n decisionsV1Manifest,\n newsV1Manifest,\n documentsV1Manifest,\n userProfilesV1Manifest,\n teamAnalysisV1Manifest,\n taskManagementV1Manifest,\n];\n","/**\n * Pack Manifest Validation\n *\n * Runtime schema and dictionary validation for app-pack manifests.\n */\n\nimport { z } from \"zod\";\nimport type { AppPackManifest } from \"./contracts\";\n\nconst manifestKeyPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*-v[0-9]+$/;\nconst semverPattern = /^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$/;\n\nexport type PackValidationSeverity = \"error\" | \"warning\";\n\nexport type PackValidationIssue = {\n code: string;\n severity: PackValidationSeverity;\n message: string;\n path: string;\n};\n\nexport type PackManifestValidationResult = {\n manifestKey: string;\n valid: boolean;\n issues: PackValidationIssue[];\n};\n\nexport type PackSchemaDictionary = {\n nodeTypes: readonly string[];\n edgeTypes: readonly string[];\n tables: readonly string[];\n};\n\nconst appPackManifestSchema = z.object({\n key: z.string().regex(manifestKeyPattern),\n name: z.string().min(1),\n version: z.string().regex(semverPattern),\n lifecycle: z.enum([\"active\", \"beta\", \"experimental\"]),\n category: z.enum([\n \"conversation\",\n \"research\",\n \"graph\",\n \"analytics\",\n \"workflow\",\n \"decision\",\n \"news\",\n \"documents\",\n \"identity\",\n \"operations\",\n \"domain\",\n ]),\n description: z.string().min(1),\n dependencies: z.array(z.string().min(1)),\n capabilityFlags: z.array(z.string().min(1)),\n routeNamespace: z.object({\n web: z.array(z.string().min(1)),\n api: z.array(z.string().min(1)),\n }),\n surfaces: z.object({\n components: z.array(z.string().min(1)),\n convex: z.array(z.string().min(1)),\n tools: z.array(z.string().min(1)),\n }),\n policyProfile: z.object({\n audiences: z.array(z.string().min(1)).min(1),\n rules: z\n .array(\n z.object({\n resource: z.enum([\n \"project\",\n \"node\",\n \"edge\",\n \"artifact\",\n \"report_section\",\n \"tool_action\",\n \"task\",\n \"user_profile\",\n \"team_analytics\",\n ]),\n actions: z\n .array(z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\"]))\n .min(1),\n notes: z.string().optional(),\n })\n )\n .min(1),\n }),\n dataContract: z.object({\n requiredNodeTypes: z.array(z.string().min(1)),\n requiredEdgeTypes: z.array(z.string().min(1)),\n requiredTables: z.array(z.string().min(1)).min(1),\n projectionBehavior: z.enum([\n \"none\",\n \"inherits_policy\",\n \"projection_required\",\n ]),\n }),\n templates: z.object({\n workflows: z.array(z.string().min(1)),\n prompts: z.array(z.string().min(1)),\n reports: z.array(z.string().min(1)),\n uiLabels: z.array(z.string().min(1)),\n }),\n testSuite: z.object({\n parity: z.array(z.string().min(1)).min(1),\n policy: z.array(z.string().min(1)).min(1),\n contract: z.array(z.string().min(1)).min(1),\n }),\n sharedServices: z.array(\n z.object({\n service: z.enum([\n \"decision-kernel\",\n \"knowledge-compiler\",\n \"learning-loop\",\n ]),\n mode: z.enum([\"required\", \"optional\"]),\n contracts: z.array(z.string().min(1)).min(1),\n })\n ),\n});\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: PackValidationSeverity = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction collectDuplicateValues(values: readonly string[]): string[] {\n const counts = new Map<string, number>();\n for (const value of values) {\n counts.set(value, (counts.get(value) ?? 0) + 1);\n }\n return [...counts.entries()]\n .filter(([, count]) => count > 1)\n .map(([value]) => value)\n .sort();\n}\n\nfunction collectUnknownValues(\n values: readonly string[],\n knownValues: readonly string[]\n): string[] {\n const known = new Set(knownValues);\n return values.filter((value) => !known.has(value));\n}\n\nfunction validateManifestShape(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const parsed = appPackManifestSchema.safeParse(manifest);\n if (parsed.success) {\n return [];\n }\n\n return parsed.error.issues.map((issue) =>\n toIssue(\n \"PACK_MANIFEST_SCHEMA_INVALID\",\n issue.message,\n issue.path.join(\".\") || \"(root)\"\n )\n );\n}\n\nfunction validateManifestUniqueness(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n\n const duplicateDependencies = collectDuplicateValues(manifest.dependencies);\n if (duplicateDependencies.length > 0) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCIES_DUPLICATE\",\n `Duplicate dependencies declared: ${duplicateDependencies.join(\", \")}`,\n \"dependencies\"\n )\n );\n }\n\n if (manifest.dependencies.includes(manifest.key)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_SELF_REFERENCE\",\n `Pack \"${manifest.key}\" cannot depend on itself.`,\n \"dependencies\"\n )\n );\n }\n\n const duplicateCapabilities = collectDuplicateValues(\n manifest.capabilityFlags\n );\n if (duplicateCapabilities.length > 0) {\n issues.push(\n toIssue(\n \"PACK_CAPABILITIES_DUPLICATE\",\n `Duplicate capability flags declared: ${duplicateCapabilities.join(\", \")}`,\n \"capabilityFlags\"\n )\n );\n }\n\n const duplicateWebRoutes = collectDuplicateValues(\n manifest.routeNamespace.web\n );\n if (duplicateWebRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_WEB_ROUTES_DUPLICATE\",\n `Duplicate web routes declared: ${duplicateWebRoutes.join(\", \")}`,\n \"routeNamespace.web\"\n )\n );\n }\n\n const duplicateApiRoutes = collectDuplicateValues(\n manifest.routeNamespace.api\n );\n if (duplicateApiRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_API_ROUTES_DUPLICATE\",\n `Duplicate api routes declared: ${duplicateApiRoutes.join(\", \")}`,\n \"routeNamespace.api\"\n )\n );\n }\n\n const duplicateServices = collectDuplicateValues(\n manifest.sharedServices.map((integration) => integration.service)\n );\n if (duplicateServices.length > 0) {\n issues.push(\n toIssue(\n \"PACK_SHARED_SERVICE_DUPLICATE\",\n `Duplicate shared-service integrations declared: ${duplicateServices.join(\", \")}`,\n \"sharedServices\"\n )\n );\n }\n\n return issues;\n}\n\nfunction validateManifestDictionary(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackValidationIssue[] {\n if (!dictionary) {\n return [];\n }\n\n const issues: PackValidationIssue[] = [];\n const unknownNodeTypes = collectUnknownValues(\n manifest.dataContract.requiredNodeTypes,\n dictionary.nodeTypes\n );\n const unknownEdgeTypes = collectUnknownValues(\n manifest.dataContract.requiredEdgeTypes,\n dictionary.edgeTypes\n );\n const unknownTables = collectUnknownValues(\n manifest.dataContract.requiredTables,\n dictionary.tables\n );\n\n if (unknownNodeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_NODE_TYPES\",\n `Unknown required node types: ${unknownNodeTypes.join(\", \")}`,\n \"dataContract.requiredNodeTypes\"\n )\n );\n }\n\n if (unknownEdgeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_EDGE_TYPES\",\n `Unknown required edge types: ${unknownEdgeTypes.join(\", \")}`,\n \"dataContract.requiredEdgeTypes\"\n )\n );\n }\n\n if (unknownTables.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_TABLES\",\n `Unknown required tables: ${unknownTables.join(\", \")}`,\n \"dataContract.requiredTables\"\n )\n );\n }\n\n return issues;\n}\n\nexport function validateAppPackManifest(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackManifestValidationResult {\n const issues: PackValidationIssue[] = [\n ...validateManifestShape(manifest),\n ...validateManifestUniqueness(manifest),\n ...validateManifestDictionary(manifest, dictionary),\n ];\n\n return {\n manifestKey: manifest.key,\n valid: issues.every((issue) => issue.severity !== \"error\"),\n issues,\n };\n}\n","/**\n * Pack Namespace Collision Policy\n *\n * Enforces explicit allowlisting for cross-pack route namespace sharing.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport type { PackValidationIssue } from \"./manifestValidation\";\n\nexport type NamespaceSurface = \"web\" | \"api\";\n\nexport type NamespaceCollision = {\n surface: NamespaceSurface;\n namespace: string;\n packKeys: string[];\n};\n\nexport type NamespaceCollisionAllowlistEntry = {\n surface: NamespaceSurface;\n namespace: string;\n allowedPackKeys: string[];\n rationale: string;\n};\n\nexport const PACK_NAMESPACE_COLLISION_ALLOWLIST: NamespaceCollisionAllowlistEntry[] =\n [\n {\n surface: \"web\",\n namespace: \"/(chat)/chat/[id]\",\n allowedPackKeys: [\"chat-v1\", \"philosophy-mode-v1\"],\n rationale:\n \"Philosophy mode extends the chat surface and intentionally shares the chat detail route.\",\n },\n {\n surface: \"web\",\n namespace: \"/(projects)/projects\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes intentionally share the topic index shell mounted under the legacy /projects customer-zero shell.\",\n },\n {\n surface: \"web\",\n namespace: \"/(projects)/projects/[projectId]\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes intentionally share topic detail shell routing while the outer customer-zero shell still uses legacy project path segments.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/philosophy/get-profile\",\n allowedPackKeys: [\"philosophy-mode-v1\", \"user-profiles-v1\"],\n rationale:\n \"User profiles and philosophy mode share profile retrieval endpoint for compatibility.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/research/*\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes share research API namespace until productized API gateway split.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/reports/*\",\n allowedPackKeys: [\"deals-v1\", \"decisions-v1\", \"themes-v1\"],\n rationale:\n \"Domain packs intentionally consume shared report compiler endpoints in the same namespace.\",\n },\n ];\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction normalizeKeySet(values: string[]): string {\n return [...new Set(values)].sort().join(\"|\");\n}\n\nexport function detectNamespaceCollisions(\n manifests: AppPackManifest[]\n): NamespaceCollision[] {\n const collisions: NamespaceCollision[] = [];\n\n for (const surface of [\"web\", \"api\"] as const) {\n const namespaceToPacks = new Map<string, string[]>();\n for (const manifest of manifests) {\n const namespaces = manifest.routeNamespace[surface];\n for (const namespace of namespaces) {\n const existing = namespaceToPacks.get(namespace) ?? [];\n existing.push(manifest.key);\n namespaceToPacks.set(namespace, existing);\n }\n }\n\n for (const [namespace, packKeys] of namespaceToPacks.entries()) {\n if (packKeys.length <= 1) {\n continue;\n }\n collisions.push({\n surface,\n namespace,\n packKeys: [...new Set(packKeys)].sort(),\n });\n }\n }\n\n return collisions.sort((left, right) => {\n if (left.surface !== right.surface) {\n return left.surface.localeCompare(right.surface);\n }\n return left.namespace.localeCompare(right.namespace);\n });\n}\n\nexport function validatePackNamespacePolicies(\n manifests: AppPackManifest[]\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n const collisions = detectNamespaceCollisions(manifests);\n const allowlistByKey = new Map<string, NamespaceCollisionAllowlistEntry>();\n\n for (const entry of PACK_NAMESPACE_COLLISION_ALLOWLIST) {\n const key = `${entry.surface}:${entry.namespace}`;\n if (allowlistByKey.has(key)) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_ALLOWLIST_DUPLICATE\",\n `Duplicate allowlist entry for ${key}.`,\n \"namespacePolicy.allowlist\"\n )\n );\n continue;\n }\n allowlistByKey.set(key, entry);\n }\n\n for (const collision of collisions) {\n const key = `${collision.surface}:${collision.namespace}`;\n const allowlistEntry = allowlistByKey.get(key);\n if (!allowlistEntry) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_COLLISION_UNAPPROVED\",\n `Unapproved ${collision.surface} namespace collision for \"${collision.namespace}\" across packs: ${collision.packKeys.join(\", \")}`,\n `namespacePolicy.${collision.surface}`\n )\n );\n continue;\n }\n\n const collidedSet = normalizeKeySet(collision.packKeys);\n const allowedSet = normalizeKeySet(allowlistEntry.allowedPackKeys);\n if (collidedSet !== allowedSet) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_COLLISION_MISMATCH\",\n `Collision set mismatch for \"${collision.namespace}\". collided=${collidedSet} allowlist=${allowedSet}`,\n `namespacePolicy.${collision.surface}`\n )\n );\n }\n }\n\n return issues;\n}\n","/**\n * Pack Shared-Service Contract Checks\n *\n * Validates report/learning/decision integration declarations at manifest level.\n */\n\nimport type { AppPackManifest, SharedService } from \"./contracts\";\n\nexport type PackSharedServiceIssue = {\n packKey: string;\n service: SharedService;\n severity: \"error\" | \"warning\";\n code: string;\n message: string;\n};\n\nfunction hasSharedService(\n manifest: AppPackManifest,\n service: SharedService\n): boolean {\n return manifest.sharedServices.some(\n (integration) => integration.service === service\n );\n}\n\nfunction hasDecisionIntegrationSignals(manifest: AppPackManifest): boolean {\n if (manifest.category === \"decision\") {\n return true;\n }\n return manifest.capabilityFlags.some(\n (flag) =>\n flag.startsWith(\"decision.\") || flag.includes(\"decision.integration\")\n );\n}\n\nfunction hasReportIntegrationSignals(manifest: AppPackManifest): boolean {\n if (manifest.templates.reports.length > 0) {\n return true;\n }\n return manifest.routeNamespace.api.some((namespace) =>\n namespace.includes(\"/api/reports\")\n );\n}\n\nfunction hasLearningIntegrationSignals(manifest: AppPackManifest): boolean {\n return manifest.capabilityFlags.some(\n (flag) =>\n flag.startsWith(\"learning.\") ||\n flag.includes(\"policy.injection\") ||\n flag.includes(\"adaptive-learning\")\n );\n}\n\nexport function validatePackSharedServiceContracts(\n manifests: AppPackManifest[]\n): PackSharedServiceIssue[] {\n const issues: PackSharedServiceIssue[] = [];\n\n for (const manifest of manifests) {\n if (\n hasReportIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"knowledge-compiler\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"knowledge-compiler\",\n severity: \"error\",\n code: \"PACK_REPORT_SERVICE_MISSING\",\n message:\n \"Pack declares report outputs/routes but is missing knowledge-compiler shared service integration.\",\n });\n }\n\n if (\n hasDecisionIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"decision-kernel\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"decision-kernel\",\n severity: \"error\",\n code: \"PACK_DECISION_SERVICE_MISSING\",\n message:\n \"Pack declares decision behavior but is missing decision-kernel shared service integration.\",\n });\n }\n\n if (\n hasLearningIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"learning-loop\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"learning-loop\",\n severity: \"error\",\n code: \"PACK_LEARNING_SERVICE_MISSING\",\n message:\n \"Pack declares adaptive learning behavior but is missing learning-loop shared service integration.\",\n });\n }\n }\n\n return issues;\n}\n","/**\n * Pack Runtime Validation Orchestrator\n *\n * Aggregates manifest, dependency, and shared-service contract checks.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport { resolvePackDependencyGraph } from \"./dependencyResolution\";\nimport type {\n PackManifestValidationResult,\n PackSchemaDictionary,\n PackValidationIssue,\n} from \"./manifestValidation\";\nimport { validateAppPackManifest } from \"./manifestValidation\";\nimport { validatePackNamespacePolicies } from \"./namespacePolicy\";\nimport { validatePackSharedServiceContracts } from \"./serviceContracts\";\n\nexport type PackRegistryValidationResult = {\n valid: boolean;\n manifestResults: PackManifestValidationResult[];\n dependencyOrder: string[];\n dependencyClosureByPack: Record<string, string[]>;\n issues: PackValidationIssue[];\n};\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction validateRegistryIdentity(\n manifests: AppPackManifest[]\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n const keyCounts = new Map<string, number>();\n const identityCounts = new Map<string, number>();\n\n for (const manifest of manifests) {\n keyCounts.set(manifest.key, (keyCounts.get(manifest.key) ?? 0) + 1);\n const identity = `${manifest.key}@${manifest.version}`;\n identityCounts.set(identity, (identityCounts.get(identity) ?? 0) + 1);\n }\n\n for (const [key, count] of keyCounts.entries()) {\n if (count > 1) {\n issues.push(\n toIssue(\n \"PACK_KEY_DUPLICATE\",\n `Duplicate pack key registered: ${key}`,\n \"registry.keys\"\n )\n );\n }\n }\n\n for (const [identity, count] of identityCounts.entries()) {\n if (count > 1) {\n issues.push(\n toIssue(\n \"PACK_VERSION_DUPLICATE\",\n `Duplicate pack identity registered: ${identity}`,\n \"registry.versions\"\n )\n );\n }\n }\n\n return issues;\n}\n\nexport function validatePackRegistry(\n manifests: AppPackManifest[],\n dictionary?: PackSchemaDictionary\n): PackRegistryValidationResult {\n const manifestResults = manifests.map((manifest) =>\n validateAppPackManifest(manifest, dictionary)\n );\n const dependencyResult = resolvePackDependencyGraph(manifests);\n const sharedServiceIssues = validatePackSharedServiceContracts(manifests).map(\n (issue) =>\n toIssue(\n issue.code,\n `[${issue.packKey}] ${issue.message}`,\n `sharedServices:${issue.packKey}`,\n issue.severity\n )\n );\n const namespaceIssues = validatePackNamespacePolicies(manifests);\n\n const issues: PackValidationIssue[] = [\n ...validateRegistryIdentity(manifests),\n ...manifestResults.flatMap((result) => result.issues),\n ...dependencyResult.issues,\n ...sharedServiceIssues,\n ...namespaceIssues,\n ];\n\n return {\n valid: issues.every((issue) => issue.severity !== \"error\"),\n manifestResults,\n dependencyOrder: dependencyResult.orderedPackKeys,\n dependencyClosureByPack: dependencyResult.dependencyClosureByPack,\n issues,\n };\n}\n","/**\n * App Pack Registry\n *\n * Runtime registry composition for all platform app-pack manifests.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport { resolvePackDependencyGraph } from \"./dependencyResolution\";\nimport {\n evaluateCatalogEnablement,\n type PackEnablementPolicy,\n} from \"./lifecycle\";\nimport { allAppPackManifests } from \"./manifests\";\nimport type { PackSchemaDictionary } from \"./manifestValidation\";\nimport { validatePackRegistry } from \"./runtime\";\n\nexport const appPackRegistry: Record<string, AppPackManifest> =\n allAppPackManifests.reduce<Record<string, AppPackManifest>>(\n (acc, manifest) => {\n acc[manifest.key] = manifest;\n return acc;\n },\n {}\n );\n\nexport function getAppPackManifest(key: string): AppPackManifest | null {\n return appPackRegistry[key] ?? null;\n}\n\nexport function listAppPackManifests(): AppPackManifest[] {\n return allAppPackManifests;\n}\n\nexport function getDependencyClosure(packKey: string): string[] {\n const resolution = resolvePackDependencyGraph(allAppPackManifests);\n return resolution.dependencyClosureByPack[packKey] ?? [];\n}\n\nexport function validateAppPackRegistry(dictionary?: PackSchemaDictionary) {\n return validatePackRegistry(allAppPackManifests, dictionary);\n}\n\nexport function evaluateAppPackEnablement(policy: PackEnablementPolicy = {}) {\n return evaluateCatalogEnablement(appPackRegistry, policy);\n}\n","/**\n * Domain Pack Contracts\n *\n * A DomainPack is a self-contained reasoning context bundle that defines\n * how reasoning works in a specific domain. It binds ontology versions,\n * defines topic structure, declares workflow templates, gate schemas,\n * artifact schemas, and reasoning roles.\n *\n * This is the THIRD pack type in Lucern's architecture:\n * - AppPackManifest: UI routes, surfaces, policy profiles (app-level)\n * - MethodologyPack: Agent workflow phases, gates, enforcement (process-level)\n * - DomainPack: Reasoning domain context (domain-level)\n *\n * All fields are internal until RS-5+ external authoring certification.\n */\n\n// ---------------------------------------------------------------------------\n// Ontology Binding — ties a pack to specific ontology versions\n// ---------------------------------------------------------------------------\n\nexport type OntologyProvisionMode = \"bind\" | \"seed\" | \"extend\";\n\nexport type OntologyBinding = {\n ontologyId: string;\n versionConstraint: string; // semver range, e.g., \"^1.0.0\"\n required: boolean;\n provisionMode?: OntologyProvisionMode;\n seedRef?: string;\n requiredEntityTypes?: string[];\n requiredEdgeTypes?: string[];\n};\n\n// ---------------------------------------------------------------------------\n// Topic Root — defines the domain's top-level topic tree structure\n// ---------------------------------------------------------------------------\n\nexport type TopicRoot = {\n slug: string;\n name: string;\n description: string;\n ontologyId?: string; // which ontology governs this root\n};\n\n// ---------------------------------------------------------------------------\n// Workflow Template — shape of a workflow (not execution logic)\n// ---------------------------------------------------------------------------\n\nexport type WorkflowStep = {\n stepId: string;\n name: string;\n description: string;\n requiredRoles: string[]; // roleId references\n produces?: string[]; // artifactId references\n gateId?: string; // gate checked after this step\n};\n\nexport type WorkflowTemplate = {\n workflowId: string;\n name: string;\n description: string;\n steps: WorkflowStep[];\n requiredArtifacts: string[]; // artifactId references\n gateCheckpoints: string[]; // gateId references\n};\n\n// ---------------------------------------------------------------------------\n// Gate Schema — declarative description of what must be true\n// ---------------------------------------------------------------------------\n\nexport type GateCriterionOperator = \"gte\" | \"lte\" | \"eq\" | \"gt\" | \"lt\";\n\nexport type GateCriterion = {\n criterionId: string;\n description: string;\n metric: string;\n threshold?: number;\n operator?: GateCriterionOperator;\n};\n\nexport type GateSeverity = \"blocking\" | \"warning\" | \"informational\";\n\nexport type GateSchema = {\n gateId: string;\n name: string;\n description: string;\n criteria: GateCriterion[];\n severity: GateSeverity;\n};\n\n// ---------------------------------------------------------------------------\n// Artifact Schema — what artifacts workflows produce\n// ---------------------------------------------------------------------------\n\nexport type ArtifactSchema = {\n artifactId: string;\n name: string;\n description: string;\n stage: string; // workflow step that produces this\n contentSchema: Record<string, unknown>; // JSON Schema for content\n requiredFields: string[];\n};\n\n// ---------------------------------------------------------------------------\n// Reasoning Role — epistemic actors in the domain\n// ---------------------------------------------------------------------------\n\nexport type ReasoningRole = {\n roleId: string;\n name: string;\n description: string;\n perspective: string;\n optimizesFor: string;\n mayBlock: boolean; // Epistemic Invariant #13: agents may block progress\n};\n\n// ---------------------------------------------------------------------------\n// Inquiry Shaping — pack-level hooks for RS-3 auto-shaping\n// ---------------------------------------------------------------------------\n\nexport type InquiryShapingQuestionTemplate = {\n templateId: string;\n questionType:\n | \"validation\"\n | \"falsification\"\n | \"assumption_probe\"\n | \"counterfactual\"\n | \"scope\"\n | \"comparison\"\n | \"mechanism\"\n | \"general\";\n priority?: \"critical\" | \"high\" | \"medium\" | \"low\";\n template: string; // Supports {{objective}} and {{hypothesis}}\n whenObjectiveIncludes?: string[];\n};\n\nexport type InquiryShapingTaskTemplate = {\n templateId: string;\n title: string; // Supports {{objective}} and {{hypothesis}}\n description?: string; // Supports {{objective}} and {{hypothesis}}\n taskType?:\n | \"general\"\n | \"find_evidence\"\n | \"verify_claim\"\n | \"research\"\n | \"review\"\n | \"interview\"\n | \"analysis\"\n | \"track_metrics\";\n priority?: \"urgent\" | \"high\" | \"medium\" | \"low\";\n whenObjectiveIncludes?: string[];\n whenQuestionTypes?: string[];\n};\n\nexport type InquiryShapingFrameworkHint = {\n frameworkName: string;\n whenObjectiveIncludes?: string[];\n whenQuestionTypes?: string[];\n boost?: number;\n reason?: string;\n};\n\nexport type InquiryShapingConfig = {\n questionTemplates?: InquiryShapingQuestionTemplate[];\n taskTemplates?: InquiryShapingTaskTemplate[];\n frameworkHints?: InquiryShapingFrameworkHint[];\n};\n\n// ---------------------------------------------------------------------------\n// Operating System Layer — prompts, tools, topic bootstrap, install surfaces\n// ---------------------------------------------------------------------------\n\nexport type RuntimeTarget = \"claude-code\" | \"codex\" | \"hybrid\" | \"portable\";\n\nexport type PromptSource = \"langfuse\" | \"file\";\nexport type PromptChannel =\n | \"bootstrap\"\n | \"workflow\"\n | \"analysis\"\n | \"review\"\n | \"tool\";\n\nexport type PromptBinding = {\n promptId: string;\n description: string;\n source: PromptSource;\n ref: string;\n fallbackRef?: string;\n channel: PromptChannel;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n};\n\nexport type ToolKind = \"mcp\" | \"cli\" | \"script\" | \"hook\" | \"ai-tool\";\n\nexport type ToolBinding = {\n toolId: string;\n description: string;\n kind: ToolKind;\n entrypoint: string;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n};\n\nexport type SetupAssetKind =\n | \"instruction\"\n | \"settings\"\n | \"hook\"\n | \"skill\"\n | \"agent\"\n | \"manifest\"\n | \"template\"\n | \"inbox\"\n | \"script\"\n | \"ui\";\n\nexport type SetupAsset = {\n assetId: string;\n kind: SetupAssetKind;\n description: string;\n path: string;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n};\n\nexport type TopicTemplate = {\n slug: string;\n name: string;\n description: string;\n parentSlug?: string;\n ontologyId?: string;\n};\n\nexport type InstallProfile = {\n profileId: string;\n name: string;\n description: string;\n runtimeTarget: RuntimeTarget;\n promptIds: string[];\n toolIds: string[];\n assetIds: string[];\n defaultTopicSlugs: string[];\n};\n\nexport type OperatingSystemLayer = {\n prompts?: PromptBinding[];\n tools?: ToolBinding[];\n setupAssets?: SetupAsset[];\n topicTemplates?: TopicTemplate[];\n installProfiles?: InstallProfile[];\n};\n\n// ---------------------------------------------------------------------------\n// Domain Pack — the top-level contract\n// ---------------------------------------------------------------------------\n\nexport type DomainPack = {\n // Identity\n packId: string;\n name: string;\n version: string; // semver\n\n // Scope\n ontologyBindings: OntologyBinding[];\n topicRoots: TopicRoot[];\n\n // Workflow Templates\n workflows: WorkflowTemplate[];\n\n // Gate Schemas\n gates: GateSchema[];\n\n // Artifact Schemas\n artifacts: ArtifactSchema[];\n\n // Reasoning Roles\n roles: ReasoningRole[];\n\n // Inquiry shaping hooks\n inquiryShaping?: InquiryShapingConfig;\n\n // Runtime/install packaging layer\n operatingSystem?: OperatingSystemLayer;\n\n // Composition — optional references to other pack types\n appPackKeys?: string[]; // AppPackManifest keys this domain uses\n methodologyPackId?: string; // MethodologyPack for agent behavior\n};\n\n// ---------------------------------------------------------------------------\n// Builder helper — normalizes arrays and validates basic structure\n// ---------------------------------------------------------------------------\n\nfunction dedupeStrings(values: string[]): string[] {\n return Array.from(\n new Set(values.map((v) => v.trim()).filter((v) => v.length > 0))\n );\n}\n\nexport type DomainPackInput = Omit<DomainPack, \"appPackKeys\"> & {\n appPackKeys?: string[];\n};\n\nfunction normalizeRuntimeTargets(\n values: RuntimeTarget[] | undefined\n): RuntimeTarget[] | undefined {\n return values ? (dedupeStrings(values) as RuntimeTarget[]) : undefined;\n}\n\nfunction normalizeOntologyBinding(binding: OntologyBinding): OntologyBinding {\n return {\n ...binding,\n requiredEntityTypes: binding.requiredEntityTypes\n ? dedupeStrings(binding.requiredEntityTypes)\n : undefined,\n requiredEdgeTypes: binding.requiredEdgeTypes\n ? dedupeStrings(binding.requiredEdgeTypes)\n : undefined,\n };\n}\n\nfunction normalizeOperatingSystem(\n layer: OperatingSystemLayer | undefined\n): OperatingSystemLayer | undefined {\n if (!layer) {\n return;\n }\n\n return {\n prompts: layer.prompts?.map((prompt) => ({\n ...prompt,\n runtimeTargets: normalizeRuntimeTargets(prompt.runtimeTargets),\n })),\n tools: layer.tools?.map((tool) => ({\n ...tool,\n runtimeTargets: normalizeRuntimeTargets(tool.runtimeTargets),\n })),\n setupAssets: layer.setupAssets?.map((asset) => ({\n ...asset,\n runtimeTargets: normalizeRuntimeTargets(asset.runtimeTargets),\n })),\n topicTemplates: layer.topicTemplates,\n installProfiles: layer.installProfiles?.map((profile) => ({\n ...profile,\n promptIds: dedupeStrings(profile.promptIds),\n toolIds: dedupeStrings(profile.toolIds),\n assetIds: dedupeStrings(profile.assetIds),\n defaultTopicSlugs: dedupeStrings(profile.defaultTopicSlugs),\n })),\n };\n}\n\nexport function defineDomainPack(input: DomainPackInput): DomainPack {\n return {\n ...input,\n ontologyBindings: input.ontologyBindings.map(normalizeOntologyBinding),\n appPackKeys: input.appPackKeys\n ? dedupeStrings(input.appPackKeys)\n : undefined,\n operatingSystem: normalizeOperatingSystem(input.operatingSystem),\n workflows: input.workflows.map((w) => ({\n ...w,\n requiredArtifacts: dedupeStrings(w.requiredArtifacts),\n gateCheckpoints: dedupeStrings(w.gateCheckpoints),\n steps: w.steps.map((s) => ({\n ...s,\n requiredRoles: dedupeStrings(s.requiredRoles),\n produces: s.produces ? dedupeStrings(s.produces) : undefined,\n })),\n })),\n };\n}\n","/**\n * Domain Pack Authoring Kit\n *\n * Config-first authoring surface for tenant-authored domain packs. This layer\n * wraps the internal DomainPack contract in a stable manifest envelope with\n * framework versioning, schema and ontology extension contracts, remix/fork\n * lineage, and tool-shaped validate/preview/publish handlers.\n */\n\nimport type { DomainPack, DomainPackInput, RuntimeTarget } from \"./contracts\";\nimport { defineDomainPack } from \"./contracts\";\nimport type { DomainPackValidationIssue } from \"./validation\";\nexport type { RuntimeTarget } from \"./contracts\";\n\nexport const DOMAIN_PACK_MANIFEST_KIND =\n \"lucern-domain-pack-manifest\" as const;\nconst CURRENT_MANIFEST_VERSION = \"1.0.0\";\n\nexport type DomainPackManifestFormat = \"json\" | \"yaml\";\n\nexport type DomainPackFrameworkContract = {\n frameworkId: string;\n version: string;\n versionConstraint?: string;\n required?: boolean;\n runtimeTargets?: RuntimeTarget[];\n};\n\nexport type DomainPackSchemaExtensionTarget =\n | \"artifact\"\n | \"workflow\"\n | \"gate\"\n | \"prompt\"\n | \"tool\"\n | \"install-profile\"\n | \"topic-template\";\n\nexport type DomainPackSchemaExtension = {\n extensionId: string;\n target: DomainPackSchemaExtensionTarget;\n description: string;\n version: string;\n extends?: string;\n schema: Record<string, unknown>;\n};\n\nexport type DomainPackOntologyEntityExtension = {\n value: string;\n label: string;\n description?: string;\n schema?: Record<string, unknown>;\n subtypes?: string[];\n};\n\nexport type DomainPackOntologyEdgeExtension = {\n value: string;\n label: string;\n description?: string;\n sourceTypes?: string[];\n targetTypes?: string[];\n constraintSeverity?: \"error\" | \"warning\" | \"informational\";\n};\n\nexport type DomainPackOntologyExtension = {\n extensionId: string;\n ontologyId: string;\n baseVersionConstraint: string;\n additiveOnly: boolean;\n entityTypes?: DomainPackOntologyEntityExtension[];\n edgeTypes?: DomainPackOntologyEdgeExtension[];\n};\n\nexport type DomainPackLineageMode = \"root\" | \"remix\" | \"fork\";\n\nexport type DomainPackLineage = {\n mode: DomainPackLineageMode;\n parentPackId?: string;\n parentVersion?: string;\n parentManifestDigest?: string;\n supersedesPackId?: string;\n notes?: string;\n};\n\nexport type DomainPackAuthoringMetadata = {\n description?: string;\n owner?: string;\n tags?: string[];\n};\n\nexport type DomainPackAuthoringManifest = {\n kind: typeof DOMAIN_PACK_MANIFEST_KIND;\n manifestVersion: string;\n pack: DomainPack;\n frameworks?: DomainPackFrameworkContract[];\n schemaExtensions?: DomainPackSchemaExtension[];\n ontologyExtensions?: DomainPackOntologyExtension[];\n lineage: DomainPackLineage;\n metadata?: DomainPackAuthoringMetadata;\n};\n\nexport type DomainPackAuthoringManifestInput = {\n kind?: typeof DOMAIN_PACK_MANIFEST_KIND;\n manifestVersion?: string;\n pack: DomainPack | DomainPackInput;\n frameworks?: DomainPackFrameworkContract[];\n schemaExtensions?: DomainPackSchemaExtension[];\n ontologyExtensions?: DomainPackOntologyExtension[];\n lineage?: DomainPackLineage;\n metadata?: DomainPackAuthoringMetadata;\n};\n\nexport type DomainPackAuthoringValidationIssue = DomainPackValidationIssue & {\n source:\n | \"manifest\"\n | \"pack\"\n | \"framework\"\n | \"schema-extension\"\n | \"ontology-extension\"\n | \"lineage\"\n | \"terminology\"\n | \"parse\";\n};\n\nexport type DomainPackManifestCounts = {\n topicRoots: number;\n workflows: number;\n gates: number;\n artifacts: number;\n roles: number;\n prompts: number;\n tools: number;\n setupAssets: number;\n installProfiles: number;\n frameworks: number;\n schemaExtensions: number;\n ontologyExtensions: number;\n};\n\nexport type DomainPackAuthoringValidationResult = {\n valid: boolean;\n format: DomainPackManifestFormat | null;\n manifest: DomainPackAuthoringManifest | null;\n manifestDigest: string | null;\n issues: DomainPackAuthoringValidationIssue[];\n counts: DomainPackManifestCounts;\n};\n\nexport type DomainPackAuthoringPreview = DomainPackAuthoringValidationResult & {\n readyToPublish: boolean;\n canonicalJson: string | null;\n canonicalYaml: string | null;\n lineageSummary: string | null;\n requiredRuntimeTargets: RuntimeTarget[];\n};\n\nexport type DomainPackPublicationLineageEdge = {\n edgeType: \"remixed_from\" | \"supersedes\";\n childPackId: string;\n parentPackId: string;\n parentVersion: string;\n};\n\nexport type DomainPackPublication = {\n publicationId: string;\n packId: string;\n version: string;\n manifestDigest: string;\n manifest: DomainPackAuthoringManifest;\n lineageEdge: DomainPackPublicationLineageEdge | null;\n canonicalJson: string;\n canonicalYaml: string;\n};\n\nexport type DomainPackPublishResult = {\n published: boolean;\n preview: DomainPackAuthoringPreview;\n publication: DomainPackPublication | null;\n};\n\nexport type DomainPackAuthoringToolInput = {\n manifestText: string;\n format?: DomainPackManifestFormat;\n};\n\nexport type DomainPackAuthoringToolDefinition<Result> = {\n name:\n | \"validate_domain_pack_manifest\"\n | \"preview_domain_pack_manifest\"\n | \"publish_domain_pack_manifest\";\n description: string;\n inputSchema: Record<string, unknown>;\n execute: (args: DomainPackAuthoringToolInput) => Result;\n};\n\nexport type DomainPackAuthoringToolset = {\n validate: DomainPackAuthoringToolDefinition<DomainPackAuthoringValidationResult>;\n preview: DomainPackAuthoringToolDefinition<DomainPackAuthoringPreview>;\n publish: DomainPackAuthoringToolDefinition<DomainPackPublishResult>;\n};\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n Object.getPrototypeOf(value) === Object.prototype\n );\n}\n\nfunction dedupeStrings(values: string[] | undefined): string[] | undefined {\n if (!values) {\n return undefined;\n }\n return Array.from(\n new Set(values.map((value) => value.trim()).filter((value) => value.length))\n );\n}\n\nfunction normalizeRuntimeTargets(\n values: RuntimeTarget[] | undefined\n): RuntimeTarget[] | undefined {\n return values ? (dedupeStrings(values) as RuntimeTarget[]) : undefined;\n}\n\nfunction normalizeFrameworks(\n frameworks: DomainPackFrameworkContract[] | undefined\n): DomainPackFrameworkContract[] | undefined {\n if (!frameworks) {\n return undefined;\n }\n\n return frameworks.map((framework) => ({\n ...framework,\n frameworkId: framework.frameworkId.trim(),\n version: framework.version.trim(),\n versionConstraint: framework.versionConstraint?.trim(),\n runtimeTargets: normalizeRuntimeTargets(framework.runtimeTargets),\n }));\n}\n\nfunction normalizeSchemaExtensions(\n extensions: DomainPackSchemaExtension[] | undefined\n): DomainPackSchemaExtension[] | undefined {\n if (!extensions) {\n return undefined;\n }\n\n return extensions.map((extension) => ({\n ...extension,\n extensionId: extension.extensionId.trim(),\n target: extension.target,\n description: extension.description.trim(),\n version: extension.version.trim(),\n extends: extension.extends?.trim(),\n }));\n}\n\nfunction normalizeOntologyExtensions(\n extensions: DomainPackOntologyExtension[] | undefined\n): DomainPackOntologyExtension[] | undefined {\n if (!extensions) {\n return undefined;\n }\n\n return extensions.map((extension) => ({\n ...extension,\n extensionId: extension.extensionId.trim(),\n ontologyId: extension.ontologyId.trim(),\n baseVersionConstraint: extension.baseVersionConstraint.trim(),\n entityTypes: extension.entityTypes?.map((entityType) => ({\n ...entityType,\n value: entityType.value.trim(),\n label: entityType.label.trim(),\n description: entityType.description?.trim(),\n subtypes: dedupeStrings(entityType.subtypes),\n })),\n edgeTypes: extension.edgeTypes?.map((edgeType) => ({\n ...edgeType,\n value: edgeType.value.trim(),\n label: edgeType.label.trim(),\n description: edgeType.description?.trim(),\n sourceTypes: dedupeStrings(edgeType.sourceTypes),\n targetTypes: dedupeStrings(edgeType.targetTypes),\n })),\n }));\n}\n\nfunction normalizeLineage(lineage: DomainPackLineage | undefined): DomainPackLineage {\n if (!lineage) {\n return { mode: \"root\" };\n }\n\n return {\n mode: lineage.mode,\n parentPackId: lineage.parentPackId?.trim(),\n parentVersion: lineage.parentVersion?.trim(),\n parentManifestDigest: lineage.parentManifestDigest?.trim(),\n supersedesPackId: lineage.supersedesPackId?.trim(),\n notes: lineage.notes?.trim(),\n };\n}\n\nfunction normalizeMetadata(\n metadata: DomainPackAuthoringMetadata | undefined\n): DomainPackAuthoringMetadata | undefined {\n if (!metadata) {\n return undefined;\n }\n\n return {\n description: metadata.description?.trim(),\n owner: metadata.owner?.trim(),\n tags: dedupeStrings(metadata.tags),\n };\n}\n\nfunction toDomainPack(pack: DomainPack | DomainPackInput): DomainPack {\n return defineDomainPack(pack as DomainPackInput);\n}\n\nexport function defineDomainPackAuthoringManifest(\n input: DomainPackAuthoringManifestInput\n): DomainPackAuthoringManifest {\n return {\n kind: input.kind ?? DOMAIN_PACK_MANIFEST_KIND,\n manifestVersion: input.manifestVersion?.trim() || CURRENT_MANIFEST_VERSION,\n pack: toDomainPack(input.pack),\n frameworks: normalizeFrameworks(input.frameworks),\n schemaExtensions: normalizeSchemaExtensions(input.schemaExtensions),\n ontologyExtensions: normalizeOntologyExtensions(input.ontologyExtensions),\n lineage: normalizeLineage(input.lineage),\n metadata: normalizeMetadata(input.metadata),\n };\n}\n\nexport function countManifestArtifacts(\n manifest: DomainPackAuthoringManifest | null\n): DomainPackManifestCounts {\n if (!manifest) {\n return {\n topicRoots: 0,\n workflows: 0,\n gates: 0,\n artifacts: 0,\n roles: 0,\n prompts: 0,\n tools: 0,\n setupAssets: 0,\n installProfiles: 0,\n frameworks: 0,\n schemaExtensions: 0,\n ontologyExtensions: 0,\n };\n }\n\n return {\n topicRoots: manifest.pack.topicRoots.length,\n workflows: manifest.pack.workflows.length,\n gates: manifest.pack.gates.length,\n artifacts: manifest.pack.artifacts.length,\n roles: manifest.pack.roles.length,\n prompts: manifest.pack.operatingSystem?.prompts?.length ?? 0,\n tools: manifest.pack.operatingSystem?.tools?.length ?? 0,\n setupAssets: manifest.pack.operatingSystem?.setupAssets?.length ?? 0,\n installProfiles: manifest.pack.operatingSystem?.installProfiles?.length ?? 0,\n frameworks: manifest.frameworks?.length ?? 0,\n schemaExtensions: manifest.schemaExtensions?.length ?? 0,\n ontologyExtensions: manifest.ontologyExtensions?.length ?? 0,\n };\n}\n\nfunction sortJsonValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortJsonValue);\n }\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value)\n .filter(([, entryValue]) => entryValue !== undefined)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entryValue]) => [key, sortJsonValue(entryValue)])\n );\n }\n return value;\n}\n\nfunction toYamlScalar(value: unknown): string {\n if (value === null) {\n return \"null\";\n }\n if (typeof value === \"boolean\" || typeof value === \"number\") {\n return String(value);\n }\n return JSON.stringify(String(value));\n}\n\nfunction renderYaml(value: unknown, indent = 0): string[] {\n const prefix = \" \".repeat(indent);\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return [`${prefix}[]`];\n }\n return value.flatMap((entry) => {\n if (Array.isArray(entry) || isPlainObject(entry)) {\n return [`${prefix}-`, ...renderYaml(entry, indent + 2)];\n }\n return [`${prefix}- ${toYamlScalar(entry)}`];\n });\n }\n\n if (isPlainObject(value)) {\n const entries = Object.entries(value);\n if (entries.length === 0) {\n return [`${prefix}{}`];\n }\n return entries.flatMap(([key, entryValue]) => {\n if (entryValue === undefined) {\n return [];\n }\n if (Array.isArray(entryValue)) {\n if (entryValue.length === 0) {\n return [`${prefix}${key}: []`];\n }\n return [`${prefix}${key}:`, ...renderYaml(entryValue, indent + 2)];\n }\n if (isPlainObject(entryValue)) {\n if (Object.keys(entryValue).length === 0) {\n return [`${prefix}${key}: {}`];\n }\n return [`${prefix}${key}:`, ...renderYaml(entryValue, indent + 2)];\n }\n return [`${prefix}${key}: ${toYamlScalar(entryValue)}`];\n });\n }\n\n return [`${prefix}${toYamlScalar(value)}`];\n}\n\nfunction countIndent(line: string): number {\n return line.length - line.trimStart().length;\n}\n\nfunction parseYamlScalar(raw: string): unknown {\n const value = raw.trim();\n if (value === \"null\") {\n return null;\n }\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n if (/^-?\\d+(?:\\.\\d+)?$/.test(value)) {\n return Number(value);\n }\n if (\n (value.startsWith(\"\\\"\") && value.endsWith(\"\\\"\")) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\n ) {\n if (value.startsWith(\"'\")) {\n return value.slice(1, -1).replace(/''/g, \"'\");\n }\n return JSON.parse(value) as string;\n }\n if (value === \"[]\") {\n return [];\n }\n if (value === \"{}\") {\n return {};\n }\n return value;\n}\n\nfunction splitYamlKeyValue(\n trimmed: string\n): { key: string; value: string | null } {\n const separatorIndex = trimmed.indexOf(\":\");\n if (separatorIndex === -1) {\n throw new Error(`Invalid YAML mapping entry: ${trimmed}`);\n }\n\n const key = trimmed.slice(0, separatorIndex).trim();\n const value = trimmed.slice(separatorIndex + 1).trim();\n return { key, value: value.length ? value : null };\n}\n\nfunction parseYamlDocument(text: string): unknown {\n const rawLines = text\n .replace(/\\r\\n/g, \"\\n\")\n .split(\"\\n\")\n .map((line) => line.replace(/\\t/g, \" \"));\n const lines = rawLines.filter((line) => {\n const trimmed = line.trim();\n return trimmed.length > 0 && trimmed !== \"---\" && trimmed !== \"...\";\n });\n\n let index = 0;\n\n function parseBlock(indent: number): unknown {\n if (index >= lines.length) {\n return {};\n }\n\n const currentLine = lines[index];\n const currentIndent = countIndent(currentLine);\n if (currentIndent < indent) {\n return {};\n }\n if (currentLine.trimStart().startsWith(\"-\")) {\n return parseArray(indent);\n }\n return parseObject(indent);\n }\n\n function parseArray(indent: number): unknown[] {\n const items: unknown[] = [];\n\n while (index < lines.length) {\n const line = lines[index];\n const currentIndent = countIndent(line);\n if (currentIndent < indent) {\n break;\n }\n if (currentIndent !== indent) {\n throw new Error(`Invalid YAML indentation near: ${line.trim()}`);\n }\n\n const trimmed = line.trimStart();\n if (!trimmed.startsWith(\"-\")) {\n break;\n }\n\n const rest = trimmed.slice(1).trimStart();\n index += 1;\n\n if (!rest.length) {\n items.push(parseBlock(indent + 2));\n continue;\n }\n\n items.push(parseYamlScalar(rest));\n }\n\n return items;\n }\n\n function parseObject(indent: number): Record<string, unknown> {\n const objectValue: Record<string, unknown> = {};\n\n while (index < lines.length) {\n const line = lines[index];\n const currentIndent = countIndent(line);\n if (currentIndent < indent) {\n break;\n }\n if (currentIndent !== indent) {\n throw new Error(`Invalid YAML indentation near: ${line.trim()}`);\n }\n\n const trimmed = line.trim();\n if (trimmed.startsWith(\"-\")) {\n break;\n }\n\n const { key, value } = splitYamlKeyValue(trimmed);\n index += 1;\n objectValue[key] =\n value === null ? parseBlock(indent + 2) : parseYamlScalar(value);\n }\n\n return objectValue;\n }\n\n return parseBlock(0);\n}\n\nfunction detectDomainPackManifestFormat(\n source: string,\n explicitFormat?: DomainPackManifestFormat\n): DomainPackManifestFormat {\n if (explicitFormat) {\n return explicitFormat;\n }\n\n const trimmed = source.trim();\n if (trimmed.startsWith(\"{\")) {\n return \"json\";\n }\n return \"yaml\";\n}\n\nexport function serializeDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest,\n format: DomainPackManifestFormat = \"json\"\n): string {\n const canonicalValue = sortJsonValue(manifest);\n if (format === \"json\") {\n return `${JSON.stringify(canonicalValue, null, 2)}\\n`;\n }\n return `${renderYaml(canonicalValue).join(\"\\n\")}\\n`;\n}\n\nexport function parseDomainPackAuthoringManifest(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringManifest {\n const detectedFormat = detectDomainPackManifestFormat(source, format);\n const parsed =\n detectedFormat === \"json\"\n ? (JSON.parse(source) as unknown)\n : parseYamlDocument(source);\n\n if (!isPlainObject(parsed)) {\n throw new Error(\"Domain pack manifest must parse to an object.\");\n }\n\n if (!(\"pack\" in parsed)) {\n throw new Error(\"Domain pack manifest requires a top-level pack object.\");\n }\n\n return defineDomainPackAuthoringManifest({\n kind: parsed.kind as typeof DOMAIN_PACK_MANIFEST_KIND | undefined,\n manifestVersion: parsed.manifestVersion as string | undefined,\n pack: parsed.pack as DomainPackInput,\n frameworks: parsed.frameworks as DomainPackFrameworkContract[] | undefined,\n schemaExtensions: parsed.schemaExtensions as\n | DomainPackSchemaExtension[]\n | undefined,\n ontologyExtensions: parsed.ontologyExtensions as\n | DomainPackOntologyExtension[]\n | undefined,\n lineage: parsed.lineage as DomainPackLineage | undefined,\n metadata: parsed.metadata as DomainPackAuthoringMetadata | undefined,\n });\n}\n","/**\n * Domain Pack Validation\n *\n * Validates a DomainPack for structural integrity:\n * - Required fields present and non-empty\n * - IDs are unique within their collections\n * - Cross-references resolve (gates, artifacts, roles referenced in workflows exist)\n * - Version is valid semver\n * - packId is kebab-case\n */\n\nimport type {\n DomainPack,\n InquiryShapingFrameworkHint,\n InquiryShapingQuestionTemplate,\n InquiryShapingTaskTemplate,\n} from \"./contracts\";\n\nexport type DomainPackValidationIssue = {\n code: string;\n severity: \"error\" | \"warning\";\n message: string;\n path: string;\n};\n\nexport type DomainPackValidationResult = {\n valid: boolean;\n issues: DomainPackValidationIssue[];\n};\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): DomainPackValidationIssue {\n return { code, severity, message, path };\n}\n\nconst KEBAB_CASE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;\nconst SEMVER =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nconst SHAPING_QUESTION_TYPES = new Set([\n \"validation\",\n \"falsification\",\n \"assumption_probe\",\n \"counterfactual\",\n \"scope\",\n \"comparison\",\n \"mechanism\",\n \"general\",\n]);\nconst RUNTIME_TARGETS = new Set([\"claude-code\", \"codex\", \"hybrid\", \"portable\"]);\nconst ONTOLOGY_PROVISION_MODES = new Set([\"bind\", \"seed\", \"extend\"]);\n\nfunction validateStringArray(\n values: string[] | undefined,\n path: string,\n label: string\n): DomainPackValidationIssue[] {\n if (!values) {\n return [];\n }\n\n return values.flatMap((value, index) => {\n if (!value?.trim()) {\n return [\n issue(\n \"INVALID_SHAPING_CONDITION\",\n `${label} must not contain empty strings`,\n `${path}[${index}]`\n ),\n ];\n }\n return [];\n });\n}\n\nfunction validateRuntimeTargets(\n values: string[] | undefined,\n path: string\n): DomainPackValidationIssue[] {\n const issues = validateStringArray(values, path, \"runtimeTargets\");\n for (const [index, value] of (values || []).entries()) {\n if (!RUNTIME_TARGETS.has(value)) {\n issues.push(\n issue(\n \"INVALID_RUNTIME_TARGET\",\n `Unsupported runtime target \"${value}\"`,\n `${path}[${index}]`\n )\n );\n }\n }\n return issues;\n}\n\nfunction validatePromptBinding(\n prompt: {\n promptId: string;\n ref: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.prompts[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!prompt.promptId?.trim()) {\n issues.push(\n issue(\n \"MISSING_PROMPT_ID\",\n \"prompt binding requires promptId\",\n `${path}.promptId`\n )\n );\n }\n if (!prompt.ref?.trim()) {\n issues.push(\n issue(\"MISSING_PROMPT_REF\", \"prompt binding requires ref\", `${path}.ref`)\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(prompt.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateToolBinding(\n tool: {\n toolId: string;\n entrypoint: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.tools[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!tool.toolId?.trim()) {\n issues.push(\n issue(\"MISSING_TOOL_ID\", \"tool binding requires toolId\", `${path}.toolId`)\n );\n }\n if (!tool.entrypoint?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOOL_ENTRYPOINT\",\n \"tool binding requires entrypoint\",\n `${path}.entrypoint`\n )\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(tool.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateSetupAsset(\n asset: {\n assetId: string;\n path: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.setupAssets[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!asset.assetId?.trim()) {\n issues.push(\n issue(\n \"MISSING_SETUP_ASSET_ID\",\n \"setup asset requires assetId\",\n `${path}.assetId`\n )\n );\n }\n if (!asset.path?.trim()) {\n issues.push(\n issue(\n \"MISSING_SETUP_ASSET_PATH\",\n \"setup asset requires path\",\n `${path}.path`\n )\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(asset.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateQuestionTemplate(\n template: InquiryShapingQuestionTemplate,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.questionTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_SHAPING_TEMPLATE_ID\",\n \"question template requires templateId\",\n `${path}.templateId`\n )\n );\n }\n if (!template.template?.trim()) {\n issues.push(\n issue(\n \"MISSING_SHAPING_TEMPLATE\",\n \"question template requires template text\",\n `${path}.template`\n )\n );\n }\n if (!SHAPING_QUESTION_TYPES.has(template.questionType)) {\n issues.push(\n issue(\n \"INVALID_SHAPING_QUESTION_TYPE\",\n `Unsupported questionType \"${template.questionType}\"`,\n `${path}.questionType`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n template.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n\n return issues;\n}\n\nfunction validateTaskTemplate(\n template: InquiryShapingTaskTemplate,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.taskTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_GENERATOR_ID\",\n \"task template requires templateId\",\n `${path}.templateId`\n )\n );\n }\n if (!template.title?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_GENERATOR_TITLE\",\n \"task template requires title\",\n `${path}.title`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n template.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n issues.push(\n ...validateStringArray(\n template.whenQuestionTypes,\n `${path}.whenQuestionTypes`,\n \"whenQuestionTypes\"\n )\n );\n\n for (const [questionTypeIndex, questionType] of (\n template.whenQuestionTypes || []\n ).entries()) {\n if (!SHAPING_QUESTION_TYPES.has(questionType)) {\n issues.push(\n issue(\n \"INVALID_TASK_GENERATOR_QUESTION_TYPE\",\n `Unsupported whenQuestionTypes value \"${questionType}\"`,\n `${path}.whenQuestionTypes[${questionTypeIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction validateFrameworkHint(\n hint: InquiryShapingFrameworkHint,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.frameworkHints[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!hint.frameworkName?.trim()) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_HOOK_NAME\",\n \"framework hint requires frameworkName\",\n `${path}.frameworkName`\n )\n );\n }\n if (hint.boost != null && (!Number.isFinite(hint.boost) || hint.boost < 0)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_HOOK_BOOST\",\n \"framework hint boost must be a non-negative number\",\n `${path}.boost`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n hint.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n issues.push(\n ...validateStringArray(\n hint.whenQuestionTypes,\n `${path}.whenQuestionTypes`,\n \"whenQuestionTypes\"\n )\n );\n\n for (const [questionTypeIndex, questionType] of (\n hint.whenQuestionTypes || []\n ).entries()) {\n if (!SHAPING_QUESTION_TYPES.has(questionType)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_HOOK_QUESTION_TYPE\",\n `Unsupported whenQuestionTypes value \"${questionType}\"`,\n `${path}.whenQuestionTypes[${questionTypeIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction validateTopicTemplate(\n template: {\n slug: string;\n name: string;\n description: string;\n parentSlug?: string;\n },\n index: number,\n knownTopicSlugs: Set<string>\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.topicTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.slug?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_SLUG\",\n \"topic template requires slug\",\n `${path}.slug`\n )\n );\n } else if (!KEBAB_CASE.test(template.slug)) {\n issues.push(\n issue(\n \"INVALID_TOPIC_TEMPLATE_SLUG\",\n `topic template slug \"${template.slug}\" must be kebab-case`,\n `${path}.slug`\n )\n );\n }\n\n if (!template.name?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_NAME\",\n \"topic template requires name\",\n `${path}.name`\n )\n );\n }\n\n if (!template.description?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_DESCRIPTION\",\n \"topic template requires description\",\n `${path}.description`\n )\n );\n }\n\n if (template.parentSlug && !knownTopicSlugs.has(template.parentSlug)) {\n issues.push(\n issue(\n \"UNKNOWN_TOPIC_PARENT\",\n `topic template references unknown parent \"${template.parentSlug}\"`,\n `${path}.parentSlug`\n )\n );\n }\n\n return issues;\n}\n\nfunction validateInstallProfile(\n profile: {\n profileId: string;\n name: string;\n description: string;\n runtimeTarget: string;\n promptIds: string[];\n toolIds: string[];\n assetIds: string[];\n defaultTopicSlugs: string[];\n },\n index: number,\n knownPromptIds: Set<string>,\n knownToolIds: Set<string>,\n knownAssetIds: Set<string>,\n knownTopicSlugs: Set<string>\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.installProfiles[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!profile.profileId?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_ID\",\n \"install profile requires profileId\",\n `${path}.profileId`\n )\n );\n }\n if (!profile.name?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_NAME\",\n \"install profile requires name\",\n `${path}.name`\n )\n );\n }\n if (!profile.description?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_DESCRIPTION\",\n \"install profile requires description\",\n `${path}.description`\n )\n );\n }\n if (!RUNTIME_TARGETS.has(profile.runtimeTarget)) {\n issues.push(\n issue(\n \"INVALID_RUNTIME_TARGET\",\n `Unsupported runtime target \"${profile.runtimeTarget}\"`,\n `${path}.runtimeTarget`\n )\n );\n }\n\n for (const [promptIndex, promptId] of profile.promptIds.entries()) {\n if (!knownPromptIds.has(promptId)) {\n issues.push(\n issue(\n \"UNKNOWN_PROMPT_REF\",\n `install profile references unknown prompt \"${promptId}\"`,\n `${path}.promptIds[${promptIndex}]`\n )\n );\n }\n }\n for (const [toolIndex, toolId] of profile.toolIds.entries()) {\n if (!knownToolIds.has(toolId)) {\n issues.push(\n issue(\n \"UNKNOWN_TOOL_REF\",\n `install profile references unknown tool \"${toolId}\"`,\n `${path}.toolIds[${toolIndex}]`\n )\n );\n }\n }\n for (const [assetIndex, assetId] of profile.assetIds.entries()) {\n if (!knownAssetIds.has(assetId)) {\n issues.push(\n issue(\n \"UNKNOWN_SETUP_ASSET_REF\",\n `install profile references unknown setup asset \"${assetId}\"`,\n `${path}.assetIds[${assetIndex}]`\n )\n );\n }\n }\n for (const [topicIndex, topicSlug] of profile.defaultTopicSlugs.entries()) {\n if (!knownTopicSlugs.has(topicSlug)) {\n issues.push(\n issue(\n \"UNKNOWN_TOPIC_REF\",\n `install profile references unknown topic \"${topicSlug}\"`,\n `${path}.defaultTopicSlugs[${topicIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction checkDuplicateIds(\n items: { [key: string]: string }[],\n idField: string,\n path: string\n): DomainPackValidationIssue[] {\n const issues: DomainPackValidationIssue[] = [];\n const seen = new Set<string>();\n for (const item of items) {\n const id = item[idField];\n if (seen.has(id)) {\n issues.push(\n issue(\n \"DUPLICATE_ID\",\n `Duplicate ${idField} \"${id}\"`,\n `${path}.${idField}`\n )\n );\n }\n seen.add(id);\n }\n return issues;\n}\n\nexport function validateDomainPack(\n pack: DomainPack\n): DomainPackValidationResult {\n const issues: DomainPackValidationIssue[] = [];\n\n // --- Identity ---\n if (!pack.packId || !pack.packId.trim()) {\n issues.push(issue(\"MISSING_PACK_ID\", \"packId is required\", \"packId\"));\n } else if (!KEBAB_CASE.test(pack.packId)) {\n issues.push(\n issue(\n \"INVALID_PACK_ID\",\n `packId \"${pack.packId}\" must be kebab-case`,\n \"packId\"\n )\n );\n }\n\n if (!pack.name || !pack.name.trim()) {\n issues.push(issue(\"MISSING_NAME\", \"name is required\", \"name\"));\n }\n\n if (!pack.version || !pack.version.trim()) {\n issues.push(issue(\"MISSING_VERSION\", \"version is required\", \"version\"));\n } else if (!SEMVER.test(pack.version)) {\n issues.push(\n issue(\n \"INVALID_VERSION\",\n `version \"${pack.version}\" must be valid semver`,\n \"version\"\n )\n );\n }\n\n // --- Scope ---\n if (!pack.ontologyBindings || pack.ontologyBindings.length === 0) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_BINDINGS\",\n \"At least one ontologyBinding is required\",\n \"ontologyBindings\"\n )\n );\n } else {\n for (const [i, binding] of pack.ontologyBindings.entries()) {\n if (!binding.ontologyId?.trim()) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_ID\",\n `ontologyBinding[${i}].ontologyId is required`,\n `ontologyBindings[${i}].ontologyId`\n )\n );\n }\n if (!binding.versionConstraint?.trim()) {\n issues.push(\n issue(\n \"MISSING_VERSION_CONSTRAINT\",\n `ontologyBinding[${i}].versionConstraint is required`,\n `ontologyBindings[${i}].versionConstraint`\n )\n );\n }\n if (\n binding.provisionMode &&\n !ONTOLOGY_PROVISION_MODES.has(binding.provisionMode)\n ) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_PROVISION_MODE\",\n `Unsupported provisionMode \"${binding.provisionMode}\"`,\n `ontologyBindings[${i}].provisionMode`\n )\n );\n }\n if (\n binding.provisionMode &&\n binding.provisionMode !== \"bind\" &&\n !binding.seedRef?.trim()\n ) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_SEED_REF\",\n `ontologyBinding[${i}] requires seedRef when provisionMode is \"${binding.provisionMode}\"`,\n `ontologyBindings[${i}].seedRef`\n )\n );\n }\n issues.push(\n ...validateStringArray(\n binding.requiredEntityTypes,\n `ontologyBindings[${i}].requiredEntityTypes`,\n \"requiredEntityTypes\"\n ),\n ...validateStringArray(\n binding.requiredEdgeTypes,\n `ontologyBindings[${i}].requiredEdgeTypes`,\n \"requiredEdgeTypes\"\n )\n );\n }\n }\n\n if (!pack.topicRoots || pack.topicRoots.length === 0) {\n issues.push(\n issue(\n \"MISSING_TOPIC_ROOTS\",\n \"At least one topicRoot is required\",\n \"topicRoots\"\n )\n );\n } else {\n issues.push(\n ...checkDuplicateIds(\n pack.topicRoots as unknown as { [key: string]: string }[],\n \"slug\",\n \"topicRoots\"\n )\n );\n }\n\n if (pack.operatingSystem) {\n const knownRootSlugs = new Set(\n pack.topicRoots?.map((topic) => topic.slug) ?? []\n );\n\n if (pack.operatingSystem.prompts) {\n issues.push(\n ...checkDuplicateIds(\n pack.operatingSystem.prompts as unknown as {\n [key: string]: string;\n }[],\n \"promptId\",\n \"operatingSystem.prompts\"\n )\n );\n pack.operatingSystem.prompts.forEach((prompt, index) => {\n issues.push(...validatePromptBinding(prompt, index));\n });\n }\n\n if (pack.operatingSystem.tools) {\n issues.push(\n ...checkDuplicateIds(\n pack.operatingSystem.tools as unknown as { [key: string]: string }[],\n \"toolId\",\n \"operatingSystem.tools\"\n )\n );\n pack.operatingSystem.tools.forEach((tool, index) => {\n issues.push(...validateToolBinding(tool, index));\n });\n }\n\n if (pack.operatingSystem.setupAssets) {\n issues.push(\n ...checkDuplicateIds(\n pack.operatingSystem.setupAssets as unknown as {\n [key: string]: string;\n }[],\n \"assetId\",\n \"operatingSystem.setupAssets\"\n )\n );\n pack.operatingSystem.setupAssets.forEach((asset, index) => {\n issues.push(...validateSetupAsset(asset, index));\n });\n }\n\n const templateSlugs = new Set<string>();\n if (pack.operatingSystem.topicTemplates) {\n issues.push(\n ...checkDuplicateIds(\n pack.operatingSystem.topicTemplates as unknown as {\n [key: string]: string;\n }[],\n \"slug\",\n \"operatingSystem.topicTemplates\"\n )\n );\n pack.operatingSystem.topicTemplates.forEach((template) => {\n if (template.slug) {\n templateSlugs.add(template.slug);\n }\n });\n const knownTopicSlugs = new Set([...knownRootSlugs, ...templateSlugs]);\n pack.operatingSystem.topicTemplates.forEach((template, index) => {\n issues.push(...validateTopicTemplate(template, index, knownTopicSlugs));\n });\n }\n\n if (pack.operatingSystem.installProfiles) {\n issues.push(\n ...checkDuplicateIds(\n pack.operatingSystem.installProfiles as unknown as {\n [key: string]: string;\n }[],\n \"profileId\",\n \"operatingSystem.installProfiles\"\n )\n );\n\n const knownPromptIds = new Set(\n pack.operatingSystem.prompts?.map((prompt) => prompt.promptId) ?? []\n );\n const knownToolIds = new Set(\n pack.operatingSystem.tools?.map((tool) => tool.toolId) ?? []\n );\n const knownAssetIds = new Set(\n pack.operatingSystem.setupAssets?.map((asset) => asset.assetId) ?? []\n );\n const knownTopicSlugs = new Set([...knownRootSlugs, ...templateSlugs]);\n\n pack.operatingSystem.installProfiles.forEach((profile, index) => {\n issues.push(\n ...validateInstallProfile(\n profile,\n index,\n knownPromptIds,\n knownToolIds,\n knownAssetIds,\n knownTopicSlugs\n )\n );\n });\n }\n }\n\n // --- Roles ---\n if (!pack.roles || pack.roles.length === 0) {\n issues.push(\n issue(\"MISSING_ROLES\", \"At least one reasoning role is required\", \"roles\")\n );\n } else {\n issues.push(\n ...checkDuplicateIds(\n pack.roles as unknown as { [key: string]: string }[],\n \"roleId\",\n \"roles\"\n )\n );\n }\n\n // Collect known IDs for cross-reference validation\n const knownGateIds = new Set(pack.gates?.map((g) => g.gateId) ?? []);\n const knownArtifactIds = new Set(\n pack.artifacts?.map((a) => a.artifactId) ?? []\n );\n const knownRoleIds = new Set(pack.roles?.map((r) => r.roleId) ?? []);\n\n // --- Gates ---\n if (pack.gates) {\n issues.push(\n ...checkDuplicateIds(\n pack.gates as unknown as { [key: string]: string }[],\n \"gateId\",\n \"gates\"\n )\n );\n for (const [i, gate] of pack.gates.entries()) {\n if (!gate.criteria || gate.criteria.length === 0) {\n issues.push(\n issue(\n \"EMPTY_GATE_CRITERIA\",\n `Gate \"${gate.gateId}\" has no criteria`,\n `gates[${i}].criteria`,\n \"warning\"\n )\n );\n } else {\n issues.push(\n ...checkDuplicateIds(\n gate.criteria as unknown as { [key: string]: string }[],\n \"criterionId\",\n `gates[${i}].criteria`\n )\n );\n }\n }\n }\n\n // --- Artifacts ---\n if (pack.artifacts) {\n issues.push(\n ...checkDuplicateIds(\n pack.artifacts as unknown as { [key: string]: string }[],\n \"artifactId\",\n \"artifacts\"\n )\n );\n }\n\n // --- Workflows: cross-reference validation ---\n if (pack.workflows) {\n issues.push(\n ...checkDuplicateIds(\n pack.workflows as unknown as { [key: string]: string }[],\n \"workflowId\",\n \"workflows\"\n )\n );\n\n for (const [wi, workflow] of pack.workflows.entries()) {\n // Check gate checkpoint references\n for (const gateId of workflow.gateCheckpoints) {\n if (!knownGateIds.has(gateId)) {\n issues.push(\n issue(\n \"UNKNOWN_GATE_REF\",\n `Workflow \"${workflow.workflowId}\" references unknown gate \"${gateId}\"`,\n `workflows[${wi}].gateCheckpoints`\n )\n );\n }\n }\n\n // Check required artifact references\n for (const artifactId of workflow.requiredArtifacts) {\n if (!knownArtifactIds.has(artifactId)) {\n issues.push(\n issue(\n \"UNKNOWN_ARTIFACT_REF\",\n `Workflow \"${workflow.workflowId}\" references unknown artifact \"${artifactId}\"`,\n `workflows[${wi}].requiredArtifacts`\n )\n );\n }\n }\n\n // Check step references\n for (const [si, step] of workflow.steps.entries()) {\n for (const roleId of step.requiredRoles) {\n if (!knownRoleIds.has(roleId)) {\n issues.push(\n issue(\n \"UNKNOWN_ROLE_REF\",\n `Step \"${step.stepId}\" references unknown role \"${roleId}\"`,\n `workflows[${wi}].steps[${si}].requiredRoles`\n )\n );\n }\n }\n\n if (step.gateId && !knownGateIds.has(step.gateId)) {\n issues.push(\n issue(\n \"UNKNOWN_GATE_REF\",\n `Step \"${step.stepId}\" references unknown gate \"${step.gateId}\"`,\n `workflows[${wi}].steps[${si}].gateId`\n )\n );\n }\n\n if (step.produces) {\n for (const artifactId of step.produces) {\n if (!knownArtifactIds.has(artifactId)) {\n issues.push(\n issue(\n \"UNKNOWN_ARTIFACT_REF\",\n `Step \"${step.stepId}\" references unknown artifact \"${artifactId}\"`,\n `workflows[${wi}].steps[${si}].produces`\n )\n );\n }\n }\n }\n }\n }\n }\n\n if (pack.inquiryShaping) {\n if (pack.inquiryShaping.questionTemplates) {\n issues.push(\n ...checkDuplicateIds(\n pack.inquiryShaping.questionTemplates as unknown as {\n [key: string]: string;\n }[],\n \"templateId\",\n \"inquiryShaping.questionTemplates\"\n )\n );\n pack.inquiryShaping.questionTemplates.forEach((template, index) => {\n issues.push(...validateQuestionTemplate(template, index));\n });\n }\n\n if (pack.inquiryShaping.taskTemplates) {\n issues.push(\n ...checkDuplicateIds(\n pack.inquiryShaping.taskTemplates as unknown as {\n [key: string]: string;\n }[],\n \"templateId\",\n \"inquiryShaping.taskTemplates\"\n )\n );\n pack.inquiryShaping.taskTemplates.forEach((template, index) => {\n issues.push(...validateTaskTemplate(template, index));\n });\n }\n\n if (pack.inquiryShaping.frameworkHints) {\n issues.push(\n ...checkDuplicateIds(\n pack.inquiryShaping.frameworkHints.map((hint) => ({\n frameworkName: hint.frameworkName,\n })),\n \"frameworkName\",\n \"inquiryShaping.frameworkHints\"\n )\n );\n pack.inquiryShaping.frameworkHints.forEach((hint, index) => {\n issues.push(...validateFrameworkHint(hint, index));\n });\n }\n }\n\n return {\n valid: issues.filter((i) => i.severity === \"error\").length === 0,\n issues,\n };\n}\n","/**\n * Domain Pack Authoring Kit\n *\n * Validation, preview, publication, and tool wiring for tenant-authored domain packs.\n */\n\nimport type {\n DomainPackManifestFormat,\n DomainPackFrameworkContract,\n DomainPackSchemaExtension,\n DomainPackOntologyExtension,\n DomainPackLineage,\n DomainPackAuthoringManifest,\n DomainPackAuthoringManifestInput,\n DomainPackAuthoringValidationIssue,\n DomainPackManifestCounts,\n DomainPackAuthoringValidationResult,\n DomainPackAuthoringPreview,\n DomainPackPublicationLineageEdge,\n DomainPackPublishResult,\n DomainPackAuthoringToolDefinition,\n DomainPackAuthoringToolInput,\n DomainPackAuthoringToolset,\n DomainPackSchemaExtensionTarget,\n DomainPackOntologyEntityExtension,\n DomainPackOntologyEdgeExtension,\n DomainPackLineageMode,\n RuntimeTarget,\n} from \"./authoring.core\";\nimport {\n DOMAIN_PACK_MANIFEST_KIND,\n countManifestArtifacts,\n defineDomainPackAuthoringManifest,\n parseDomainPackAuthoringManifest,\n serializeDomainPackAuthoringManifest,\n} from \"./authoring.core\";\nimport { validateDomainPack } from \"./validation\";\n\nconst KEBAB_CASE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;\nconst SEMVER =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nconst LEGACY_PUBLIC_KEYS = new Set([\n \"project\",\n \"projects\",\n \"projectId\",\n \"projectIds\",\n \"sprint\",\n \"sprints\",\n \"sprintId\",\n \"sprintIds\",\n]);\nconst SCHEMA_EXTENSION_TARGETS = new Set<DomainPackSchemaExtensionTarget>([\n \"artifact\",\n \"workflow\",\n \"gate\",\n \"prompt\",\n \"tool\",\n \"install-profile\",\n \"topic-template\",\n]);\nconst ONTOLOGY_CONSTRAINT_SEVERITIES = new Set([\n \"error\",\n \"warning\",\n \"informational\",\n]);\nconst LINEAGE_MODES = new Set<DomainPackLineageMode>([\"root\", \"remix\", \"fork\"]);\nconst AUTHORING_TOOL_NAMES = {\n validate: \"validate_domain_pack_manifest\",\n preview: \"preview_domain_pack_manifest\",\n publish: \"publish_domain_pack_manifest\",\n} as const;\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n source: DomainPackAuthoringValidationIssue[\"source\"],\n severity: \"error\" | \"warning\" = \"error\"\n): DomainPackAuthoringValidationIssue {\n return { code, message, path, severity, source };\n}\n\nfunction emptyCounts(): DomainPackManifestCounts {\n return {\n topicRoots: 0,\n workflows: 0,\n gates: 0,\n artifacts: 0,\n roles: 0,\n prompts: 0,\n tools: 0,\n setupAssets: 0,\n installProfiles: 0,\n frameworks: 0,\n schemaExtensions: 0,\n ontologyExtensions: 0,\n };\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n Object.getPrototypeOf(value) === Object.prototype\n );\n}\n\nfunction describeParseFailure(error: unknown): string {\n return error instanceof Error ? error.message : \"Manifest parse failed.\";\n}\n\nfunction asToolDefinition<Result>(\n tool: DomainPackAuthoringToolDefinition<Result>\n): DomainPackAuthoringToolDefinition<Result> {\n return tool;\n}\n\nfunction detectDomainPackManifestFormat(\n source: string,\n explicitFormat?: DomainPackManifestFormat\n): DomainPackManifestFormat {\n if (explicitFormat) {\n return explicitFormat;\n }\n\n const trimmed = source.trim();\n if (trimmed.startsWith(\"{\")) {\n return \"json\";\n }\n return \"yaml\";\n}\n\nfunction validateFrameworks(\n frameworks: DomainPackFrameworkContract[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!frameworks) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n frameworks.forEach((framework, index) => {\n const path = `frameworks[${index}]`;\n if (!framework.frameworkId) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_ID\",\n \"frameworkId is required\",\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else if (!KEBAB_CASE.test(framework.frameworkId)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_ID\",\n `frameworkId \"${framework.frameworkId}\" must be kebab-case`,\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else if (seen.has(framework.frameworkId)) {\n issues.push(\n issue(\n \"DUPLICATE_FRAMEWORK_ID\",\n `Duplicate frameworkId \"${framework.frameworkId}\"`,\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else {\n seen.add(framework.frameworkId);\n }\n\n if (!framework.version) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_VERSION\",\n \"version is required\",\n `${path}.version`,\n \"framework\"\n )\n );\n } else if (!SEMVER.test(framework.version)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_VERSION\",\n `framework version \"${framework.version}\" must be valid semver`,\n `${path}.version`,\n \"framework\"\n )\n );\n }\n });\n\n return issues;\n}\n\nfunction validateSchemaExtensions(\n extensions: DomainPackSchemaExtension[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!extensions) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n extensions.forEach((extension, index) => {\n const path = `schemaExtensions[${index}]`;\n if (!extension.extensionId) {\n issues.push(\n issue(\n \"MISSING_SCHEMA_EXTENSION_ID\",\n \"extensionId is required\",\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else if (!KEBAB_CASE.test(extension.extensionId)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_ID\",\n `extensionId \"${extension.extensionId}\" must be kebab-case`,\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else if (seen.has(extension.extensionId)) {\n issues.push(\n issue(\n \"DUPLICATE_SCHEMA_EXTENSION_ID\",\n `Duplicate schema extension \"${extension.extensionId}\"`,\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else {\n seen.add(extension.extensionId);\n }\n\n if (!SCHEMA_EXTENSION_TARGETS.has(extension.target)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_TARGET\",\n `Unsupported schema extension target \"${extension.target}\"`,\n `${path}.target`,\n \"schema-extension\"\n )\n );\n }\n if (!extension.description) {\n issues.push(\n issue(\n \"MISSING_SCHEMA_EXTENSION_DESCRIPTION\",\n \"description is required\",\n `${path}.description`,\n \"schema-extension\"\n )\n );\n }\n if (!SEMVER.test(extension.version)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_VERSION\",\n `schema extension version \"${extension.version}\" must be valid semver`,\n `${path}.version`,\n \"schema-extension\"\n )\n );\n }\n if (!isPlainObject(extension.schema)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_SCHEMA\",\n \"schema extension schema must be a plain object\",\n `${path}.schema`,\n \"schema-extension\"\n )\n );\n }\n });\n\n return issues;\n}\n\nfunction validateOntologyExtensions(\n extensions: DomainPackOntologyExtension[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!extensions) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n extensions.forEach((extension, index) => {\n const path = `ontologyExtensions[${index}]`;\n if (!extension.extensionId) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EXTENSION_ID\",\n \"extensionId is required\",\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else if (!KEBAB_CASE.test(extension.extensionId)) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EXTENSION_ID\",\n `extensionId \"${extension.extensionId}\" must be kebab-case`,\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else if (seen.has(extension.extensionId)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_EXTENSION_ID\",\n `Duplicate ontology extension \"${extension.extensionId}\"`,\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else {\n seen.add(extension.extensionId);\n }\n\n if (!extension.ontologyId) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EXTENSION_TARGET\",\n \"ontologyId is required\",\n `${path}.ontologyId`,\n \"ontology-extension\"\n )\n );\n }\n if (!extension.baseVersionConstraint) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_BASE_VERSION\",\n \"baseVersionConstraint is required\",\n `${path}.baseVersionConstraint`,\n \"ontology-extension\"\n )\n );\n }\n if (extension.additiveOnly !== true) {\n issues.push(\n issue(\n \"NON_MONOTONIC_ONTOLOGY_EXTENSION\",\n \"ontology extensions must set additiveOnly=true\",\n `${path}.additiveOnly`,\n \"ontology-extension\"\n )\n );\n }\n\n const entityTypeValues = new Set<string>();\n extension.entityTypes?.forEach(\n (entityType: DomainPackOntologyEntityExtension, entityTypeIndex) => {\n const entityPath = `${path}.entityTypes[${entityTypeIndex}]`;\n if (!entityType.value || !KEBAB_CASE.test(entityType.value)) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_ENTITY_VALUE\",\n \"entity extension value must be kebab-case\",\n `${entityPath}.value`,\n \"ontology-extension\"\n )\n );\n } else if (entityTypeValues.has(entityType.value)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_ENTITY_VALUE\",\n `Duplicate entity extension value \"${entityType.value}\"`,\n `${entityPath}.value`,\n \"ontology-extension\"\n )\n );\n } else {\n entityTypeValues.add(entityType.value);\n }\n if (!entityType.label) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_ENTITY_LABEL\",\n \"entity extension label is required\",\n `${entityPath}.label`,\n \"ontology-extension\"\n )\n );\n }\n }\n );\n\n const edgeTypeValues = new Set<string>();\n extension.edgeTypes?.forEach(\n (edgeType: DomainPackOntologyEdgeExtension, edgeTypeIndex) => {\n const edgePath = `${path}.edgeTypes[${edgeTypeIndex}]`;\n if (!edgeType.value || !KEBAB_CASE.test(edgeType.value)) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EDGE_VALUE\",\n \"edge extension value must be kebab-case\",\n `${edgePath}.value`,\n \"ontology-extension\"\n )\n );\n } else if (edgeTypeValues.has(edgeType.value)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_EDGE_VALUE\",\n `Duplicate edge extension value \"${edgeType.value}\"`,\n `${edgePath}.value`,\n \"ontology-extension\"\n )\n );\n } else {\n edgeTypeValues.add(edgeType.value);\n }\n if (!edgeType.label) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EDGE_LABEL\",\n \"edge extension label is required\",\n `${edgePath}.label`,\n \"ontology-extension\"\n )\n );\n }\n if (\n edgeType.constraintSeverity &&\n !ONTOLOGY_CONSTRAINT_SEVERITIES.has(edgeType.constraintSeverity)\n ) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EDGE_SEVERITY\",\n `Unsupported constraint severity \"${edgeType.constraintSeverity}\"`,\n `${edgePath}.constraintSeverity`,\n \"ontology-extension\"\n )\n );\n }\n }\n );\n });\n\n return issues;\n}\n\nfunction validateLineage(\n lineage: DomainPackLineage,\n packId: string\n): DomainPackAuthoringValidationIssue[] {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (!LINEAGE_MODES.has(lineage.mode)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_MODE\",\n `Unsupported lineage mode \"${lineage.mode}\"`,\n \"lineage.mode\",\n \"lineage\"\n )\n );\n return issues;\n }\n\n if (lineage.mode === \"root\") {\n if (lineage.parentPackId || lineage.parentVersion || lineage.supersedesPackId) {\n issues.push(\n issue(\n \"ROOT_LINEAGE_HAS_PARENT\",\n \"root lineage cannot declare parent or supersedes metadata\",\n \"lineage\",\n \"lineage\"\n )\n );\n }\n return issues;\n }\n\n if (!lineage.parentPackId) {\n issues.push(\n issue(\n \"MISSING_LINEAGE_PARENT_PACK\",\n \"parentPackId is required for remix or fork lineage\",\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n } else if (!KEBAB_CASE.test(lineage.parentPackId)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_PARENT_PACK\",\n `parentPackId \"${lineage.parentPackId}\" must be kebab-case`,\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n }\n\n if (!lineage.parentVersion) {\n issues.push(\n issue(\n \"MISSING_LINEAGE_PARENT_VERSION\",\n \"parentVersion is required for remix or fork lineage\",\n \"lineage.parentVersion\",\n \"lineage\"\n )\n );\n } else if (!SEMVER.test(lineage.parentVersion)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_PARENT_VERSION\",\n `parentVersion \"${lineage.parentVersion}\" must be valid semver`,\n \"lineage.parentVersion\",\n \"lineage\"\n )\n );\n }\n\n if (\n lineage.parentPackId &&\n lineage.parentPackId === packId &&\n lineage.parentVersion === undefined\n ) {\n issues.push(\n issue(\n \"SELF_REFERENTIAL_LINEAGE\",\n \"lineage parentPackId cannot equal the child packId without an explicit parentVersion\",\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n }\n\n if (lineage.mode === \"remix\" && lineage.supersedesPackId) {\n issues.push(\n issue(\n \"REMIX_LINEAGE_SUPERSEDES\",\n \"remix lineage cannot declare supersedesPackId\",\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n }\n\n if (lineage.mode === \"fork\") {\n if (!lineage.supersedesPackId) {\n issues.push(\n issue(\n \"MISSING_SUPERSEDES_PACK\",\n \"fork lineage requires supersedesPackId to model the supersedes edge\",\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n } else if (!KEBAB_CASE.test(lineage.supersedesPackId)) {\n issues.push(\n issue(\n \"INVALID_SUPERSEDES_PACK\",\n `supersedesPackId \"${lineage.supersedesPackId}\" must be kebab-case`,\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction scanLegacyPublicKeys(\n value: unknown,\n path = \"\"\n): DomainPackAuthoringValidationIssue[] {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (Array.isArray(value)) {\n value.forEach((entry, index) => {\n issues.push(...scanLegacyPublicKeys(entry, `${path}[${index}]`));\n });\n return issues;\n }\n\n if (!isPlainObject(value)) {\n return issues;\n }\n\n Object.entries(value).forEach(([key, entryValue]) => {\n const nextPath = path ? `${path}.${key}` : key;\n if (LEGACY_PUBLIC_KEYS.has(key)) {\n issues.push(\n issue(\n \"LEGACY_PUBLIC_TERM\",\n `Public manifest field \"${key}\" uses legacy terminology; expose canonical topic/worktree terms instead.`,\n nextPath,\n \"terminology\"\n )\n );\n }\n issues.push(...scanLegacyPublicKeys(entryValue, nextPath));\n });\n\n return issues;\n}\n\n/**\n * Simple deterministic hash for manifest identification (not cryptographic).\n * Uses FNV-1a 64-bit hash to avoid node:crypto dependency in the Convex bundle.\n */\nfunction createManifestDigest(manifest: DomainPackAuthoringManifest): string {\n const data = serializeDomainPackAuthoringManifest(manifest, \"json\");\n let h1 = 0x811c9dc5 | 0;\n let h2 = 0x811c9dc5 | 0;\n for (let i = 0; i < data.length; i++) {\n const c = data.charCodeAt(i);\n h1 = Math.imul(h1 ^ c, 0x01000193);\n h2 = Math.imul(h2 ^ ((c >>> 4) | (c << 4)), 0x01000193);\n }\n return (\n (h1 >>> 0).toString(16).padStart(8, \"0\") +\n (h2 >>> 0).toString(16).padStart(8, \"0\")\n );\n}\n\nfunction evaluateDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest,\n format: DomainPackManifestFormat | null = null\n): DomainPackAuthoringValidationResult {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (manifest.kind !== DOMAIN_PACK_MANIFEST_KIND) {\n issues.push(\n issue(\n \"INVALID_MANIFEST_KIND\",\n `kind must be \"${DOMAIN_PACK_MANIFEST_KIND}\"`,\n \"kind\",\n \"manifest\"\n )\n );\n }\n\n if (!SEMVER.test(manifest.manifestVersion)) {\n issues.push(\n issue(\n \"INVALID_MANIFEST_VERSION\",\n `manifestVersion \"${manifest.manifestVersion}\" must be valid semver`,\n \"manifestVersion\",\n \"manifest\"\n )\n );\n }\n\n issues.push(...validateFrameworks(manifest.frameworks));\n issues.push(...validateSchemaExtensions(manifest.schemaExtensions));\n issues.push(...validateOntologyExtensions(manifest.ontologyExtensions));\n issues.push(...validateLineage(manifest.lineage, manifest.pack.packId));\n issues.push(...scanLegacyPublicKeys(manifest));\n\n const packValidation = validateDomainPack(manifest.pack);\n issues.push(\n ...packValidation.issues.map((packIssue) => ({\n ...packIssue,\n path: `pack.${packIssue.path}`,\n source: \"pack\" as const,\n }))\n );\n\n return {\n valid: issues.every((currentIssue) => currentIssue.severity !== \"error\"),\n format,\n manifest,\n manifestDigest: createManifestDigest(manifest),\n issues,\n counts: countManifestArtifacts(manifest),\n };\n}\n\nfunction parseFailureResult(\n error: unknown,\n format: DomainPackManifestFormat | null\n): DomainPackAuthoringValidationResult {\n return {\n valid: false,\n format,\n manifest: null,\n manifestDigest: null,\n issues: [\n issue(\n \"PARSE_ERROR\",\n describeParseFailure(error),\n \"manifest\",\n \"parse\"\n ),\n ],\n counts: emptyCounts(),\n };\n}\n\nfunction validateDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackAuthoringValidationResult {\n return evaluateDomainPackAuthoringManifest(\n defineDomainPackAuthoringManifest(\n manifest as DomainPackAuthoringManifestInput\n )\n );\n}\n\nfunction validateDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringValidationResult {\n const detectedFormat = detectDomainPackManifestFormat(source, format);\n\n try {\n const manifest = parseDomainPackAuthoringManifest(source, detectedFormat);\n return evaluateDomainPackAuthoringManifest(manifest, detectedFormat);\n } catch (error) {\n return parseFailureResult(error, detectedFormat);\n }\n}\n\nfunction collectRuntimeTargets(manifest: DomainPackAuthoringManifest | null): RuntimeTarget[] {\n if (!manifest) {\n return [];\n }\n\n const targets = new Set<RuntimeTarget>();\n manifest.frameworks?.forEach((framework) =>\n framework.runtimeTargets?.forEach((target) => targets.add(target))\n );\n manifest.pack.operatingSystem?.prompts?.forEach((prompt) =>\n prompt.runtimeTargets?.forEach((target) => targets.add(target))\n );\n manifest.pack.operatingSystem?.tools?.forEach((tool) =>\n tool.runtimeTargets?.forEach((target) => targets.add(target))\n );\n manifest.pack.operatingSystem?.setupAssets?.forEach((asset) =>\n asset.runtimeTargets?.forEach((target) => targets.add(target))\n );\n manifest.pack.operatingSystem?.installProfiles?.forEach((profile) =>\n targets.add(profile.runtimeTarget)\n );\n return Array.from(targets).sort();\n}\n\nfunction describeLineage(lineage: DomainPackLineage | null): string | null {\n if (!lineage) {\n return null;\n }\n if (lineage.mode === \"root\") {\n return \"Root pack with no parent lineage.\";\n }\n if (lineage.mode === \"remix\") {\n return `Remix of ${lineage.parentPackId}@${lineage.parentVersion}.`;\n }\n return `Fork of ${lineage.parentPackId}@${lineage.parentVersion} that supersedes ${lineage.supersedesPackId}.`;\n}\n\nfunction previewDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackAuthoringPreview {\n const validation = validateDomainPackAuthoringManifest(manifest);\n return {\n ...validation,\n readyToPublish: validation.valid,\n canonicalJson: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"json\")\n : null,\n canonicalYaml: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"yaml\")\n : null,\n lineageSummary: describeLineage(validation.manifest?.lineage ?? null),\n requiredRuntimeTargets: collectRuntimeTargets(validation.manifest),\n };\n}\n\nfunction previewDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringPreview {\n const validation = validateDomainPackAuthoringManifestSource(source, format);\n return {\n ...validation,\n readyToPublish: validation.valid,\n canonicalJson: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"json\")\n : null,\n canonicalYaml: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"yaml\")\n : null,\n lineageSummary: describeLineage(validation.manifest?.lineage ?? null),\n requiredRuntimeTargets: collectRuntimeTargets(validation.manifest),\n };\n}\n\nfunction buildLineageEdge(\n manifest: DomainPackAuthoringManifest\n): DomainPackPublicationLineageEdge | null {\n const { lineage, pack } = manifest;\n if (lineage.mode === \"root\") {\n return null;\n }\n if (lineage.mode === \"remix\") {\n return {\n edgeType: \"remixed_from\",\n childPackId: pack.packId,\n parentPackId: lineage.parentPackId!,\n parentVersion: lineage.parentVersion!,\n };\n }\n return {\n edgeType: \"supersedes\",\n childPackId: pack.packId,\n parentPackId: lineage.supersedesPackId!,\n parentVersion: lineage.parentVersion!,\n };\n}\n\nfunction publishDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackPublishResult {\n const preview = previewDomainPackAuthoringManifest(manifest);\n if (!preview.readyToPublish || !preview.manifest || !preview.manifestDigest) {\n return {\n published: false,\n preview,\n publication: null,\n };\n }\n\n return {\n published: true,\n preview,\n publication: {\n publicationId: `${preview.manifest.pack.packId}@${preview.manifest.pack.version}`,\n packId: preview.manifest.pack.packId,\n version: preview.manifest.pack.version,\n manifestDigest: preview.manifestDigest,\n manifest: preview.manifest,\n lineageEdge: buildLineageEdge(preview.manifest),\n canonicalJson: preview.canonicalJson!,\n canonicalYaml: preview.canonicalYaml!,\n },\n };\n}\n\nfunction publishDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackPublishResult {\n const preview = previewDomainPackAuthoringManifestSource(source, format);\n if (!preview.readyToPublish || !preview.manifest || !preview.manifestDigest) {\n return {\n published: false,\n preview,\n publication: null,\n };\n }\n\n return {\n published: true,\n preview,\n publication: {\n publicationId: `${preview.manifest.pack.packId}@${preview.manifest.pack.version}`,\n packId: preview.manifest.pack.packId,\n version: preview.manifest.pack.version,\n manifestDigest: preview.manifestDigest,\n manifest: preview.manifest,\n lineageEdge: buildLineageEdge(preview.manifest),\n canonicalJson: preview.canonicalJson!,\n canonicalYaml: preview.canonicalYaml!,\n },\n };\n}\n\nfunction createDomainPackAuthoringTools(): DomainPackAuthoringToolset {\n const inputSchema = {\n type: \"object\",\n properties: {\n manifestText: {\n type: \"string\",\n description: \"Domain pack manifest text in JSON or YAML form.\",\n },\n format: {\n type: \"string\",\n enum: [\"json\", \"yaml\"],\n description: \"Optional manifest format override.\",\n },\n },\n required: [\"manifestText\"],\n additionalProperties: false,\n } satisfies Record<string, unknown>;\n\n return {\n validate: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.validate,\n description:\n \"Validate a domain pack authoring manifest and return structural, lineage, terminology, and extension issues.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n validateDomainPackAuthoringManifestSource(args.manifestText, args.format),\n }),\n preview: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.preview,\n description:\n \"Preview a domain pack manifest with canonical JSON/YAML renderings, runtime targets, and publication readiness.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n previewDomainPackAuthoringManifestSource(args.manifestText, args.format),\n }),\n publish: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.publish,\n description:\n \"Build a publication-ready domain pack artifact when validation passes, including remix/fork lineage metadata.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n publishDomainPackAuthoringManifestSource(args.manifestText, args.format),\n }),\n };\n}\n\nexport const domainPackAuthoringValidation = {\n validateDomainPackAuthoringManifest,\n validateDomainPackAuthoringManifestSource,\n previewDomainPackAuthoringManifest,\n previewDomainPackAuthoringManifestSource,\n publishDomainPackAuthoringManifest,\n publishDomainPackAuthoringManifestSource,\n createDomainPackAuthoringTools,\n} as const;\n","export type {\n DomainPackManifestFormat,\n DomainPackFrameworkContract,\n DomainPackSchemaExtensionTarget,\n DomainPackSchemaExtension,\n DomainPackOntologyEntityExtension,\n DomainPackOntologyEdgeExtension,\n DomainPackOntologyExtension,\n DomainPackLineageMode,\n DomainPackLineage,\n DomainPackAuthoringMetadata,\n DomainPackAuthoringManifest,\n DomainPackAuthoringManifestInput,\n DomainPackAuthoringValidationIssue,\n DomainPackManifestCounts,\n DomainPackAuthoringValidationResult,\n DomainPackAuthoringPreview,\n DomainPackPublicationLineageEdge,\n DomainPackPublication,\n DomainPackPublishResult,\n DomainPackAuthoringToolInput,\n DomainPackAuthoringToolDefinition,\n DomainPackAuthoringToolset,\n} from \"./authoring.core\";\nexport {\n defineDomainPackAuthoringManifest,\n serializeDomainPackAuthoringManifest,\n parseDomainPackAuthoringManifest,\n} from \"./authoring.core\";\n\nimport { domainPackAuthoringValidation } from \"./authoring.validation\";\n\nexport const validateDomainPackAuthoringManifest =\n domainPackAuthoringValidation.validateDomainPackAuthoringManifest;\nexport const validateDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.validateDomainPackAuthoringManifestSource;\nexport const previewDomainPackAuthoringManifest =\n domainPackAuthoringValidation.previewDomainPackAuthoringManifest;\nexport const previewDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.previewDomainPackAuthoringManifestSource;\nexport const publishDomainPackAuthoringManifest =\n domainPackAuthoringValidation.publishDomainPackAuthoringManifest;\nexport const publishDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.publishDomainPackAuthoringManifestSource;\nexport const createDomainPackAuthoringTools =\n domainPackAuthoringValidation.createDomainPackAuthoringTools;\n","/**\n * Software Entities Ontology Snapshot v1.0.0\n *\n * Reference ontology snapshot for turnkey engineering packs. This gives\n * engineering-focused domain packs a real typed bundle to bind and seed.\n */\n\nexport type OntologyEntityTypeSnapshot = {\n value: string;\n label: string;\n description: string;\n};\n\nexport type OntologyEdgeTypeSnapshot = {\n value: string;\n label: string;\n description: string;\n sourceTypes?: string[];\n targetTypes?: string[];\n};\n\nexport const SOFTWARE_ENTITIES_V1 = {\n ontologyId: \"software-entities\",\n version: \"1.0.0\",\n name: \"Software Entities\",\n description:\n \"Core software-delivery ontology for repositories, services, modules, changes, incidents, and agent-assisted engineering workflows.\",\n entityTypes: [\n {\n value: \"repository\",\n label: \"Repository\",\n description:\n \"Source repository or monorepo boundary under active ownership.\",\n },\n {\n value: \"service\",\n label: \"Service\",\n description: \"Deployable service, application, or runtime surface.\",\n },\n {\n value: \"module\",\n label: \"Module\",\n description:\n \"Logical code module, package, or subsystem within a service.\",\n },\n {\n value: \"workflow\",\n label: \"Workflow\",\n description:\n \"Repeatable engineering workflow such as review, migration, or incident response.\",\n },\n {\n value: \"migration\",\n label: \"Migration\",\n description:\n \"Schema, API, or rollout change with sequencing and rollback concerns.\",\n },\n {\n value: \"incident\",\n label: \"Incident\",\n description:\n \"Operational incident, outage, or regression requiring triage and mitigation.\",\n },\n {\n value: \"decision_record\",\n label: \"Decision Record\",\n description:\n \"Architecture decision, rationale record, or precedent artifact.\",\n },\n {\n value: \"agent\",\n label: \"Agent\",\n description:\n \"Configured AI worker or assistant participating in engineering workflows.\",\n },\n ] as const satisfies readonly OntologyEntityTypeSnapshot[],\n edgeTypes: [\n {\n value: \"depends_on\",\n label: \"Depends On\",\n description:\n \"A repository, service, module, or workflow depends on another surface.\",\n sourceTypes: [\"repository\", \"service\", \"module\", \"workflow\", \"migration\"],\n targetTypes: [\"repository\", \"service\", \"module\", \"workflow\", \"migration\"],\n },\n {\n value: \"owns\",\n label: \"Owns\",\n description:\n \"An agent or service owns a module, workflow, or decision record.\",\n sourceTypes: [\"agent\", \"service\"],\n targetTypes: [\"module\", \"workflow\", \"decision_record\"],\n },\n {\n value: \"calls\",\n label: \"Calls\",\n description:\n \"A repository, service, or module invokes another service or module.\",\n sourceTypes: [\"repository\", \"service\", \"module\"],\n targetTypes: [\"service\", \"module\"],\n },\n {\n value: \"blocks\",\n label: \"Blocks\",\n description:\n \"An incident, migration, or workflow blocks another engineering surface.\",\n sourceTypes: [\"incident\", \"migration\", \"workflow\"],\n targetTypes: [\"migration\", \"workflow\", \"service\", \"decision_record\"],\n },\n {\n value: \"reviews\",\n label: \"Reviews\",\n description:\n \"An agent or workflow reviews a change, module, or migration.\",\n sourceTypes: [\"agent\", \"workflow\"],\n targetTypes: [\"module\", \"migration\", \"decision_record\"],\n },\n {\n value: \"mitigates\",\n label: \"Mitigates\",\n description:\n \"A workflow or migration mitigates an incident or risky change.\",\n sourceTypes: [\"workflow\", \"migration\"],\n targetTypes: [\"incident\", \"service\", \"module\"],\n },\n {\n value: \"supersedes\",\n label: \"Supersedes\",\n description:\n \"A newer decision record, migration, or workflow replaces an earlier one.\",\n sourceTypes: [\"decision_record\", \"migration\", \"workflow\"],\n targetTypes: [\"decision_record\", \"migration\", \"workflow\"],\n },\n ] as const satisfies readonly OntologyEdgeTypeSnapshot[],\n} as const;\n","/** Domain-pack inquiry shaping helpers for questions, tasks, and prompts. */\nimport type {\n DomainPack,\n InquiryShapingFrameworkHint,\n InquiryShapingQuestionTemplate,\n InquiryShapingTaskTemplate,\n} from \"./contracts\";\nimport {\n validateDomainPack,\n type DomainPackValidationIssue,\n} from \"./validation\";\n\nexport type ShapingCondition = {\n objectiveIncludes?: string[];\n questionTypes?: string[];\n};\n\ntype BaseContributionItem = {\n sourcePackId: string;\n priorityWeight: number;\n condition: ShapingCondition;\n};\n\nexport type QuestionTemplate = BaseContributionItem & {\n templateId: string;\n questionType:\n | \"validation\"\n | \"falsification\"\n | \"assumption_probe\"\n | \"counterfactual\"\n | \"clarification\"\n | \"comparison\"\n | \"mechanism\"\n | \"general\";\n priority?: \"critical\" | \"high\" | \"medium\" | \"low\";\n template: string;\n};\n\nexport type TaskGenerator = BaseContributionItem & {\n generatorId: string;\n title: string;\n description?: string;\n taskType?:\n | \"general\"\n | \"find_evidence\"\n | \"verify_claim\"\n | \"research\"\n | \"review\"\n | \"interview\"\n | \"analysis\"\n | \"track_metrics\";\n priority?: \"urgent\" | \"high\" | \"medium\" | \"low\";\n};\n\nexport type FrameworkHook = BaseContributionItem & {\n hookId: string;\n frameworkName: string;\n boost: number;\n reason?: string;\n};\n\nexport type ShapingContribution = {\n packId: string;\n questionTemplates: QuestionTemplate[];\n taskGenerators: TaskGenerator[];\n frameworkHooks: FrameworkHook[];\n};\n\nexport type ShapingContributionValidationIssue = DomainPackValidationIssue;\nexport type ShapingContributionValidationResult = {\n valid: boolean;\n issues: ShapingContributionValidationIssue[];\n};\n\nexport type ShapingContributionRegistry = {\n register(pack: DomainPack): ShapingContribution;\n get(packId: string): ShapingContribution | null;\n list(): string[];\n};\n\nconst QUESTION_PRIORITY_WEIGHT: Record<\n NonNullable<QuestionTemplate[\"priority\"]>,\n number\n> = {\n critical: 0.12,\n high: 0.08,\n medium: 0.04,\n low: 0.01,\n};\n\nconst TASK_PRIORITY_WEIGHT: Record<\n NonNullable<TaskGenerator[\"priority\"]>,\n number\n> = {\n urgent: 0.12,\n high: 0.08,\n medium: 0.04,\n low: 0.01,\n};\n\nfunction dedupeStrings(values: string[] | undefined): string[] | undefined {\n if (!values || values.length === 0) {\n return undefined;\n }\n const normalized = values.map((value) => value.trim()).filter(Boolean);\n return normalized.length > 0 ? Array.from(new Set(normalized)) : undefined;\n}\n\nfunction toKebabCase(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\n\nfunction normalizeCondition(args: {\n objectiveIncludes?: string[];\n questionTypes?: string[];\n}): ShapingCondition {\n return {\n ...(dedupeStrings(args.objectiveIncludes)\n ? { objectiveIncludes: dedupeStrings(args.objectiveIncludes) }\n : {}),\n ...(dedupeStrings(args.questionTypes)\n ? { questionTypes: dedupeStrings(args.questionTypes) }\n : {}),\n };\n}\n\nfunction normalizeQuestionType(\n questionType: InquiryShapingQuestionTemplate[\"questionType\"]\n): QuestionTemplate[\"questionType\"] {\n return questionType === \"scope\" ? \"clarification\" : questionType;\n}\n\nfunction questionTemplateToContribution(\n packId: string,\n template: InquiryShapingQuestionTemplate\n): QuestionTemplate {\n return {\n sourcePackId: packId,\n templateId: template.templateId,\n questionType: normalizeQuestionType(template.questionType),\n priority: template.priority,\n priorityWeight: QUESTION_PRIORITY_WEIGHT[template.priority || \"medium\"],\n template: template.template,\n condition: normalizeCondition({\n objectiveIncludes: template.whenObjectiveIncludes,\n }),\n };\n}\n\nfunction taskTemplateToContribution(\n packId: string,\n template: InquiryShapingTaskTemplate\n): TaskGenerator {\n return {\n sourcePackId: packId,\n generatorId: template.templateId,\n title: template.title,\n description: template.description,\n taskType: template.taskType,\n priority: template.priority,\n priorityWeight: TASK_PRIORITY_WEIGHT[template.priority || \"medium\"],\n condition: normalizeCondition({\n objectiveIncludes: template.whenObjectiveIncludes,\n questionTypes: template.whenQuestionTypes,\n }),\n };\n}\n\nfunction frameworkHintToContribution(\n packId: string,\n hint: InquiryShapingFrameworkHint\n): FrameworkHook {\n const hookId = `${packId}:${toKebabCase(hint.frameworkName || \"framework\")}`;\n return {\n sourcePackId: packId,\n hookId,\n frameworkName: hint.frameworkName,\n boost: hint.boost || 0,\n reason: hint.reason,\n priorityWeight: Math.max(0.02, hint.boost || 0),\n condition: normalizeCondition({\n objectiveIncludes: hint.whenObjectiveIncludes,\n questionTypes: hint.whenQuestionTypes,\n }),\n };\n}\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): ShapingContributionValidationIssue {\n return { code, message, path, severity };\n}\n\nfunction checkDuplicateIds(\n items: Array<Record<string, string>>,\n idField: string,\n path: string\n): ShapingContributionValidationIssue[] {\n const issues: ShapingContributionValidationIssue[] = [];\n const seen = new Set<string>();\n for (const item of items) {\n const id = item[idField];\n if (!id) {\n continue;\n }\n if (seen.has(id)) {\n issues.push(\n issue(\"DUPLICATE_ID\", `Duplicate ${idField} \"${id}\"`, `${path}.${idField}`)\n );\n }\n seen.add(id);\n }\n return issues;\n}\n\nfunction formatRegistrationIssues(\n packId: string,\n issues: ShapingContributionValidationIssue[]\n): string {\n return `Invalid shaping contribution registration for ${packId}: ${issues\n .map((item) => `${item.code} at ${item.path}`)\n .join(\"; \")}`;\n}\n\nexport function buildShapingContribution(pack: DomainPack): ShapingContribution {\n const inquiryShaping = pack.inquiryShaping || {};\n\n return {\n packId: pack.packId,\n questionTemplates: (inquiryShaping.questionTemplates || []).map((template) =>\n questionTemplateToContribution(pack.packId, template)\n ),\n taskGenerators: (inquiryShaping.taskTemplates || []).map((template) =>\n taskTemplateToContribution(pack.packId, template)\n ),\n frameworkHooks: (inquiryShaping.frameworkHints || []).map((hint) =>\n frameworkHintToContribution(pack.packId, hint)\n ),\n };\n}\n\nexport function validateShapingContribution(\n contribution: ShapingContribution\n): ShapingContributionValidationResult {\n const issues: ShapingContributionValidationIssue[] = [];\n\n if (!contribution.packId?.trim()) {\n issues.push(issue(\"MISSING_PACK_ID\", \"packId is required\", \"packId\"));\n }\n\n issues.push(\n ...checkDuplicateIds(\n contribution.questionTemplates as unknown as Array<Record<string, string>>,\n \"templateId\",\n \"questionTemplates\"\n )\n );\n issues.push(\n ...checkDuplicateIds(\n contribution.taskGenerators as unknown as Array<Record<string, string>>,\n \"generatorId\",\n \"taskGenerators\"\n )\n );\n issues.push(\n ...checkDuplicateIds(\n contribution.frameworkHooks as unknown as Array<Record<string, string>>,\n \"hookId\",\n \"frameworkHooks\"\n )\n );\n\n contribution.questionTemplates.forEach((template, index) => {\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_TEMPLATE_ID\",\n \"Question template requires templateId\",\n `questionTemplates[${index}].templateId`\n )\n );\n }\n if (!template.template?.trim()) {\n issues.push(\n issue(\n \"MISSING_TEMPLATE\",\n \"Question template requires template text\",\n `questionTemplates[${index}].template`\n )\n );\n }\n });\n\n contribution.taskGenerators.forEach((generator, index) => {\n if (!generator.generatorId?.trim()) {\n issues.push(\n issue(\n \"MISSING_GENERATOR_ID\",\n \"Task generator requires generatorId\",\n `taskGenerators[${index}].generatorId`\n )\n );\n }\n if (!generator.title?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_TITLE\",\n \"Task generator requires title\",\n `taskGenerators[${index}].title`\n )\n );\n }\n });\n\n contribution.frameworkHooks.forEach((hook, index) => {\n if (!hook.frameworkName?.trim()) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_NAME\",\n \"Framework hook requires frameworkName\",\n `frameworkHooks[${index}].frameworkName`\n )\n );\n }\n if (!Number.isFinite(hook.boost) || hook.boost < 0) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_BOOST\",\n \"Framework hook boost must be a non-negative number\",\n `frameworkHooks[${index}].boost`\n )\n );\n }\n });\n\n return {\n valid: issues.every((item) => item.severity !== \"error\"),\n issues,\n };\n}\n\nexport function createShapingContributionRegistry(\n packs: DomainPack[] = []\n): ShapingContributionRegistry {\n const registry = new Map<string, ShapingContribution>();\n\n const register = (pack: DomainPack): ShapingContribution => {\n if (registry.has(pack.packId)) {\n throw new Error(\n `Duplicate shaping contribution registration for ${pack.packId}`\n );\n }\n\n const packValidation = validateDomainPack(pack);\n if (!packValidation.valid) {\n throw new Error(formatRegistrationIssues(pack.packId, packValidation.issues));\n }\n\n const contribution = buildShapingContribution(pack);\n const contributionValidation = validateShapingContribution(contribution);\n if (!contributionValidation.valid) {\n throw new Error(\n formatRegistrationIssues(pack.packId, contributionValidation.issues)\n );\n }\n\n registry.set(pack.packId, contribution);\n return contribution;\n };\n\n packs.forEach(register);\n\n return {\n register,\n get(packId: string) {\n return registry.get(packId) ?? null;\n },\n list() {\n return Array.from(registry.keys());\n },\n };\n}\n","/**\n * Domain Pack: Developer Reasoning\n *\n * Reference domain pack for AI-assisted software development reasoning.\n * This is the pack Lucern uses internally — a generic reasoning harness\n * for code development with beliefs, evidence, and structured workflows.\n *\n * Domain-neutral: demonstrates the contract without tenant-specific IP.\n */\n\nimport { defineDomainPack } from \"../contracts\";\n\nexport const DEVELOPER_REASONING_PACK = defineDomainPack({\n packId: \"developer-reasoning\",\n name: \"Developer Reasoning\",\n version: \"1.0.0\",\n\n ontologyBindings: [\n {\n ontologyId: \"software-entities\",\n versionConstraint: \"^1.0.0\",\n required: true,\n },\n ],\n\n topicRoots: [\n {\n slug: \"architecture\",\n name: \"Architecture\",\n description: \"System architecture decisions and trade-offs\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"implementation\",\n name: \"Implementation\",\n description: \"Active implementation work and worktrees\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"operations\",\n name: \"Operations\",\n description: \"Deployment, observability, and operational concerns\",\n },\n ],\n\n workflows: [\n {\n workflowId: \"worktree-lifecycle\",\n name: \"Worktree Lifecycle\",\n description:\n \"Structured development cycle from scoping through implementation and review\",\n steps: [\n {\n stepId: \"scope\",\n name: \"Scope & Context\",\n description:\n \"Read graph context, identify constraints and prior decisions\",\n requiredRoles: [\"investigator\"],\n produces: [\"scope-artifact\"],\n },\n {\n stepId: \"plan\",\n name: \"Plan\",\n description:\n \"Design implementation approach informed by graph beliefs\",\n requiredRoles: [\"investigator\", \"critic\"],\n produces: [\"plan-artifact\"],\n gateId: \"plan-reviewed\",\n },\n {\n stepId: \"build\",\n name: \"Build\",\n description: \"Implement with in-flight graph writeback\",\n requiredRoles: [\"implementer\"],\n produces: [\"implementation-artifact\"],\n },\n {\n stepId: \"review\",\n name: \"Review\",\n description:\n \"Validate implementation against plan, tests, and type safety\",\n requiredRoles: [\"critic\"],\n produces: [\"review-artifact\"],\n gateId: \"review-passed\",\n },\n ],\n requiredArtifacts: [\"scope-artifact\", \"implementation-artifact\"],\n gateCheckpoints: [\"plan-reviewed\", \"review-passed\"],\n },\n ],\n\n gates: [\n {\n gateId: \"plan-reviewed\",\n name: \"Plan Reviewed\",\n description: \"Implementation plan has been reviewed for feasibility\",\n criteria: [\n {\n criterionId: \"constraints-checked\",\n description:\n \"Plan respects high-credence beliefs (>= 0.90) as constraints\",\n metric: \"constraint_violations\",\n threshold: 0,\n operator: \"eq\",\n },\n {\n criterionId: \"scope-bounded\",\n description: \"Plan stays within declared file and concern scope\",\n metric: \"scope_bounded\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"review-passed\",\n name: \"Review Passed\",\n description: \"Implementation passes type checks, tests, and review\",\n criteria: [\n {\n criterionId: \"types-clean\",\n description: \"TypeScript check passes (npx tsc --noEmit)\",\n metric: \"tsc_errors\",\n threshold: 0,\n operator: \"eq\",\n },\n {\n criterionId: \"tests-passing\",\n description: \"All relevant tests pass\",\n metric: \"test_pass_ratio\",\n threshold: 1.0,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n ],\n\n artifacts: [\n {\n artifactId: \"scope-artifact\",\n name: \"Scope Context\",\n description:\n \"Graph context summary — beliefs, questions, constraints informing this work\",\n stage: \"scope\",\n contentSchema: {\n type: \"object\",\n properties: {\n beliefs: { type: \"array\", items: { type: \"string\" } },\n questions: { type: \"array\", items: { type: \"string\" } },\n constraints: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"beliefs\", \"constraints\"],\n },\n requiredFields: [\"beliefs\", \"constraints\"],\n },\n {\n artifactId: \"plan-artifact\",\n name: \"Implementation Plan\",\n description: \"Files to create/modify, approach, and test strategy\",\n stage: \"plan\",\n contentSchema: {\n type: \"object\",\n properties: {\n files: { type: \"array\", items: { type: \"string\" } },\n approach: { type: \"string\" },\n testStrategy: { type: \"string\" },\n },\n required: [\"files\", \"approach\"],\n },\n requiredFields: [\"files\", \"approach\"],\n },\n {\n artifactId: \"implementation-artifact\",\n name: \"Implementation Summary\",\n description: \"What was built, files changed, decisions made\",\n stage: \"build\",\n contentSchema: {\n type: \"object\",\n properties: {\n filesChanged: { type: \"array\", items: { type: \"string\" } },\n decisions: { type: \"array\", items: { type: \"string\" } },\n deferredWork: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"filesChanged\"],\n },\n requiredFields: [\"filesChanged\"],\n },\n {\n artifactId: \"review-artifact\",\n name: \"Review Summary\",\n description: \"Review findings, type check results, test results\",\n stage: \"review\",\n contentSchema: {\n type: \"object\",\n properties: {\n verdict: { type: \"string\", enum: [\"approve\", \"request-changes\"] },\n findings: { type: \"array\", items: { type: \"string\" } },\n testsPassing: { type: \"boolean\" },\n typesClean: { type: \"boolean\" },\n },\n required: [\"verdict\", \"testsPassing\", \"typesClean\"],\n },\n requiredFields: [\"verdict\", \"testsPassing\", \"typesClean\"],\n },\n ],\n\n roles: [\n {\n roleId: \"investigator\",\n name: \"Investigator\",\n description: \"Reads graph context and identifies relevant prior knowledge\",\n perspective: \"Context-aware, evidence-driven scoping\",\n optimizesFor: \"thoroughness of context retrieval and constraint identification\",\n mayBlock: false,\n },\n {\n roleId: \"implementer\",\n name: \"Implementer\",\n description: \"Writes code and records decisions in the graph\",\n perspective: \"Pragmatic, focused on working code within constraints\",\n optimizesFor: \"correctness and simplicity\",\n mayBlock: false,\n },\n {\n roleId: \"critic\",\n name: \"Critic\",\n description:\n \"Challenges assumptions, finds edge cases, and surfaces risks\",\n perspective: \"Skeptical, detail-oriented, adversarial testing\",\n optimizesFor: \"identifying weaknesses before they reach production\",\n mayBlock: true, // Epistemic Invariant #13\n },\n ],\n\n inquiryShaping: {\n questionTemplates: [\n {\n templateId: \"developer-boundary-falsifier\",\n questionType: \"falsification\",\n priority: \"high\",\n template:\n \"Which interface, contract, or boundary would fail first if {{objective}} is wrong?\",\n whenObjectiveIncludes: [\n \"build\",\n \"implement\",\n \"refactor\",\n \"integrate\",\n \"algorithm\",\n \"handler\",\n \"workflow\",\n ],\n },\n {\n templateId: \"developer-regression-counterfactual\",\n questionType: \"counterfactual\",\n priority: \"high\",\n template:\n \"What existing behavior or verification path would regress if {{hypothesis}} is false?\",\n whenObjectiveIncludes: [\"build\", \"implement\", \"add\", \"extend\", \"support\"],\n },\n ],\n taskTemplates: [\n {\n templateId: \"developer-contract-audit\",\n title: \"Audit adjacent contracts and invariants for {{objective}}\",\n description:\n \"Inspect the existing MCP, schema, and worktree contracts that constrain {{objective}} before changing runtime behavior.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\"build\", \"implement\", \"extend\", \"support\"],\n },\n {\n templateId: \"developer-verification-pass\",\n title: \"Run focused verification for {{objective}}\",\n description:\n \"Add or update targeted tests and type-safety checks that would fail if {{hypothesis}} is wrong.\",\n taskType: \"review\",\n priority: \"medium\",\n whenObjectiveIncludes: [\"build\", \"implement\", \"algorithm\", \"workflow\"],\n whenQuestionTypes: [\"falsification\", \"counterfactual\"],\n },\n ],\n frameworkHints: [\n {\n frameworkName: \"Boundary Audit\",\n whenObjectiveIncludes: [\"handler\", \"contract\", \"api\", \"workflow\"],\n boost: 0.25,\n reason: \"Developer reasoning work benefits from explicit boundary checks.\",\n },\n {\n frameworkName: \"Pre-mortem\",\n whenQuestionTypes: [\"falsification\", \"counterfactual\"],\n boost: 0.2,\n reason: \"Stress-testing likely failure modes improves worktree shaping quality.\",\n },\n ],\n },\n\n methodologyPackId: \"developer\",\n});\n","/**\n * Private tail for the engineering accelerator domain pack.\n */\n\nimport type { DomainPackInput } from \"../contracts\";\n\nexport const ENGINEERING_ACCELERATOR_TAIL = {\n inquiryShaping: {\n questionTemplates: [\n {\n templateId: \"engineering-rationale-recall\",\n questionType: \"comparison\",\n priority: \"high\",\n template:\n \"Which prior migration, incident, review, or architecture decision most resembles {{objective}}, and what rationale or failure should we reuse before changing anything?\",\n whenObjectiveIncludes: [\n \"migration\",\n \"review\",\n \"pull request\",\n \"incident\",\n \"architecture\",\n \"decision\",\n \"rollback\",\n \"refactor\",\n ],\n },\n {\n templateId: \"engineering-rollback-falsifier\",\n questionType: \"falsification\",\n priority: \"critical\",\n template:\n \"What rollback, compatibility, or blast-radius assumption would fail first if {{hypothesis}} is wrong?\",\n whenObjectiveIncludes: [\"migration\", \"deploy\", \"rollout\", \"backfill\"],\n },\n {\n templateId: \"engineering-review-regression\",\n questionType: \"counterfactual\",\n priority: \"high\",\n template:\n \"Which prior regression, incident, or failed attempt should a reviewer inspect before approving {{objective}}?\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n },\n {\n templateId: \"engineering-incident-contradiction\",\n questionType: \"mechanism\",\n priority: \"high\",\n template:\n \"Which competing hypothesis or contradiction must be surfaced before treating {{objective}} as the root cause?\",\n whenObjectiveIncludes: [\n \"incident\",\n \"outage\",\n \"error\",\n \"latency\",\n \"regression\",\n ],\n },\n {\n templateId: \"engineering-architecture-precedent\",\n questionType: \"validation\",\n priority: \"high\",\n template:\n \"Which earlier architecture decision would {{objective}} narrow, supersede, or reaffirm, and what evidence justified it then?\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"api\",\n \"design\",\n ],\n },\n ],\n taskTemplates: [\n {\n templateId: \"engineering-memory-brief\",\n title:\n \"Compile prior rationale, analogous changes, and failed attempts for {{objective}}\",\n description:\n \"Create a first-hour memory brief so the workflow starts with precedent instead of rediscovery.\",\n taskType: \"analysis\",\n priority: \"urgent\",\n whenObjectiveIncludes: [\n \"migration\",\n \"review\",\n \"incident\",\n \"architecture\",\n \"decision\",\n \"rollback\",\n ],\n },\n {\n templateId: \"engineering-rollback-check\",\n title:\n \"Define blast radius, rollback path, and verification checkpoints for {{objective}}\",\n description:\n \"Turn risky engineering work into a reversible plan before implementation or approval.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\"migration\", \"deploy\", \"rollout\", \"backfill\"],\n },\n {\n templateId: \"engineering-review-brief\",\n title:\n \"Draft a review brief linking prior rationale, regressions, and missing checks for {{objective}}\",\n description:\n \"Use prior incidents and earlier review context to focus approval on what can actually break.\",\n taskType: \"review\",\n priority: \"high\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n },\n {\n templateId: \"engineering-contradiction-sweep\",\n title:\n \"Surface competing hypotheses and active contradictions for {{objective}}\",\n description:\n \"Keep incident triage or regression analysis from collapsing into a single untested explanation.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\n \"incident\",\n \"outage\",\n \"error\",\n \"latency\",\n \"regression\",\n ],\n },\n {\n templateId: \"engineering-decision-record\",\n title:\n \"Capture cited precedent, rejected options, and follow-up risks for {{objective}}\",\n description:\n \"Turn architecture decisions into explicit rationale that future work can recall instead of re-litigating.\",\n taskType: \"analysis\",\n priority: \"medium\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"design\",\n \"refactor\",\n ],\n },\n ],\n frameworkHints: [\n {\n frameworkName: \"Timeline Replay\",\n whenObjectiveIncludes: [\n \"migration\",\n \"deploy\",\n \"rollout\",\n \"incident\",\n \"rollback\",\n ],\n boost: 0.28,\n reason:\n \"Migration and incident work benefits from replaying prior changes, causes, and rollback timing.\",\n },\n {\n frameworkName: \"Contradiction Sweep\",\n whenObjectiveIncludes: [\"incident\", \"outage\", \"error\", \"regression\"],\n boost: 0.3,\n reason:\n \"Incidents need competing hypotheses surfaced explicitly before confidence collapses too early.\",\n },\n {\n frameworkName: \"ADR Delta Review\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"design\",\n ],\n boost: 0.26,\n reason:\n \"Architecture work should compare against earlier decisions and explain the delta, not just the new plan.\",\n },\n {\n frameworkName: \"Pre-Merge Regression Audit\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n boost: 0.24,\n reason:\n \"Risky reviews are faster and better when they start from prior regressions, rationale, and missing checks.\",\n },\n ],\n },\n\n operatingSystem: {\n prompts: [\n {\n promptId: \"claude-quick-reference\",\n description: \"Claude Code quick-reference and Lucern operating loop\",\n source: \"file\",\n ref: \"CLAUDE.md\",\n channel: \"bootstrap\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n promptId: \"build-command\",\n description: \"Main-session worktree execution protocol\",\n source: \"file\",\n ref: \".claude/commands/build.md\",\n channel: \"workflow\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"architect-command\",\n description: \"Product-architecture framing command\",\n source: \"file\",\n ref: \".claude/commands/architect.md\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"pipeline-command\",\n description: \"Pipeline sequencing and queue-management command\",\n source: \"file\",\n ref: \".claude/commands/pipeline.md\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"pr-command\",\n description: \"PR gating and merge-close workflow command\",\n source: \"file\",\n ref: \".claude/commands/pr.md\",\n channel: \"review\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"lucern-generate-questions\",\n description: \"Langfuse prompt for pack-shaped question generation\",\n source: \"langfuse\",\n ref: \"lucern/generate-questions\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n promptId: \"lucern-contradiction-analysis\",\n description:\n \"Langfuse prompt for contradiction-heavy debugging and incidents\",\n source: \"langfuse\",\n ref: \"lucern/contradiction-analysis\",\n channel: \"review\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n ],\n tools: [\n {\n toolId: \"start-investigation\",\n description: \"Canonical graph bootstrap before coding or review\",\n kind: \"mcp\",\n entrypoint: \"compile_context\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"record-scope-learning\",\n description: \"Commit-level ledger writeback with touched paths\",\n kind: \"mcp\",\n entrypoint: \"record_scope_learning\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"record-attempt\",\n description: \"Anti-repetition failure logging during implementation\",\n kind: \"mcp\",\n entrypoint: \"record_attempt\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"pipeline-snapshot\",\n description: \"Campaign and lane-aware pipeline summary\",\n kind: \"mcp\",\n entrypoint: \"pipeline_snapshot\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"session-init\",\n description: \"SessionStart hook bootstrap for Lucern context\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts session-init\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"tool-log\",\n description: \"Post-tool ledger logger and edit-counter reset hook\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts tool-log\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"build-bash-gate\",\n description:\n \"Commit and PR gate enforcing ledger plus knowledge writes\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts build-bash-gate\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"lucern-cli-init\",\n description: \"One-step MCP setup for new repositories\",\n kind: \"cli\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts init\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n toolId: \"kit-install\",\n description:\n \"Manifest-driven installer for the turnkey Lucern engineering solution pack\",\n kind: \"cli\",\n entrypoint:\n \"npx tsx apps/mcp-server/src/cli.ts kit install developer-engineering\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n ],\n setupAssets: [\n {\n assetId: \"claude-instructions\",\n kind: \"instruction\",\n description: \"Primary Claude Code quick-reference and Lucern protocol\",\n path: \"CLAUDE.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"codex-bridge\",\n kind: \"instruction\",\n description: \"Codex bridge instructions for Lucern-native development\",\n path: \"AGENTS.md\",\n required: true,\n runtimeTargets: [\"codex\", \"hybrid\"],\n },\n {\n assetId: \"mcp-config\",\n kind: \"manifest\",\n description: \"MCP server registry including lucern-graph\",\n path: \".mcp.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"kit-manifest\",\n kind: \"manifest\",\n description:\n \"Serialized engineering kit blueprint capturing prompts, tools, ontology, and topic scaffolding\",\n path: \".lucern/kits/developer-engineering.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-launcher\",\n kind: \"script\",\n description: \"Launch script used by MCP clients to start lucern-graph\",\n path: \"scripts/lucern_start\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-shell-wrapper\",\n kind: \"script\",\n description:\n \"Shell wrapper for invoking Lucern CLI commands with credential resolution\",\n path: \"scripts/lucern\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-cli-script\",\n kind: \"script\",\n description:\n \"CLI entrypoint for hook commands, init, sync, and kit installation\",\n path: \"apps/mcp-server/src/cli.ts\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"claude-settings\",\n kind: \"settings\",\n description: \"Claude hook wiring and enforcement defaults\",\n path: \".claude/settings.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"permission-gate-hook\",\n kind: \"hook\",\n description: \"Rule-based permission gate for risky tool usage\",\n path: \".claude/hooks/permission-gate.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"inbox-check-hook\",\n kind: \"hook\",\n description: \"Session-start inbox and PR queue surfacing\",\n path: \".claude/hooks/inbox-check.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"prompt-router-hook\",\n kind: \"hook\",\n description: \"Prompt router for /build validation and inbox context\",\n path: \".claude/hooks/prompt-router.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"writeback-gate-hook\",\n kind: \"hook\",\n description: \"Session-close writeback quality gate\",\n path: \".claude/hooks/writeback-gate.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"build-command-doc\",\n kind: \"template\",\n description: \"Inline /build command contract\",\n path: \".claude/commands/build.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"architect-command-doc\",\n kind: \"template\",\n description: \"Inline /architect command contract\",\n path: \".claude/commands/architect.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"pipeline-command-doc\",\n kind: \"template\",\n description: \"Inline /pipeline command contract\",\n path: \".claude/commands/pipeline.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"pr-command-doc\",\n kind: \"template\",\n description: \"Inline /pr command contract\",\n path: \".claude/commands/pr.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"claude-agent-catalog\",\n kind: \"agent\",\n description:\n \"Curated agent catalog for architecture, pipeline, QA, and PR review\",\n path: \".claude/agents\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"claude-skill-catalog\",\n kind: \"skill\",\n description:\n \"Skill catalog containing build, pipeline, product-architect, and Lucern workflows\",\n path: \".claude/skills\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"skills-sync-script\",\n kind: \"script\",\n description: \"Bridge script for syncing Claude and Codex skill mirrors\",\n path: \"scripts/sync_codex_claude_skills.sh\",\n required: true,\n runtimeTargets: [\"codex\", \"hybrid\"],\n },\n {\n assetId: \"hooks-doc\",\n kind: \"template\",\n description: \"Hook architecture and writeback enforcement reference\",\n path: \"docs/operations/hooks.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"setup-ui\",\n kind: \"ui\",\n description:\n \"Portal setup surface showing quickstart and bootstrap steps\",\n path: \"_template/dev/page.tsx\",\n required: false,\n runtimeTargets: [\"portable\", \"claude-code\", \"codex\", \"hybrid\"],\n },\n ],\n topicTemplates: [\n {\n slug: \"migration-precedent\",\n name: \"Migration Precedent\",\n description:\n \"Analogous schema and rollout changes worth recalling before execution\",\n parentSlug: \"migrations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"rollback-playbooks\",\n name: \"Rollback Playbooks\",\n description:\n \"Named rollback strategies and canary escape hatches for risky changes\",\n parentSlug: \"migrations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"review-briefs\",\n name: \"Review Briefs\",\n description:\n \"Diff-scoped risk briefs grounded in prior regressions and rationale\",\n parentSlug: \"reviews\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"regression-history\",\n name: \"Regression History\",\n description:\n \"Past regressions and approval misses that should influence current reviews\",\n parentSlug: \"reviews\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"active-incidents\",\n name: \"Active Incidents\",\n description:\n \"Current incidents with competing hypotheses, mitigations, and contradictions\",\n parentSlug: \"incidents\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"incident-postmortems\",\n name: \"Incident Postmortems\",\n description:\n \"Resolved incidents with preserved rationale and follow-up learnings\",\n parentSlug: \"incidents\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"adrs\",\n name: \"Architecture Decision Records\",\n description:\n \"Citable architecture records with precedent, objections, and supersessions\",\n parentSlug: \"architecture\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"interface-contracts\",\n name: \"Interface Contracts\",\n description:\n \"APIs, boundaries, and contract deltas that architecture work depends on\",\n parentSlug: \"architecture\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"failed-attempts\",\n name: \"Failed Attempts\",\n description:\n \"Anti-repetition log for engineering decisions and implementation dead ends\",\n parentSlug: \"decision-memory\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"rationale-recall\",\n name: \"Rationale Recall\",\n description:\n \"Recalled rationale snippets and analogs worth citing before new work\",\n parentSlug: \"decision-memory\",\n ontologyId: \"software-entities\",\n },\n ],\n installProfiles: [\n {\n profileId: \"claude-code\",\n name: \"Claude Code Engineering Kit\",\n description:\n \"Installs Claude-native hooks, commands, agent catalog, and first-hour engineering prompts on top of Lucern.\",\n runtimeTarget: \"claude-code\",\n promptIds: [\n \"claude-quick-reference\",\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"session-init\",\n \"tool-log\",\n \"build-bash-gate\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"claude-instructions\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"claude-settings\",\n \"permission-gate-hook\",\n \"inbox-check-hook\",\n \"prompt-router-hook\",\n \"writeback-gate-hook\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-agent-catalog\",\n \"claude-skill-catalog\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n {\n profileId: \"codex\",\n name: \"Codex Engineering Kit\",\n description:\n \"Installs the Codex bridge, Lucern MCP wiring, and the same pack-level workflows without Claude-specific hooks.\",\n runtimeTarget: \"codex\",\n promptIds: [\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"codex-bridge\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-skill-catalog\",\n \"skills-sync-script\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n {\n profileId: \"hybrid\",\n name: \"Hybrid Engineering Kit\",\n description:\n \"Installs both Claude and Codex entry surfaces against one Lucern-native engineering operating system.\",\n runtimeTarget: \"hybrid\",\n promptIds: [\n \"claude-quick-reference\",\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"session-init\",\n \"tool-log\",\n \"build-bash-gate\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"claude-instructions\",\n \"codex-bridge\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"claude-settings\",\n \"permission-gate-hook\",\n \"inbox-check-hook\",\n \"prompt-router-hook\",\n \"writeback-gate-hook\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-agent-catalog\",\n \"claude-skill-catalog\",\n \"skills-sync-script\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n ],\n },\n\n appPackKeys: [\n \"chat-v1\",\n \"documents-v1\",\n \"epistemic-algorithms-v1\",\n \"graph-visualization-v1\",\n \"task-management-v1\",\n ],\n methodologyPackId: \"developer\",\n} satisfies Pick<\n DomainPackInput,\n \"inquiryShaping\" | \"operatingSystem\" | \"appPackKeys\" | \"methodologyPackId\"\n>;\n","/**\n * Domain Pack: Engineering Accelerator\n *\n * First concrete engineering domain pack for proving that pack-host can\n * turn first-hour workflows into reusable reasoning scaffolding.\n */\n\nimport { defineDomainPack } from \"../contracts\";\nimport { ENGINEERING_ACCELERATOR_TAIL } from \"./engineering-accelerator-tail\";\n\nexport const ENGINEERING_ACCELERATOR_PACK = defineDomainPack({\n packId: \"engineering-accelerator\",\n name: \"Engineering Accelerator\",\n version: \"1.0.0\",\n\n ontologyBindings: [\n {\n ontologyId: \"software-entities\",\n versionConstraint: \"^1.0.0\",\n required: true,\n provisionMode: \"seed\",\n seedRef:\n \"packages/pack-host/src/domain-pack/ontology/software-entities-v1.ts\",\n requiredEntityTypes: [\n \"repository\",\n \"service\",\n \"module\",\n \"workflow\",\n \"incident\",\n \"migration\",\n \"decision_record\",\n \"agent\",\n ],\n requiredEdgeTypes: [\n \"depends_on\",\n \"owns\",\n \"calls\",\n \"blocks\",\n \"reviews\",\n \"mitigates\",\n \"supersedes\",\n ],\n },\n ],\n\n topicRoots: [\n {\n slug: \"migrations\",\n name: \"Migrations\",\n description:\n \"Schema, API, and runtime migrations with blast-radius, rollback, and parity memory\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"reviews\",\n name: \"Reviews\",\n description:\n \"Pull-request and change-review workflows grounded in prior rationale and regressions\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"incidents\",\n name: \"Incidents\",\n description:\n \"Incident response driven by competing hypotheses, contradictions, and mitigations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"architecture\",\n name: \"Architecture\",\n description:\n \"Architecture decisions, interface trade-offs, and precedent-aware rationale recall\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"decision-memory\",\n name: \"Decision Memory\",\n description:\n \"Cross-cutting rationale recall, failed attempts, and analog reuse across engineering work\",\n ontologyId: \"software-entities\",\n },\n ],\n\n workflows: [\n {\n workflowId: \"migration-readiness\",\n name: \"Migration Readiness\",\n description:\n \"Recall similar migrations, map blast radius, and define rollback before rollout\",\n steps: [\n {\n stepId: \"recall-history\",\n name: \"Recall History\",\n description:\n \"Compile analogous migrations, prior rationale, failed attempts, and compatibility constraints\",\n requiredRoles: [\"context-compiler\", \"migration-owner\"],\n produces: [\"memory-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"plan-rollout\",\n name: \"Plan Rollout\",\n description:\n \"Define blast radius, sequencing, rollback, and verification checkpoints\",\n requiredRoles: [\"migration-owner\", \"critic\"],\n produces: [\"migration-plan\"],\n gateId: \"rollback-ready\",\n },\n {\n stepId: \"verify-rollout\",\n name: \"Verify Rollout\",\n description:\n \"Confirm canary, rollback, and parity checks are explicit before execution\",\n requiredRoles: [\"reviewer\"],\n produces: [\"verification-checklist\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"memory-brief\",\n \"migration-plan\",\n \"verification-checklist\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"rollback-ready\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"pull-request-review\",\n name: \"Pull Request Review\",\n description:\n \"Use prior rationale, regressions, and verification history to review risky changes faster\",\n steps: [\n {\n stepId: \"recall-review-context\",\n name: \"Recall Review Context\",\n description:\n \"Load earlier decisions, similar diffs, failed attempts, and relevant incidents\",\n requiredRoles: [\"context-compiler\", \"reviewer\"],\n produces: [\"review-context\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"inspect-diff\",\n name: \"Inspect Diff\",\n description:\n \"Surface risk areas, stale assumptions, and regressions that should block approval\",\n requiredRoles: [\"reviewer\", \"critic\"],\n produces: [\"review-findings\"],\n gateId: \"review-risks-surfaced\",\n },\n {\n stepId: \"verify-changes\",\n name: \"Verify Changes\",\n description:\n \"Tie approval to explicit typecheck, test, and integration evidence\",\n requiredRoles: [\"reviewer\"],\n produces: [\"verification-checklist\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"review-context\",\n \"review-findings\",\n \"verification-checklist\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"review-risks-surfaced\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"incident-response\",\n name: \"Incident Response\",\n description:\n \"Treat incidents as contradiction-heavy reasoning tasks before committing to a root cause\",\n steps: [\n {\n stepId: \"collect-signal\",\n name: \"Collect Signal\",\n description:\n \"Assemble symptoms, recent changes, precedent incidents, and active hypotheses\",\n requiredRoles: [\"context-compiler\", \"incident-commander\"],\n produces: [\"incident-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"surface-contradictions\",\n name: \"Surface Contradictions\",\n description:\n \"Make competing explanations explicit before mitigation narrows the search space\",\n requiredRoles: [\"incident-commander\", \"critic\"],\n produces: [\"contradiction-report\"],\n gateId: \"contradictions-surfaced\",\n },\n {\n stepId: \"plan-mitigation\",\n name: \"Plan Mitigation\",\n description:\n \"Choose mitigations with owners, reversibility, and verification paths\",\n requiredRoles: [\"incident-commander\", \"reviewer\"],\n produces: [\"mitigation-plan\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"incident-brief\",\n \"contradiction-report\",\n \"mitigation-plan\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"contradictions-surfaced\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"architecture-decision\",\n name: \"Architecture Decision\",\n description:\n \"Ground architecture choices in cited precedent, explicit alternatives, and follow-up risk\",\n steps: [\n {\n stepId: \"recall-precedent\",\n name: \"Recall Precedent\",\n description:\n \"Gather analogous decisions, trade-offs, reversals, and evidence already in the graph\",\n requiredRoles: [\"context-compiler\", \"architect\"],\n produces: [\"decision-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"compare-options\",\n name: \"Compare Options\",\n description:\n \"Contrast viable paths, show what changes, and surface objections early\",\n requiredRoles: [\"architect\", \"critic\"],\n produces: [\"decision-brief\"],\n gateId: \"decision-rationale-citable\",\n },\n {\n stepId: \"record-decision\",\n name: \"Record Decision\",\n description:\n \"Capture the chosen path, cited rationale, and follow-up risks for later recall\",\n requiredRoles: [\"architect\"],\n produces: [\"decision-record\"],\n },\n ],\n requiredArtifacts: [\"decision-brief\", \"decision-record\"],\n gateCheckpoints: [\"memory-grounded\", \"decision-rationale-citable\"],\n },\n ],\n\n gates: [\n {\n gateId: \"memory-grounded\",\n name: \"Memory Grounded\",\n description:\n \"The workflow is anchored in prior rationale, analogs, and failure memory before action\",\n criteria: [\n {\n criterionId: \"precedent-cited\",\n description:\n \"At least one prior change, incident, or decision is cited\",\n metric: \"precedent_citations\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"failure-log-checked\",\n description:\n \"Relevant failed attempts or incident history were checked\",\n metric: \"failure_log_checked\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"rollback-ready\",\n name: \"Rollback Ready\",\n description:\n \"Risky migrations cannot proceed without explicit rollback and blast-radius coverage\",\n criteria: [\n {\n criterionId: \"blast-radius-scoped\",\n description: \"Blast radius is enumerated for the proposed change\",\n metric: \"blast_radius_scoped\",\n threshold: 1,\n operator: \"eq\",\n },\n {\n criterionId: \"rollback-path-defined\",\n description: \"Rollback path is explicit and reversible\",\n metric: \"rollback_path_defined\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"review-risks-surfaced\",\n name: \"Review Risks Surfaced\",\n description:\n \"Review must explain what could regress and why approval is still justified\",\n criteria: [\n {\n criterionId: \"risk-areas-documented\",\n description:\n \"Risk areas and likely regressions are called out explicitly\",\n metric: \"risk_areas_documented\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"prior-regressions-checked\",\n description: \"Reviewer checked analogous regressions or incidents\",\n metric: \"prior_regressions_checked\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"contradictions-surfaced\",\n name: \"Contradictions Surfaced\",\n description:\n \"Incidents should preserve competing hypotheses long enough to avoid false certainty\",\n criteria: [\n {\n criterionId: \"multiple-hypotheses\",\n description: \"At least two plausible hypotheses remain visible\",\n metric: \"competing_hypotheses_count\",\n threshold: 2,\n operator: \"gte\",\n },\n {\n criterionId: \"contradictions-reviewed\",\n description: \"Relevant contradictions or tensions were reviewed\",\n metric: \"contradictions_reviewed\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"decision-rationale-citable\",\n name: \"Decision Rationale Citable\",\n description:\n \"Architecture choices should cite prior rationale and compare viable alternatives\",\n criteria: [\n {\n criterionId: \"options-compared\",\n description: \"At least two options are compared before choosing one\",\n metric: \"options_compared\",\n threshold: 2,\n operator: \"gte\",\n },\n {\n criterionId: \"prior-decisions-cited\",\n description: \"Decision cites prior beliefs, ADRs, or incidents\",\n metric: \"prior_decisions_cited\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"verification-covered\",\n name: \"Verification Covered\",\n description:\n \"Approval, rollout, and mitigation all require named verification paths\",\n criteria: [\n {\n criterionId: \"checks-defined\",\n description: \"At least one explicit verification path is named\",\n metric: \"verification_paths_defined\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"owners-named\",\n description: \"Owners or on-call responsibility are explicit\",\n metric: \"owner_count\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n ],\n\n artifacts: [\n {\n artifactId: \"memory-brief\",\n name: \"Memory Brief\",\n description:\n \"A reusable brief of analogous changes, prior rationale, failed attempts, and contradictions\",\n stage: \"recall-history\",\n contentSchema: {\n type: \"object\",\n properties: {\n analogousChanges: { type: \"array\", items: { type: \"string\" } },\n priorDecisions: { type: \"array\", items: { type: \"string\" } },\n failedAttempts: { type: \"array\", items: { type: \"string\" } },\n contradictions: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"analogousChanges\", \"priorDecisions\"],\n },\n requiredFields: [\"analogousChanges\", \"priorDecisions\"],\n },\n {\n artifactId: \"migration-plan\",\n name: \"Migration Plan\",\n description:\n \"Blast radius, rollback path, rollout checkpoints, and verification plan\",\n stage: \"plan-rollout\",\n contentSchema: {\n type: \"object\",\n properties: {\n blastRadius: { type: \"array\", items: { type: \"string\" } },\n rollbackPlan: { type: \"string\" },\n verificationPath: { type: \"array\", items: { type: \"string\" } },\n canarySteps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"blastRadius\", \"rollbackPlan\", \"verificationPath\"],\n },\n requiredFields: [\"blastRadius\", \"rollbackPlan\", \"verificationPath\"],\n },\n {\n artifactId: \"verification-checklist\",\n name: \"Verification Checklist\",\n description:\n \"Named checks, owners, and pass/fail criteria for rollout or approval\",\n stage: \"verify-rollout\",\n contentSchema: {\n type: \"object\",\n properties: {\n checks: { type: \"array\", items: { type: \"string\" } },\n owners: { type: \"array\", items: { type: \"string\" } },\n passCriteria: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"checks\", \"owners\"],\n },\n requiredFields: [\"checks\", \"owners\"],\n },\n {\n artifactId: \"review-context\",\n name: \"Review Context\",\n description:\n \"Prior rationale, related diffs, incidents, and failure history relevant to a review\",\n stage: \"recall-review-context\",\n contentSchema: {\n type: \"object\",\n properties: {\n rationaleLinks: { type: \"array\", items: { type: \"string\" } },\n analogousDiffs: { type: \"array\", items: { type: \"string\" } },\n relatedIncidents: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"rationaleLinks\"],\n },\n requiredFields: [\"rationaleLinks\"],\n },\n {\n artifactId: \"review-findings\",\n name: \"Review Findings\",\n description:\n \"What could regress, what evidence was checked, and whether the change should be blocked\",\n stage: \"inspect-diff\",\n contentSchema: {\n type: \"object\",\n properties: {\n findings: { type: \"array\", items: { type: \"string\" } },\n regressionsChecked: { type: \"array\", items: { type: \"string\" } },\n blockReason: { type: \"string\" },\n },\n required: [\"findings\", \"regressionsChecked\"],\n },\n requiredFields: [\"findings\", \"regressionsChecked\"],\n },\n {\n artifactId: \"incident-brief\",\n name: \"Incident Brief\",\n description:\n \"Signals, recent changes, competing hypotheses, and precedent incidents\",\n stage: \"collect-signal\",\n contentSchema: {\n type: \"object\",\n properties: {\n symptoms: { type: \"array\", items: { type: \"string\" } },\n recentChanges: { type: \"array\", items: { type: \"string\" } },\n competingHypotheses: { type: \"array\", items: { type: \"string\" } },\n precedentIncidents: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"symptoms\", \"competingHypotheses\"],\n },\n requiredFields: [\"symptoms\", \"competingHypotheses\"],\n },\n {\n artifactId: \"contradiction-report\",\n name: \"Contradiction Report\",\n description:\n \"Active contradictions, why they matter, and what evidence could collapse them\",\n stage: \"surface-contradictions\",\n contentSchema: {\n type: \"object\",\n properties: {\n contradictions: { type: \"array\", items: { type: \"string\" } },\n likelyRootCauses: { type: \"array\", items: { type: \"string\" } },\n missingEvidence: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"contradictions\", \"likelyRootCauses\"],\n },\n requiredFields: [\"contradictions\", \"likelyRootCauses\"],\n },\n {\n artifactId: \"mitigation-plan\",\n name: \"Mitigation Plan\",\n description:\n \"Chosen mitigation, rollback path, and verification ownership for an incident\",\n stage: \"plan-mitigation\",\n contentSchema: {\n type: \"object\",\n properties: {\n mitigationSteps: { type: \"array\", items: { type: \"string\" } },\n rollbackPlan: { type: \"string\" },\n owners: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"mitigationSteps\", \"owners\"],\n },\n requiredFields: [\"mitigationSteps\", \"owners\"],\n },\n {\n artifactId: \"decision-brief\",\n name: \"Decision Brief\",\n description:\n \"Options, cited precedent, trade-offs, and objections for an architecture decision\",\n stage: \"compare-options\",\n contentSchema: {\n type: \"object\",\n properties: {\n options: { type: \"array\", items: { type: \"string\" } },\n citedPrecedent: { type: \"array\", items: { type: \"string\" } },\n objections: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"options\", \"citedPrecedent\"],\n },\n requiredFields: [\"options\", \"citedPrecedent\"],\n },\n {\n artifactId: \"decision-record\",\n name: \"Decision Record\",\n description:\n \"Chosen path, why it won, what it supersedes, and what follow-up remains open\",\n stage: \"record-decision\",\n contentSchema: {\n type: \"object\",\n properties: {\n decision: { type: \"string\" },\n rationale: { type: \"array\", items: { type: \"string\" } },\n supersedes: { type: \"array\", items: { type: \"string\" } },\n followUps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"decision\", \"rationale\"],\n },\n requiredFields: [\"decision\", \"rationale\"],\n },\n ],\n\n roles: [\n {\n roleId: \"context-compiler\",\n name: \"Context Compiler\",\n description:\n \"Compiles prior rationale, analogs, and failure memory into reusable first-hour context\",\n perspective: \"History-first, evidence-weighted context assembly\",\n optimizesFor: \"recall quality and anti-repetition coverage\",\n mayBlock: false,\n },\n {\n roleId: \"migration-owner\",\n name: \"Migration Owner\",\n description:\n \"Scopes rollout blast radius, rollback, sequencing, and compatibility risk\",\n perspective: \"Operational caution with explicit rollback discipline\",\n optimizesFor: \"safe rollout planning\",\n mayBlock: false,\n },\n {\n roleId: \"reviewer\",\n name: \"Reviewer\",\n description:\n \"Evaluates risky changes against prior regressions, evidence, and missing checks\",\n perspective: \"Evidence-backed change approval with regression awareness\",\n optimizesFor: \"defect prevention and clear approval rationale\",\n mayBlock: true,\n },\n {\n roleId: \"incident-commander\",\n name: \"Incident Commander\",\n description:\n \"Maintains multiple plausible explanations while driving mitigation decisions\",\n perspective:\n \"Fast, reversible action without collapsing uncertainty too early\",\n optimizesFor: \"time-to-mitigation with preserved reasoning integrity\",\n mayBlock: false,\n },\n {\n roleId: \"architect\",\n name: \"Architect\",\n description:\n \"Turns competing options into explicit decisions with cited precedent and follow-up risk\",\n perspective: \"Trade-off clarity and long-term maintainability\",\n optimizesFor: \"decision quality and rationale reuse\",\n mayBlock: false,\n },\n {\n roleId: \"critic\",\n name: \"Critic\",\n description:\n \"Finds weak assumptions, missing rollback paths, and untested contradictions\",\n perspective: \"Skeptical, adversarial, and detail-oriented\",\n optimizesFor: \"early detection of brittle plans\",\n mayBlock: true,\n },\n ],\n\n ...ENGINEERING_ACCELERATOR_TAIL,\n});\n","/**\n * Domain Pack Registry\n *\n * Internal registry of domain pack definitions.\n */\n\nimport type { DomainPack } from \"../contracts\";\nimport { createShapingContributionRegistry } from \"../shaping\";\n// biome-ignore lint/style/noExportedImports: re-exported as public API from registry\nimport { DEVELOPER_REASONING_PACK } from \"./developer-reasoning\";\n// biome-ignore lint/style/noExportedImports: re-exported as public API from registry\nimport { ENGINEERING_ACCELERATOR_PACK } from \"./engineering-accelerator\";\n\nconst DOMAIN_PACKS: Record<string, DomainPack> = {\n \"developer-reasoning\": DEVELOPER_REASONING_PACK,\n \"engineering-accelerator\": ENGINEERING_ACCELERATOR_PACK,\n};\n\nconst shapingContributionRegistry = createShapingContributionRegistry(\n Object.values(DOMAIN_PACKS)\n);\n\nexport function getDomainPack(packId: string): DomainPack | null {\n return DOMAIN_PACKS[packId] ?? null;\n}\n\nexport function listDomainPacks(): string[] {\n return Object.keys(DOMAIN_PACKS);\n}\n\nexport const getShapingContribution = shapingContributionRegistry.get.bind(\n shapingContributionRegistry\n);\n\nexport const listShapingContributions = shapingContributionRegistry.list.bind(\n shapingContributionRegistry\n);\n\nexport { DEVELOPER_REASONING_PACK, ENGINEERING_ACCELERATOR_PACK };\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/contracts.ts","../src/dependencyResolution.ts","../src/domain-pack/contracts.ts","../src/domain-pack/authoring.core.ts","../src/domain-pack/validation.ts","../src/domain-pack/authoring.validation.ts","../src/domain-pack/authoring.ts","../src/domain-pack/ontology/software-entities-v1.ts","../src/domain-pack/shaping.ts","../src/domain-pack/packs/developer-reasoning.ts","../src/domain-pack/packs/engineering-accelerator-tail.ts","../src/domain-pack/packs/engineering-accelerator.ts","../src/domain-pack/packs/index.ts","../src/lifecycle.ts","../src/manifests/chat-v1.ts","../src/manifests/deals-v1.ts","../src/manifests/decisions-v1.ts","../src/manifests/documents-v1.ts","../src/manifests/epistemic-algorithms-v1.ts","../src/manifests/graph-visualization-v1.ts","../src/manifests/news-v1.ts","../src/manifests/philosophy-mode-v1.ts","../src/manifests/sprints-v1.ts","../src/manifests/task-management-v1.ts","../src/manifests/team-analysis-v1.ts","../src/manifests/themes-v1.ts","../src/manifests/user-profiles-v1.ts","../src/manifests/index.ts","../src/manifestValidation.ts","../src/namespacePolicy.ts","../src/serviceContracts.ts","../src/runtime.ts","../src/registry.ts"],"names":["issue","dedupeStrings","normalizeRuntimeTargets","KEBAB_CASE","SEMVER","isPlainObject","detectDomainPackManifestFormat","validateDomainPackAuthoringManifest","validateDomainPackAuthoringManifestSource","previewDomainPackAuthoringManifest","previewDomainPackAuthoringManifestSource","publishDomainPackAuthoringManifest","publishDomainPackAuthoringManifestSource","createDomainPackAuthoringTools","checkDuplicateIds","toIssue"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * App Pack Contracts\n *\n * Canonical type contracts for Lucern app-pack manifests and runtime metadata.\n */\n\nexport type PackLifecycle = \"active\" | \"beta\" | \"experimental\";\n\nexport type PackCategory =\n | \"conversation\"\n | \"research\"\n | \"graph\"\n | \"analytics\"\n | \"workflow\"\n | \"decision\"\n | \"news\"\n | \"documents\"\n | \"identity\"\n | \"operations\"\n | \"domain\";\n\nexport type PackAudience = string;\n\nexport type PolicyAction = \"read\" | \"summarize\" | \"export\" | \"mutate\" | \"admin\";\n\nexport type PolicyResource =\n | \"project\"\n | \"node\"\n | \"edge\"\n | \"artifact\"\n | \"report_section\"\n | \"tool_action\"\n | \"task\"\n | \"user_profile\"\n | \"team_analytics\";\n\nexport type ProjectionBehavior =\n | \"none\"\n | \"inherits_policy\"\n | \"projection_required\";\n\nexport type PackRuntimeStage =\n | \"registered\"\n | \"validated\"\n | \"installed\"\n | \"enabled\"\n | \"degraded\"\n | \"disabled\"\n | \"removed\";\n\nexport type SharedService =\n | \"decision-kernel\"\n | \"knowledge-compiler\"\n | \"learning-loop\";\n\nexport type SharedServiceMode = \"required\" | \"optional\";\n\nexport interface RouteNamespace {\n api: string[];\n web: string[];\n}\n\nexport interface SurfaceOwnership {\n components: string[];\n convex: string[];\n tools: string[];\n}\n\nexport interface PolicyRule {\n actions: PolicyAction[];\n notes?: string;\n resource: PolicyResource;\n}\n\nexport interface PolicyProfile {\n audiences: PackAudience[];\n rules: PolicyRule[];\n}\n\nexport interface DataContract {\n projectionBehavior: ProjectionBehavior;\n requiredEdgeTypes: string[];\n requiredNodeTypes: string[];\n requiredTables: string[];\n}\n\nexport interface TemplateAssets {\n prompts: string[];\n reports: string[];\n uiLabels: string[];\n workflows: string[];\n}\n\nexport interface PackTestSuite {\n contract: string[];\n parity: string[];\n policy: string[];\n}\n\nexport interface SharedServiceIntegration {\n contracts: string[];\n mode: SharedServiceMode;\n service: SharedService;\n}\n\nexport interface AppPackManifest {\n capabilityFlags: string[];\n category: PackCategory;\n dataContract: DataContract;\n dependencies: string[];\n description: string;\n key: string;\n lifecycle: PackLifecycle;\n name: string;\n policyProfile: PolicyProfile;\n routeNamespace: RouteNamespace;\n sharedServices: SharedServiceIntegration[];\n surfaces: SurfaceOwnership;\n templates: TemplateAssets;\n testSuite: PackTestSuite;\n version: string;\n}\n\ntype AppPackManifestInput = Omit<AppPackManifest, \"sharedServices\"> & {\n sharedServices?: SharedServiceIntegration[];\n};\n\nfunction normalizeStringArray(values: string[]): string[] {\n const normalized = values\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n return Array.from(new Set(normalized));\n}\n\nexport function defineAppPackManifest(\n manifest: AppPackManifestInput\n): AppPackManifest {\n const sharedServices = (manifest.sharedServices ?? []).map((integration) => ({\n ...integration,\n contracts: normalizeStringArray(integration.contracts),\n }));\n\n return {\n ...manifest,\n dependencies: normalizeStringArray(manifest.dependencies),\n capabilityFlags: normalizeStringArray(manifest.capabilityFlags),\n sharedServices,\n };\n}\n","// biome-ignore-all lint/style/useFilenamingConvention: Legacy public @lucern/pack-host/dependencyResolution subpath.\n/**\n * Pack Dependency Resolution\n *\n * Dependency-graph validation and deterministic activation ordering.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport type { PackValidationIssue } from \"./manifestValidation\";\n\nexport interface PackDependencyResolutionResult {\n dependencyClosureByPack: Record<string, string[]>;\n issues: PackValidationIssue[];\n orderedPackKeys: string[];\n valid: boolean;\n}\n\ninterface PackDependencyGraph {\n adjacency: Map<string, string[]>;\n indegree: Map<string, number>;\n manifestsByKey: Map<string, AppPackManifest>;\n}\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction buildManifestMap(\n manifests: AppPackManifest[]\n): Map<string, AppPackManifest> {\n return new Map(manifests.map((manifest) => [manifest.key, manifest]));\n}\n\nfunction initializeDependencyGraph(\n manifests: AppPackManifest[]\n): PackDependencyGraph {\n const manifestsByKey = buildManifestMap(manifests);\n const indegree = new Map<string, number>();\n const adjacency = new Map<string, string[]>();\n\n for (const manifest of manifests) {\n indegree.set(manifest.key, indegree.get(manifest.key) ?? 0);\n adjacency.set(manifest.key, []);\n }\n\n return { adjacency, indegree, manifestsByKey };\n}\n\nfunction linkPackDependency(\n manifest: AppPackManifest,\n dependency: string,\n graph: PackDependencyGraph,\n issues: PackValidationIssue[]\n): void {\n if (!graph.manifestsByKey.has(dependency)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_MISSING\",\n `Pack \"${manifest.key}\" depends on unknown pack \"${dependency}\".`,\n `dependencies:${manifest.key}`\n )\n );\n return;\n }\n\n const dependencyDependents = graph.adjacency.get(dependency) ?? [];\n dependencyDependents.push(manifest.key);\n graph.adjacency.set(dependency, dependencyDependents);\n graph.indegree.set(manifest.key, (graph.indegree.get(manifest.key) ?? 0) + 1);\n}\n\nfunction linkPackDependencies(\n manifests: AppPackManifest[],\n graph: PackDependencyGraph,\n issues: PackValidationIssue[]\n): void {\n for (const manifest of manifests) {\n for (const dependency of manifest.dependencies) {\n linkPackDependency(manifest, dependency, graph, issues);\n }\n }\n}\n\nfunction topologicalPackOrder(graph: PackDependencyGraph): string[] {\n const queue = [...graph.indegree.entries()]\n .filter(([, value]) => value === 0)\n .map(([packKey]) => packKey)\n .sort();\n\n const orderedPackKeys: string[] = [];\n while (queue.length > 0) {\n const nextKey = queue.shift();\n if (!nextKey) {\n break;\n }\n\n orderedPackKeys.push(nextKey);\n const dependents = graph.adjacency.get(nextKey) ?? [];\n for (const dependent of dependents) {\n const updated = (graph.indegree.get(dependent) ?? 0) - 1;\n graph.indegree.set(dependent, updated);\n if (updated === 0) {\n queue.push(dependent);\n }\n }\n queue.sort();\n }\n\n return orderedPackKeys;\n}\n\nfunction recordUnresolvedDependencyCycles(\n orderedPackKeys: string[],\n graph: PackDependencyGraph,\n issues: PackValidationIssue[]\n): void {\n if (orderedPackKeys.length === graph.manifestsByKey.size) {\n return;\n }\n\n const unresolved = [...graph.indegree.entries()]\n .filter(([, value]) => value > 0)\n .map(([key]) => key)\n .sort();\n\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_CYCLE\",\n `Dependency graph is not acyclic; unresolved packs: ${unresolved.join(\", \")}`,\n \"dependencies\"\n )\n );\n}\n\nfunction walkDependencyClosure(\n manifestKey: string,\n manifestsByKey: Map<string, AppPackManifest>,\n path: string[],\n closure: Set<string>,\n issues: PackValidationIssue[]\n): void {\n const manifest = manifestsByKey.get(manifestKey);\n if (!manifest) {\n return;\n }\n\n for (const dependency of manifest.dependencies) {\n if (!manifestsByKey.has(dependency)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_MISSING\",\n `Pack \"${manifestKey}\" depends on unknown pack \"${dependency}\".`,\n `dependencies:${manifestKey}`\n )\n );\n continue;\n }\n\n if (path.includes(dependency)) {\n const cycle = [...path, dependency].join(\" -> \");\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_CYCLE\",\n `Cycle detected: ${cycle}`,\n `dependencies:${manifestKey}`\n )\n );\n continue;\n }\n\n if (closure.has(dependency)) {\n continue;\n }\n\n closure.add(dependency);\n walkDependencyClosure(\n dependency,\n manifestsByKey,\n [...path, dependency],\n closure,\n issues\n );\n }\n}\n\nfunction dependencyClosureByPack(\n manifests: AppPackManifest[],\n manifestsByKey: Map<string, AppPackManifest>,\n issues: PackValidationIssue[]\n): Record<string, string[]> {\n const dependencyClosure: Record<string, string[]> = {};\n for (const manifest of manifests) {\n const closure = new Set<string>();\n walkDependencyClosure(\n manifest.key,\n manifestsByKey,\n [manifest.key],\n closure,\n issues\n );\n dependencyClosure[manifest.key] = [...closure].sort();\n }\n return dependencyClosure;\n}\n\nexport function resolvePackDependencyGraph(\n manifests: AppPackManifest[]\n): PackDependencyResolutionResult {\n const issues: PackValidationIssue[] = [];\n const graph = initializeDependencyGraph(manifests);\n linkPackDependencies(manifests, graph, issues);\n const orderedPackKeys = topologicalPackOrder(graph);\n recordUnresolvedDependencyCycles(orderedPackKeys, graph, issues);\n\n return {\n orderedPackKeys,\n dependencyClosureByPack: dependencyClosureByPack(\n manifests,\n graph.manifestsByKey,\n issues\n ),\n issues,\n valid: issues.every((issue) => issue.severity !== \"error\"),\n };\n}\n","/**\n * Domain Pack Contracts\n *\n * A DomainPack is a self-contained reasoning context bundle that defines\n * how reasoning works in a specific domain. It binds ontology versions,\n * defines topic structure, declares workflow templates, gate schemas,\n * artifact schemas, and reasoning roles.\n *\n * This is the THIRD pack type in Lucern's architecture:\n * - AppPackManifest: UI routes, surfaces, policy profiles (app-level)\n * - MethodologyPack: Agent workflow phases, gates, enforcement (process-level)\n * - DomainPack: Reasoning domain context (domain-level)\n *\n * All fields are internal until RS-5+ external authoring certification.\n */\n\n// ---------------------------------------------------------------------------\n// Ontology Binding — ties a pack to specific ontology versions\n// ---------------------------------------------------------------------------\n\nexport type OntologyProvisionMode = \"bind\" | \"seed\" | \"extend\";\n\nexport interface OntologyBinding {\n ontologyId: string;\n provisionMode?: OntologyProvisionMode;\n required: boolean;\n requiredEdgeTypes?: string[];\n requiredEntityTypes?: string[];\n seedRef?: string;\n versionConstraint: string; // semver range, e.g., \"^1.0.0\"\n}\n\n// ---------------------------------------------------------------------------\n// Topic Root — defines the domain's top-level topic tree structure\n// ---------------------------------------------------------------------------\n\nexport interface TopicRoot {\n description: string;\n name: string;\n ontologyId?: string; // which ontology governs this root\n slug: string;\n}\n\n// ---------------------------------------------------------------------------\n// Workflow Template — shape of a workflow (not execution logic)\n// ---------------------------------------------------------------------------\n\nexport interface WorkflowStep {\n description: string;\n gateId?: string; // gate checked after this step\n name: string;\n produces?: string[]; // artifactId references\n requiredRoles: string[]; // roleId references\n stepId: string;\n}\n\nexport interface WorkflowTemplate {\n description: string;\n gateCheckpoints: string[]; // gateId references\n name: string;\n requiredArtifacts: string[]; // artifactId references\n steps: WorkflowStep[];\n workflowId: string;\n}\n\n// ---------------------------------------------------------------------------\n// Gate Schema — declarative description of what must be true\n// ---------------------------------------------------------------------------\n\nexport type GateCriterionOperator = \"gte\" | \"lte\" | \"eq\" | \"gt\" | \"lt\";\n\nexport interface GateCriterion {\n criterionId: string;\n description: string;\n metric: string;\n operator?: GateCriterionOperator;\n threshold?: number;\n}\n\nexport type GateSeverity = \"blocking\" | \"warning\" | \"informational\";\n\nexport interface GateSchema {\n criteria: GateCriterion[];\n description: string;\n gateId: string;\n name: string;\n severity: GateSeverity;\n}\n\n// ---------------------------------------------------------------------------\n// Artifact Schema — what artifacts workflows produce\n// ---------------------------------------------------------------------------\n\nexport interface ArtifactSchema {\n artifactId: string;\n contentSchema: Record<string, unknown>; // JSON Schema for content\n description: string;\n name: string;\n requiredFields: string[];\n stage: string; // workflow step that produces this\n}\n\n// ---------------------------------------------------------------------------\n// Reasoning Role — epistemic actors in the domain\n// ---------------------------------------------------------------------------\n\nexport interface ReasoningRole {\n description: string;\n mayBlock: boolean; // Epistemic Invariant #13: agents may block progress\n name: string;\n optimizesFor: string;\n perspective: string;\n roleId: string;\n}\n\n// ---------------------------------------------------------------------------\n// Inquiry Shaping — pack-level hooks for RS-3 auto-shaping\n// ---------------------------------------------------------------------------\n\nexport interface InquiryShapingQuestionTemplate {\n priority?: \"critical\" | \"high\" | \"medium\" | \"low\";\n questionType:\n | \"validation\"\n | \"falsification\"\n | \"assumption_probe\"\n | \"counterfactual\"\n | \"scope\"\n | \"comparison\"\n | \"mechanism\"\n | \"general\";\n template: string; // Supports {{objective}} and {{hypothesis}}\n templateId: string;\n whenObjectiveIncludes?: string[];\n}\n\nexport interface InquiryShapingTaskTemplate {\n description?: string; // Supports {{objective}} and {{hypothesis}}\n priority?: \"urgent\" | \"high\" | \"medium\" | \"low\";\n taskType?:\n | \"general\"\n | \"find_evidence\"\n | \"verify_claim\"\n | \"research\"\n | \"review\"\n | \"interview\"\n | \"analysis\"\n | \"track_metrics\";\n templateId: string;\n title: string; // Supports {{objective}} and {{hypothesis}}\n whenObjectiveIncludes?: string[];\n whenQuestionTypes?: string[];\n}\n\nexport interface InquiryShapingFrameworkHint {\n boost?: number;\n frameworkName: string;\n reason?: string;\n whenObjectiveIncludes?: string[];\n whenQuestionTypes?: string[];\n}\n\nexport interface InquiryShapingConfig {\n frameworkHints?: InquiryShapingFrameworkHint[];\n questionTemplates?: InquiryShapingQuestionTemplate[];\n taskTemplates?: InquiryShapingTaskTemplate[];\n}\n\n// ---------------------------------------------------------------------------\n// Operating System Layer — prompts, tools, topic bootstrap, install surfaces\n// ---------------------------------------------------------------------------\n\nexport type RuntimeTarget = \"claude-code\" | \"codex\" | \"hybrid\" | \"portable\";\n\nexport type PromptSource = \"langfuse\" | \"file\";\nexport type PromptChannel =\n | \"bootstrap\"\n | \"workflow\"\n | \"analysis\"\n | \"review\"\n | \"tool\";\n\nexport interface PromptBinding {\n channel: PromptChannel;\n description: string;\n fallbackRef?: string;\n promptId: string;\n ref: string;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n source: PromptSource;\n}\n\nexport type ToolKind = \"mcp\" | \"cli\" | \"script\" | \"hook\" | \"ai-tool\";\n\nexport interface ToolBinding {\n description: string;\n entrypoint: string;\n kind: ToolKind;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n toolId: string;\n}\n\nexport type SetupAssetKind =\n | \"instruction\"\n | \"settings\"\n | \"hook\"\n | \"skill\"\n | \"agent\"\n | \"manifest\"\n | \"template\"\n | \"inbox\"\n | \"script\"\n | \"ui\";\n\nexport interface SetupAsset {\n assetId: string;\n description: string;\n kind: SetupAssetKind;\n path: string;\n required: boolean;\n runtimeTargets?: RuntimeTarget[];\n}\n\nexport interface TopicTemplate {\n description: string;\n name: string;\n ontologyId?: string;\n parentSlug?: string;\n slug: string;\n}\n\nexport interface InstallProfile {\n assetIds: string[];\n defaultTopicSlugs: string[];\n description: string;\n name: string;\n profileId: string;\n promptIds: string[];\n runtimeTarget: RuntimeTarget;\n toolIds: string[];\n}\n\nexport interface OperatingSystemLayer {\n installProfiles?: InstallProfile[];\n prompts?: PromptBinding[];\n setupAssets?: SetupAsset[];\n tools?: ToolBinding[];\n topicTemplates?: TopicTemplate[];\n}\n\n// ---------------------------------------------------------------------------\n// Domain Pack — the top-level contract\n// ---------------------------------------------------------------------------\n\nexport interface DomainPack {\n // Composition — optional references to other pack types\n appPackKeys?: string[]; // AppPackManifest keys this domain uses\n\n // Artifact Schemas\n artifacts: ArtifactSchema[];\n\n // Gate Schemas\n gates: GateSchema[];\n\n // Inquiry shaping hooks\n inquiryShaping?: InquiryShapingConfig;\n methodologyPackId?: string; // MethodologyPack for agent behavior\n name: string;\n\n // Scope\n ontologyBindings: OntologyBinding[];\n\n // Runtime/install packaging layer\n operatingSystem?: OperatingSystemLayer;\n // Identity\n packId: string;\n\n // Reasoning Roles\n roles: ReasoningRole[];\n topicRoots: TopicRoot[];\n version: string; // semver\n\n // Workflow Templates\n workflows: WorkflowTemplate[];\n}\n\n// ---------------------------------------------------------------------------\n// Builder helper — normalizes arrays and validates basic structure\n// ---------------------------------------------------------------------------\n\nfunction dedupeStrings(values: string[]): string[] {\n return Array.from(\n new Set(values.map((v) => v.trim()).filter((v) => v.length > 0))\n );\n}\n\nexport type DomainPackInput = Omit<DomainPack, \"appPackKeys\"> & {\n appPackKeys?: string[];\n};\n\nfunction normalizeRuntimeTargets(\n values: RuntimeTarget[] | undefined\n): RuntimeTarget[] | undefined {\n return values ? (dedupeStrings(values) as RuntimeTarget[]) : undefined;\n}\n\nfunction normalizeOntologyBinding(binding: OntologyBinding): OntologyBinding {\n return {\n ...binding,\n requiredEntityTypes: binding.requiredEntityTypes\n ? dedupeStrings(binding.requiredEntityTypes)\n : undefined,\n requiredEdgeTypes: binding.requiredEdgeTypes\n ? dedupeStrings(binding.requiredEdgeTypes)\n : undefined,\n };\n}\n\nfunction normalizeOperatingSystem(\n layer: OperatingSystemLayer | undefined\n): OperatingSystemLayer | undefined {\n if (!layer) {\n return;\n }\n\n return {\n prompts: layer.prompts?.map((prompt) => ({\n ...prompt,\n runtimeTargets: normalizeRuntimeTargets(prompt.runtimeTargets),\n })),\n tools: layer.tools?.map((tool) => ({\n ...tool,\n runtimeTargets: normalizeRuntimeTargets(tool.runtimeTargets),\n })),\n setupAssets: layer.setupAssets?.map((asset) => ({\n ...asset,\n runtimeTargets: normalizeRuntimeTargets(asset.runtimeTargets),\n })),\n topicTemplates: layer.topicTemplates,\n installProfiles: layer.installProfiles?.map((profile) => ({\n ...profile,\n promptIds: dedupeStrings(profile.promptIds),\n toolIds: dedupeStrings(profile.toolIds),\n assetIds: dedupeStrings(profile.assetIds),\n defaultTopicSlugs: dedupeStrings(profile.defaultTopicSlugs),\n })),\n };\n}\n\nexport function defineDomainPack(input: DomainPackInput): DomainPack {\n return {\n ...input,\n ontologyBindings: input.ontologyBindings.map(normalizeOntologyBinding),\n appPackKeys: input.appPackKeys\n ? dedupeStrings(input.appPackKeys)\n : undefined,\n operatingSystem: normalizeOperatingSystem(input.operatingSystem),\n workflows: input.workflows.map((w) => ({\n ...w,\n requiredArtifacts: dedupeStrings(w.requiredArtifacts),\n gateCheckpoints: dedupeStrings(w.gateCheckpoints),\n steps: w.steps.map((s) => ({\n ...s,\n requiredRoles: dedupeStrings(s.requiredRoles),\n produces: s.produces ? dedupeStrings(s.produces) : undefined,\n })),\n })),\n };\n}\n","/**\n * Domain Pack Authoring Kit\n *\n * Config-first authoring surface for tenant-authored domain packs. This layer\n * wraps the internal DomainPack contract in a stable manifest envelope with\n * framework versioning, schema and ontology extension contracts, remix/fork\n * lineage, and tool-shaped validate/preview/publish handlers.\n */\n\nimport type { DomainPack, DomainPackInput, RuntimeTarget } from \"./contracts\";\nimport { defineDomainPack } from \"./contracts\";\nimport type { DomainPackValidationIssue } from \"./validation\";\n\nexport type { RuntimeTarget } from \"./contracts\";\n\nexport const DOMAIN_PACK_MANIFEST_KIND = \"lucern-domain-pack-manifest\" as const;\nconst CURRENT_MANIFEST_VERSION = \"1.0.0\";\nconst YAML_NUMERIC_SCALAR = /^-?\\d+(?:\\.\\d+)?$/;\n\nexport type DomainPackManifestFormat = \"json\" | \"yaml\";\n\nexport interface DomainPackFrameworkContract {\n frameworkId: string;\n required?: boolean;\n runtimeTargets?: RuntimeTarget[];\n version: string;\n versionConstraint?: string;\n}\n\nexport type DomainPackSchemaExtensionTarget =\n | \"artifact\"\n | \"workflow\"\n | \"gate\"\n | \"prompt\"\n | \"tool\"\n | \"install-profile\"\n | \"topic-template\";\n\nexport interface DomainPackSchemaExtension {\n description: string;\n extends?: string;\n extensionId: string;\n schema: Record<string, unknown>;\n target: DomainPackSchemaExtensionTarget;\n version: string;\n}\n\nexport interface DomainPackOntologyEntityExtension {\n description?: string;\n label: string;\n schema?: Record<string, unknown>;\n subtypes?: string[];\n value: string;\n}\n\nexport interface DomainPackOntologyEdgeExtension {\n constraintSeverity?: \"error\" | \"warning\" | \"informational\";\n description?: string;\n label: string;\n sourceTypes?: string[];\n targetTypes?: string[];\n value: string;\n}\n\nexport interface DomainPackOntologyExtension {\n additiveOnly: boolean;\n baseVersionConstraint: string;\n edgeTypes?: DomainPackOntologyEdgeExtension[];\n entityTypes?: DomainPackOntologyEntityExtension[];\n extensionId: string;\n ontologyId: string;\n}\n\nexport type DomainPackLineageMode = \"root\" | \"remix\" | \"fork\";\n\nexport interface DomainPackLineage {\n mode: DomainPackLineageMode;\n notes?: string;\n parentManifestDigest?: string;\n parentPackId?: string;\n parentVersion?: string;\n supersedesPackId?: string;\n}\n\nexport interface DomainPackAuthoringMetadata {\n description?: string;\n owner?: string;\n tags?: string[];\n}\n\nexport interface DomainPackAuthoringManifest {\n frameworks?: DomainPackFrameworkContract[];\n kind: typeof DOMAIN_PACK_MANIFEST_KIND;\n lineage: DomainPackLineage;\n manifestVersion: string;\n metadata?: DomainPackAuthoringMetadata;\n ontologyExtensions?: DomainPackOntologyExtension[];\n pack: DomainPack;\n schemaExtensions?: DomainPackSchemaExtension[];\n}\n\nexport interface DomainPackAuthoringManifestInput {\n frameworks?: DomainPackFrameworkContract[];\n kind?: typeof DOMAIN_PACK_MANIFEST_KIND;\n lineage?: DomainPackLineage;\n manifestVersion?: string;\n metadata?: DomainPackAuthoringMetadata;\n ontologyExtensions?: DomainPackOntologyExtension[];\n pack: DomainPack | DomainPackInput;\n schemaExtensions?: DomainPackSchemaExtension[];\n}\n\nexport type DomainPackAuthoringValidationIssue = DomainPackValidationIssue & {\n source:\n | \"manifest\"\n | \"pack\"\n | \"framework\"\n | \"schema-extension\"\n | \"ontology-extension\"\n | \"lineage\"\n | \"terminology\"\n | \"parse\";\n};\n\nexport interface DomainPackManifestCounts {\n artifacts: number;\n frameworks: number;\n gates: number;\n installProfiles: number;\n ontologyExtensions: number;\n prompts: number;\n roles: number;\n schemaExtensions: number;\n setupAssets: number;\n tools: number;\n topicRoots: number;\n workflows: number;\n}\n\nexport interface DomainPackAuthoringValidationResult {\n counts: DomainPackManifestCounts;\n format: DomainPackManifestFormat | null;\n issues: DomainPackAuthoringValidationIssue[];\n manifest: DomainPackAuthoringManifest | null;\n manifestDigest: string | null;\n valid: boolean;\n}\n\nexport type DomainPackAuthoringPreview = DomainPackAuthoringValidationResult & {\n readyToPublish: boolean;\n canonicalJson: string | null;\n canonicalYaml: string | null;\n lineageSummary: string | null;\n requiredRuntimeTargets: RuntimeTarget[];\n};\n\nexport interface DomainPackPublicationLineageEdge {\n childPackId: string;\n edgeType: \"remixed_from\" | \"supersedes\";\n parentPackId: string;\n parentVersion: string;\n}\n\nexport interface DomainPackPublication {\n canonicalJson: string;\n canonicalYaml: string;\n lineageEdge: DomainPackPublicationLineageEdge | null;\n manifest: DomainPackAuthoringManifest;\n manifestDigest: string;\n packId: string;\n publicationId: string;\n version: string;\n}\n\nexport interface DomainPackPublishResult {\n preview: DomainPackAuthoringPreview;\n publication: DomainPackPublication | null;\n published: boolean;\n}\n\nexport interface DomainPackAuthoringToolInput {\n format?: DomainPackManifestFormat;\n manifestText: string;\n}\n\nexport interface DomainPackAuthoringToolDefinition<Result> {\n description: string;\n execute: (args: DomainPackAuthoringToolInput) => Result;\n inputSchema: Record<string, unknown>;\n name:\n | \"validate_domain_pack_manifest\"\n | \"preview_domain_pack_manifest\"\n | \"publish_domain_pack_manifest\";\n}\n\nexport interface DomainPackAuthoringToolset {\n preview: DomainPackAuthoringToolDefinition<DomainPackAuthoringPreview>;\n publish: DomainPackAuthoringToolDefinition<DomainPackPublishResult>;\n validate: DomainPackAuthoringToolDefinition<DomainPackAuthoringValidationResult>;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n Object.getPrototypeOf(value) === Object.prototype\n );\n}\n\nfunction dedupeStrings(values: string[] | undefined): string[] | undefined {\n if (!values) {\n return;\n }\n return Array.from(\n new Set(values.map((value) => value.trim()).filter((value) => value.length))\n );\n}\n\nfunction normalizeRuntimeTargets(\n values: RuntimeTarget[] | undefined\n): RuntimeTarget[] | undefined {\n return values ? (dedupeStrings(values) as RuntimeTarget[]) : undefined;\n}\n\nfunction normalizeFrameworks(\n frameworks: DomainPackFrameworkContract[] | undefined\n): DomainPackFrameworkContract[] | undefined {\n if (!frameworks) {\n return;\n }\n\n return frameworks.map((framework) => ({\n ...framework,\n frameworkId: framework.frameworkId.trim(),\n version: framework.version.trim(),\n versionConstraint: framework.versionConstraint?.trim(),\n runtimeTargets: normalizeRuntimeTargets(framework.runtimeTargets),\n }));\n}\n\nfunction normalizeSchemaExtensions(\n extensions: DomainPackSchemaExtension[] | undefined\n): DomainPackSchemaExtension[] | undefined {\n if (!extensions) {\n return;\n }\n\n return extensions.map((extension) => ({\n ...extension,\n extensionId: extension.extensionId.trim(),\n target: extension.target,\n description: extension.description.trim(),\n version: extension.version.trim(),\n extends: extension.extends?.trim(),\n }));\n}\n\nfunction normalizeOntologyExtensions(\n extensions: DomainPackOntologyExtension[] | undefined\n): DomainPackOntologyExtension[] | undefined {\n if (!extensions) {\n return;\n }\n\n return extensions.map((extension) => ({\n ...extension,\n extensionId: extension.extensionId.trim(),\n ontologyId: extension.ontologyId.trim(),\n baseVersionConstraint: extension.baseVersionConstraint.trim(),\n entityTypes: extension.entityTypes?.map((entityType) => ({\n ...entityType,\n value: entityType.value.trim(),\n label: entityType.label.trim(),\n description: entityType.description?.trim(),\n subtypes: dedupeStrings(entityType.subtypes),\n })),\n edgeTypes: extension.edgeTypes?.map((edgeType) => ({\n ...edgeType,\n value: edgeType.value.trim(),\n label: edgeType.label.trim(),\n description: edgeType.description?.trim(),\n sourceTypes: dedupeStrings(edgeType.sourceTypes),\n targetTypes: dedupeStrings(edgeType.targetTypes),\n })),\n }));\n}\n\nfunction normalizeLineage(\n lineage: DomainPackLineage | undefined\n): DomainPackLineage {\n if (!lineage) {\n return { mode: \"root\" };\n }\n\n return {\n mode: lineage.mode,\n parentPackId: lineage.parentPackId?.trim(),\n parentVersion: lineage.parentVersion?.trim(),\n parentManifestDigest: lineage.parentManifestDigest?.trim(),\n supersedesPackId: lineage.supersedesPackId?.trim(),\n notes: lineage.notes?.trim(),\n };\n}\n\nfunction normalizeMetadata(\n metadata: DomainPackAuthoringMetadata | undefined\n): DomainPackAuthoringMetadata | undefined {\n if (!metadata) {\n return;\n }\n\n return {\n description: metadata.description?.trim(),\n owner: metadata.owner?.trim(),\n tags: dedupeStrings(metadata.tags),\n };\n}\n\nfunction toDomainPack(pack: DomainPack | DomainPackInput): DomainPack {\n return defineDomainPack(pack as DomainPackInput);\n}\n\nexport function defineDomainPackAuthoringManifest(\n input: DomainPackAuthoringManifestInput\n): DomainPackAuthoringManifest {\n return {\n kind: input.kind ?? DOMAIN_PACK_MANIFEST_KIND,\n manifestVersion: input.manifestVersion?.trim() || CURRENT_MANIFEST_VERSION,\n pack: toDomainPack(input.pack),\n frameworks: normalizeFrameworks(input.frameworks),\n schemaExtensions: normalizeSchemaExtensions(input.schemaExtensions),\n ontologyExtensions: normalizeOntologyExtensions(input.ontologyExtensions),\n lineage: normalizeLineage(input.lineage),\n metadata: normalizeMetadata(input.metadata),\n };\n}\n\nexport function countManifestArtifacts(\n manifest: DomainPackAuthoringManifest | null\n): DomainPackManifestCounts {\n if (!manifest) {\n return {\n topicRoots: 0,\n workflows: 0,\n gates: 0,\n artifacts: 0,\n roles: 0,\n prompts: 0,\n tools: 0,\n setupAssets: 0,\n installProfiles: 0,\n frameworks: 0,\n schemaExtensions: 0,\n ontologyExtensions: 0,\n };\n }\n\n return {\n topicRoots: manifest.pack.topicRoots.length,\n workflows: manifest.pack.workflows.length,\n gates: manifest.pack.gates.length,\n artifacts: manifest.pack.artifacts.length,\n roles: manifest.pack.roles.length,\n prompts: manifest.pack.operatingSystem?.prompts?.length ?? 0,\n tools: manifest.pack.operatingSystem?.tools?.length ?? 0,\n setupAssets: manifest.pack.operatingSystem?.setupAssets?.length ?? 0,\n installProfiles:\n manifest.pack.operatingSystem?.installProfiles?.length ?? 0,\n frameworks: manifest.frameworks?.length ?? 0,\n schemaExtensions: manifest.schemaExtensions?.length ?? 0,\n ontologyExtensions: manifest.ontologyExtensions?.length ?? 0,\n };\n}\n\nfunction sortJsonValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map(sortJsonValue);\n }\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value)\n .filter(([, entryValue]) => entryValue !== undefined)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, entryValue]) => [key, sortJsonValue(entryValue)])\n );\n }\n return value;\n}\n\nfunction toYamlScalar(value: unknown): string {\n if (value === null) {\n return \"null\";\n }\n if (typeof value === \"boolean\" || typeof value === \"number\") {\n return String(value);\n }\n return JSON.stringify(String(value));\n}\n\nfunction renderYaml(value: unknown, indent = 0): string[] {\n const prefix = \" \".repeat(indent);\n\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return [`${prefix}[]`];\n }\n return value.flatMap((entry) => {\n if (Array.isArray(entry) || isPlainObject(entry)) {\n return [`${prefix}-`, ...renderYaml(entry, indent + 2)];\n }\n return [`${prefix}- ${toYamlScalar(entry)}`];\n });\n }\n\n if (isPlainObject(value)) {\n const entries = Object.entries(value);\n if (entries.length === 0) {\n return [`${prefix}{}`];\n }\n return entries.flatMap(([key, entryValue]) => {\n if (entryValue === undefined) {\n return [];\n }\n if (Array.isArray(entryValue)) {\n if (entryValue.length === 0) {\n return [`${prefix}${key}: []`];\n }\n return [`${prefix}${key}:`, ...renderYaml(entryValue, indent + 2)];\n }\n if (isPlainObject(entryValue)) {\n if (Object.keys(entryValue).length === 0) {\n return [`${prefix}${key}: {}`];\n }\n return [`${prefix}${key}:`, ...renderYaml(entryValue, indent + 2)];\n }\n return [`${prefix}${key}: ${toYamlScalar(entryValue)}`];\n });\n }\n\n return [`${prefix}${toYamlScalar(value)}`];\n}\n\nfunction countIndent(line: string): number {\n return line.length - line.trimStart().length;\n}\n\nfunction parseYamlScalar(raw: string): unknown {\n const value = raw.trim();\n if (value === \"null\") {\n return null;\n }\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n if (YAML_NUMERIC_SCALAR.test(value)) {\n return Number(value);\n }\n if (\n (value.startsWith('\"') && value.endsWith('\"')) ||\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\n ) {\n if (value.startsWith(\"'\")) {\n return value.slice(1, -1).replace(/''/g, \"'\");\n }\n return JSON.parse(value) as string;\n }\n if (value === \"[]\") {\n return [];\n }\n if (value === \"{}\") {\n return {};\n }\n return value;\n}\n\nfunction splitYamlKeyValue(trimmed: string): {\n key: string;\n value: string | null;\n} {\n const separatorIndex = trimmed.indexOf(\":\");\n if (separatorIndex === -1) {\n throw new Error(`Invalid YAML mapping entry: ${trimmed}`);\n }\n\n const key = trimmed.slice(0, separatorIndex).trim();\n const value = trimmed.slice(separatorIndex + 1).trim();\n return { key, value: value.length ? value : null };\n}\n\nfunction parseYamlDocument(text: string): unknown {\n const rawLines = text\n .replace(/\\r\\n/g, \"\\n\")\n .split(\"\\n\")\n .map((line) => line.replace(/\\t/g, \" \"));\n const lines = rawLines.filter((line) => {\n const trimmed = line.trim();\n return trimmed.length > 0 && trimmed !== \"---\" && trimmed !== \"...\";\n });\n\n let index = 0;\n\n function parseBlock(indent: number): unknown {\n if (index >= lines.length) {\n return {};\n }\n\n const currentLine = lines[index];\n const currentIndent = countIndent(currentLine);\n if (currentIndent < indent) {\n return {};\n }\n if (currentLine.trimStart().startsWith(\"-\")) {\n return parseArray(indent);\n }\n return parseObject(indent);\n }\n\n function parseArray(indent: number): unknown[] {\n const items: unknown[] = [];\n\n while (index < lines.length) {\n const line = lines[index];\n const currentIndent = countIndent(line);\n if (currentIndent < indent) {\n break;\n }\n if (currentIndent !== indent) {\n throw new Error(`Invalid YAML indentation near: ${line.trim()}`);\n }\n\n const trimmed = line.trimStart();\n if (!trimmed.startsWith(\"-\")) {\n break;\n }\n\n const rest = trimmed.slice(1).trimStart();\n index += 1;\n\n if (!rest.length) {\n items.push(parseBlock(indent + 2));\n continue;\n }\n\n items.push(parseYamlScalar(rest));\n }\n\n return items;\n }\n\n function parseObject(indent: number): Record<string, unknown> {\n const objectValue: Record<string, unknown> = {};\n\n while (index < lines.length) {\n const line = lines[index];\n const currentIndent = countIndent(line);\n if (currentIndent < indent) {\n break;\n }\n if (currentIndent !== indent) {\n throw new Error(`Invalid YAML indentation near: ${line.trim()}`);\n }\n\n const trimmed = line.trim();\n if (trimmed.startsWith(\"-\")) {\n break;\n }\n\n const { key, value } = splitYamlKeyValue(trimmed);\n index += 1;\n objectValue[key] =\n value === null ? parseBlock(indent + 2) : parseYamlScalar(value);\n }\n\n return objectValue;\n }\n\n return parseBlock(0);\n}\n\nfunction detectDomainPackManifestFormat(\n source: string,\n explicitFormat?: DomainPackManifestFormat\n): DomainPackManifestFormat {\n if (explicitFormat) {\n return explicitFormat;\n }\n\n const trimmed = source.trim();\n if (trimmed.startsWith(\"{\")) {\n return \"json\";\n }\n return \"yaml\";\n}\n\nexport function serializeDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest,\n format: DomainPackManifestFormat = \"json\"\n): string {\n const canonicalValue = sortJsonValue(manifest);\n if (format === \"json\") {\n return `${JSON.stringify(canonicalValue, null, 2)}\\n`;\n }\n return `${renderYaml(canonicalValue).join(\"\\n\")}\\n`;\n}\n\nexport function parseDomainPackAuthoringManifest(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringManifest {\n const detectedFormat = detectDomainPackManifestFormat(source, format);\n const parsed =\n detectedFormat === \"json\"\n ? (JSON.parse(source) as unknown)\n : parseYamlDocument(source);\n\n if (!isPlainObject(parsed)) {\n throw new Error(\"Domain pack manifest must parse to an object.\");\n }\n\n if (!(\"pack\" in parsed)) {\n throw new Error(\"Domain pack manifest requires a top-level pack object.\");\n }\n\n return defineDomainPackAuthoringManifest({\n kind: parsed.kind as typeof DOMAIN_PACK_MANIFEST_KIND | undefined,\n manifestVersion: parsed.manifestVersion as string | undefined,\n pack: parsed.pack as DomainPackInput,\n frameworks: parsed.frameworks as DomainPackFrameworkContract[] | undefined,\n schemaExtensions: parsed.schemaExtensions as\n | DomainPackSchemaExtension[]\n | undefined,\n ontologyExtensions: parsed.ontologyExtensions as\n | DomainPackOntologyExtension[]\n | undefined,\n lineage: parsed.lineage as DomainPackLineage | undefined,\n metadata: parsed.metadata as DomainPackAuthoringMetadata | undefined,\n });\n}\n","/**\n * Domain Pack Validation\n *\n * Validates a DomainPack for structural integrity:\n * - Required fields present and non-empty\n * - IDs are unique within their collections\n * - Cross-references resolve (gates, artifacts, roles referenced in workflows exist)\n * - Version is valid semver\n * - packId is kebab-case\n */\n\nimport type {\n DomainPack,\n InquiryShapingFrameworkHint,\n InquiryShapingQuestionTemplate,\n InquiryShapingTaskTemplate,\n} from \"./contracts\";\n\nexport interface DomainPackValidationIssue {\n code: string;\n message: string;\n path: string;\n severity: \"error\" | \"warning\";\n}\n\nexport interface DomainPackValidationResult {\n issues: DomainPackValidationIssue[];\n valid: boolean;\n}\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): DomainPackValidationIssue {\n return { code, severity, message, path };\n}\n\nconst KEBAB_CASE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;\nconst SEMVER =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nconst SHAPING_QUESTION_TYPES = new Set([\n \"validation\",\n \"falsification\",\n \"assumption_probe\",\n \"counterfactual\",\n \"scope\",\n \"comparison\",\n \"mechanism\",\n \"general\",\n]);\nconst RUNTIME_TARGETS = new Set([\"claude-code\", \"codex\", \"hybrid\", \"portable\"]);\nconst ONTOLOGY_PROVISION_MODES = new Set([\"bind\", \"seed\", \"extend\"]);\n\nfunction validateStringArray(\n values: string[] | undefined,\n path: string,\n label: string\n): DomainPackValidationIssue[] {\n if (!values) {\n return [];\n }\n\n return values.flatMap((value, index) => {\n if (!value?.trim()) {\n return [\n issue(\n \"INVALID_SHAPING_CONDITION\",\n `${label} must not contain empty strings`,\n `${path}[${index}]`\n ),\n ];\n }\n return [];\n });\n}\n\nfunction validateRuntimeTargets(\n values: string[] | undefined,\n path: string\n): DomainPackValidationIssue[] {\n const issues = validateStringArray(values, path, \"runtimeTargets\");\n for (const [index, value] of (values || []).entries()) {\n if (!RUNTIME_TARGETS.has(value)) {\n issues.push(\n issue(\n \"INVALID_RUNTIME_TARGET\",\n `Unsupported runtime target \"${value}\"`,\n `${path}[${index}]`\n )\n );\n }\n }\n return issues;\n}\n\nfunction validatePromptBinding(\n prompt: {\n promptId: string;\n ref: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.prompts[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!prompt.promptId?.trim()) {\n issues.push(\n issue(\n \"MISSING_PROMPT_ID\",\n \"prompt binding requires promptId\",\n `${path}.promptId`\n )\n );\n }\n if (!prompt.ref?.trim()) {\n issues.push(\n issue(\"MISSING_PROMPT_REF\", \"prompt binding requires ref\", `${path}.ref`)\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(prompt.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateToolBinding(\n tool: {\n toolId: string;\n entrypoint: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.tools[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!tool.toolId?.trim()) {\n issues.push(\n issue(\"MISSING_TOOL_ID\", \"tool binding requires toolId\", `${path}.toolId`)\n );\n }\n if (!tool.entrypoint?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOOL_ENTRYPOINT\",\n \"tool binding requires entrypoint\",\n `${path}.entrypoint`\n )\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(tool.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateSetupAsset(\n asset: {\n assetId: string;\n path: string;\n runtimeTargets?: string[];\n },\n index: number\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.setupAssets[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!asset.assetId?.trim()) {\n issues.push(\n issue(\n \"MISSING_SETUP_ASSET_ID\",\n \"setup asset requires assetId\",\n `${path}.assetId`\n )\n );\n }\n if (!asset.path?.trim()) {\n issues.push(\n issue(\n \"MISSING_SETUP_ASSET_PATH\",\n \"setup asset requires path\",\n `${path}.path`\n )\n );\n }\n\n issues.push(\n ...validateRuntimeTargets(asset.runtimeTargets, `${path}.runtimeTargets`)\n );\n return issues;\n}\n\nfunction validateQuestionTemplate(\n template: InquiryShapingQuestionTemplate,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.questionTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_SHAPING_TEMPLATE_ID\",\n \"question template requires templateId\",\n `${path}.templateId`\n )\n );\n }\n if (!template.template?.trim()) {\n issues.push(\n issue(\n \"MISSING_SHAPING_TEMPLATE\",\n \"question template requires template text\",\n `${path}.template`\n )\n );\n }\n if (!SHAPING_QUESTION_TYPES.has(template.questionType)) {\n issues.push(\n issue(\n \"INVALID_SHAPING_QUESTION_TYPE\",\n `Unsupported questionType \"${template.questionType}\"`,\n `${path}.questionType`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n template.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n\n return issues;\n}\n\nfunction validateTaskTemplate(\n template: InquiryShapingTaskTemplate,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.taskTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_GENERATOR_ID\",\n \"task template requires templateId\",\n `${path}.templateId`\n )\n );\n }\n if (!template.title?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_GENERATOR_TITLE\",\n \"task template requires title\",\n `${path}.title`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n template.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n issues.push(\n ...validateStringArray(\n template.whenQuestionTypes,\n `${path}.whenQuestionTypes`,\n \"whenQuestionTypes\"\n )\n );\n\n for (const [questionTypeIndex, questionType] of (\n template.whenQuestionTypes || []\n ).entries()) {\n if (!SHAPING_QUESTION_TYPES.has(questionType)) {\n issues.push(\n issue(\n \"INVALID_TASK_GENERATOR_QUESTION_TYPE\",\n `Unsupported whenQuestionTypes value \"${questionType}\"`,\n `${path}.whenQuestionTypes[${questionTypeIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction validateFrameworkHint(\n hint: InquiryShapingFrameworkHint,\n index: number\n): DomainPackValidationIssue[] {\n const path = `inquiryShaping.frameworkHints[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!hint.frameworkName?.trim()) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_HOOK_NAME\",\n \"framework hint requires frameworkName\",\n `${path}.frameworkName`\n )\n );\n }\n if (hint.boost != null && (!Number.isFinite(hint.boost) || hint.boost < 0)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_HOOK_BOOST\",\n \"framework hint boost must be a non-negative number\",\n `${path}.boost`\n )\n );\n }\n\n issues.push(\n ...validateStringArray(\n hint.whenObjectiveIncludes,\n `${path}.whenObjectiveIncludes`,\n \"whenObjectiveIncludes\"\n )\n );\n issues.push(\n ...validateStringArray(\n hint.whenQuestionTypes,\n `${path}.whenQuestionTypes`,\n \"whenQuestionTypes\"\n )\n );\n\n for (const [questionTypeIndex, questionType] of (\n hint.whenQuestionTypes || []\n ).entries()) {\n if (!SHAPING_QUESTION_TYPES.has(questionType)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_HOOK_QUESTION_TYPE\",\n `Unsupported whenQuestionTypes value \"${questionType}\"`,\n `${path}.whenQuestionTypes[${questionTypeIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction validateTopicTemplate(\n template: {\n slug: string;\n name: string;\n description: string;\n parentSlug?: string;\n },\n index: number,\n knownTopicSlugs: Set<string>\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.topicTemplates[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!template.slug?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_SLUG\",\n \"topic template requires slug\",\n `${path}.slug`\n )\n );\n } else if (!KEBAB_CASE.test(template.slug)) {\n issues.push(\n issue(\n \"INVALID_TOPIC_TEMPLATE_SLUG\",\n `topic template slug \"${template.slug}\" must be kebab-case`,\n `${path}.slug`\n )\n );\n }\n\n if (!template.name?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_NAME\",\n \"topic template requires name\",\n `${path}.name`\n )\n );\n }\n\n if (!template.description?.trim()) {\n issues.push(\n issue(\n \"MISSING_TOPIC_TEMPLATE_DESCRIPTION\",\n \"topic template requires description\",\n `${path}.description`\n )\n );\n }\n\n if (template.parentSlug && !knownTopicSlugs.has(template.parentSlug)) {\n issues.push(\n issue(\n \"UNKNOWN_TOPIC_PARENT\",\n `topic template references unknown parent \"${template.parentSlug}\"`,\n `${path}.parentSlug`\n )\n );\n }\n\n return issues;\n}\n\nfunction validateInstallProfile(\n profile: {\n profileId: string;\n name: string;\n description: string;\n runtimeTarget: string;\n promptIds: string[];\n toolIds: string[];\n assetIds: string[];\n defaultTopicSlugs: string[];\n },\n index: number,\n knownPromptIds: Set<string>,\n knownToolIds: Set<string>,\n knownAssetIds: Set<string>,\n knownTopicSlugs: Set<string>\n): DomainPackValidationIssue[] {\n const path = `operatingSystem.installProfiles[${index}]`;\n const issues: DomainPackValidationIssue[] = [];\n\n if (!profile.profileId?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_ID\",\n \"install profile requires profileId\",\n `${path}.profileId`\n )\n );\n }\n if (!profile.name?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_NAME\",\n \"install profile requires name\",\n `${path}.name`\n )\n );\n }\n if (!profile.description?.trim()) {\n issues.push(\n issue(\n \"MISSING_INSTALL_PROFILE_DESCRIPTION\",\n \"install profile requires description\",\n `${path}.description`\n )\n );\n }\n if (!RUNTIME_TARGETS.has(profile.runtimeTarget)) {\n issues.push(\n issue(\n \"INVALID_RUNTIME_TARGET\",\n `Unsupported runtime target \"${profile.runtimeTarget}\"`,\n `${path}.runtimeTarget`\n )\n );\n }\n\n for (const [promptIndex, promptId] of profile.promptIds.entries()) {\n if (!knownPromptIds.has(promptId)) {\n issues.push(\n issue(\n \"UNKNOWN_PROMPT_REF\",\n `install profile references unknown prompt \"${promptId}\"`,\n `${path}.promptIds[${promptIndex}]`\n )\n );\n }\n }\n for (const [toolIndex, toolId] of profile.toolIds.entries()) {\n if (!knownToolIds.has(toolId)) {\n issues.push(\n issue(\n \"UNKNOWN_TOOL_REF\",\n `install profile references unknown tool \"${toolId}\"`,\n `${path}.toolIds[${toolIndex}]`\n )\n );\n }\n }\n for (const [assetIndex, assetId] of profile.assetIds.entries()) {\n if (!knownAssetIds.has(assetId)) {\n issues.push(\n issue(\n \"UNKNOWN_SETUP_ASSET_REF\",\n `install profile references unknown setup asset \"${assetId}\"`,\n `${path}.assetIds[${assetIndex}]`\n )\n );\n }\n }\n for (const [topicIndex, topicSlug] of profile.defaultTopicSlugs.entries()) {\n if (!knownTopicSlugs.has(topicSlug)) {\n issues.push(\n issue(\n \"UNKNOWN_TOPIC_REF\",\n `install profile references unknown topic \"${topicSlug}\"`,\n `${path}.defaultTopicSlugs[${topicIndex}]`\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction checkDuplicateIds(\n items: { [key: string]: string }[],\n idField: string,\n path: string\n): DomainPackValidationIssue[] {\n const issues: DomainPackValidationIssue[] = [];\n const seen = new Set<string>();\n for (const item of items) {\n const id = item[idField];\n if (seen.has(id)) {\n issues.push(\n issue(\n \"DUPLICATE_ID\",\n `Duplicate ${idField} \"${id}\"`,\n `${path}.${idField}`\n )\n );\n }\n seen.add(id);\n }\n return issues;\n}\n\nfunction checkOptionalDuplicateIds(\n items: unknown[] | undefined,\n idField: string,\n path: string\n): DomainPackValidationIssue[] {\n if (!items) {\n return [];\n }\n return checkDuplicateIds(items as { [key: string]: string }[], idField, path);\n}\n\nfunction validatePackIdentity(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (typeof pack.packId !== \"string\" || pack.packId.trim().length === 0) {\n issues.push(issue(\"MISSING_PACK_ID\", \"packId is required\", \"packId\"));\n } else if (!KEBAB_CASE.test(pack.packId)) {\n issues.push(\n issue(\n \"INVALID_PACK_ID\",\n `packId \"${pack.packId}\" must be kebab-case`,\n \"packId\"\n )\n );\n }\n\n if (typeof pack.name !== \"string\" || pack.name.trim().length === 0) {\n issues.push(issue(\"MISSING_NAME\", \"name is required\", \"name\"));\n }\n\n if (typeof pack.version !== \"string\" || pack.version.trim().length === 0) {\n issues.push(issue(\"MISSING_VERSION\", \"version is required\", \"version\"));\n } else if (!SEMVER.test(pack.version)) {\n issues.push(\n issue(\n \"INVALID_VERSION\",\n `version \"${pack.version}\" must be valid semver`,\n \"version\"\n )\n );\n }\n}\n\nfunction validateOntologyBindings(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.ontologyBindings || pack.ontologyBindings.length === 0) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_BINDINGS\",\n \"At least one ontologyBinding is required\",\n \"ontologyBindings\"\n )\n );\n } else {\n for (const [i, binding] of pack.ontologyBindings.entries()) {\n if (!binding.ontologyId?.trim()) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_ID\",\n `ontologyBinding[${i}].ontologyId is required`,\n `ontologyBindings[${i}].ontologyId`\n )\n );\n }\n if (!binding.versionConstraint?.trim()) {\n issues.push(\n issue(\n \"MISSING_VERSION_CONSTRAINT\",\n `ontologyBinding[${i}].versionConstraint is required`,\n `ontologyBindings[${i}].versionConstraint`\n )\n );\n }\n if (\n binding.provisionMode &&\n !ONTOLOGY_PROVISION_MODES.has(binding.provisionMode)\n ) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_PROVISION_MODE\",\n `Unsupported provisionMode \"${binding.provisionMode}\"`,\n `ontologyBindings[${i}].provisionMode`\n )\n );\n }\n if (\n binding.provisionMode &&\n binding.provisionMode !== \"bind\" &&\n !binding.seedRef?.trim()\n ) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_SEED_REF\",\n `ontologyBinding[${i}] requires seedRef when provisionMode is \"${binding.provisionMode}\"`,\n `ontologyBindings[${i}].seedRef`\n )\n );\n }\n issues.push(\n ...validateStringArray(\n binding.requiredEntityTypes,\n `ontologyBindings[${i}].requiredEntityTypes`,\n \"requiredEntityTypes\"\n ),\n ...validateStringArray(\n binding.requiredEdgeTypes,\n `ontologyBindings[${i}].requiredEdgeTypes`,\n \"requiredEdgeTypes\"\n )\n );\n }\n }\n}\n\nfunction validateTopicRoots(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.topicRoots || pack.topicRoots.length === 0) {\n issues.push(\n issue(\n \"MISSING_TOPIC_ROOTS\",\n \"At least one topicRoot is required\",\n \"topicRoots\"\n )\n );\n return;\n }\n\n issues.push(\n ...checkOptionalDuplicateIds(pack.topicRoots, \"slug\", \"topicRoots\")\n );\n}\n\ntype DomainPackOperatingSystem = NonNullable<DomainPack[\"operatingSystem\"]>;\n\nfunction validateOperatingSystemPrompts(\n operatingSystem: DomainPackOperatingSystem,\n issues: DomainPackValidationIssue[]\n): void {\n if (!operatingSystem.prompts) {\n return;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n operatingSystem.prompts,\n \"promptId\",\n \"operatingSystem.prompts\"\n )\n );\n for (const [index, prompt] of operatingSystem.prompts.entries()) {\n issues.push(...validatePromptBinding(prompt, index));\n }\n}\n\nfunction validateOperatingSystemTools(\n operatingSystem: DomainPackOperatingSystem,\n issues: DomainPackValidationIssue[]\n): void {\n if (!operatingSystem.tools) {\n return;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n operatingSystem.tools,\n \"toolId\",\n \"operatingSystem.tools\"\n )\n );\n for (const [index, tool] of operatingSystem.tools.entries()) {\n issues.push(...validateToolBinding(tool, index));\n }\n}\n\nfunction validateOperatingSystemSetupAssets(\n operatingSystem: DomainPackOperatingSystem,\n issues: DomainPackValidationIssue[]\n): void {\n if (!operatingSystem.setupAssets) {\n return;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n operatingSystem.setupAssets,\n \"assetId\",\n \"operatingSystem.setupAssets\"\n )\n );\n for (const [index, asset] of operatingSystem.setupAssets.entries()) {\n issues.push(...validateSetupAsset(asset, index));\n }\n}\n\nfunction validateOperatingSystemTopicTemplates(\n operatingSystem: DomainPackOperatingSystem,\n knownRootSlugs: Set<string>,\n issues: DomainPackValidationIssue[]\n): Set<string> {\n const templateSlugs = new Set<string>();\n if (!operatingSystem.topicTemplates) {\n return templateSlugs;\n }\n\n issues.push(\n ...checkOptionalDuplicateIds(\n operatingSystem.topicTemplates,\n \"slug\",\n \"operatingSystem.topicTemplates\"\n )\n );\n for (const template of operatingSystem.topicTemplates) {\n if (template.slug) {\n templateSlugs.add(template.slug);\n }\n }\n const knownTopicSlugs = new Set([...knownRootSlugs, ...templateSlugs]);\n for (const [index, template] of operatingSystem.topicTemplates.entries()) {\n issues.push(...validateTopicTemplate(template, index, knownTopicSlugs));\n }\n return templateSlugs;\n}\n\nfunction validateOperatingSystemInstallProfiles(\n operatingSystem: DomainPackOperatingSystem,\n knownRootSlugs: Set<string>,\n templateSlugs: Set<string>,\n issues: DomainPackValidationIssue[]\n): void {\n if (!operatingSystem.installProfiles) {\n return;\n }\n\n issues.push(\n ...checkOptionalDuplicateIds(\n operatingSystem.installProfiles,\n \"profileId\",\n \"operatingSystem.installProfiles\"\n )\n );\n\n const knownPromptIds = new Set(\n operatingSystem.prompts?.map((prompt) => prompt.promptId) ?? []\n );\n const knownToolIds = new Set(\n operatingSystem.tools?.map((tool) => tool.toolId) ?? []\n );\n const knownAssetIds = new Set(\n operatingSystem.setupAssets?.map((asset) => asset.assetId) ?? []\n );\n const knownTopicSlugs = new Set([...knownRootSlugs, ...templateSlugs]);\n\n for (const [index, profile] of operatingSystem.installProfiles.entries()) {\n issues.push(\n ...validateInstallProfile(\n profile,\n index,\n knownPromptIds,\n knownToolIds,\n knownAssetIds,\n knownTopicSlugs\n )\n );\n }\n}\n\nfunction validateOperatingSystem(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.operatingSystem) {\n return;\n }\n\n const knownRootSlugs = new Set(\n pack.topicRoots?.map((topic) => topic.slug) ?? []\n );\n validateOperatingSystemPrompts(pack.operatingSystem, issues);\n validateOperatingSystemTools(pack.operatingSystem, issues);\n validateOperatingSystemSetupAssets(pack.operatingSystem, issues);\n const templateSlugs = validateOperatingSystemTopicTemplates(\n pack.operatingSystem,\n knownRootSlugs,\n issues\n );\n validateOperatingSystemInstallProfiles(\n pack.operatingSystem,\n knownRootSlugs,\n templateSlugs,\n issues\n );\n}\n\nfunction validateRoles(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.roles || pack.roles.length === 0) {\n issues.push(\n issue(\"MISSING_ROLES\", \"At least one reasoning role is required\", \"roles\")\n );\n } else {\n issues.push(...checkOptionalDuplicateIds(pack.roles, \"roleId\", \"roles\"));\n }\n}\n\nfunction validateGates(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.gates) {\n return;\n }\n\n issues.push(...checkOptionalDuplicateIds(pack.gates, \"gateId\", \"gates\"));\n for (const [index, gate] of pack.gates.entries()) {\n if (!gate.criteria || gate.criteria.length === 0) {\n issues.push(\n issue(\n \"EMPTY_GATE_CRITERIA\",\n `Gate \"${gate.gateId}\" has no criteria`,\n `gates[${index}].criteria`,\n \"warning\"\n )\n );\n continue;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n gate.criteria,\n \"criterionId\",\n `gates[${index}].criteria`\n )\n );\n }\n}\n\nfunction validateArtifacts(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (pack.artifacts) {\n issues.push(\n ...checkOptionalDuplicateIds(pack.artifacts, \"artifactId\", \"artifacts\")\n );\n }\n}\n\ninterface DomainPackReferenceSets {\n knownArtifactIds: Set<string>;\n knownGateIds: Set<string>;\n knownRoleIds: Set<string>;\n}\n\nfunction domainPackReferenceSets(pack: DomainPack): DomainPackReferenceSets {\n return {\n knownGateIds: new Set(pack.gates?.map((gate) => gate.gateId) ?? []),\n knownArtifactIds: new Set(\n pack.artifacts?.map((artifact) => artifact.artifactId) ?? []\n ),\n knownRoleIds: new Set(pack.roles?.map((role) => role.roleId) ?? []),\n };\n}\n\nfunction validateWorkflowGateReferences(\n workflow: NonNullable<DomainPack[\"workflows\"]>[number],\n workflowIndex: number,\n knownGateIds: Set<string>,\n issues: DomainPackValidationIssue[]\n): void {\n for (const gateId of workflow.gateCheckpoints) {\n if (!knownGateIds.has(gateId)) {\n issues.push(\n issue(\n \"UNKNOWN_GATE_REF\",\n `Workflow \"${workflow.workflowId}\" references unknown gate \"${gateId}\"`,\n `workflows[${workflowIndex}].gateCheckpoints`\n )\n );\n }\n }\n}\n\nfunction validateWorkflowArtifactReferences(\n workflow: NonNullable<DomainPack[\"workflows\"]>[number],\n workflowIndex: number,\n knownArtifactIds: Set<string>,\n issues: DomainPackValidationIssue[]\n): void {\n for (const artifactId of workflow.requiredArtifacts) {\n if (!knownArtifactIds.has(artifactId)) {\n issues.push(\n issue(\n \"UNKNOWN_ARTIFACT_REF\",\n `Workflow \"${workflow.workflowId}\" references unknown artifact \"${artifactId}\"`,\n `workflows[${workflowIndex}].requiredArtifacts`\n )\n );\n }\n }\n}\n\nfunction validateWorkflowStepReferences(\n step: NonNullable<DomainPack[\"workflows\"]>[number][\"steps\"][number],\n workflowIndex: number,\n stepIndex: number,\n refs: DomainPackReferenceSets,\n issues: DomainPackValidationIssue[]\n): void {\n for (const roleId of step.requiredRoles) {\n if (!refs.knownRoleIds.has(roleId)) {\n issues.push(\n issue(\n \"UNKNOWN_ROLE_REF\",\n `Step \"${step.stepId}\" references unknown role \"${roleId}\"`,\n `workflows[${workflowIndex}].steps[${stepIndex}].requiredRoles`\n )\n );\n }\n }\n\n if (step.gateId && !refs.knownGateIds.has(step.gateId)) {\n issues.push(\n issue(\n \"UNKNOWN_GATE_REF\",\n `Step \"${step.stepId}\" references unknown gate \"${step.gateId}\"`,\n `workflows[${workflowIndex}].steps[${stepIndex}].gateId`\n )\n );\n }\n\n for (const artifactId of step.produces ?? []) {\n if (!refs.knownArtifactIds.has(artifactId)) {\n issues.push(\n issue(\n \"UNKNOWN_ARTIFACT_REF\",\n `Step \"${step.stepId}\" references unknown artifact \"${artifactId}\"`,\n `workflows[${workflowIndex}].steps[${stepIndex}].produces`\n )\n );\n }\n }\n}\n\nfunction validateWorkflows(\n pack: DomainPack,\n refs: DomainPackReferenceSets,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.workflows) {\n return;\n }\n\n issues.push(\n ...checkOptionalDuplicateIds(pack.workflows, \"workflowId\", \"workflows\")\n );\n\n for (const [workflowIndex, workflow] of pack.workflows.entries()) {\n validateWorkflowGateReferences(\n workflow,\n workflowIndex,\n refs.knownGateIds,\n issues\n );\n validateWorkflowArtifactReferences(\n workflow,\n workflowIndex,\n refs.knownArtifactIds,\n issues\n );\n for (const [stepIndex, step] of workflow.steps.entries()) {\n validateWorkflowStepReferences(\n step,\n workflowIndex,\n stepIndex,\n refs,\n issues\n );\n }\n }\n}\n\nfunction validateInquiryQuestionTemplates(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.inquiryShaping?.questionTemplates) {\n return;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n pack.inquiryShaping.questionTemplates,\n \"templateId\",\n \"inquiryShaping.questionTemplates\"\n )\n );\n for (const [\n index,\n template,\n ] of pack.inquiryShaping.questionTemplates.entries()) {\n issues.push(...validateQuestionTemplate(template, index));\n }\n}\n\nfunction validateInquiryTaskTemplates(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.inquiryShaping?.taskTemplates) {\n return;\n }\n issues.push(\n ...checkOptionalDuplicateIds(\n pack.inquiryShaping.taskTemplates,\n \"templateId\",\n \"inquiryShaping.taskTemplates\"\n )\n );\n for (const [index, template] of pack.inquiryShaping.taskTemplates.entries()) {\n issues.push(...validateTaskTemplate(template, index));\n }\n}\n\nfunction validateInquiryFrameworkHints(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n if (!pack.inquiryShaping?.frameworkHints) {\n return;\n }\n issues.push(\n ...checkDuplicateIds(\n pack.inquiryShaping.frameworkHints.map((hint) => ({\n frameworkName: hint.frameworkName,\n })),\n \"frameworkName\",\n \"inquiryShaping.frameworkHints\"\n )\n );\n for (const [index, hint] of pack.inquiryShaping.frameworkHints.entries()) {\n issues.push(...validateFrameworkHint(hint, index));\n }\n}\n\nfunction validateInquiryShaping(\n pack: DomainPack,\n issues: DomainPackValidationIssue[]\n): void {\n validateInquiryQuestionTemplates(pack, issues);\n validateInquiryTaskTemplates(pack, issues);\n validateInquiryFrameworkHints(pack, issues);\n}\n\nexport function validateDomainPack(\n pack: DomainPack\n): DomainPackValidationResult {\n const issues: DomainPackValidationIssue[] = [];\n validatePackIdentity(pack, issues);\n validateOntologyBindings(pack, issues);\n validateTopicRoots(pack, issues);\n validateOperatingSystem(pack, issues);\n validateRoles(pack, issues);\n validateGates(pack, issues);\n validateArtifacts(pack, issues);\n validateWorkflows(pack, domainPackReferenceSets(pack), issues);\n validateInquiryShaping(pack, issues);\n\n return {\n valid: issues.filter((i) => i.severity === \"error\").length === 0,\n issues,\n };\n}\n","/**\n * Domain Pack Authoring Kit\n *\n * Validation, preview, publication, and tool wiring for tenant-authored domain packs.\n */\n\nimport type {\n DomainPackAuthoringManifest,\n DomainPackAuthoringManifestInput,\n DomainPackAuthoringPreview,\n DomainPackAuthoringToolDefinition,\n DomainPackAuthoringToolInput,\n DomainPackAuthoringToolset,\n DomainPackAuthoringValidationIssue,\n DomainPackAuthoringValidationResult,\n DomainPackFrameworkContract,\n DomainPackLineage,\n DomainPackLineageMode,\n DomainPackManifestCounts,\n DomainPackManifestFormat,\n DomainPackOntologyEdgeExtension,\n DomainPackOntologyEntityExtension,\n DomainPackOntologyExtension,\n DomainPackPublicationLineageEdge,\n DomainPackPublishResult,\n DomainPackSchemaExtension,\n DomainPackSchemaExtensionTarget,\n RuntimeTarget,\n} from \"./authoring.core\";\nimport {\n countManifestArtifacts,\n DOMAIN_PACK_MANIFEST_KIND,\n defineDomainPackAuthoringManifest,\n parseDomainPackAuthoringManifest,\n serializeDomainPackAuthoringManifest,\n} from \"./authoring.core\";\nimport { validateDomainPack } from \"./validation\";\n\nconst KEBAB_CASE = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;\nconst SEMVER =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nconst LEGACY_PUBLIC_KEYS = new Set([\n \"project\",\n \"projects\",\n \"projectId\",\n \"projectIds\",\n \"sprint\",\n \"sprints\",\n \"sprintId\",\n \"sprintIds\",\n]);\nconst SCHEMA_EXTENSION_TARGETS = new Set<DomainPackSchemaExtensionTarget>([\n \"artifact\",\n \"workflow\",\n \"gate\",\n \"prompt\",\n \"tool\",\n \"install-profile\",\n \"topic-template\",\n]);\nconst ONTOLOGY_CONSTRAINT_SEVERITIES = new Set([\n \"error\",\n \"warning\",\n \"informational\",\n]);\nconst LINEAGE_MODES = new Set<DomainPackLineageMode>([\"root\", \"remix\", \"fork\"]);\nconst AUTHORING_TOOL_NAMES = {\n validate: \"validate_domain_pack_manifest\",\n preview: \"preview_domain_pack_manifest\",\n publish: \"publish_domain_pack_manifest\",\n} as const;\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n source: DomainPackAuthoringValidationIssue[\"source\"],\n severity: \"error\" | \"warning\" = \"error\"\n): DomainPackAuthoringValidationIssue {\n return { code, message, path, severity, source };\n}\n\nfunction emptyCounts(): DomainPackManifestCounts {\n return {\n topicRoots: 0,\n workflows: 0,\n gates: 0,\n artifacts: 0,\n roles: 0,\n prompts: 0,\n tools: 0,\n setupAssets: 0,\n installProfiles: 0,\n frameworks: 0,\n schemaExtensions: 0,\n ontologyExtensions: 0,\n };\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return (\n typeof value === \"object\" &&\n value !== null &&\n !Array.isArray(value) &&\n Object.getPrototypeOf(value) === Object.prototype\n );\n}\n\nfunction describeParseFailure(error: unknown): string {\n return error instanceof Error ? error.message : \"Manifest parse failed.\";\n}\n\nfunction asToolDefinition<Result>(\n tool: DomainPackAuthoringToolDefinition<Result>\n): DomainPackAuthoringToolDefinition<Result> {\n return tool;\n}\n\nfunction detectDomainPackManifestFormat(\n source: string,\n explicitFormat?: DomainPackManifestFormat\n): DomainPackManifestFormat {\n if (explicitFormat) {\n return explicitFormat;\n }\n\n const trimmed = source.trim();\n if (trimmed.startsWith(\"{\")) {\n return \"json\";\n }\n return \"yaml\";\n}\n\nfunction validateFrameworks(\n frameworks: DomainPackFrameworkContract[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!frameworks) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n frameworks.forEach((framework, index) => {\n const path = `frameworks[${index}]`;\n if (!framework.frameworkId) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_ID\",\n \"frameworkId is required\",\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else if (!KEBAB_CASE.test(framework.frameworkId)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_ID\",\n `frameworkId \"${framework.frameworkId}\" must be kebab-case`,\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else if (seen.has(framework.frameworkId)) {\n issues.push(\n issue(\n \"DUPLICATE_FRAMEWORK_ID\",\n `Duplicate frameworkId \"${framework.frameworkId}\"`,\n `${path}.frameworkId`,\n \"framework\"\n )\n );\n } else {\n seen.add(framework.frameworkId);\n }\n\n if (!framework.version) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_VERSION\",\n \"version is required\",\n `${path}.version`,\n \"framework\"\n )\n );\n } else if (!SEMVER.test(framework.version)) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_VERSION\",\n `framework version \"${framework.version}\" must be valid semver`,\n `${path}.version`,\n \"framework\"\n )\n );\n }\n });\n\n return issues;\n}\n\nfunction validateSchemaExtensions(\n extensions: DomainPackSchemaExtension[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!extensions) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n extensions.forEach((extension, index) => {\n const path = `schemaExtensions[${index}]`;\n if (!extension.extensionId) {\n issues.push(\n issue(\n \"MISSING_SCHEMA_EXTENSION_ID\",\n \"extensionId is required\",\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else if (!KEBAB_CASE.test(extension.extensionId)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_ID\",\n `extensionId \"${extension.extensionId}\" must be kebab-case`,\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else if (seen.has(extension.extensionId)) {\n issues.push(\n issue(\n \"DUPLICATE_SCHEMA_EXTENSION_ID\",\n `Duplicate schema extension \"${extension.extensionId}\"`,\n `${path}.extensionId`,\n \"schema-extension\"\n )\n );\n } else {\n seen.add(extension.extensionId);\n }\n\n if (!SCHEMA_EXTENSION_TARGETS.has(extension.target)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_TARGET\",\n `Unsupported schema extension target \"${extension.target}\"`,\n `${path}.target`,\n \"schema-extension\"\n )\n );\n }\n if (!extension.description) {\n issues.push(\n issue(\n \"MISSING_SCHEMA_EXTENSION_DESCRIPTION\",\n \"description is required\",\n `${path}.description`,\n \"schema-extension\"\n )\n );\n }\n if (!SEMVER.test(extension.version)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_VERSION\",\n `schema extension version \"${extension.version}\" must be valid semver`,\n `${path}.version`,\n \"schema-extension\"\n )\n );\n }\n if (!isPlainObject(extension.schema)) {\n issues.push(\n issue(\n \"INVALID_SCHEMA_EXTENSION_SCHEMA\",\n \"schema extension schema must be a plain object\",\n `${path}.schema`,\n \"schema-extension\"\n )\n );\n }\n });\n\n return issues;\n}\n\nfunction validateOntologyExtensions(\n extensions: DomainPackOntologyExtension[] | undefined\n): DomainPackAuthoringValidationIssue[] {\n if (!extensions) {\n return [];\n }\n\n const issues: DomainPackAuthoringValidationIssue[] = [];\n const seen = new Set<string>();\n\n extensions.forEach((extension, index) => {\n const path = `ontologyExtensions[${index}]`;\n if (!extension.extensionId) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EXTENSION_ID\",\n \"extensionId is required\",\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else if (!KEBAB_CASE.test(extension.extensionId)) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EXTENSION_ID\",\n `extensionId \"${extension.extensionId}\" must be kebab-case`,\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else if (seen.has(extension.extensionId)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_EXTENSION_ID\",\n `Duplicate ontology extension \"${extension.extensionId}\"`,\n `${path}.extensionId`,\n \"ontology-extension\"\n )\n );\n } else {\n seen.add(extension.extensionId);\n }\n\n if (!extension.ontologyId) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EXTENSION_TARGET\",\n \"ontologyId is required\",\n `${path}.ontologyId`,\n \"ontology-extension\"\n )\n );\n }\n if (!extension.baseVersionConstraint) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_BASE_VERSION\",\n \"baseVersionConstraint is required\",\n `${path}.baseVersionConstraint`,\n \"ontology-extension\"\n )\n );\n }\n if (extension.additiveOnly !== true) {\n issues.push(\n issue(\n \"NON_MONOTONIC_ONTOLOGY_EXTENSION\",\n \"ontology extensions must set additiveOnly=true\",\n `${path}.additiveOnly`,\n \"ontology-extension\"\n )\n );\n }\n\n const entityTypeValues = new Set<string>();\n extension.entityTypes?.forEach(\n (entityType: DomainPackOntologyEntityExtension, entityTypeIndex) => {\n const entityPath = `${path}.entityTypes[${entityTypeIndex}]`;\n if (!(entityType.value && KEBAB_CASE.test(entityType.value))) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_ENTITY_VALUE\",\n \"entity extension value must be kebab-case\",\n `${entityPath}.value`,\n \"ontology-extension\"\n )\n );\n } else if (entityTypeValues.has(entityType.value)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_ENTITY_VALUE\",\n `Duplicate entity extension value \"${entityType.value}\"`,\n `${entityPath}.value`,\n \"ontology-extension\"\n )\n );\n } else {\n entityTypeValues.add(entityType.value);\n }\n if (!entityType.label) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_ENTITY_LABEL\",\n \"entity extension label is required\",\n `${entityPath}.label`,\n \"ontology-extension\"\n )\n );\n }\n }\n );\n\n const edgeTypeValues = new Set<string>();\n extension.edgeTypes?.forEach(\n (edgeType: DomainPackOntologyEdgeExtension, edgeTypeIndex) => {\n const edgePath = `${path}.edgeTypes[${edgeTypeIndex}]`;\n if (!(edgeType.value && KEBAB_CASE.test(edgeType.value))) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EDGE_VALUE\",\n \"edge extension value must be kebab-case\",\n `${edgePath}.value`,\n \"ontology-extension\"\n )\n );\n } else if (edgeTypeValues.has(edgeType.value)) {\n issues.push(\n issue(\n \"DUPLICATE_ONTOLOGY_EDGE_VALUE\",\n `Duplicate edge extension value \"${edgeType.value}\"`,\n `${edgePath}.value`,\n \"ontology-extension\"\n )\n );\n } else {\n edgeTypeValues.add(edgeType.value);\n }\n if (!edgeType.label) {\n issues.push(\n issue(\n \"MISSING_ONTOLOGY_EDGE_LABEL\",\n \"edge extension label is required\",\n `${edgePath}.label`,\n \"ontology-extension\"\n )\n );\n }\n if (\n edgeType.constraintSeverity &&\n !ONTOLOGY_CONSTRAINT_SEVERITIES.has(edgeType.constraintSeverity)\n ) {\n issues.push(\n issue(\n \"INVALID_ONTOLOGY_EDGE_SEVERITY\",\n `Unsupported constraint severity \"${edgeType.constraintSeverity}\"`,\n `${edgePath}.constraintSeverity`,\n \"ontology-extension\"\n )\n );\n }\n }\n );\n });\n\n return issues;\n}\n\nfunction validateLineage(\n lineage: DomainPackLineage,\n packId: string\n): DomainPackAuthoringValidationIssue[] {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (!LINEAGE_MODES.has(lineage.mode)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_MODE\",\n `Unsupported lineage mode \"${lineage.mode}\"`,\n \"lineage.mode\",\n \"lineage\"\n )\n );\n return issues;\n }\n\n if (lineage.mode === \"root\") {\n if (\n lineage.parentPackId ||\n lineage.parentVersion ||\n lineage.supersedesPackId\n ) {\n issues.push(\n issue(\n \"ROOT_LINEAGE_HAS_PARENT\",\n \"root lineage cannot declare parent or supersedes metadata\",\n \"lineage\",\n \"lineage\"\n )\n );\n }\n return issues;\n }\n\n if (!lineage.parentPackId) {\n issues.push(\n issue(\n \"MISSING_LINEAGE_PARENT_PACK\",\n \"parentPackId is required for remix or fork lineage\",\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n } else if (!KEBAB_CASE.test(lineage.parentPackId)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_PARENT_PACK\",\n `parentPackId \"${lineage.parentPackId}\" must be kebab-case`,\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n }\n\n if (!lineage.parentVersion) {\n issues.push(\n issue(\n \"MISSING_LINEAGE_PARENT_VERSION\",\n \"parentVersion is required for remix or fork lineage\",\n \"lineage.parentVersion\",\n \"lineage\"\n )\n );\n } else if (!SEMVER.test(lineage.parentVersion)) {\n issues.push(\n issue(\n \"INVALID_LINEAGE_PARENT_VERSION\",\n `parentVersion \"${lineage.parentVersion}\" must be valid semver`,\n \"lineage.parentVersion\",\n \"lineage\"\n )\n );\n }\n\n if (\n lineage.parentPackId &&\n lineage.parentPackId === packId &&\n lineage.parentVersion === undefined\n ) {\n issues.push(\n issue(\n \"SELF_REFERENTIAL_LINEAGE\",\n \"lineage parentPackId cannot equal the child packId without an explicit parentVersion\",\n \"lineage.parentPackId\",\n \"lineage\"\n )\n );\n }\n\n if (lineage.mode === \"remix\" && lineage.supersedesPackId) {\n issues.push(\n issue(\n \"REMIX_LINEAGE_SUPERSEDES\",\n \"remix lineage cannot declare supersedesPackId\",\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n }\n\n if (lineage.mode === \"fork\") {\n if (!lineage.supersedesPackId) {\n issues.push(\n issue(\n \"MISSING_SUPERSEDES_PACK\",\n \"fork lineage requires supersedesPackId to model the supersedes edge\",\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n } else if (!KEBAB_CASE.test(lineage.supersedesPackId)) {\n issues.push(\n issue(\n \"INVALID_SUPERSEDES_PACK\",\n `supersedesPackId \"${lineage.supersedesPackId}\" must be kebab-case`,\n \"lineage.supersedesPackId\",\n \"lineage\"\n )\n );\n }\n }\n\n return issues;\n}\n\nfunction scanLegacyPublicKeys(\n value: unknown,\n path = \"\"\n): DomainPackAuthoringValidationIssue[] {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (Array.isArray(value)) {\n for (const [index, entry] of value.entries()) {\n issues.push(...scanLegacyPublicKeys(entry, `${path}[${index}]`));\n }\n return issues;\n }\n\n if (!isPlainObject(value)) {\n return issues;\n }\n\n for (const [key, entryValue] of Object.entries(value)) {\n const nextPath = path ? `${path}.${key}` : key;\n if (LEGACY_PUBLIC_KEYS.has(key)) {\n issues.push(\n issue(\n \"LEGACY_PUBLIC_TERM\",\n `Public manifest field \"${key}\" uses legacy terminology; expose canonical topic/worktree terms instead.`,\n nextPath,\n \"terminology\"\n )\n );\n }\n issues.push(...scanLegacyPublicKeys(entryValue, nextPath));\n }\n\n return issues;\n}\n\n/**\n * Simple deterministic hash for manifest identification (not cryptographic).\n * Uses FNV-1a 64-bit hash to avoid node:crypto dependency in the Convex bundle.\n */\n// biome-ignore-start lint/suspicious/noBitwiseOperators: The FNV-1a manifest digest intentionally uses bitwise mixing for stable published artifact IDs.\nfunction createManifestDigest(manifest: DomainPackAuthoringManifest): string {\n const data = serializeDomainPackAuthoringManifest(manifest, \"json\");\n let h1 = 0x81_1c_9d_c5 | 0;\n let h2 = 0x81_1c_9d_c5 | 0;\n for (let i = 0; i < data.length; i++) {\n const c = data.charCodeAt(i);\n h1 = Math.imul(h1 ^ c, 0x01_00_01_93);\n h2 = Math.imul(h2 ^ ((c >>> 4) | (c << 4)), 0x01_00_01_93);\n }\n return (\n (h1 >>> 0).toString(16).padStart(8, \"0\") +\n (h2 >>> 0).toString(16).padStart(8, \"0\")\n );\n}\n// biome-ignore-end lint/suspicious/noBitwiseOperators: End intentional FNV-1a bitwise digest suppression.\n\nfunction evaluateDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest,\n format: DomainPackManifestFormat | null = null\n): DomainPackAuthoringValidationResult {\n const issues: DomainPackAuthoringValidationIssue[] = [];\n\n if (manifest.kind !== DOMAIN_PACK_MANIFEST_KIND) {\n issues.push(\n issue(\n \"INVALID_MANIFEST_KIND\",\n `kind must be \"${DOMAIN_PACK_MANIFEST_KIND}\"`,\n \"kind\",\n \"manifest\"\n )\n );\n }\n\n if (!SEMVER.test(manifest.manifestVersion)) {\n issues.push(\n issue(\n \"INVALID_MANIFEST_VERSION\",\n `manifestVersion \"${manifest.manifestVersion}\" must be valid semver`,\n \"manifestVersion\",\n \"manifest\"\n )\n );\n }\n\n issues.push(...validateFrameworks(manifest.frameworks));\n issues.push(...validateSchemaExtensions(manifest.schemaExtensions));\n issues.push(...validateOntologyExtensions(manifest.ontologyExtensions));\n issues.push(...validateLineage(manifest.lineage, manifest.pack.packId));\n issues.push(...scanLegacyPublicKeys(manifest));\n\n const packValidation = validateDomainPack(manifest.pack);\n issues.push(\n ...packValidation.issues.map((packIssue) => ({\n ...packIssue,\n path: `pack.${packIssue.path}`,\n source: \"pack\" as const,\n }))\n );\n\n return {\n valid: issues.every((currentIssue) => currentIssue.severity !== \"error\"),\n format,\n manifest,\n manifestDigest: createManifestDigest(manifest),\n issues,\n counts: countManifestArtifacts(manifest),\n };\n}\n\nfunction parseFailureResult(\n error: unknown,\n format: DomainPackManifestFormat | null\n): DomainPackAuthoringValidationResult {\n return {\n valid: false,\n format,\n manifest: null,\n manifestDigest: null,\n issues: [\n issue(\"PARSE_ERROR\", describeParseFailure(error), \"manifest\", \"parse\"),\n ],\n counts: emptyCounts(),\n };\n}\n\nfunction validateDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackAuthoringValidationResult {\n return evaluateDomainPackAuthoringManifest(\n defineDomainPackAuthoringManifest(\n manifest as DomainPackAuthoringManifestInput\n )\n );\n}\n\nfunction validateDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringValidationResult {\n const detectedFormat = detectDomainPackManifestFormat(source, format);\n\n try {\n const manifest = parseDomainPackAuthoringManifest(source, detectedFormat);\n return evaluateDomainPackAuthoringManifest(manifest, detectedFormat);\n } catch (error) {\n return parseFailureResult(error, detectedFormat);\n }\n}\n\nfunction collectRuntimeTargets(\n manifest: DomainPackAuthoringManifest | null\n): RuntimeTarget[] {\n if (!manifest) {\n return [];\n }\n\n const targets = new Set<RuntimeTarget>();\n for (const framework of manifest.frameworks ?? []) {\n addRuntimeTargets(targets, framework.runtimeTargets);\n }\n for (const prompt of manifest.pack.operatingSystem?.prompts ?? []) {\n addRuntimeTargets(targets, prompt.runtimeTargets);\n }\n for (const tool of manifest.pack.operatingSystem?.tools ?? []) {\n addRuntimeTargets(targets, tool.runtimeTargets);\n }\n for (const asset of manifest.pack.operatingSystem?.setupAssets ?? []) {\n addRuntimeTargets(targets, asset.runtimeTargets);\n }\n for (const profile of manifest.pack.operatingSystem?.installProfiles ?? []) {\n targets.add(profile.runtimeTarget);\n }\n return Array.from(targets).sort();\n}\n\nfunction addRuntimeTargets(\n targets: Set<RuntimeTarget>,\n values: RuntimeTarget[] | undefined\n): void {\n for (const target of values ?? []) {\n targets.add(target);\n }\n}\n\nfunction describeLineage(lineage: DomainPackLineage | null): string | null {\n if (!lineage) {\n return null;\n }\n if (lineage.mode === \"root\") {\n return \"Root pack with no parent lineage.\";\n }\n if (lineage.mode === \"remix\") {\n return `Remix of ${lineage.parentPackId}@${lineage.parentVersion}.`;\n }\n return `Fork of ${lineage.parentPackId}@${lineage.parentVersion} that supersedes ${lineage.supersedesPackId}.`;\n}\n\nfunction previewDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackAuthoringPreview {\n const validation = validateDomainPackAuthoringManifest(manifest);\n return {\n ...validation,\n readyToPublish: validation.valid,\n canonicalJson: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"json\")\n : null,\n canonicalYaml: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"yaml\")\n : null,\n lineageSummary: describeLineage(validation.manifest?.lineage ?? null),\n requiredRuntimeTargets: collectRuntimeTargets(validation.manifest),\n };\n}\n\nfunction previewDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackAuthoringPreview {\n const validation = validateDomainPackAuthoringManifestSource(source, format);\n return {\n ...validation,\n readyToPublish: validation.valid,\n canonicalJson: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"json\")\n : null,\n canonicalYaml: validation.manifest\n ? serializeDomainPackAuthoringManifest(validation.manifest, \"yaml\")\n : null,\n lineageSummary: describeLineage(validation.manifest?.lineage ?? null),\n requiredRuntimeTargets: collectRuntimeTargets(validation.manifest),\n };\n}\n\nfunction buildLineageEdge(\n manifest: DomainPackAuthoringManifest\n): DomainPackPublicationLineageEdge | null {\n const { lineage, pack } = manifest;\n if (lineage.mode === \"root\") {\n return null;\n }\n if (lineage.mode === \"remix\") {\n return {\n edgeType: \"remixed_from\",\n childPackId: pack.packId,\n parentPackId: readLineageField(lineage.parentPackId, \"parentPackId\"),\n parentVersion: readLineageField(lineage.parentVersion, \"parentVersion\"),\n };\n }\n return {\n edgeType: \"supersedes\",\n childPackId: pack.packId,\n parentPackId: readLineageField(\n lineage.supersedesPackId,\n \"supersedesPackId\"\n ),\n parentVersion: readLineageField(lineage.parentVersion, \"parentVersion\"),\n };\n}\n\nfunction readLineageField(value: string | undefined, field: string): string {\n if (typeof value === \"string\" && value.length > 0) {\n return value;\n }\n throw new Error(`Cannot publish domain pack with missing lineage.${field}.`);\n}\n\nfunction readPublicationArtifact(\n value: string | null,\n field: \"canonicalJson\" | \"canonicalYaml\"\n): string {\n if (typeof value === \"string\" && value.length > 0) {\n return value;\n }\n throw new Error(`Cannot publish domain pack with missing ${field}.`);\n}\n\nfunction publishDomainPackAuthoringManifest(\n manifest: DomainPackAuthoringManifest | DomainPackAuthoringManifestInput\n): DomainPackPublishResult {\n const preview = previewDomainPackAuthoringManifest(manifest);\n if (!(preview.readyToPublish && preview.manifest && preview.manifestDigest)) {\n return {\n published: false,\n preview,\n publication: null,\n };\n }\n\n return {\n published: true,\n preview,\n publication: {\n publicationId: `${preview.manifest.pack.packId}@${preview.manifest.pack.version}`,\n packId: preview.manifest.pack.packId,\n version: preview.manifest.pack.version,\n manifestDigest: preview.manifestDigest,\n manifest: preview.manifest,\n lineageEdge: buildLineageEdge(preview.manifest),\n canonicalJson: readPublicationArtifact(\n preview.canonicalJson,\n \"canonicalJson\"\n ),\n canonicalYaml: readPublicationArtifact(\n preview.canonicalYaml,\n \"canonicalYaml\"\n ),\n },\n };\n}\n\nfunction publishDomainPackAuthoringManifestSource(\n source: string,\n format?: DomainPackManifestFormat\n): DomainPackPublishResult {\n const preview = previewDomainPackAuthoringManifestSource(source, format);\n if (!(preview.readyToPublish && preview.manifest && preview.manifestDigest)) {\n return {\n published: false,\n preview,\n publication: null,\n };\n }\n\n return {\n published: true,\n preview,\n publication: {\n publicationId: `${preview.manifest.pack.packId}@${preview.manifest.pack.version}`,\n packId: preview.manifest.pack.packId,\n version: preview.manifest.pack.version,\n manifestDigest: preview.manifestDigest,\n manifest: preview.manifest,\n lineageEdge: buildLineageEdge(preview.manifest),\n canonicalJson: readPublicationArtifact(\n preview.canonicalJson,\n \"canonicalJson\"\n ),\n canonicalYaml: readPublicationArtifact(\n preview.canonicalYaml,\n \"canonicalYaml\"\n ),\n },\n };\n}\n\nfunction createDomainPackAuthoringTools(): DomainPackAuthoringToolset {\n const inputSchema = {\n type: \"object\",\n properties: {\n manifestText: {\n type: \"string\",\n description: \"Domain pack manifest text in JSON or YAML form.\",\n },\n format: {\n type: \"string\",\n enum: [\"json\", \"yaml\"],\n description: \"Optional manifest format override.\",\n },\n },\n required: [\"manifestText\"],\n additionalProperties: false,\n } satisfies Record<string, unknown>;\n\n return {\n validate: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.validate,\n description:\n \"Validate a domain pack authoring manifest and return structural, lineage, terminology, and extension issues.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n validateDomainPackAuthoringManifestSource(\n args.manifestText,\n args.format\n ),\n }),\n preview: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.preview,\n description:\n \"Preview a domain pack manifest with canonical JSON/YAML renderings, runtime targets, and publication readiness.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n previewDomainPackAuthoringManifestSource(\n args.manifestText,\n args.format\n ),\n }),\n publish: asToolDefinition({\n name: AUTHORING_TOOL_NAMES.publish,\n description:\n \"Build a publication-ready domain pack artifact when validation passes, including remix/fork lineage metadata.\",\n inputSchema,\n execute: (args: DomainPackAuthoringToolInput) =>\n publishDomainPackAuthoringManifestSource(\n args.manifestText,\n args.format\n ),\n }),\n };\n}\n\nexport const domainPackAuthoringValidation = {\n validateDomainPackAuthoringManifest,\n validateDomainPackAuthoringManifestSource,\n previewDomainPackAuthoringManifest,\n previewDomainPackAuthoringManifestSource,\n publishDomainPackAuthoringManifest,\n publishDomainPackAuthoringManifestSource,\n createDomainPackAuthoringTools,\n} as const;\n","// biome-ignore-all lint/performance/noBarrelFile: Public domain-pack authoring facade preserves authoring subpath exports.\nexport type {\n DomainPackAuthoringManifest,\n DomainPackAuthoringManifestInput,\n DomainPackAuthoringMetadata,\n DomainPackAuthoringPreview,\n DomainPackAuthoringToolDefinition,\n DomainPackAuthoringToolInput,\n DomainPackAuthoringToolset,\n DomainPackAuthoringValidationIssue,\n DomainPackAuthoringValidationResult,\n DomainPackFrameworkContract,\n DomainPackLineage,\n DomainPackLineageMode,\n DomainPackManifestCounts,\n DomainPackManifestFormat,\n DomainPackOntologyEdgeExtension,\n DomainPackOntologyEntityExtension,\n DomainPackOntologyExtension,\n DomainPackPublication,\n DomainPackPublicationLineageEdge,\n DomainPackPublishResult,\n DomainPackSchemaExtension,\n DomainPackSchemaExtensionTarget,\n} from \"./authoring.core\";\nexport {\n defineDomainPackAuthoringManifest,\n parseDomainPackAuthoringManifest,\n serializeDomainPackAuthoringManifest,\n} from \"./authoring.core\";\n\nimport { domainPackAuthoringValidation } from \"./authoring.validation\";\n\nexport const validateDomainPackAuthoringManifest =\n domainPackAuthoringValidation.validateDomainPackAuthoringManifest;\nexport const validateDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.validateDomainPackAuthoringManifestSource;\nexport const previewDomainPackAuthoringManifest =\n domainPackAuthoringValidation.previewDomainPackAuthoringManifest;\nexport const previewDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.previewDomainPackAuthoringManifestSource;\nexport const publishDomainPackAuthoringManifest =\n domainPackAuthoringValidation.publishDomainPackAuthoringManifest;\nexport const publishDomainPackAuthoringManifestSource =\n domainPackAuthoringValidation.publishDomainPackAuthoringManifestSource;\nexport const createDomainPackAuthoringTools =\n domainPackAuthoringValidation.createDomainPackAuthoringTools;\n","/**\n * Software Entities Ontology Snapshot v1.0.0\n *\n * Reference ontology snapshot for turnkey engineering packs. This gives\n * engineering-focused domain packs a real typed bundle to bind and seed.\n */\n\nexport interface OntologyEntityTypeSnapshot {\n description: string;\n label: string;\n value: string;\n}\n\nexport interface OntologyEdgeTypeSnapshot {\n description: string;\n label: string;\n sourceTypes?: string[];\n targetTypes?: string[];\n value: string;\n}\n\nexport const SOFTWARE_ENTITIES_V1 = {\n ontologyId: \"software-entities\",\n version: \"1.0.0\",\n name: \"Software Entities\",\n description:\n \"Core software-delivery ontology for repositories, services, modules, changes, incidents, and agent-assisted engineering workflows.\",\n entityTypes: [\n {\n value: \"repository\",\n label: \"Repository\",\n description:\n \"Source repository or monorepo boundary under active ownership.\",\n },\n {\n value: \"service\",\n label: \"Service\",\n description: \"Deployable service, application, or runtime surface.\",\n },\n {\n value: \"module\",\n label: \"Module\",\n description:\n \"Logical code module, package, or subsystem within a service.\",\n },\n {\n value: \"workflow\",\n label: \"Workflow\",\n description:\n \"Repeatable engineering workflow such as review, migration, or incident response.\",\n },\n {\n value: \"migration\",\n label: \"Migration\",\n description:\n \"Schema, API, or rollout change with sequencing and rollback concerns.\",\n },\n {\n value: \"incident\",\n label: \"Incident\",\n description:\n \"Operational incident, outage, or regression requiring triage and mitigation.\",\n },\n {\n value: \"decision_record\",\n label: \"Decision Record\",\n description:\n \"Architecture decision, rationale record, or precedent artifact.\",\n },\n {\n value: \"agent\",\n label: \"Agent\",\n description:\n \"Configured AI worker or assistant participating in engineering workflows.\",\n },\n ] as const satisfies readonly OntologyEntityTypeSnapshot[],\n edgeTypes: [\n {\n value: \"depends_on\",\n label: \"Depends On\",\n description:\n \"A repository, service, module, or workflow depends on another surface.\",\n sourceTypes: [\"repository\", \"service\", \"module\", \"workflow\", \"migration\"],\n targetTypes: [\"repository\", \"service\", \"module\", \"workflow\", \"migration\"],\n },\n {\n value: \"owns\",\n label: \"Owns\",\n description:\n \"An agent or service owns a module, workflow, or decision record.\",\n sourceTypes: [\"agent\", \"service\"],\n targetTypes: [\"module\", \"workflow\", \"decision_record\"],\n },\n {\n value: \"calls\",\n label: \"Calls\",\n description:\n \"A repository, service, or module invokes another service or module.\",\n sourceTypes: [\"repository\", \"service\", \"module\"],\n targetTypes: [\"service\", \"module\"],\n },\n {\n value: \"blocks\",\n label: \"Blocks\",\n description:\n \"An incident, migration, or workflow blocks another engineering surface.\",\n sourceTypes: [\"incident\", \"migration\", \"workflow\"],\n targetTypes: [\"migration\", \"workflow\", \"service\", \"decision_record\"],\n },\n {\n value: \"reviews\",\n label: \"Reviews\",\n description:\n \"An agent or workflow reviews a change, module, or migration.\",\n sourceTypes: [\"agent\", \"workflow\"],\n targetTypes: [\"module\", \"migration\", \"decision_record\"],\n },\n {\n value: \"mitigates\",\n label: \"Mitigates\",\n description:\n \"A workflow or migration mitigates an incident or risky change.\",\n sourceTypes: [\"workflow\", \"migration\"],\n targetTypes: [\"incident\", \"service\", \"module\"],\n },\n {\n value: \"supersedes\",\n label: \"Supersedes\",\n description:\n \"A newer decision record, migration, or workflow replaces an earlier one.\",\n sourceTypes: [\"decision_record\", \"migration\", \"workflow\"],\n targetTypes: [\"decision_record\", \"migration\", \"workflow\"],\n },\n ] as const satisfies readonly OntologyEdgeTypeSnapshot[],\n} as const;\n","/** Domain-pack inquiry shaping helpers for questions, tasks, and prompts. */\nimport type {\n DomainPack,\n InquiryShapingFrameworkHint,\n InquiryShapingQuestionTemplate,\n InquiryShapingTaskTemplate,\n} from \"./contracts\";\nimport {\n type DomainPackValidationIssue,\n validateDomainPack,\n} from \"./validation\";\n\nexport interface ShapingCondition {\n objectiveIncludes?: string[];\n questionTypes?: string[];\n}\n\ninterface BaseContributionItem {\n condition: ShapingCondition;\n priorityWeight: number;\n sourcePackId: string;\n}\n\nexport type QuestionTemplate = BaseContributionItem & {\n templateId: string;\n questionType:\n | \"validation\"\n | \"falsification\"\n | \"assumption_probe\"\n | \"counterfactual\"\n | \"clarification\"\n | \"comparison\"\n | \"mechanism\"\n | \"general\";\n priority?: \"critical\" | \"high\" | \"medium\" | \"low\";\n template: string;\n};\n\nexport type TaskGenerator = BaseContributionItem & {\n generatorId: string;\n title: string;\n description?: string;\n taskType?:\n | \"general\"\n | \"find_evidence\"\n | \"verify_claim\"\n | \"research\"\n | \"review\"\n | \"interview\"\n | \"analysis\"\n | \"track_metrics\";\n priority?: \"urgent\" | \"high\" | \"medium\" | \"low\";\n};\n\nexport type FrameworkHook = BaseContributionItem & {\n hookId: string;\n frameworkName: string;\n boost: number;\n reason?: string;\n};\n\nexport interface ShapingContribution {\n frameworkHooks: FrameworkHook[];\n packId: string;\n questionTemplates: QuestionTemplate[];\n taskGenerators: TaskGenerator[];\n}\n\nexport type ShapingContributionValidationIssue = DomainPackValidationIssue;\nexport interface ShapingContributionValidationResult {\n issues: ShapingContributionValidationIssue[];\n valid: boolean;\n}\n\nexport interface ShapingContributionRegistry {\n get(packId: string): ShapingContribution | null;\n list(): string[];\n register(pack: DomainPack): ShapingContribution;\n}\n\nconst QUESTION_PRIORITY_WEIGHT: Record<\n NonNullable<QuestionTemplate[\"priority\"]>,\n number\n> = {\n critical: 0.12,\n high: 0.08,\n medium: 0.04,\n low: 0.01,\n};\n\nconst TASK_PRIORITY_WEIGHT: Record<\n NonNullable<TaskGenerator[\"priority\"]>,\n number\n> = {\n urgent: 0.12,\n high: 0.08,\n medium: 0.04,\n low: 0.01,\n};\n\nfunction dedupeStrings(values: string[] | undefined): string[] | undefined {\n if (!values || values.length === 0) {\n return;\n }\n const normalized = values.map((value) => value.trim()).filter(Boolean);\n return normalized.length > 0 ? Array.from(new Set(normalized)) : undefined;\n}\n\nfunction toKebabCase(value: string): string {\n return value\n .trim()\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n}\n\nfunction normalizeCondition(args: {\n objectiveIncludes?: string[];\n questionTypes?: string[];\n}): ShapingCondition {\n return {\n ...(dedupeStrings(args.objectiveIncludes)\n ? { objectiveIncludes: dedupeStrings(args.objectiveIncludes) }\n : {}),\n ...(dedupeStrings(args.questionTypes)\n ? { questionTypes: dedupeStrings(args.questionTypes) }\n : {}),\n };\n}\n\nfunction normalizeQuestionType(\n questionType: InquiryShapingQuestionTemplate[\"questionType\"]\n): QuestionTemplate[\"questionType\"] {\n return questionType === \"scope\" ? \"clarification\" : questionType;\n}\n\nfunction questionTemplateToContribution(\n packId: string,\n template: InquiryShapingQuestionTemplate\n): QuestionTemplate {\n return {\n sourcePackId: packId,\n templateId: template.templateId,\n questionType: normalizeQuestionType(template.questionType),\n priority: template.priority,\n priorityWeight: QUESTION_PRIORITY_WEIGHT[template.priority || \"medium\"],\n template: template.template,\n condition: normalizeCondition({\n objectiveIncludes: template.whenObjectiveIncludes,\n }),\n };\n}\n\nfunction taskTemplateToContribution(\n packId: string,\n template: InquiryShapingTaskTemplate\n): TaskGenerator {\n return {\n sourcePackId: packId,\n generatorId: template.templateId,\n title: template.title,\n description: template.description,\n taskType: template.taskType,\n priority: template.priority,\n priorityWeight: TASK_PRIORITY_WEIGHT[template.priority || \"medium\"],\n condition: normalizeCondition({\n objectiveIncludes: template.whenObjectiveIncludes,\n questionTypes: template.whenQuestionTypes,\n }),\n };\n}\n\nfunction frameworkHintToContribution(\n packId: string,\n hint: InquiryShapingFrameworkHint\n): FrameworkHook {\n const hookId = `${packId}:${toKebabCase(hint.frameworkName || \"framework\")}`;\n return {\n sourcePackId: packId,\n hookId,\n frameworkName: hint.frameworkName,\n boost: hint.boost || 0,\n reason: hint.reason,\n priorityWeight: Math.max(0.02, hint.boost || 0),\n condition: normalizeCondition({\n objectiveIncludes: hint.whenObjectiveIncludes,\n questionTypes: hint.whenQuestionTypes,\n }),\n };\n}\n\nfunction issue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): ShapingContributionValidationIssue {\n return { code, message, path, severity };\n}\n\nfunction checkDuplicateIds(\n items: Record<string, string>[],\n idField: string,\n path: string\n): ShapingContributionValidationIssue[] {\n const issues: ShapingContributionValidationIssue[] = [];\n const seen = new Set<string>();\n for (const item of items) {\n const id = item[idField];\n if (!id) {\n continue;\n }\n if (seen.has(id)) {\n issues.push(\n issue(\n \"DUPLICATE_ID\",\n `Duplicate ${idField} \"${id}\"`,\n `${path}.${idField}`\n )\n );\n }\n seen.add(id);\n }\n return issues;\n}\n\nfunction formatRegistrationIssues(\n packId: string,\n issues: ShapingContributionValidationIssue[]\n): string {\n return `Invalid shaping contribution registration for ${packId}: ${issues\n .map((item) => `${item.code} at ${item.path}`)\n .join(\"; \")}`;\n}\n\nexport function buildShapingContribution(\n pack: DomainPack\n): ShapingContribution {\n const inquiryShaping = pack.inquiryShaping || {};\n\n return {\n packId: pack.packId,\n questionTemplates: (inquiryShaping.questionTemplates || []).map(\n (template) => questionTemplateToContribution(pack.packId, template)\n ),\n taskGenerators: (inquiryShaping.taskTemplates || []).map((template) =>\n taskTemplateToContribution(pack.packId, template)\n ),\n frameworkHooks: (inquiryShaping.frameworkHints || []).map((hint) =>\n frameworkHintToContribution(pack.packId, hint)\n ),\n };\n}\n\nexport function validateShapingContribution(\n contribution: ShapingContribution\n): ShapingContributionValidationResult {\n const issues: ShapingContributionValidationIssue[] = [];\n\n if (!contribution.packId?.trim()) {\n issues.push(issue(\"MISSING_PACK_ID\", \"packId is required\", \"packId\"));\n }\n\n issues.push(\n ...checkDuplicateIds(\n contribution.questionTemplates as unknown as Record<string, string>[],\n \"templateId\",\n \"questionTemplates\"\n )\n );\n issues.push(\n ...checkDuplicateIds(\n contribution.taskGenerators as unknown as Record<string, string>[],\n \"generatorId\",\n \"taskGenerators\"\n )\n );\n issues.push(\n ...checkDuplicateIds(\n contribution.frameworkHooks as unknown as Record<string, string>[],\n \"hookId\",\n \"frameworkHooks\"\n )\n );\n\n contribution.questionTemplates.forEach((template, index) => {\n if (!template.templateId?.trim()) {\n issues.push(\n issue(\n \"MISSING_TEMPLATE_ID\",\n \"Question template requires templateId\",\n `questionTemplates[${index}].templateId`\n )\n );\n }\n if (!template.template?.trim()) {\n issues.push(\n issue(\n \"MISSING_TEMPLATE\",\n \"Question template requires template text\",\n `questionTemplates[${index}].template`\n )\n );\n }\n });\n\n contribution.taskGenerators.forEach((generator, index) => {\n if (!generator.generatorId?.trim()) {\n issues.push(\n issue(\n \"MISSING_GENERATOR_ID\",\n \"Task generator requires generatorId\",\n `taskGenerators[${index}].generatorId`\n )\n );\n }\n if (!generator.title?.trim()) {\n issues.push(\n issue(\n \"MISSING_TASK_TITLE\",\n \"Task generator requires title\",\n `taskGenerators[${index}].title`\n )\n );\n }\n });\n\n contribution.frameworkHooks.forEach((hook, index) => {\n if (!hook.frameworkName?.trim()) {\n issues.push(\n issue(\n \"MISSING_FRAMEWORK_NAME\",\n \"Framework hook requires frameworkName\",\n `frameworkHooks[${index}].frameworkName`\n )\n );\n }\n if (!Number.isFinite(hook.boost) || hook.boost < 0) {\n issues.push(\n issue(\n \"INVALID_FRAMEWORK_BOOST\",\n \"Framework hook boost must be a non-negative number\",\n `frameworkHooks[${index}].boost`\n )\n );\n }\n });\n\n return {\n valid: issues.every((item) => item.severity !== \"error\"),\n issues,\n };\n}\n\nexport function createShapingContributionRegistry(\n packs: DomainPack[] = []\n): ShapingContributionRegistry {\n const registry = new Map<string, ShapingContribution>();\n\n const register = (pack: DomainPack): ShapingContribution => {\n if (registry.has(pack.packId)) {\n throw new Error(\n `Duplicate shaping contribution registration for ${pack.packId}`\n );\n }\n\n const packValidation = validateDomainPack(pack);\n if (!packValidation.valid) {\n throw new Error(\n formatRegistrationIssues(pack.packId, packValidation.issues)\n );\n }\n\n const contribution = buildShapingContribution(pack);\n const contributionValidation = validateShapingContribution(contribution);\n if (!contributionValidation.valid) {\n throw new Error(\n formatRegistrationIssues(pack.packId, contributionValidation.issues)\n );\n }\n\n registry.set(pack.packId, contribution);\n return contribution;\n };\n\n packs.forEach(register);\n\n return {\n register,\n get(packId: string) {\n return registry.get(packId) ?? null;\n },\n list() {\n return Array.from(registry.keys());\n },\n };\n}\n","/**\n * Domain Pack: Developer Reasoning\n *\n * Reference domain pack for AI-assisted software development reasoning.\n * This is the pack Lucern uses internally — a generic reasoning harness\n * for code development with beliefs, evidence, and structured workflows.\n *\n * Domain-neutral: demonstrates the contract without tenant-specific IP.\n */\n\nimport { defineDomainPack } from \"../contracts\";\n\nexport const DEVELOPER_REASONING_PACK = defineDomainPack({\n packId: \"developer-reasoning\",\n name: \"Developer Reasoning\",\n version: \"1.0.0\",\n\n ontologyBindings: [\n {\n ontologyId: \"software-entities\",\n versionConstraint: \"^1.0.0\",\n required: true,\n },\n ],\n\n topicRoots: [\n {\n slug: \"architecture\",\n name: \"Architecture\",\n description: \"System architecture decisions and trade-offs\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"implementation\",\n name: \"Implementation\",\n description: \"Active implementation work and worktrees\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"operations\",\n name: \"Operations\",\n description: \"Deployment, observability, and operational concerns\",\n },\n ],\n\n workflows: [\n {\n workflowId: \"worktree-lifecycle\",\n name: \"Worktree Lifecycle\",\n description:\n \"Structured development cycle from scoping through implementation and review\",\n steps: [\n {\n stepId: \"scope\",\n name: \"Scope & Context\",\n description:\n \"Read graph context, identify constraints and prior decisions\",\n requiredRoles: [\"investigator\"],\n produces: [\"scope-artifact\"],\n },\n {\n stepId: \"plan\",\n name: \"Plan\",\n description:\n \"Design implementation approach informed by graph beliefs\",\n requiredRoles: [\"investigator\", \"critic\"],\n produces: [\"plan-artifact\"],\n gateId: \"plan-reviewed\",\n },\n {\n stepId: \"build\",\n name: \"Build\",\n description: \"Implement with in-flight graph writeback\",\n requiredRoles: [\"implementer\"],\n produces: [\"implementation-artifact\"],\n },\n {\n stepId: \"review\",\n name: \"Review\",\n description:\n \"Validate implementation against plan, tests, and type safety\",\n requiredRoles: [\"critic\"],\n produces: [\"review-artifact\"],\n gateId: \"review-passed\",\n },\n ],\n requiredArtifacts: [\"scope-artifact\", \"implementation-artifact\"],\n gateCheckpoints: [\"plan-reviewed\", \"review-passed\"],\n },\n ],\n\n gates: [\n {\n gateId: \"plan-reviewed\",\n name: \"Plan Reviewed\",\n description: \"Implementation plan has been reviewed for feasibility\",\n criteria: [\n {\n criterionId: \"constraints-checked\",\n description:\n \"Plan respects high-credence beliefs (>= 0.90) as constraints\",\n metric: \"constraint_violations\",\n threshold: 0,\n operator: \"eq\",\n },\n {\n criterionId: \"scope-bounded\",\n description: \"Plan stays within declared file and concern scope\",\n metric: \"scope_bounded\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"review-passed\",\n name: \"Review Passed\",\n description: \"Implementation passes type checks, tests, and review\",\n criteria: [\n {\n criterionId: \"types-clean\",\n description: \"TypeScript check passes (npx tsc --noEmit)\",\n metric: \"tsc_errors\",\n threshold: 0,\n operator: \"eq\",\n },\n {\n criterionId: \"tests-passing\",\n description: \"All relevant tests pass\",\n metric: \"test_pass_ratio\",\n threshold: 1.0,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n ],\n\n artifacts: [\n {\n artifactId: \"scope-artifact\",\n name: \"Scope Context\",\n description:\n \"Graph context summary — beliefs, questions, constraints informing this work\",\n stage: \"scope\",\n contentSchema: {\n type: \"object\",\n properties: {\n beliefs: { type: \"array\", items: { type: \"string\" } },\n questions: { type: \"array\", items: { type: \"string\" } },\n constraints: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"beliefs\", \"constraints\"],\n },\n requiredFields: [\"beliefs\", \"constraints\"],\n },\n {\n artifactId: \"plan-artifact\",\n name: \"Implementation Plan\",\n description: \"Files to create/modify, approach, and test strategy\",\n stage: \"plan\",\n contentSchema: {\n type: \"object\",\n properties: {\n files: { type: \"array\", items: { type: \"string\" } },\n approach: { type: \"string\" },\n testStrategy: { type: \"string\" },\n },\n required: [\"files\", \"approach\"],\n },\n requiredFields: [\"files\", \"approach\"],\n },\n {\n artifactId: \"implementation-artifact\",\n name: \"Implementation Summary\",\n description: \"What was built, files changed, decisions made\",\n stage: \"build\",\n contentSchema: {\n type: \"object\",\n properties: {\n filesChanged: { type: \"array\", items: { type: \"string\" } },\n decisions: { type: \"array\", items: { type: \"string\" } },\n deferredWork: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"filesChanged\"],\n },\n requiredFields: [\"filesChanged\"],\n },\n {\n artifactId: \"review-artifact\",\n name: \"Review Summary\",\n description: \"Review findings, type check results, test results\",\n stage: \"review\",\n contentSchema: {\n type: \"object\",\n properties: {\n verdict: { type: \"string\", enum: [\"approve\", \"request-changes\"] },\n findings: { type: \"array\", items: { type: \"string\" } },\n testsPassing: { type: \"boolean\" },\n typesClean: { type: \"boolean\" },\n },\n required: [\"verdict\", \"testsPassing\", \"typesClean\"],\n },\n requiredFields: [\"verdict\", \"testsPassing\", \"typesClean\"],\n },\n ],\n\n roles: [\n {\n roleId: \"investigator\",\n name: \"Investigator\",\n description:\n \"Reads graph context and identifies relevant prior knowledge\",\n perspective: \"Context-aware, evidence-driven scoping\",\n optimizesFor:\n \"thoroughness of context retrieval and constraint identification\",\n mayBlock: false,\n },\n {\n roleId: \"implementer\",\n name: \"Implementer\",\n description: \"Writes code and records decisions in the graph\",\n perspective: \"Pragmatic, focused on working code within constraints\",\n optimizesFor: \"correctness and simplicity\",\n mayBlock: false,\n },\n {\n roleId: \"critic\",\n name: \"Critic\",\n description:\n \"Challenges assumptions, finds edge cases, and surfaces risks\",\n perspective: \"Skeptical, detail-oriented, adversarial testing\",\n optimizesFor: \"identifying weaknesses before they reach production\",\n mayBlock: true, // Epistemic Invariant #13\n },\n ],\n\n inquiryShaping: {\n questionTemplates: [\n {\n templateId: \"developer-boundary-falsifier\",\n questionType: \"falsification\",\n priority: \"high\",\n template:\n \"Which interface, contract, or boundary would fail first if {{objective}} is wrong?\",\n whenObjectiveIncludes: [\n \"build\",\n \"implement\",\n \"refactor\",\n \"integrate\",\n \"algorithm\",\n \"handler\",\n \"workflow\",\n ],\n },\n {\n templateId: \"developer-regression-counterfactual\",\n questionType: \"counterfactual\",\n priority: \"high\",\n template:\n \"What existing behavior or verification path would regress if {{hypothesis}} is false?\",\n whenObjectiveIncludes: [\n \"build\",\n \"implement\",\n \"add\",\n \"extend\",\n \"support\",\n ],\n },\n ],\n taskTemplates: [\n {\n templateId: \"developer-contract-audit\",\n title: \"Audit adjacent contracts and invariants for {{objective}}\",\n description:\n \"Inspect the existing MCP, schema, and worktree contracts that constrain {{objective}} before changing runtime behavior.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\"build\", \"implement\", \"extend\", \"support\"],\n },\n {\n templateId: \"developer-verification-pass\",\n title: \"Run focused verification for {{objective}}\",\n description:\n \"Add or update targeted tests and type-safety checks that would fail if {{hypothesis}} is wrong.\",\n taskType: \"review\",\n priority: \"medium\",\n whenObjectiveIncludes: [\"build\", \"implement\", \"algorithm\", \"workflow\"],\n whenQuestionTypes: [\"falsification\", \"counterfactual\"],\n },\n ],\n frameworkHints: [\n {\n frameworkName: \"Boundary Audit\",\n whenObjectiveIncludes: [\"handler\", \"contract\", \"api\", \"workflow\"],\n boost: 0.25,\n reason:\n \"Developer reasoning work benefits from explicit boundary checks.\",\n },\n {\n frameworkName: \"Pre-mortem\",\n whenQuestionTypes: [\"falsification\", \"counterfactual\"],\n boost: 0.2,\n reason:\n \"Stress-testing likely failure modes improves worktree shaping quality.\",\n },\n ],\n },\n\n methodologyPackId: \"developer\",\n});\n","/**\n * Private tail for the engineering accelerator domain pack.\n */\n\nimport type { DomainPackInput } from \"../contracts\";\n\nexport const ENGINEERING_ACCELERATOR_TAIL = {\n inquiryShaping: {\n questionTemplates: [\n {\n templateId: \"engineering-rationale-recall\",\n questionType: \"comparison\",\n priority: \"high\",\n template:\n \"Which prior migration, incident, review, or architecture decision most resembles {{objective}}, and what rationale or failure should we reuse before changing anything?\",\n whenObjectiveIncludes: [\n \"migration\",\n \"review\",\n \"pull request\",\n \"incident\",\n \"architecture\",\n \"decision\",\n \"rollback\",\n \"refactor\",\n ],\n },\n {\n templateId: \"engineering-rollback-falsifier\",\n questionType: \"falsification\",\n priority: \"critical\",\n template:\n \"What rollback, compatibility, or blast-radius assumption would fail first if {{hypothesis}} is wrong?\",\n whenObjectiveIncludes: [\"migration\", \"deploy\", \"rollout\", \"backfill\"],\n },\n {\n templateId: \"engineering-review-regression\",\n questionType: \"counterfactual\",\n priority: \"high\",\n template:\n \"Which prior regression, incident, or failed attempt should a reviewer inspect before approving {{objective}}?\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n },\n {\n templateId: \"engineering-incident-contradiction\",\n questionType: \"mechanism\",\n priority: \"high\",\n template:\n \"Which competing hypothesis or contradiction must be surfaced before treating {{objective}} as the root cause?\",\n whenObjectiveIncludes: [\n \"incident\",\n \"outage\",\n \"error\",\n \"latency\",\n \"regression\",\n ],\n },\n {\n templateId: \"engineering-architecture-precedent\",\n questionType: \"validation\",\n priority: \"high\",\n template:\n \"Which earlier architecture decision would {{objective}} narrow, supersede, or reaffirm, and what evidence justified it then?\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"api\",\n \"design\",\n ],\n },\n ],\n taskTemplates: [\n {\n templateId: \"engineering-memory-brief\",\n title:\n \"Compile prior rationale, analogous changes, and failed attempts for {{objective}}\",\n description:\n \"Create a first-hour memory brief so the workflow starts with precedent instead of rediscovery.\",\n taskType: \"analysis\",\n priority: \"urgent\",\n whenObjectiveIncludes: [\n \"migration\",\n \"review\",\n \"incident\",\n \"architecture\",\n \"decision\",\n \"rollback\",\n ],\n },\n {\n templateId: \"engineering-rollback-check\",\n title:\n \"Define blast radius, rollback path, and verification checkpoints for {{objective}}\",\n description:\n \"Turn risky engineering work into a reversible plan before implementation or approval.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\"migration\", \"deploy\", \"rollout\", \"backfill\"],\n },\n {\n templateId: \"engineering-review-brief\",\n title:\n \"Draft a review brief linking prior rationale, regressions, and missing checks for {{objective}}\",\n description:\n \"Use prior incidents and earlier review context to focus approval on what can actually break.\",\n taskType: \"review\",\n priority: \"high\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n },\n {\n templateId: \"engineering-contradiction-sweep\",\n title:\n \"Surface competing hypotheses and active contradictions for {{objective}}\",\n description:\n \"Keep incident triage or regression analysis from collapsing into a single untested explanation.\",\n taskType: \"analysis\",\n priority: \"high\",\n whenObjectiveIncludes: [\n \"incident\",\n \"outage\",\n \"error\",\n \"latency\",\n \"regression\",\n ],\n },\n {\n templateId: \"engineering-decision-record\",\n title:\n \"Capture cited precedent, rejected options, and follow-up risks for {{objective}}\",\n description:\n \"Turn architecture decisions into explicit rationale that future work can recall instead of re-litigating.\",\n taskType: \"analysis\",\n priority: \"medium\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"design\",\n \"refactor\",\n ],\n },\n ],\n frameworkHints: [\n {\n frameworkName: \"Timeline Replay\",\n whenObjectiveIncludes: [\n \"migration\",\n \"deploy\",\n \"rollout\",\n \"incident\",\n \"rollback\",\n ],\n boost: 0.28,\n reason:\n \"Migration and incident work benefits from replaying prior changes, causes, and rollback timing.\",\n },\n {\n frameworkName: \"Contradiction Sweep\",\n whenObjectiveIncludes: [\"incident\", \"outage\", \"error\", \"regression\"],\n boost: 0.3,\n reason:\n \"Incidents need competing hypotheses surfaced explicitly before confidence collapses too early.\",\n },\n {\n frameworkName: \"ADR Delta Review\",\n whenObjectiveIncludes: [\n \"architecture\",\n \"decision\",\n \"interface\",\n \"contract\",\n \"design\",\n ],\n boost: 0.26,\n reason:\n \"Architecture work should compare against earlier decisions and explain the delta, not just the new plan.\",\n },\n {\n frameworkName: \"Pre-Merge Regression Audit\",\n whenObjectiveIncludes: [\"review\", \"pull request\", \"diff\", \"merge\"],\n boost: 0.24,\n reason:\n \"Risky reviews are faster and better when they start from prior regressions, rationale, and missing checks.\",\n },\n ],\n },\n\n operatingSystem: {\n prompts: [\n {\n promptId: \"claude-quick-reference\",\n description: \"Claude Code quick-reference and Lucern operating loop\",\n source: \"file\",\n ref: \"CLAUDE.md\",\n channel: \"bootstrap\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n promptId: \"build-command\",\n description: \"Main-session worktree execution protocol\",\n source: \"file\",\n ref: \".claude/commands/build.md\",\n channel: \"workflow\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"architect-command\",\n description: \"Product-architecture framing command\",\n source: \"file\",\n ref: \".claude/commands/architect.md\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"pipeline-command\",\n description: \"Pipeline sequencing and queue-management command\",\n source: \"file\",\n ref: \".claude/commands/pipeline.md\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"pr-command\",\n description: \"PR gating and merge-close workflow command\",\n source: \"file\",\n ref: \".claude/commands/pr.md\",\n channel: \"review\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n promptId: \"lucern-generate-questions\",\n description: \"Langfuse prompt for pack-shaped question generation\",\n source: \"langfuse\",\n ref: \"lucern/generate-questions\",\n channel: \"analysis\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n promptId: \"lucern-contradiction-analysis\",\n description:\n \"Langfuse prompt for contradiction-heavy debugging and incidents\",\n source: \"langfuse\",\n ref: \"lucern/contradiction-analysis\",\n channel: \"review\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n ],\n tools: [\n {\n toolId: \"start-investigation\",\n description: \"Canonical graph bootstrap before coding or review\",\n kind: \"mcp\",\n entrypoint: \"compile_context\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"record-scope-learning\",\n description: \"Commit-level ledger writeback with touched paths\",\n kind: \"mcp\",\n entrypoint: \"record_scope_learning\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"record-attempt\",\n description: \"Anti-repetition failure logging during implementation\",\n kind: \"mcp\",\n entrypoint: \"record_attempt\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"pipeline-snapshot\",\n description: \"Campaign and lane-aware pipeline summary\",\n kind: \"mcp\",\n entrypoint: \"pipeline_snapshot\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\", \"portable\"],\n },\n {\n toolId: \"session-init\",\n description: \"SessionStart hook bootstrap for Lucern context\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts session-init\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"tool-log\",\n description: \"Post-tool ledger logger and edit-counter reset hook\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts tool-log\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"build-bash-gate\",\n description:\n \"Commit and PR gate enforcing ledger plus knowledge writes\",\n kind: \"hook\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts build-bash-gate\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n toolId: \"lucern-cli-init\",\n description: \"One-step MCP setup for new repositories\",\n kind: \"cli\",\n entrypoint: \"npx tsx apps/mcp-server/src/cli.ts init\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n toolId: \"kit-install\",\n description:\n \"Manifest-driven installer for the turnkey Lucern engineering solution pack\",\n kind: \"cli\",\n entrypoint:\n \"npx tsx apps/mcp-server/src/cli.ts kit install developer-engineering\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n ],\n setupAssets: [\n {\n assetId: \"claude-instructions\",\n kind: \"instruction\",\n description: \"Primary Claude Code quick-reference and Lucern protocol\",\n path: \"CLAUDE.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"codex-bridge\",\n kind: \"instruction\",\n description: \"Codex bridge instructions for Lucern-native development\",\n path: \"AGENTS.md\",\n required: true,\n runtimeTargets: [\"codex\", \"hybrid\"],\n },\n {\n assetId: \"mcp-config\",\n kind: \"manifest\",\n description: \"MCP server registry including lucern-graph\",\n path: \".mcp.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"kit-manifest\",\n kind: \"manifest\",\n description:\n \"Serialized engineering kit blueprint capturing prompts, tools, ontology, and topic scaffolding\",\n path: \".lucern/kits/developer-engineering.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-launcher\",\n kind: \"script\",\n description: \"Launch script used by MCP clients to start lucern-graph\",\n path: \"scripts/lucern_start\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-shell-wrapper\",\n kind: \"script\",\n description:\n \"Shell wrapper for invoking Lucern CLI commands with credential resolution\",\n path: \"scripts/lucern\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"lucern-cli-script\",\n kind: \"script\",\n description:\n \"CLI entrypoint for hook commands, init, sync, and kit installation\",\n path: \"apps/mcp-server/src/cli.ts\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"claude-settings\",\n kind: \"settings\",\n description: \"Claude hook wiring and enforcement defaults\",\n path: \".claude/settings.json\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"permission-gate-hook\",\n kind: \"hook\",\n description: \"Rule-based permission gate for risky tool usage\",\n path: \".claude/hooks/permission-gate.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"inbox-check-hook\",\n kind: \"hook\",\n description: \"Session-start inbox and PR queue surfacing\",\n path: \".claude/hooks/inbox-check.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"prompt-router-hook\",\n kind: \"hook\",\n description: \"Prompt router for /build validation and inbox context\",\n path: \".claude/hooks/prompt-router.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"writeback-gate-hook\",\n kind: \"hook\",\n description: \"Session-close writeback quality gate\",\n path: \".claude/hooks/writeback-gate.sh\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"build-command-doc\",\n kind: \"template\",\n description: \"Inline /build command contract\",\n path: \".claude/commands/build.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"architect-command-doc\",\n kind: \"template\",\n description: \"Inline /architect command contract\",\n path: \".claude/commands/architect.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"pipeline-command-doc\",\n kind: \"template\",\n description: \"Inline /pipeline command contract\",\n path: \".claude/commands/pipeline.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"pr-command-doc\",\n kind: \"template\",\n description: \"Inline /pr command contract\",\n path: \".claude/commands/pr.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"claude-agent-catalog\",\n kind: \"agent\",\n description:\n \"Curated agent catalog for architecture, pipeline, QA, and PR review\",\n path: \".claude/agents\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"claude-skill-catalog\",\n kind: \"skill\",\n description:\n \"Skill catalog containing build, pipeline, product-architect, and Lucern workflows\",\n path: \".claude/skills\",\n required: true,\n runtimeTargets: [\"claude-code\", \"hybrid\"],\n },\n {\n assetId: \"skills-sync-script\",\n kind: \"script\",\n description: \"Bridge script for syncing Claude and Codex skill mirrors\",\n path: \"scripts/sync_codex_claude_skills.sh\",\n required: true,\n runtimeTargets: [\"codex\", \"hybrid\"],\n },\n {\n assetId: \"hooks-doc\",\n kind: \"template\",\n description: \"Hook architecture and writeback enforcement reference\",\n path: \"docs/operations/hooks.md\",\n required: true,\n runtimeTargets: [\"claude-code\", \"codex\", \"hybrid\"],\n },\n {\n assetId: \"setup-ui\",\n kind: \"ui\",\n description:\n \"Portal setup surface showing quickstart and bootstrap steps\",\n path: \"_template/dev/page.tsx\",\n required: false,\n runtimeTargets: [\"portable\", \"claude-code\", \"codex\", \"hybrid\"],\n },\n ],\n topicTemplates: [\n {\n slug: \"migration-precedent\",\n name: \"Migration Precedent\",\n description:\n \"Analogous schema and rollout changes worth recalling before execution\",\n parentSlug: \"migrations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"rollback-playbooks\",\n name: \"Rollback Playbooks\",\n description:\n \"Named rollback strategies and canary escape hatches for risky changes\",\n parentSlug: \"migrations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"review-briefs\",\n name: \"Review Briefs\",\n description:\n \"Diff-scoped risk briefs grounded in prior regressions and rationale\",\n parentSlug: \"reviews\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"regression-history\",\n name: \"Regression History\",\n description:\n \"Past regressions and approval misses that should influence current reviews\",\n parentSlug: \"reviews\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"active-incidents\",\n name: \"Active Incidents\",\n description:\n \"Current incidents with competing hypotheses, mitigations, and contradictions\",\n parentSlug: \"incidents\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"incident-postmortems\",\n name: \"Incident Postmortems\",\n description:\n \"Resolved incidents with preserved rationale and follow-up learnings\",\n parentSlug: \"incidents\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"adrs\",\n name: \"Architecture Decision Records\",\n description:\n \"Citable architecture records with precedent, objections, and supersessions\",\n parentSlug: \"architecture\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"interface-contracts\",\n name: \"Interface Contracts\",\n description:\n \"APIs, boundaries, and contract deltas that architecture work depends on\",\n parentSlug: \"architecture\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"failed-attempts\",\n name: \"Failed Attempts\",\n description:\n \"Anti-repetition log for engineering decisions and implementation dead ends\",\n parentSlug: \"decision-memory\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"rationale-recall\",\n name: \"Rationale Recall\",\n description:\n \"Recalled rationale snippets and analogs worth citing before new work\",\n parentSlug: \"decision-memory\",\n ontologyId: \"software-entities\",\n },\n ],\n installProfiles: [\n {\n profileId: \"claude-code\",\n name: \"Claude Code Engineering Kit\",\n description:\n \"Installs Claude-native hooks, commands, agent catalog, and first-hour engineering prompts on top of Lucern.\",\n runtimeTarget: \"claude-code\",\n promptIds: [\n \"claude-quick-reference\",\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"session-init\",\n \"tool-log\",\n \"build-bash-gate\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"claude-instructions\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"claude-settings\",\n \"permission-gate-hook\",\n \"inbox-check-hook\",\n \"prompt-router-hook\",\n \"writeback-gate-hook\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-agent-catalog\",\n \"claude-skill-catalog\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n {\n profileId: \"codex\",\n name: \"Codex Engineering Kit\",\n description:\n \"Installs the Codex bridge, Lucern MCP wiring, and the same pack-level workflows without Claude-specific hooks.\",\n runtimeTarget: \"codex\",\n promptIds: [\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"codex-bridge\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-skill-catalog\",\n \"skills-sync-script\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n {\n profileId: \"hybrid\",\n name: \"Hybrid Engineering Kit\",\n description:\n \"Installs both Claude and Codex entry surfaces against one Lucern-native engineering operating system.\",\n runtimeTarget: \"hybrid\",\n promptIds: [\n \"claude-quick-reference\",\n \"build-command\",\n \"architect-command\",\n \"pipeline-command\",\n \"pr-command\",\n \"lucern-generate-questions\",\n \"lucern-contradiction-analysis\",\n ],\n toolIds: [\n \"start-investigation\",\n \"record-scope-learning\",\n \"record-attempt\",\n \"pipeline-snapshot\",\n \"session-init\",\n \"tool-log\",\n \"build-bash-gate\",\n \"lucern-cli-init\",\n \"kit-install\",\n ],\n assetIds: [\n \"claude-instructions\",\n \"codex-bridge\",\n \"mcp-config\",\n \"kit-manifest\",\n \"lucern-launcher\",\n \"lucern-shell-wrapper\",\n \"lucern-cli-script\",\n \"claude-settings\",\n \"permission-gate-hook\",\n \"inbox-check-hook\",\n \"prompt-router-hook\",\n \"writeback-gate-hook\",\n \"build-command-doc\",\n \"architect-command-doc\",\n \"pipeline-command-doc\",\n \"pr-command-doc\",\n \"claude-agent-catalog\",\n \"claude-skill-catalog\",\n \"skills-sync-script\",\n \"hooks-doc\",\n \"setup-ui\",\n ],\n defaultTopicSlugs: [\n \"migrations\",\n \"reviews\",\n \"incidents\",\n \"architecture\",\n \"decision-memory\",\n ],\n },\n ],\n },\n\n appPackKeys: [\n \"chat-v1\",\n \"documents-v1\",\n \"epistemic-algorithms-v1\",\n \"graph-visualization-v1\",\n \"task-management-v1\",\n ],\n methodologyPackId: \"developer\",\n} satisfies Pick<\n DomainPackInput,\n \"inquiryShaping\" | \"operatingSystem\" | \"appPackKeys\" | \"methodologyPackId\"\n>;\n","/**\n * Domain Pack: Engineering Accelerator\n *\n * First concrete engineering domain pack for proving that pack-host can\n * turn first-hour workflows into reusable reasoning scaffolding.\n */\n\nimport { defineDomainPack } from \"../contracts\";\nimport { ENGINEERING_ACCELERATOR_TAIL } from \"./engineering-accelerator-tail\";\n\nexport const ENGINEERING_ACCELERATOR_PACK = defineDomainPack({\n packId: \"engineering-accelerator\",\n name: \"Engineering Accelerator\",\n version: \"1.0.0\",\n\n ontologyBindings: [\n {\n ontologyId: \"software-entities\",\n versionConstraint: \"^1.0.0\",\n required: true,\n provisionMode: \"seed\",\n seedRef:\n \"packages/pack-host/src/domain-pack/ontology/software-entities-v1.ts\",\n requiredEntityTypes: [\n \"repository\",\n \"service\",\n \"module\",\n \"workflow\",\n \"incident\",\n \"migration\",\n \"decision_record\",\n \"agent\",\n ],\n requiredEdgeTypes: [\n \"depends_on\",\n \"owns\",\n \"calls\",\n \"blocks\",\n \"reviews\",\n \"mitigates\",\n \"supersedes\",\n ],\n },\n ],\n\n topicRoots: [\n {\n slug: \"migrations\",\n name: \"Migrations\",\n description:\n \"Schema, API, and runtime migrations with blast-radius, rollback, and parity memory\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"reviews\",\n name: \"Reviews\",\n description:\n \"Pull-request and change-review workflows grounded in prior rationale and regressions\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"incidents\",\n name: \"Incidents\",\n description:\n \"Incident response driven by competing hypotheses, contradictions, and mitigations\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"architecture\",\n name: \"Architecture\",\n description:\n \"Architecture decisions, interface trade-offs, and precedent-aware rationale recall\",\n ontologyId: \"software-entities\",\n },\n {\n slug: \"decision-memory\",\n name: \"Decision Memory\",\n description:\n \"Cross-cutting rationale recall, failed attempts, and analog reuse across engineering work\",\n ontologyId: \"software-entities\",\n },\n ],\n\n workflows: [\n {\n workflowId: \"migration-readiness\",\n name: \"Migration Readiness\",\n description:\n \"Recall similar migrations, map blast radius, and define rollback before rollout\",\n steps: [\n {\n stepId: \"recall-history\",\n name: \"Recall History\",\n description:\n \"Compile analogous migrations, prior rationale, failed attempts, and compatibility constraints\",\n requiredRoles: [\"context-compiler\", \"migration-owner\"],\n produces: [\"memory-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"plan-rollout\",\n name: \"Plan Rollout\",\n description:\n \"Define blast radius, sequencing, rollback, and verification checkpoints\",\n requiredRoles: [\"migration-owner\", \"critic\"],\n produces: [\"migration-plan\"],\n gateId: \"rollback-ready\",\n },\n {\n stepId: \"verify-rollout\",\n name: \"Verify Rollout\",\n description:\n \"Confirm canary, rollback, and parity checks are explicit before execution\",\n requiredRoles: [\"reviewer\"],\n produces: [\"verification-checklist\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"memory-brief\",\n \"migration-plan\",\n \"verification-checklist\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"rollback-ready\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"pull-request-review\",\n name: \"Pull Request Review\",\n description:\n \"Use prior rationale, regressions, and verification history to review risky changes faster\",\n steps: [\n {\n stepId: \"recall-review-context\",\n name: \"Recall Review Context\",\n description:\n \"Load earlier decisions, similar diffs, failed attempts, and relevant incidents\",\n requiredRoles: [\"context-compiler\", \"reviewer\"],\n produces: [\"review-context\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"inspect-diff\",\n name: \"Inspect Diff\",\n description:\n \"Surface risk areas, stale assumptions, and regressions that should block approval\",\n requiredRoles: [\"reviewer\", \"critic\"],\n produces: [\"review-findings\"],\n gateId: \"review-risks-surfaced\",\n },\n {\n stepId: \"verify-changes\",\n name: \"Verify Changes\",\n description:\n \"Tie approval to explicit typecheck, test, and integration evidence\",\n requiredRoles: [\"reviewer\"],\n produces: [\"verification-checklist\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"review-context\",\n \"review-findings\",\n \"verification-checklist\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"review-risks-surfaced\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"incident-response\",\n name: \"Incident Response\",\n description:\n \"Treat incidents as contradiction-heavy reasoning tasks before committing to a root cause\",\n steps: [\n {\n stepId: \"collect-signal\",\n name: \"Collect Signal\",\n description:\n \"Assemble symptoms, recent changes, precedent incidents, and active hypotheses\",\n requiredRoles: [\"context-compiler\", \"incident-commander\"],\n produces: [\"incident-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"surface-contradictions\",\n name: \"Surface Contradictions\",\n description:\n \"Make competing explanations explicit before mitigation narrows the search space\",\n requiredRoles: [\"incident-commander\", \"critic\"],\n produces: [\"contradiction-report\"],\n gateId: \"contradictions-surfaced\",\n },\n {\n stepId: \"plan-mitigation\",\n name: \"Plan Mitigation\",\n description:\n \"Choose mitigations with owners, reversibility, and verification paths\",\n requiredRoles: [\"incident-commander\", \"reviewer\"],\n produces: [\"mitigation-plan\"],\n gateId: \"verification-covered\",\n },\n ],\n requiredArtifacts: [\n \"incident-brief\",\n \"contradiction-report\",\n \"mitigation-plan\",\n ],\n gateCheckpoints: [\n \"memory-grounded\",\n \"contradictions-surfaced\",\n \"verification-covered\",\n ],\n },\n {\n workflowId: \"architecture-decision\",\n name: \"Architecture Decision\",\n description:\n \"Ground architecture choices in cited precedent, explicit alternatives, and follow-up risk\",\n steps: [\n {\n stepId: \"recall-precedent\",\n name: \"Recall Precedent\",\n description:\n \"Gather analogous decisions, trade-offs, reversals, and evidence already in the graph\",\n requiredRoles: [\"context-compiler\", \"architect\"],\n produces: [\"decision-brief\"],\n gateId: \"memory-grounded\",\n },\n {\n stepId: \"compare-options\",\n name: \"Compare Options\",\n description:\n \"Contrast viable paths, show what changes, and surface objections early\",\n requiredRoles: [\"architect\", \"critic\"],\n produces: [\"decision-brief\"],\n gateId: \"decision-rationale-citable\",\n },\n {\n stepId: \"record-decision\",\n name: \"Record Decision\",\n description:\n \"Capture the chosen path, cited rationale, and follow-up risks for later recall\",\n requiredRoles: [\"architect\"],\n produces: [\"decision-record\"],\n },\n ],\n requiredArtifacts: [\"decision-brief\", \"decision-record\"],\n gateCheckpoints: [\"memory-grounded\", \"decision-rationale-citable\"],\n },\n ],\n\n gates: [\n {\n gateId: \"memory-grounded\",\n name: \"Memory Grounded\",\n description:\n \"The workflow is anchored in prior rationale, analogs, and failure memory before action\",\n criteria: [\n {\n criterionId: \"precedent-cited\",\n description:\n \"At least one prior change, incident, or decision is cited\",\n metric: \"precedent_citations\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"failure-log-checked\",\n description:\n \"Relevant failed attempts or incident history were checked\",\n metric: \"failure_log_checked\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"rollback-ready\",\n name: \"Rollback Ready\",\n description:\n \"Risky migrations cannot proceed without explicit rollback and blast-radius coverage\",\n criteria: [\n {\n criterionId: \"blast-radius-scoped\",\n description: \"Blast radius is enumerated for the proposed change\",\n metric: \"blast_radius_scoped\",\n threshold: 1,\n operator: \"eq\",\n },\n {\n criterionId: \"rollback-path-defined\",\n description: \"Rollback path is explicit and reversible\",\n metric: \"rollback_path_defined\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"review-risks-surfaced\",\n name: \"Review Risks Surfaced\",\n description:\n \"Review must explain what could regress and why approval is still justified\",\n criteria: [\n {\n criterionId: \"risk-areas-documented\",\n description:\n \"Risk areas and likely regressions are called out explicitly\",\n metric: \"risk_areas_documented\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"prior-regressions-checked\",\n description: \"Reviewer checked analogous regressions or incidents\",\n metric: \"prior_regressions_checked\",\n threshold: 1,\n operator: \"eq\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"contradictions-surfaced\",\n name: \"Contradictions Surfaced\",\n description:\n \"Incidents should preserve competing hypotheses long enough to avoid false certainty\",\n criteria: [\n {\n criterionId: \"multiple-hypotheses\",\n description: \"At least two plausible hypotheses remain visible\",\n metric: \"competing_hypotheses_count\",\n threshold: 2,\n operator: \"gte\",\n },\n {\n criterionId: \"contradictions-reviewed\",\n description: \"Relevant contradictions or tensions were reviewed\",\n metric: \"contradictions_reviewed\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"decision-rationale-citable\",\n name: \"Decision Rationale Citable\",\n description:\n \"Architecture choices should cite prior rationale and compare viable alternatives\",\n criteria: [\n {\n criterionId: \"options-compared\",\n description: \"At least two options are compared before choosing one\",\n metric: \"options_compared\",\n threshold: 2,\n operator: \"gte\",\n },\n {\n criterionId: \"prior-decisions-cited\",\n description: \"Decision cites prior beliefs, ADRs, or incidents\",\n metric: \"prior_decisions_cited\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n {\n gateId: \"verification-covered\",\n name: \"Verification Covered\",\n description:\n \"Approval, rollout, and mitigation all require named verification paths\",\n criteria: [\n {\n criterionId: \"checks-defined\",\n description: \"At least one explicit verification path is named\",\n metric: \"verification_paths_defined\",\n threshold: 1,\n operator: \"gte\",\n },\n {\n criterionId: \"owners-named\",\n description: \"Owners or on-call responsibility are explicit\",\n metric: \"owner_count\",\n threshold: 1,\n operator: \"gte\",\n },\n ],\n severity: \"blocking\",\n },\n ],\n\n artifacts: [\n {\n artifactId: \"memory-brief\",\n name: \"Memory Brief\",\n description:\n \"A reusable brief of analogous changes, prior rationale, failed attempts, and contradictions\",\n stage: \"recall-history\",\n contentSchema: {\n type: \"object\",\n properties: {\n analogousChanges: { type: \"array\", items: { type: \"string\" } },\n priorDecisions: { type: \"array\", items: { type: \"string\" } },\n failedAttempts: { type: \"array\", items: { type: \"string\" } },\n contradictions: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"analogousChanges\", \"priorDecisions\"],\n },\n requiredFields: [\"analogousChanges\", \"priorDecisions\"],\n },\n {\n artifactId: \"migration-plan\",\n name: \"Migration Plan\",\n description:\n \"Blast radius, rollback path, rollout checkpoints, and verification plan\",\n stage: \"plan-rollout\",\n contentSchema: {\n type: \"object\",\n properties: {\n blastRadius: { type: \"array\", items: { type: \"string\" } },\n rollbackPlan: { type: \"string\" },\n verificationPath: { type: \"array\", items: { type: \"string\" } },\n canarySteps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"blastRadius\", \"rollbackPlan\", \"verificationPath\"],\n },\n requiredFields: [\"blastRadius\", \"rollbackPlan\", \"verificationPath\"],\n },\n {\n artifactId: \"verification-checklist\",\n name: \"Verification Checklist\",\n description:\n \"Named checks, owners, and pass/fail criteria for rollout or approval\",\n stage: \"verify-rollout\",\n contentSchema: {\n type: \"object\",\n properties: {\n checks: { type: \"array\", items: { type: \"string\" } },\n owners: { type: \"array\", items: { type: \"string\" } },\n passCriteria: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"checks\", \"owners\"],\n },\n requiredFields: [\"checks\", \"owners\"],\n },\n {\n artifactId: \"review-context\",\n name: \"Review Context\",\n description:\n \"Prior rationale, related diffs, incidents, and failure history relevant to a review\",\n stage: \"recall-review-context\",\n contentSchema: {\n type: \"object\",\n properties: {\n rationaleLinks: { type: \"array\", items: { type: \"string\" } },\n analogousDiffs: { type: \"array\", items: { type: \"string\" } },\n relatedIncidents: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"rationaleLinks\"],\n },\n requiredFields: [\"rationaleLinks\"],\n },\n {\n artifactId: \"review-findings\",\n name: \"Review Findings\",\n description:\n \"What could regress, what evidence was checked, and whether the change should be blocked\",\n stage: \"inspect-diff\",\n contentSchema: {\n type: \"object\",\n properties: {\n findings: { type: \"array\", items: { type: \"string\" } },\n regressionsChecked: { type: \"array\", items: { type: \"string\" } },\n blockReason: { type: \"string\" },\n },\n required: [\"findings\", \"regressionsChecked\"],\n },\n requiredFields: [\"findings\", \"regressionsChecked\"],\n },\n {\n artifactId: \"incident-brief\",\n name: \"Incident Brief\",\n description:\n \"Signals, recent changes, competing hypotheses, and precedent incidents\",\n stage: \"collect-signal\",\n contentSchema: {\n type: \"object\",\n properties: {\n symptoms: { type: \"array\", items: { type: \"string\" } },\n recentChanges: { type: \"array\", items: { type: \"string\" } },\n competingHypotheses: { type: \"array\", items: { type: \"string\" } },\n precedentIncidents: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"symptoms\", \"competingHypotheses\"],\n },\n requiredFields: [\"symptoms\", \"competingHypotheses\"],\n },\n {\n artifactId: \"contradiction-report\",\n name: \"Contradiction Report\",\n description:\n \"Active contradictions, why they matter, and what evidence could collapse them\",\n stage: \"surface-contradictions\",\n contentSchema: {\n type: \"object\",\n properties: {\n contradictions: { type: \"array\", items: { type: \"string\" } },\n likelyRootCauses: { type: \"array\", items: { type: \"string\" } },\n missingEvidence: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"contradictions\", \"likelyRootCauses\"],\n },\n requiredFields: [\"contradictions\", \"likelyRootCauses\"],\n },\n {\n artifactId: \"mitigation-plan\",\n name: \"Mitigation Plan\",\n description:\n \"Chosen mitigation, rollback path, and verification ownership for an incident\",\n stage: \"plan-mitigation\",\n contentSchema: {\n type: \"object\",\n properties: {\n mitigationSteps: { type: \"array\", items: { type: \"string\" } },\n rollbackPlan: { type: \"string\" },\n owners: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"mitigationSteps\", \"owners\"],\n },\n requiredFields: [\"mitigationSteps\", \"owners\"],\n },\n {\n artifactId: \"decision-brief\",\n name: \"Decision Brief\",\n description:\n \"Options, cited precedent, trade-offs, and objections for an architecture decision\",\n stage: \"compare-options\",\n contentSchema: {\n type: \"object\",\n properties: {\n options: { type: \"array\", items: { type: \"string\" } },\n citedPrecedent: { type: \"array\", items: { type: \"string\" } },\n objections: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"options\", \"citedPrecedent\"],\n },\n requiredFields: [\"options\", \"citedPrecedent\"],\n },\n {\n artifactId: \"decision-record\",\n name: \"Decision Record\",\n description:\n \"Chosen path, why it won, what it supersedes, and what follow-up remains open\",\n stage: \"record-decision\",\n contentSchema: {\n type: \"object\",\n properties: {\n decision: { type: \"string\" },\n rationale: { type: \"array\", items: { type: \"string\" } },\n supersedes: { type: \"array\", items: { type: \"string\" } },\n followUps: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"decision\", \"rationale\"],\n },\n requiredFields: [\"decision\", \"rationale\"],\n },\n ],\n\n roles: [\n {\n roleId: \"context-compiler\",\n name: \"Context Compiler\",\n description:\n \"Compiles prior rationale, analogs, and failure memory into reusable first-hour context\",\n perspective: \"History-first, evidence-weighted context assembly\",\n optimizesFor: \"recall quality and anti-repetition coverage\",\n mayBlock: false,\n },\n {\n roleId: \"migration-owner\",\n name: \"Migration Owner\",\n description:\n \"Scopes rollout blast radius, rollback, sequencing, and compatibility risk\",\n perspective: \"Operational caution with explicit rollback discipline\",\n optimizesFor: \"safe rollout planning\",\n mayBlock: false,\n },\n {\n roleId: \"reviewer\",\n name: \"Reviewer\",\n description:\n \"Evaluates risky changes against prior regressions, evidence, and missing checks\",\n perspective: \"Evidence-backed change approval with regression awareness\",\n optimizesFor: \"defect prevention and clear approval rationale\",\n mayBlock: true,\n },\n {\n roleId: \"incident-commander\",\n name: \"Incident Commander\",\n description:\n \"Maintains multiple plausible explanations while driving mitigation decisions\",\n perspective:\n \"Fast, reversible action without collapsing uncertainty too early\",\n optimizesFor: \"time-to-mitigation with preserved reasoning integrity\",\n mayBlock: false,\n },\n {\n roleId: \"architect\",\n name: \"Architect\",\n description:\n \"Turns competing options into explicit decisions with cited precedent and follow-up risk\",\n perspective: \"Trade-off clarity and long-term maintainability\",\n optimizesFor: \"decision quality and rationale reuse\",\n mayBlock: false,\n },\n {\n roleId: \"critic\",\n name: \"Critic\",\n description:\n \"Finds weak assumptions, missing rollback paths, and untested contradictions\",\n perspective: \"Skeptical, adversarial, and detail-oriented\",\n optimizesFor: \"early detection of brittle plans\",\n mayBlock: true,\n },\n ],\n\n ...ENGINEERING_ACCELERATOR_TAIL,\n});\n","/**\n * Domain Pack Registry\n *\n * Internal registry of domain pack definitions.\n */\n\nimport type { DomainPack } from \"../contracts\";\nimport { createShapingContributionRegistry } from \"../shaping\";\n// biome-ignore lint/style/noExportedImports: re-exported as public API from registry\nimport { DEVELOPER_REASONING_PACK } from \"./developer-reasoning\";\n// biome-ignore lint/style/noExportedImports: re-exported as public API from registry\nimport { ENGINEERING_ACCELERATOR_PACK } from \"./engineering-accelerator\";\n\nconst DOMAIN_PACKS: Record<string, DomainPack> = {\n \"developer-reasoning\": DEVELOPER_REASONING_PACK,\n \"engineering-accelerator\": ENGINEERING_ACCELERATOR_PACK,\n};\n\nconst shapingContributionRegistry = createShapingContributionRegistry(\n Object.values(DOMAIN_PACKS)\n);\n\nexport function getDomainPack(packId: string): DomainPack | null {\n return DOMAIN_PACKS[packId] ?? null;\n}\n\nexport function listDomainPacks(): string[] {\n return Object.keys(DOMAIN_PACKS);\n}\n\nexport const getShapingContribution = shapingContributionRegistry.get.bind(\n shapingContributionRegistry\n);\n\nexport const listShapingContributions = shapingContributionRegistry.list.bind(\n shapingContributionRegistry\n);\n\nexport { DEVELOPER_REASONING_PACK, ENGINEERING_ACCELERATOR_PACK };\n","/**\n * Pack Lifecycle Enforcement\n *\n * License and dependency checks for tenant/workspace pack enablement.\n */\n\nimport type { AppPackManifest, PackLifecycle } from \"./contracts\";\n\nexport type PackEnablementReason =\n | \"allowed\"\n | \"pack_not_found\"\n | \"lifecycle_blocked\"\n | \"license_missing\"\n | \"dependency_missing\"\n | \"dependency_not_installed\"\n | \"dependency_not_enabled\";\n\nexport interface PackEnablementDecision {\n allowed: boolean;\n missingDependencies: string[];\n packKey: string;\n reason: PackEnablementReason;\n}\n\nexport interface PackEnablementPolicy {\n allowedLifecycles?: readonly PackLifecycle[];\n enabledPackKeys?: readonly string[];\n installedPackKeys?: readonly string[];\n requireExplicitEntitlement?: boolean;\n tenantEntitledPackKeys?: readonly string[];\n workspaceEntitledPackKeys?: readonly string[];\n}\n\nconst DEFAULT_ALLOWED_LIFECYCLES: PackLifecycle[] = [\n \"active\",\n \"beta\",\n \"experimental\",\n];\n\nfunction toSet(values?: readonly string[]): Set<string> {\n return new Set(values ?? []);\n}\n\nexport function evaluatePackEnablement(\n packKey: string,\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision {\n const manifest = registry[packKey];\n if (!manifest) {\n return {\n packKey,\n allowed: false,\n reason: \"pack_not_found\",\n missingDependencies: [],\n };\n }\n\n const allowedLifecycles = new Set(\n policy.allowedLifecycles ?? DEFAULT_ALLOWED_LIFECYCLES\n );\n if (!allowedLifecycles.has(manifest.lifecycle)) {\n return {\n packKey,\n allowed: false,\n reason: \"lifecycle_blocked\",\n missingDependencies: [],\n };\n }\n\n const requireExplicitEntitlement = policy.requireExplicitEntitlement ?? false;\n if (requireExplicitEntitlement) {\n const entitled = new Set([\n ...toSet(policy.tenantEntitledPackKeys),\n ...toSet(policy.workspaceEntitledPackKeys),\n ]);\n if (!entitled.has(packKey)) {\n return {\n packKey,\n allowed: false,\n reason: \"license_missing\",\n missingDependencies: [],\n };\n }\n }\n\n const missingDependencies = manifest.dependencies.filter(\n (dependency) => !registry[dependency]\n );\n if (missingDependencies.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_missing\",\n missingDependencies,\n };\n }\n\n const installed = toSet(policy.installedPackKeys);\n if (installed.size > 0) {\n const notInstalled = manifest.dependencies.filter(\n (dependency) => !installed.has(dependency)\n );\n if (notInstalled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_installed\",\n missingDependencies: notInstalled,\n };\n }\n }\n\n const enabled = toSet(policy.enabledPackKeys);\n if (enabled.size > 0) {\n const notEnabled = manifest.dependencies.filter(\n (dependency) => !enabled.has(dependency)\n );\n if (notEnabled.length > 0) {\n return {\n packKey,\n allowed: false,\n reason: \"dependency_not_enabled\",\n missingDependencies: notEnabled,\n };\n }\n }\n\n return {\n packKey,\n allowed: true,\n reason: \"allowed\",\n missingDependencies: [],\n };\n}\n\nexport function evaluateCatalogEnablement(\n registry: Record<string, AppPackManifest>,\n policy: PackEnablementPolicy = {}\n): PackEnablementDecision[] {\n return Object.keys(registry)\n .sort()\n .map((packKey) => evaluatePackEnablement(packKey, registry, policy));\n}\n","/**\n * App Pack Manifest: chat-v1\n *\n * Declarative runtime contract for the chat-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const chatV1Manifest = defineAppPackManifest({\n key: \"chat-v1\",\n name: \"Chat\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"conversation\",\n description:\n \"Core conversational runtime, streaming orchestration, and tool invocation shell.\",\n dependencies: [],\n capabilityFlags: [\n \"chat.streaming\",\n \"chat.history\",\n \"tool.invocation\",\n \"slash.commands\",\n \"voice.mode\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat\", \"/(chat)/chat/[id]\"],\n api: [\n \"/(chat)/api/chat\",\n \"/(chat)/api/coach\",\n \"/(chat)/api/history\",\n \"/(chat)/api/suggestions\",\n \"/(chat)/api/vote\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/components/lucern/dev/chat-debug-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-try-it-panel.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/events.ts\",\n \"services/master-control/convex/tools.ts\",\n \"services/master-control/convex/toolAccess.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/function-surface.ts\",\n \"packages/server-core/src/mcp-context-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n {\n resource: \"tool_action\",\n actions: [\"read\", \"mutate\"],\n notes: \"Mutation tools must pass server-side policy checks.\",\n },\n { resource: \"artifact\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\"],\n requiredTables: [\n \"agentMessages\",\n \"platformAgentRuns\",\n \"platformAgentRunToolCalls\",\n \"epistemicNodes\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"chat/default\", \"chat/voice-mode\"],\n prompts: [\"chat/main-system-prompt\", \"chat/voice-mode-style\"],\n reports: [],\n uiLabels: [\"chat\", \"assistant\", \"conversation\"],\n },\n testSuite: {\n parity: [\"chat-streaming-parity\", \"slash-command-parity\"],\n policy: [\"chat-context-filtering\", \"tool-deny-enforcement\"],\n contract: [\"chat-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: deals-v1\n *\n * Declarative runtime contract for the deals-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const dealsV1Manifest = defineAppPackManifest({\n key: \"deals-v1\",\n name: \"Deals\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"domain\",\n description:\n \"Deal diligence application using shared reasoning graph primitives with deal-calibrated workflows.\",\n dependencies: [\"chat-v1\", \"documents-v1\", \"news-v1\", \"decisions-v1\"],\n capabilityFlags: [\n \"deal.lifecycle\",\n \"diligence.workflow\",\n \"deal.risk-assessment\",\n \"decision.integration\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects\", \"/(projects)/projects/[projectId]\"],\n api: [\"/api/research/*\", \"/api/tasks/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"services/master-control/convex/workspaces.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/topics.ts\",\n \"packages/server-core/src/domain/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"deal\", \"belief\", \"question\", \"evidence\", \"decision\"],\n requiredEdgeTypes: [\n \"evaluates\",\n \"informs\",\n \"depends_on\",\n \"based_on_belief\",\n ],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"deals/diligence-default\", \"deals/ic-prep\"],\n prompts: [\"deals/main-system-prompt\", \"deals/risk-ledger-draft\"],\n reports: [\"deal-memo\", \"knowledge-map\"],\n uiLabels: [\"deal\", \"diligence\", \"investment_case\", \"ic_readiness\"],\n },\n testSuite: {\n parity: [\"deal-workflow-parity\"],\n policy: [\"deal-data-audience-filtering\"],\n contract: [\"deals-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: decisions-v1\n *\n * Declarative runtime contract for the decisions-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const decisionsV1Manifest = defineAppPackManifest({\n key: \"decisions-v1\",\n name: \"Decisions\",\n version: \"1.0.0\",\n lifecycle: \"beta\",\n category: \"decision\",\n description:\n \"Graph-native decision workflow with belief-level voting, risk ledgers, and snapshot locking.\",\n dependencies: [\"epistemic-algorithms-v1\"],\n capabilityFlags: [\n \"decision.workflow\",\n \"belief.level-voting\",\n \"risk.ledger\",\n \"decision.snapshot\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/decisions\"],\n api: [\"/api/thesis-audit/*\", \"/api/reports/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/policy/page.tsx\",\n \"apps/web/app/lucern/mc/policy/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/decisions.ts\",\n \"packages/reasoning-kernel/src/adapters/questionsConvictionMutations.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.confidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/judgments.ts\",\n \"packages/server-core/src/policy/index.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"decision\", \"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\n \"based_on_belief\",\n \"based_on_question\",\n \"informed_by_theme\",\n \"blocked_by_contradiction\",\n ],\n requiredTables: [\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"decisionEvents\",\n \"beliefVotes\",\n \"decisionRiskLedger\",\n \"decisionSnapshots\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"decisions/pre-ic\", \"decisions/in-ic\", \"decisions/post-ic\"],\n prompts: [\n \"decisions/main-system-prompt\",\n \"decisions/risk-ledger-assistant\",\n ],\n reports: [\"decision-brief\", \"ic-memo\"],\n uiLabels: [\"decision\", \"risk_ledger\", \"vote_map\", \"snapshot\"],\n },\n testSuite: {\n parity: [\"decision-flow-parity\"],\n policy: [\"decision-lineage-visibility\"],\n contract: [\"decisions-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"decision-kernel\",\n mode: \"required\",\n contracts: [\"decision-kernel-v1\"],\n },\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: documents-v1\n *\n * Declarative runtime contract for the documents-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const documentsV1Manifest = defineAppPackManifest({\n key: \"documents-v1\",\n name: \"Documents\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"documents\",\n description:\n \"Document upload, extraction, annotation, and conversion into graph-grounded evidence.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"document.ingestion\",\n \"document.extraction\",\n \"document.annotation\",\n \"document.rag\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/documents\",\n \"/(projects)/projects/[projectId]/documents/[documentId]\",\n ],\n api: [\"/api/documents/*\", \"/api/rag/document\", \"/api/rag/extract-pdf\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/workspace-pack-panel.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/evidenceCreate.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"excerpt\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"derived_from\", \"based_on\", \"informs\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"documents/upload-extract-link\",\n \"documents/annotate-to-evidence\",\n ],\n prompts: [\"documents/extraction\", \"documents/summarization\"],\n reports: [],\n uiLabels: [\"documents\", \"annotations\", \"excerpts\", \"sources\"],\n },\n testSuite: {\n parity: [\"documents-page-parity\"],\n policy: [\"document-access-enforcement\"],\n contract: [\"documents-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: epistemic-algorithms-v1\n *\n * Declarative runtime contract for the epistemic-algorithms-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const epistemicAlgorithmsV1Manifest = defineAppPackManifest({\n key: \"epistemic-algorithms-v1\",\n name: \"Epistemic Algorithms\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Reasoning quality engines: contradiction detection, conviction dynamics, and graph intelligence analytics.\",\n dependencies: [\"graph-visualization-v1\", \"chat-v1\"],\n capabilityFlags: [\n \"contradiction.detection\",\n \"conviction.analytics\",\n \"reasoning.depth\",\n \"bias.detection\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/contradictions\",\n \"/(projects)/projects/[projectId]/thesis-audit\",\n ],\n api: [\"/api/thesis-audit\", \"/api/graph-explain\", \"/api/lucern/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/lib/platform/react/components/ContradictionList.ts\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/contradictions.ts\",\n \"packages/reasoning-kernel/src/adapters/graphIntelligence.ts\",\n \"packages/reasoning-kernel/src/adapters/graphAnalysisResults.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/contradictions.ts\",\n \"packages/server-core/src/graph-analysis.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\", \"decision\"],\n requiredEdgeTypes: [\n \"informs\",\n \"contradicts\",\n \"depends_on\",\n \"strengthened_by\",\n \"weakened_by\",\n \"collapses_if\",\n ],\n requiredTables: [\n \"contradictions\",\n \"beliefConfidence\",\n \"epistemicAudit\",\n \"graphAnalysisResults\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"epistemic/contradiction-resolution\", \"epistemic/thesis-audit\"],\n prompts: [\n \"graph-intelligence/full-guide\",\n \"graph-intelligence/bias-detection\",\n ],\n reports: [\"knowledge_map\"],\n uiLabels: [\n \"contradiction\",\n \"conviction\",\n \"thesis_audit\",\n \"epistemic_health\",\n ],\n },\n testSuite: {\n parity: [\"epistemic-algorithm-output-parity\"],\n policy: [\"epistemic-output-scope-filtering\"],\n contract: [\"epistemic-algorithms-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: graph-visualization-v1\n *\n * Declarative runtime contract for the graph-visualization-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const graphVisualizationV1Manifest = defineAppPackManifest({\n key: \"graph-visualization-v1\",\n name: \"Graph Visualization\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"graph\",\n description:\n \"Interactive graph explorer for node/edge traversal, neighborhood inspection, and query rendering.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"graph.rendering\",\n \"graph.query\",\n \"graph.highlighting\",\n \"graph.neighborhood\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/graph\"],\n api: [\"/api/graph\", \"/api/graph-query\", \"/api/graph-suggestions\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/graph/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/edgesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/nodesQueries.ts\",\n \"packages/reasoning-kernel/src/adapters/neo4jQueries.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/graph.ts\",\n \"packages/server-core/src/mcp-graph-tools.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n { resource: \"edge\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\n \"belief\",\n \"question\",\n \"evidence\",\n \"theme\",\n \"deal\",\n \"decision\",\n ],\n requiredEdgeTypes: [\"informs\", \"answers\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"graph/query-and-traverse\"],\n prompts: [\n \"graph-intelligence/query\",\n \"graph-intelligence/suggestions-extraction\",\n ],\n reports: [],\n uiLabels: [\"graph\", \"nodes\", \"edges\", \"lineage\"],\n },\n testSuite: {\n parity: [\"graph-query-parity\", \"graph-render-parity\"],\n policy: [\"graph-node-visibility-filtering\"],\n contract: [\"graph-visualization-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: news-v1\n *\n * Declarative runtime contract for the news-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const newsV1Manifest = defineAppPackManifest({\n key: \"news-v1\",\n name: \"News\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"news\",\n description:\n \"News ingestion, curation, and contextual linkage into the reasoning graph.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"news.search\",\n \"news.ingestion\",\n \"news.curation\",\n \"news.graph-linkage\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects/[projectId]/news-v3\",\n \"/(projects)/projects/[projectId]/news-v3/[articleId]\",\n ],\n api: [\"/api/news/search\", \"/api/intelligence/smart-news-search\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/packs/_components/pack-detail-page.tsx\",\n \"apps/web/app/lucern/packs/_components/pack-catalog-page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n \"packages/reasoning-kernel/src/adapters/epistemicSources.ts\",\n \"packages/server-core/src/domain/sources.ts\",\n ],\n tools: [\n \"packages/server-core/src/sources.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"export\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"source\", \"evidence\", \"synthesis\", \"theme\", \"deal\"],\n requiredEdgeTypes: [\"derived_from\", \"informs\", \"belongs_to\"],\n requiredTables: [\"researchJobs\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"news/search-import-curate\", \"news/evidence-linking\"],\n prompts: [\"news/summary\", \"news/relevance-scoring\"],\n reports: [\"news-digest\"],\n uiLabels: [\"news\", \"articles\", \"curation\", \"signals\"],\n },\n testSuite: {\n parity: [\"news-v3-parity\"],\n policy: [\"news-audience-redaction\"],\n contract: [\"news-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: philosophy-mode-v1\n *\n * Declarative runtime contract for the philosophy-mode-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const philosophyModeV1Manifest = defineAppPackManifest({\n key: \"philosophy-mode-v1\",\n name: \"Philosophy Mode\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Investor worldview extraction, archetype synthesis, and philosophy profile management.\",\n dependencies: [\"chat-v1\", \"user-profiles-v1\"],\n capabilityFlags: [\n \"philosophy.extraction\",\n \"philosophy.profiles\",\n \"archetype.classification\",\n \"worldview.synthesis\",\n ],\n routeNamespace: {\n web: [\"/(chat)/chat/[id]\"],\n api: [\n \"/api/philosophy/detect\",\n \"/api/philosophy/extract\",\n \"/api/philosophy/get-profile\",\n \"/api/philosophy/ingest\",\n \"/api/philosophy/synthesize\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/userSessions.ts\",\n \"packages/reasoning-kernel/src/adapters/ontologies.ts\",\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n ],\n tools: [\n \"packages/server-core/src/domain/ontologies.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\"],\n rules: [\n { resource: \"user_profile\", actions: [\"read\", \"mutate\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"theme\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\"],\n requiredTables: [\"users\", \"epistemicNodes\", \"epistemicEdges\"],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\"philosophy/conversation-to-profile\"],\n prompts: [\n \"philosophy/deep-thinker\",\n \"philosophy/welcome-back\",\n \"philosophy/detect-philosophical-statement\",\n \"philosophy/content-classifier\",\n \"philosophy/atom-extractor\",\n \"philosophy/summarize-investor-profile\",\n \"philosophy/team-aggregator\",\n \"philosophy/market-synthesis\",\n \"thematic/extractor\",\n ],\n reports: [],\n uiLabels: [\"philosophy_mode\", \"investor_worldview\", \"archetype\"],\n },\n testSuite: {\n parity: [\"philosophy-profile-parity\"],\n policy: [\"philosophy-profile-isolation\"],\n contract: [\"philosophy-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: sprints-v1\n *\n * Declarative runtime contract for the worktree workflow application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const worktreesV1Manifest = defineAppPackManifest({\n key: \"sprints-v1\",\n name: \"Worktrees\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"workflow\",\n description:\n \"Structured research execution workflow with phases, scoring, and worktree-linked tasks.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"worktree.lifecycle\",\n \"worktree.phase-navigation\",\n \"worktree.scoring\",\n \"worktree.workspace\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/topics/[topicId]/worktrees\",\n \"/(projects)/topics/[topicId]/worktrees/[worktreeId]\",\n ],\n api: [\n \"/api/sprint/assess-beliefs\",\n \"/api/sprint/generate-thesis\",\n \"/api/sprint/refine-thesis\",\n \"/api/sprint/welcome\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n \"apps/web/app/lucern/tenant/workspaces/page.tsx\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/worktrees.ts\",\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/worktrees.ts\",\n \"packages/server-core/src/worktrees.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"task\", actions: [\"read\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"theme\"],\n requiredEdgeTypes: [\"tests\", \"informs\", \"belongs_to\", \"depends_on\"],\n requiredTables: [\n \"worktrees\",\n \"workflowDefinitions\",\n \"workflowStages\",\n \"tasks\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"worktree/hypothesis-formation\",\n \"worktree/cluster-mapping\",\n \"worktree/question-validation\",\n ],\n prompts: [\"worktree/main-system-prompt\", \"worktree/research-task-planning\"],\n reports: [\"sprint_thesis\"],\n uiLabels: [\"worktree\", \"phase\", \"conviction\", \"thesis\"],\n },\n testSuite: {\n parity: [\"worktree-lifecycle-parity\"],\n policy: [\"worktree-tool-enforcement\"],\n contract: [\"worktrees-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: task-management-v1\n *\n * Declarative runtime contract for the task-management-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const taskManagementV1Manifest = defineAppPackManifest({\n key: \"task-management-v1\",\n name: \"Task Management\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"operations\",\n description:\n \"Operational task system linked to beliefs, questions, worktrees, and AI-assisted execution.\",\n dependencies: [\"chat-v1\"],\n capabilityFlags: [\n \"task.lifecycle\",\n \"task.assignment\",\n \"task.attachments\",\n \"task.ai-execution\",\n \"task.evidence-capture\",\n ],\n routeNamespace: {\n web: [\"/(projects)/projects/[projectId]/tasks\"],\n api: [\n \"/api/tasks/execute\",\n \"/api/tasks/execute-workflow\",\n \"/api/tasks/refresh-call-script\",\n ],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/tools/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/tools/*\",\n ],\n convex: [\n \"modules/tasks/src/v1/engine/tasks.ts\",\n \"modules/tasks/src/v1/engine/tasks.queries.ts\",\n \"modules/tasks/src/v1/engine/tasks.mutations.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/tasks.ts\",\n \"packages/server-core/src/tasks.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\"],\n rules: [\n { resource: \"task\", actions: [\"read\", \"mutate\", \"admin\"] },\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"tool_action\", actions: [\"read\", \"mutate\"] },\n { resource: \"artifact\", actions: [\"read\", \"summarize\", \"mutate\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"informs\", \"tests\", \"belongs_to\"],\n requiredTables: [\n \"tasks\",\n \"topics\",\n \"worktrees\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n ],\n projectionBehavior: \"inherits_policy\",\n },\n templates: {\n workflows: [\n \"tasks/research-plan\",\n \"tasks/execution-loop\",\n \"tasks/evidence-capture\",\n ],\n prompts: [\"tasks/call-script\", \"tasks/research-plan-generator\"],\n reports: [],\n uiLabels: [\"tasks\", \"assignee\", \"checklist\", \"workflow_status\"],\n },\n testSuite: {\n parity: [\"task-management-parity\"],\n policy: [\"task-project-access-enforcement\"],\n contract: [\"task-management-pack-contract-v1\"],\n },\n});\n","/**\n * App Pack Manifest: team-analysis-v1\n *\n * Declarative runtime contract for the team-analysis-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const teamAnalysisV1Manifest = defineAppPackManifest({\n key: \"team-analysis-v1\",\n name: \"Team Analysis\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"analytics\",\n description:\n \"Team-level behavioral analytics, archetype distribution, and comparative operating patterns.\",\n dependencies: [\"user-profiles-v1\"],\n capabilityFlags: [\n \"team.analytics\",\n \"team.behavioral-summary\",\n \"team.archetype-distribution\",\n \"team.activity-heatmap\",\n ],\n routeNamespace: {\n web: [\"/(team)/team\"],\n api: [\"/api/coaching/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/mc/analytics/page.tsx\",\n \"apps/web/app/lucern/tenant/_components/people/*\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/groups.ts\",\n \"packages/reasoning-kernel/src/adapters/telemetry.ts\",\n ],\n tools: [\n \"packages/server-core/src/identity.ts\",\n \"packages/mcp/src/handlers/observations.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n { resource: \"team_analytics\", actions: [\"read\", \"admin\"] },\n { resource: \"user_profile\", actions: [\"read\"] },\n { resource: \"project\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"belief\", \"question\", \"evidence\"],\n requiredEdgeTypes: [\"informs\", \"tests\"],\n requiredTables: [\n \"users\",\n \"epistemicAudit\",\n \"beliefConfidence\",\n \"contradictions\",\n \"calibrationScores\",\n \"tasks\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"team/behavioral-summary\", \"team/coverage-gap-analysis\"],\n prompts: [\"coaching/team-summary\", \"coaching/team-recommendations\"],\n reports: [\"team-operating-review\"],\n uiLabels: [\"team\", \"behavior\", \"distribution\", \"coverage\"],\n },\n testSuite: {\n parity: [\"team-page-parity\"],\n policy: [\"team-analytics-admin-scope\"],\n contract: [\"team-analysis-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: themes-v1\n *\n * Declarative runtime contract for the themes-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const themesV1Manifest = defineAppPackManifest({\n key: \"themes-v1\",\n name: \"Themes\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"domain\",\n description:\n \"Thematic research lifecycle built on graph primitives, worktree workflows, and conviction analytics.\",\n dependencies: [\n \"chat-v1\",\n \"epistemic-algorithms-v1\",\n \"news-v1\",\n \"documents-v1\",\n ],\n capabilityFlags: [\n \"theme.lifecycle\",\n \"belief.question.evidence\",\n \"thesis.development\",\n \"reporting\",\n ],\n routeNamespace: {\n web: [\n \"/(projects)/projects\",\n \"/(projects)/projects/[projectId]\",\n \"/(projects)/projects/[projectId]/beliefs-v2\",\n \"/(projects)/projects/[projectId]/questions\",\n \"/(projects)/projects/[projectId]/research\",\n \"/(projects)/projects/[projectId]/reports\",\n ],\n api: [\"/api/research/*\", \"/api/reports/*\", \"/api/questions/*\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/graph/*\",\n \"apps/web/app/lucern/tenant/_components/workspaces/*\",\n ],\n convex: [\n \"packages/reasoning-kernel/src/adapters/topics.ts\",\n \"packages/reasoning-kernel/src/adapters/beliefs.ts\",\n \"packages/reasoning-kernel/src/adapters/questions.ts\",\n \"packages/reasoning-kernel/src/adapters/evidence.ts\",\n ],\n tools: [\n \"packages/mcp/src/handlers/beliefs.ts\",\n \"packages/mcp/src/handlers/questions.ts\",\n \"packages/mcp/src/handlers/evidence.ts\",\n ],\n },\n policyProfile: {\n audiences: [\"internal\", \"lp\", \"public\"],\n rules: [\n { resource: \"project\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"node\", actions: [\"read\", \"summarize\", \"mutate\"] },\n { resource: \"edge\", actions: [\"read\", \"mutate\"] },\n { resource: \"report_section\", actions: [\"read\", \"summarize\", \"export\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [\"theme\", \"belief\", \"question\", \"evidence\", \"synthesis\"],\n requiredEdgeTypes: [\"belongs_to\", \"relates_to_thesis\", \"informs\", \"tests\"],\n requiredTables: [\n \"topics\",\n \"epistemicNodes\",\n \"epistemicEdges\",\n \"workflowDefinitions\",\n \"workflowStages\",\n ],\n projectionBehavior: \"projection_required\",\n },\n templates: {\n workflows: [\"themes/default-lifecycle\", \"themes/worktree-thesis-loop\"],\n prompts: [\n \"thematic/extractor\",\n \"reports/thematic-long-form/thesis-statement\",\n \"reports/thematic-long-form/belief-map\",\n ],\n reports: [\"thematic-long-form\", \"knowledge-map\"],\n uiLabels: [\"theme\", \"belief\", \"question\", \"evidence\", \"conviction\"],\n },\n testSuite: {\n parity: [\"themes-v1-parity-against-current\"],\n policy: [\"theme-compilation-entitlement-filtering\"],\n contract: [\"themes-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","/**\n * App Pack Manifest: user-profiles-v1\n *\n * Declarative runtime contract for the user-profiles-v1 application pack.\n */\n\nimport { defineAppPackManifest } from \"../contracts\";\n\nexport const userProfilesV1Manifest = defineAppPackManifest({\n key: \"user-profiles-v1\",\n name: \"User Profiles\",\n version: \"1.0.0\",\n lifecycle: \"active\",\n category: \"identity\",\n description:\n \"Individual cognition and operating profile layer including journey progression, archetypes, and behavioral telemetry.\",\n dependencies: [],\n capabilityFlags: [\n \"user.profile\",\n \"user.journey\",\n \"user.analytics\",\n \"voice.preferences\",\n ],\n routeNamespace: {\n web: [\"/(team)/team/[userId]\"],\n api: [\"/api/philosophy/get-profile\", \"/api/mobile/v1/session\"],\n },\n surfaces: {\n components: [\n \"apps/web/app/lucern/tenant/_components/people/*\",\n \"apps/web/app/lucern/tenant/people/page.tsx\",\n ],\n convex: [\n \"services/master-control/convex/identity.ts\",\n \"services/master-control/convex/userSessions.ts\",\n \"services/master-control/convex/groups.ts\",\n ],\n tools: [\"packages/server-core/src/identity.ts\"],\n },\n policyProfile: {\n audiences: [\"internal\", \"tenant_admin\"],\n rules: [\n {\n resource: \"user_profile\",\n actions: [\"read\", \"mutate\"],\n notes: \"Users can edit self; tenant admins can read broader profiles.\",\n },\n { resource: \"project\", actions: [\"read\"] },\n { resource: \"team_analytics\", actions: [\"read\"] },\n ],\n },\n dataContract: {\n requiredNodeTypes: [],\n requiredEdgeTypes: [],\n requiredTables: [\n \"users\",\n \"userSessions\",\n \"principals\",\n \"principalIdentityAliases\",\n \"calibrationScores\",\n ],\n projectionBehavior: \"none\",\n },\n templates: {\n workflows: [\"user/profile-synthesis\", \"user/journey-update\"],\n prompts: [\"coaching/user-eval\", \"philosophy/profile-synthesis\"],\n reports: [\"user-profile-summary\"],\n uiLabels: [\"profile\", \"journey\", \"archetype\", \"calibration\"],\n },\n testSuite: {\n parity: [\"user-profile-page-parity\"],\n policy: [\"user-profile-self-vs-admin-access\"],\n contract: [\"user-profiles-pack-contract-v1\"],\n },\n sharedServices: [\n {\n service: \"knowledge-compiler\",\n mode: \"required\",\n contracts: [\"knowledge-compiler-v1\"],\n },\n ],\n});\n","// biome-ignore-all lint/performance/noBarrelFile: Public manifest aggregate exports all built-in pack manifests.\n/**\n * App Pack Manifest Exports\n *\n * Aggregated exports for versioned app-pack manifests.\n */\n\nimport type { AppPackManifest } from \"../contracts\";\nimport { chatV1Manifest as chatV1ManifestValue } from \"./chat-v1\";\nimport { dealsV1Manifest as dealsV1ManifestValue } from \"./deals-v1\";\nimport { decisionsV1Manifest as decisionsV1ManifestValue } from \"./decisions-v1\";\nimport { documentsV1Manifest as documentsV1ManifestValue } from \"./documents-v1\";\nimport { epistemicAlgorithmsV1Manifest as epistemicAlgorithmsV1ManifestValue } from \"./epistemic-algorithms-v1\";\nimport { graphVisualizationV1Manifest as graphVisualizationV1ManifestValue } from \"./graph-visualization-v1\";\nimport { newsV1Manifest as newsV1ManifestValue } from \"./news-v1\";\nimport { philosophyModeV1Manifest as philosophyModeV1ManifestValue } from \"./philosophy-mode-v1\";\nimport { worktreesV1Manifest as worktreesV1ManifestValue } from \"./sprints-v1\";\nimport { taskManagementV1Manifest as taskManagementV1ManifestValue } from \"./task-management-v1\";\nimport { teamAnalysisV1Manifest as teamAnalysisV1ManifestValue } from \"./team-analysis-v1\";\nimport { themesV1Manifest as themesV1ManifestValue } from \"./themes-v1\";\nimport { userProfilesV1Manifest as userProfilesV1ManifestValue } from \"./user-profiles-v1\";\n\nexport { chatV1Manifest } from \"./chat-v1\";\nexport { dealsV1Manifest } from \"./deals-v1\";\nexport { decisionsV1Manifest } from \"./decisions-v1\";\nexport { documentsV1Manifest } from \"./documents-v1\";\nexport { epistemicAlgorithmsV1Manifest } from \"./epistemic-algorithms-v1\";\nexport { graphVisualizationV1Manifest } from \"./graph-visualization-v1\";\nexport { newsV1Manifest } from \"./news-v1\";\nexport { philosophyModeV1Manifest } from \"./philosophy-mode-v1\";\nexport { worktreesV1Manifest } from \"./sprints-v1\";\nexport { taskManagementV1Manifest } from \"./task-management-v1\";\nexport { teamAnalysisV1Manifest } from \"./team-analysis-v1\";\nexport { themesV1Manifest } from \"./themes-v1\";\nexport { userProfilesV1Manifest } from \"./user-profiles-v1\";\n\nexport const allAppPackManifests: AppPackManifest[] = [\n philosophyModeV1ManifestValue,\n chatV1ManifestValue,\n worktreesV1ManifestValue,\n graphVisualizationV1ManifestValue,\n epistemicAlgorithmsV1ManifestValue,\n themesV1ManifestValue,\n dealsV1ManifestValue,\n decisionsV1ManifestValue,\n newsV1ManifestValue,\n documentsV1ManifestValue,\n userProfilesV1ManifestValue,\n teamAnalysisV1ManifestValue,\n taskManagementV1ManifestValue,\n];\n","// biome-ignore-all lint/style/useFilenamingConvention: Legacy public @lucern/pack-host/manifestValidation subpath.\n/**\n * Pack Manifest Validation\n *\n * Runtime schema and dictionary validation for app-pack manifests.\n */\n\nimport { z } from \"zod\";\nimport type { AppPackManifest } from \"./contracts\";\n\nconst manifestKeyPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*-v[0-9]+$/;\nconst semverPattern = /^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$/;\n\nexport type PackValidationSeverity = \"error\" | \"warning\";\n\nexport interface PackValidationIssue {\n code: string;\n message: string;\n path: string;\n severity: PackValidationSeverity;\n}\n\nexport interface PackManifestValidationResult {\n issues: PackValidationIssue[];\n manifestKey: string;\n valid: boolean;\n}\n\nexport interface PackSchemaDictionary {\n edgeTypes: readonly string[];\n nodeTypes: readonly string[];\n tables: readonly string[];\n}\n\nconst appPackManifestSchema = z.object({\n key: z.string().regex(manifestKeyPattern),\n name: z.string().min(1),\n version: z.string().regex(semverPattern),\n lifecycle: z.enum([\"active\", \"beta\", \"experimental\"]),\n category: z.enum([\n \"conversation\",\n \"research\",\n \"graph\",\n \"analytics\",\n \"workflow\",\n \"decision\",\n \"news\",\n \"documents\",\n \"identity\",\n \"operations\",\n \"domain\",\n ]),\n description: z.string().min(1),\n dependencies: z.array(z.string().min(1)),\n capabilityFlags: z.array(z.string().min(1)),\n routeNamespace: z.object({\n web: z.array(z.string().min(1)),\n api: z.array(z.string().min(1)),\n }),\n surfaces: z.object({\n components: z.array(z.string().min(1)),\n convex: z.array(z.string().min(1)),\n tools: z.array(z.string().min(1)),\n }),\n policyProfile: z.object({\n audiences: z.array(z.string().min(1)).min(1),\n rules: z\n .array(\n z.object({\n resource: z.enum([\n \"project\",\n \"node\",\n \"edge\",\n \"artifact\",\n \"report_section\",\n \"tool_action\",\n \"task\",\n \"user_profile\",\n \"team_analytics\",\n ]),\n actions: z\n .array(z.enum([\"read\", \"summarize\", \"export\", \"mutate\", \"admin\"]))\n .min(1),\n notes: z.string().optional(),\n })\n )\n .min(1),\n }),\n dataContract: z.object({\n requiredNodeTypes: z.array(z.string().min(1)),\n requiredEdgeTypes: z.array(z.string().min(1)),\n requiredTables: z.array(z.string().min(1)).min(1),\n projectionBehavior: z.enum([\n \"none\",\n \"inherits_policy\",\n \"projection_required\",\n ]),\n }),\n templates: z.object({\n workflows: z.array(z.string().min(1)),\n prompts: z.array(z.string().min(1)),\n reports: z.array(z.string().min(1)),\n uiLabels: z.array(z.string().min(1)),\n }),\n testSuite: z.object({\n parity: z.array(z.string().min(1)).min(1),\n policy: z.array(z.string().min(1)).min(1),\n contract: z.array(z.string().min(1)).min(1),\n }),\n sharedServices: z.array(\n z.object({\n service: z.enum([\n \"decision-kernel\",\n \"knowledge-compiler\",\n \"learning-loop\",\n ]),\n mode: z.enum([\"required\", \"optional\"]),\n contracts: z.array(z.string().min(1)).min(1),\n })\n ),\n});\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: PackValidationSeverity = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction collectDuplicateValues(values: readonly string[]): string[] {\n const counts = new Map<string, number>();\n for (const value of values) {\n counts.set(value, (counts.get(value) ?? 0) + 1);\n }\n return [...counts.entries()]\n .filter(([, count]) => count > 1)\n .map(([value]) => value)\n .sort();\n}\n\nfunction collectUnknownValues(\n values: readonly string[],\n knownValues: readonly string[]\n): string[] {\n const known = new Set(knownValues);\n return values.filter((value) => !known.has(value));\n}\n\nfunction validateManifestShape(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const parsed = appPackManifestSchema.safeParse(manifest);\n if (parsed.success) {\n return [];\n }\n\n return parsed.error.issues.map((issue) =>\n toIssue(\n \"PACK_MANIFEST_SCHEMA_INVALID\",\n issue.message,\n issue.path.join(\".\") || \"(root)\"\n )\n );\n}\n\nfunction validateManifestUniqueness(\n manifest: AppPackManifest\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n\n const duplicateDependencies = collectDuplicateValues(manifest.dependencies);\n if (duplicateDependencies.length > 0) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCIES_DUPLICATE\",\n `Duplicate dependencies declared: ${duplicateDependencies.join(\", \")}`,\n \"dependencies\"\n )\n );\n }\n\n if (manifest.dependencies.includes(manifest.key)) {\n issues.push(\n toIssue(\n \"PACK_DEPENDENCY_SELF_REFERENCE\",\n `Pack \"${manifest.key}\" cannot depend on itself.`,\n \"dependencies\"\n )\n );\n }\n\n const duplicateCapabilities = collectDuplicateValues(\n manifest.capabilityFlags\n );\n if (duplicateCapabilities.length > 0) {\n issues.push(\n toIssue(\n \"PACK_CAPABILITIES_DUPLICATE\",\n `Duplicate capability flags declared: ${duplicateCapabilities.join(\", \")}`,\n \"capabilityFlags\"\n )\n );\n }\n\n const duplicateWebRoutes = collectDuplicateValues(\n manifest.routeNamespace.web\n );\n if (duplicateWebRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_WEB_ROUTES_DUPLICATE\",\n `Duplicate web routes declared: ${duplicateWebRoutes.join(\", \")}`,\n \"routeNamespace.web\"\n )\n );\n }\n\n const duplicateApiRoutes = collectDuplicateValues(\n manifest.routeNamespace.api\n );\n if (duplicateApiRoutes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_API_ROUTES_DUPLICATE\",\n `Duplicate api routes declared: ${duplicateApiRoutes.join(\", \")}`,\n \"routeNamespace.api\"\n )\n );\n }\n\n const duplicateServices = collectDuplicateValues(\n manifest.sharedServices.map((integration) => integration.service)\n );\n if (duplicateServices.length > 0) {\n issues.push(\n toIssue(\n \"PACK_SHARED_SERVICE_DUPLICATE\",\n `Duplicate shared-service integrations declared: ${duplicateServices.join(\", \")}`,\n \"sharedServices\"\n )\n );\n }\n\n return issues;\n}\n\nfunction validateManifestDictionary(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackValidationIssue[] {\n if (!dictionary) {\n return [];\n }\n\n const issues: PackValidationIssue[] = [];\n const unknownNodeTypes = collectUnknownValues(\n manifest.dataContract.requiredNodeTypes,\n dictionary.nodeTypes\n );\n const unknownEdgeTypes = collectUnknownValues(\n manifest.dataContract.requiredEdgeTypes,\n dictionary.edgeTypes\n );\n const unknownTables = collectUnknownValues(\n manifest.dataContract.requiredTables,\n dictionary.tables\n );\n\n if (unknownNodeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_NODE_TYPES\",\n `Unknown required node types: ${unknownNodeTypes.join(\", \")}`,\n \"dataContract.requiredNodeTypes\"\n )\n );\n }\n\n if (unknownEdgeTypes.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_EDGE_TYPES\",\n `Unknown required edge types: ${unknownEdgeTypes.join(\", \")}`,\n \"dataContract.requiredEdgeTypes\"\n )\n );\n }\n\n if (unknownTables.length > 0) {\n issues.push(\n toIssue(\n \"PACK_UNKNOWN_TABLES\",\n `Unknown required tables: ${unknownTables.join(\", \")}`,\n \"dataContract.requiredTables\"\n )\n );\n }\n\n return issues;\n}\n\nexport function validateAppPackManifest(\n manifest: AppPackManifest,\n dictionary?: PackSchemaDictionary\n): PackManifestValidationResult {\n const issues: PackValidationIssue[] = [\n ...validateManifestShape(manifest),\n ...validateManifestUniqueness(manifest),\n ...validateManifestDictionary(manifest, dictionary),\n ];\n\n return {\n manifestKey: manifest.key,\n valid: issues.every((issue) => issue.severity !== \"error\"),\n issues,\n };\n}\n","// biome-ignore-all lint/style/useFilenamingConvention: Legacy public @lucern/pack-host/namespacePolicy subpath.\n/**\n * Pack Namespace Collision Policy\n *\n * Enforces explicit allowlisting for cross-pack route namespace sharing.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport type { PackValidationIssue } from \"./manifestValidation\";\n\nexport type NamespaceSurface = \"web\" | \"api\";\n\nexport interface NamespaceCollision {\n namespace: string;\n packKeys: string[];\n surface: NamespaceSurface;\n}\n\nexport interface NamespaceCollisionAllowlistEntry {\n allowedPackKeys: string[];\n namespace: string;\n rationale: string;\n surface: NamespaceSurface;\n}\n\nexport const PACK_NAMESPACE_COLLISION_ALLOWLIST: NamespaceCollisionAllowlistEntry[] =\n [\n {\n surface: \"web\",\n namespace: \"/(chat)/chat/[id]\",\n allowedPackKeys: [\"chat-v1\", \"philosophy-mode-v1\"],\n rationale:\n \"Philosophy mode extends the chat surface and intentionally shares the chat detail route.\",\n },\n {\n surface: \"web\",\n namespace: \"/(projects)/projects\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes intentionally share the topic index shell mounted under the legacy /projects customer-zero shell.\",\n },\n {\n surface: \"web\",\n namespace: \"/(projects)/projects/[projectId]\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes intentionally share topic detail shell routing while the outer customer-zero shell still uses legacy project path segments.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/philosophy/get-profile\",\n allowedPackKeys: [\"philosophy-mode-v1\", \"user-profiles-v1\"],\n rationale:\n \"User profiles and philosophy mode share profile retrieval endpoint for compatibility.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/research/*\",\n allowedPackKeys: [\"deals-v1\", \"themes-v1\"],\n rationale:\n \"Deals and themes share research API namespace until productized API gateway split.\",\n },\n {\n surface: \"api\",\n namespace: \"/api/reports/*\",\n allowedPackKeys: [\"deals-v1\", \"decisions-v1\", \"themes-v1\"],\n rationale:\n \"Domain packs intentionally consume shared report compiler endpoints in the same namespace.\",\n },\n ];\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction normalizeKeySet(values: string[]): string {\n return [...new Set(values)].sort().join(\"|\");\n}\n\nexport function detectNamespaceCollisions(\n manifests: AppPackManifest[]\n): NamespaceCollision[] {\n const collisions: NamespaceCollision[] = [];\n\n for (const surface of [\"web\", \"api\"] as const) {\n const namespaceToPacks = new Map<string, string[]>();\n for (const manifest of manifests) {\n const namespaces = manifest.routeNamespace[surface];\n for (const namespace of namespaces) {\n const existing = namespaceToPacks.get(namespace) ?? [];\n existing.push(manifest.key);\n namespaceToPacks.set(namespace, existing);\n }\n }\n\n for (const [namespace, packKeys] of namespaceToPacks.entries()) {\n if (packKeys.length <= 1) {\n continue;\n }\n collisions.push({\n surface,\n namespace,\n packKeys: [...new Set(packKeys)].sort(),\n });\n }\n }\n\n return collisions.sort((left, right) => {\n if (left.surface !== right.surface) {\n return left.surface.localeCompare(right.surface);\n }\n return left.namespace.localeCompare(right.namespace);\n });\n}\n\nexport function validatePackNamespacePolicies(\n manifests: AppPackManifest[]\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n const collisions = detectNamespaceCollisions(manifests);\n const allowlistByKey = new Map<string, NamespaceCollisionAllowlistEntry>();\n\n for (const entry of PACK_NAMESPACE_COLLISION_ALLOWLIST) {\n const key = `${entry.surface}:${entry.namespace}`;\n if (allowlistByKey.has(key)) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_ALLOWLIST_DUPLICATE\",\n `Duplicate allowlist entry for ${key}.`,\n \"namespacePolicy.allowlist\"\n )\n );\n continue;\n }\n allowlistByKey.set(key, entry);\n }\n\n for (const collision of collisions) {\n const key = `${collision.surface}:${collision.namespace}`;\n const allowlistEntry = allowlistByKey.get(key);\n if (!allowlistEntry) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_COLLISION_UNAPPROVED\",\n `Unapproved ${collision.surface} namespace collision for \"${collision.namespace}\" across packs: ${collision.packKeys.join(\", \")}`,\n `namespacePolicy.${collision.surface}`\n )\n );\n continue;\n }\n\n const collidedSet = normalizeKeySet(collision.packKeys);\n const allowedSet = normalizeKeySet(allowlistEntry.allowedPackKeys);\n if (collidedSet !== allowedSet) {\n issues.push(\n toIssue(\n \"PACK_NAMESPACE_COLLISION_MISMATCH\",\n `Collision set mismatch for \"${collision.namespace}\". collided=${collidedSet} allowlist=${allowedSet}`,\n `namespacePolicy.${collision.surface}`\n )\n );\n }\n }\n\n return issues;\n}\n","// biome-ignore-all lint/style/useFilenamingConvention: Legacy public @lucern/pack-host/serviceContracts subpath.\n/**\n * Pack Shared-Service Contract Checks\n *\n * Validates report/learning/decision integration declarations at manifest level.\n */\n\nimport type { AppPackManifest, SharedService } from \"./contracts\";\n\nexport interface PackSharedServiceIssue {\n code: string;\n message: string;\n packKey: string;\n service: SharedService;\n severity: \"error\" | \"warning\";\n}\n\nfunction hasSharedService(\n manifest: AppPackManifest,\n service: SharedService\n): boolean {\n return manifest.sharedServices.some(\n (integration) => integration.service === service\n );\n}\n\nfunction hasDecisionIntegrationSignals(manifest: AppPackManifest): boolean {\n if (manifest.category === \"decision\") {\n return true;\n }\n return manifest.capabilityFlags.some(\n (flag) =>\n flag.startsWith(\"decision.\") || flag.includes(\"decision.integration\")\n );\n}\n\nfunction hasReportIntegrationSignals(manifest: AppPackManifest): boolean {\n if (manifest.templates.reports.length > 0) {\n return true;\n }\n return manifest.routeNamespace.api.some((namespace) =>\n namespace.includes(\"/api/reports\")\n );\n}\n\nfunction hasLearningIntegrationSignals(manifest: AppPackManifest): boolean {\n return manifest.capabilityFlags.some(\n (flag) =>\n flag.startsWith(\"learning.\") ||\n flag.includes(\"policy.injection\") ||\n flag.includes(\"adaptive-learning\")\n );\n}\n\nexport function validatePackSharedServiceContracts(\n manifests: AppPackManifest[]\n): PackSharedServiceIssue[] {\n const issues: PackSharedServiceIssue[] = [];\n\n for (const manifest of manifests) {\n if (\n hasReportIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"knowledge-compiler\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"knowledge-compiler\",\n severity: \"error\",\n code: \"PACK_REPORT_SERVICE_MISSING\",\n message:\n \"Pack declares report outputs/routes but is missing knowledge-compiler shared service integration.\",\n });\n }\n\n if (\n hasDecisionIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"decision-kernel\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"decision-kernel\",\n severity: \"error\",\n code: \"PACK_DECISION_SERVICE_MISSING\",\n message:\n \"Pack declares decision behavior but is missing decision-kernel shared service integration.\",\n });\n }\n\n if (\n hasLearningIntegrationSignals(manifest) &&\n !hasSharedService(manifest, \"learning-loop\")\n ) {\n issues.push({\n packKey: manifest.key,\n service: \"learning-loop\",\n severity: \"error\",\n code: \"PACK_LEARNING_SERVICE_MISSING\",\n message:\n \"Pack declares adaptive learning behavior but is missing learning-loop shared service integration.\",\n });\n }\n }\n\n return issues;\n}\n","/**\n * Pack Runtime Validation Orchestrator\n *\n * Aggregates manifest, dependency, and shared-service contract checks.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport { resolvePackDependencyGraph } from \"./dependencyResolution\";\nimport type {\n PackManifestValidationResult,\n PackSchemaDictionary,\n PackValidationIssue,\n} from \"./manifestValidation\";\nimport { validateAppPackManifest } from \"./manifestValidation\";\nimport { validatePackNamespacePolicies } from \"./namespacePolicy\";\nimport { validatePackSharedServiceContracts } from \"./serviceContracts\";\n\nexport interface PackRegistryValidationResult {\n dependencyClosureByPack: Record<string, string[]>;\n dependencyOrder: string[];\n issues: PackValidationIssue[];\n manifestResults: PackManifestValidationResult[];\n valid: boolean;\n}\n\nfunction toIssue(\n code: string,\n message: string,\n path: string,\n severity: \"error\" | \"warning\" = \"error\"\n): PackValidationIssue {\n return {\n code,\n severity,\n message,\n path,\n };\n}\n\nfunction validateRegistryIdentity(\n manifests: AppPackManifest[]\n): PackValidationIssue[] {\n const issues: PackValidationIssue[] = [];\n const keyCounts = new Map<string, number>();\n const identityCounts = new Map<string, number>();\n\n for (const manifest of manifests) {\n keyCounts.set(manifest.key, (keyCounts.get(manifest.key) ?? 0) + 1);\n const identity = `${manifest.key}@${manifest.version}`;\n identityCounts.set(identity, (identityCounts.get(identity) ?? 0) + 1);\n }\n\n for (const [key, count] of keyCounts.entries()) {\n if (count > 1) {\n issues.push(\n toIssue(\n \"PACK_KEY_DUPLICATE\",\n `Duplicate pack key registered: ${key}`,\n \"registry.keys\"\n )\n );\n }\n }\n\n for (const [identity, count] of identityCounts.entries()) {\n if (count > 1) {\n issues.push(\n toIssue(\n \"PACK_VERSION_DUPLICATE\",\n `Duplicate pack identity registered: ${identity}`,\n \"registry.versions\"\n )\n );\n }\n }\n\n return issues;\n}\n\nexport function validatePackRegistry(\n manifests: AppPackManifest[],\n dictionary?: PackSchemaDictionary\n): PackRegistryValidationResult {\n const manifestResults = manifests.map((manifest) =>\n validateAppPackManifest(manifest, dictionary)\n );\n const dependencyResult = resolvePackDependencyGraph(manifests);\n const sharedServiceIssues = validatePackSharedServiceContracts(manifests).map(\n (issue) =>\n toIssue(\n issue.code,\n `[${issue.packKey}] ${issue.message}`,\n `sharedServices:${issue.packKey}`,\n issue.severity\n )\n );\n const namespaceIssues = validatePackNamespacePolicies(manifests);\n\n const issues: PackValidationIssue[] = [\n ...validateRegistryIdentity(manifests),\n ...manifestResults.flatMap((result) => result.issues),\n ...dependencyResult.issues,\n ...sharedServiceIssues,\n ...namespaceIssues,\n ];\n\n return {\n valid: issues.every((issue) => issue.severity !== \"error\"),\n manifestResults,\n dependencyOrder: dependencyResult.orderedPackKeys,\n dependencyClosureByPack: dependencyResult.dependencyClosureByPack,\n issues,\n };\n}\n","/**\n * App Pack Registry\n *\n * Runtime registry composition for all platform app-pack manifests.\n */\n\nimport type { AppPackManifest } from \"./contracts\";\nimport { resolvePackDependencyGraph } from \"./dependencyResolution\";\nimport {\n evaluateCatalogEnablement,\n type PackEnablementPolicy,\n} from \"./lifecycle\";\nimport { allAppPackManifests } from \"./manifests\";\nimport type { PackSchemaDictionary } from \"./manifestValidation\";\nimport { validatePackRegistry } from \"./runtime\";\n\nexport const appPackRegistry: Record<string, AppPackManifest> =\n allAppPackManifests.reduce<Record<string, AppPackManifest>>(\n (acc, manifest) => {\n acc[manifest.key] = manifest;\n return acc;\n },\n {}\n );\n\nexport function getAppPackManifest(key: string): AppPackManifest | null {\n return appPackRegistry[key] ?? null;\n}\n\nexport function listAppPackManifests(): AppPackManifest[] {\n return allAppPackManifests;\n}\n\nexport function getDependencyClosure(packKey: string): string[] {\n const resolution = resolvePackDependencyGraph(allAppPackManifests);\n return resolution.dependencyClosureByPack[packKey] ?? [];\n}\n\nexport function validateAppPackRegistry(dictionary?: PackSchemaDictionary) {\n return validatePackRegistry(allAppPackManifests, dictionary);\n}\n\nexport function evaluateAppPackEnablement(policy: PackEnablementPolicy = {}) {\n return evaluateCatalogEnablement(appPackRegistry, policy);\n}\n"]}
|