@lucern/pack-host 1.0.29 → 1.0.30

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.
Files changed (67) hide show
  1. package/dist/contracts.d.ts +35 -35
  2. package/dist/contracts.js.map +1 -1
  3. package/dist/dependencyResolution.d.ts +3 -3
  4. package/dist/dependencyResolution.js +83 -59
  5. package/dist/dependencyResolution.js.map +1 -1
  6. package/dist/domain-pack/authoring.core.d.ts +82 -82
  7. package/dist/domain-pack/authoring.core.js +7 -6
  8. package/dist/domain-pack/authoring.core.js.map +1 -1
  9. package/dist/domain-pack/authoring.js +400 -281
  10. package/dist/domain-pack/authoring.js.map +1 -1
  11. package/dist/domain-pack/authoring.validation.js +400 -281
  12. package/dist/domain-pack/authoring.validation.js.map +1 -1
  13. package/dist/domain-pack/contracts.d.ts +95 -95
  14. package/dist/domain-pack/contracts.js.map +1 -1
  15. package/dist/domain-pack/index.js +416 -285
  16. package/dist/domain-pack/index.js.map +1 -1
  17. package/dist/domain-pack/ontology/software-entities-v1.d.ts +7 -7
  18. package/dist/domain-pack/ontology/software-entities-v1.js.map +1 -1
  19. package/dist/domain-pack/packs/developer-reasoning.js +7 -1
  20. package/dist/domain-pack/packs/developer-reasoning.js.map +1 -1
  21. package/dist/domain-pack/packs/engineering-accelerator.js.map +1 -1
  22. package/dist/domain-pack/packs/index.js +333 -239
  23. package/dist/domain-pack/packs/index.js.map +1 -1
  24. package/dist/domain-pack/shaping.d.ts +15 -15
  25. package/dist/domain-pack/shaping.js +326 -238
  26. package/dist/domain-pack/shaping.js.map +1 -1
  27. package/dist/domain-pack/validation.d.ts +6 -6
  28. package/dist/domain-pack/validation.js +318 -236
  29. package/dist/domain-pack/validation.js.map +1 -1
  30. package/dist/domain-pack.js +416 -285
  31. package/dist/domain-pack.js.map +1 -1
  32. package/dist/index.d.ts +6 -6
  33. package/dist/index.js +3793 -3643
  34. package/dist/index.js.map +1 -1
  35. package/dist/lifecycle.d.ts +9 -9
  36. package/dist/lifecycle.js.map +1 -1
  37. package/dist/manifestValidation.d.ts +9 -9
  38. package/dist/manifestValidation.js.map +1 -1
  39. package/dist/manifests/chat-v1.js.map +1 -1
  40. package/dist/manifests/deals-v1.js +1 -6
  41. package/dist/manifests/deals-v1.js.map +1 -1
  42. package/dist/manifests/decisions-v1.js.map +1 -1
  43. package/dist/manifests/documents-v1.js.map +1 -1
  44. package/dist/manifests/epistemic-algorithms-v1.js.map +1 -1
  45. package/dist/manifests/graph-visualization-v1.js.map +1 -1
  46. package/dist/manifests/index.js +1 -6
  47. package/dist/manifests/index.js.map +1 -1
  48. package/dist/manifests/news-v1.js.map +1 -1
  49. package/dist/manifests/philosophy-mode-v1.js.map +1 -1
  50. package/dist/manifests/sprints-v1.js.map +1 -1
  51. package/dist/manifests/task-management-v1.js.map +1 -1
  52. package/dist/manifests/team-analysis-v1.js.map +1 -1
  53. package/dist/manifests/themes-v1.js.map +1 -1
  54. package/dist/manifests/user-profiles-v1.js.map +1 -1
  55. package/dist/manifests.js +1 -6
  56. package/dist/manifests.js.map +1 -1
  57. package/dist/namespacePolicy.d.ts +6 -6
  58. package/dist/namespacePolicy.js.map +1 -1
  59. package/dist/proof-attestation.json +1 -1
  60. package/dist/registry.js +84 -65
  61. package/dist/registry.js.map +1 -1
  62. package/dist/runtime.d.ts +6 -6
  63. package/dist/runtime.js +83 -59
  64. package/dist/runtime.js.map +1 -1
  65. package/dist/serviceContracts.d.ts +4 -4
  66. package/dist/serviceContracts.js.map +1 -1
  67. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/dependencyResolution.ts","../src/lifecycle.ts","../src/contracts.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":["toIssue"],"mappings":"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","file":"registry.js","sourcesContent":["/**\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 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 * 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"]}
1
+ {"version":3,"sources":["../src/dependencyResolution.ts","../src/lifecycle.ts","../src/contracts.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":["toIssue"],"mappings":"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","file":"registry.js","sourcesContent":["// 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 * 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 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","/**\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: [\"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"]}