spine-framework 0.3.125 → 0.3.126

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 (319) hide show
  1. package/.framework/cli/commands/agents.ts +35 -37
  2. package/.framework/cli/commands/auth.ts +35 -34
  3. package/.framework/cli/commands/create-app.ts +104 -40
  4. package/.framework/cli/commands/dev.ts +104 -69
  5. package/.framework/cli/commands/doctor.ts +169 -97
  6. package/.framework/cli/commands/generate.ts +82 -160
  7. package/.framework/cli/commands/init.ts +72 -34
  8. package/.framework/cli/commands/install-app.ts +260 -125
  9. package/.framework/cli/commands/items.ts +33 -44
  10. package/.framework/cli/commands/migrate.ts +122 -40
  11. package/.framework/cli/commands/migrations.ts +33 -40
  12. package/.framework/cli/commands/pipelines.ts +31 -39
  13. package/.framework/cli/commands/status.ts +47 -23
  14. package/.framework/cli/commands/system.ts +47 -37
  15. package/.framework/cli/commands/test.ts +112 -68
  16. package/.framework/cli/commands/validate-app.ts +215 -121
  17. package/.framework/cli/context.ts +112 -130
  18. package/.framework/cli/env-loader.ts +47 -18
  19. package/.framework/cli/index.ts +81 -42
  20. package/.framework/docs/runtime-types.md +1024 -0
  21. package/.framework/functions/_shared/agent-runner.ts +1296 -961
  22. package/.framework/functions/_shared/app-manifest.ts +82 -68
  23. package/.framework/functions/_shared/audit.ts +135 -83
  24. package/.framework/functions/_shared/{cil-state.ts → cil.ts} +147 -54
  25. package/.framework/functions/_shared/db.ts +80 -126
  26. package/.framework/functions/_shared/hash-api-key.ts +63 -0
  27. package/.framework/functions/_shared/index.ts +222 -347
  28. package/.framework/functions/_shared/kb.ts +319 -0
  29. package/.framework/functions/_shared/llm.ts +92 -0
  30. package/.framework/functions/_shared/logging.ts +288 -0
  31. package/.framework/functions/_shared/middleware.ts +329 -365
  32. package/.framework/functions/_shared/outcomes.ts +36 -0
  33. package/.framework/functions/_shared/permissions.ts +359 -643
  34. package/.framework/functions/_shared/pipeline-runner.ts +243 -316
  35. package/.framework/functions/_shared/principal.ts +376 -468
  36. package/.framework/functions/_shared/resolve-credentials.ts +102 -0
  37. package/.framework/functions/_shared/resolve-ids.ts +162 -14
  38. package/.framework/functions/_shared/retry-deliveries.ts +104 -0
  39. package/.framework/functions/_shared/schema-utils.ts +611 -373
  40. package/.framework/functions/_shared/testing.ts +207 -137
  41. package/.framework/functions/_shared/tracing.ts +276 -0
  42. package/.framework/functions/_shared/trigger-engine.ts +159 -211
  43. package/.framework/functions/_shared/webhook-registration.ts +95 -81
  44. package/.framework/functions/_shared/webhook-registry.ts +153 -75
  45. package/.framework/functions/account-nodes.ts +31 -53
  46. package/.framework/functions/adapters/generic-webhook-inbound.ts +56 -0
  47. package/.framework/functions/adapters/generic-webhook-outbound.ts +43 -0
  48. package/.framework/functions/adapters/openai-outbound.ts +40 -0
  49. package/.framework/functions/admin-data.ts +687 -533
  50. package/.framework/functions/admin-funnel.ts +31 -20
  51. package/.framework/functions/admin-install-funnel.ts +47 -28
  52. package/.framework/functions/admin-signals.ts +47 -29
  53. package/.framework/functions/ai-agents.ts +122 -147
  54. package/.framework/functions/ai-interactions.ts +180 -90
  55. package/.framework/functions/api-keys.ts +250 -192
  56. package/.framework/functions/apps.ts +203 -197
  57. package/.framework/functions/auth.ts +98 -91
  58. package/.framework/functions/cil-agent-ingest.ts +773 -0
  59. package/.framework/functions/cil-agent.ts +592 -0
  60. package/.framework/functions/cil-callmap.ts +1227 -0
  61. package/.framework/functions/cil-config.ts +583 -0
  62. package/.framework/functions/cil-context.ts +445 -0
  63. package/.framework/functions/cil-doc.ts +1752 -0
  64. package/.framework/functions/cil-embeddings.ts +1202 -0
  65. package/.framework/functions/cil-graph.ts +585 -0
  66. package/.framework/functions/cil-ingest.ts +2416 -0
  67. package/.framework/functions/cil-pipeline.ts +318 -0
  68. package/.framework/functions/cil-project.ts +499 -0
  69. package/.framework/functions/cil-validate.ts +469 -0
  70. package/.framework/functions/debug-auth.ts +73 -53
  71. package/.framework/functions/deliveries.ts +117 -0
  72. package/.framework/functions/embeddings.ts +528 -516
  73. package/.framework/functions/eval-harness.ts +158 -106
  74. package/.framework/functions/integration-outbound.ts +311 -0
  75. package/.framework/functions/integration-routes.ts +240 -466
  76. package/.framework/functions/integrations.ts +132 -140
  77. package/.framework/functions/invites.ts +401 -201
  78. package/.framework/functions/item-progress.ts +113 -53
  79. package/.framework/functions/kb.ts +28 -0
  80. package/.framework/functions/logs.ts +239 -222
  81. package/.framework/functions/observability.ts +308 -259
  82. package/.framework/functions/pipeline-executions.ts +179 -235
  83. package/.framework/functions/pipelines.ts +163 -205
  84. package/.framework/functions/prompt-configs.ts +109 -156
  85. package/.framework/functions/roles.ts +97 -147
  86. package/.framework/functions/system-cron.ts +132 -218
  87. package/.framework/functions/system.ts +112 -52
  88. package/.framework/functions/tests.ts +32 -28
  89. package/.framework/functions/timers.ts +162 -210
  90. package/.framework/functions/triggers.ts +282 -346
  91. package/.framework/functions/types.ts +283 -400
  92. package/.framework/migrations/001_core_schema.sql +630 -0
  93. package/.framework/migrations/002_core_rls_and_functions.sql +532 -0
  94. package/.framework/migrations/{003_system_data.sql → 003_core_system_data.sql} +26 -153
  95. package/.framework/migrations/004_core_rpc_and_broker.sql +421 -0
  96. package/.framework/migrations/005_core_observability.sql +598 -0
  97. package/.framework/migrations/006_security_hardening_rls.sql +97 -0
  98. package/.framework/migrations/007_kb_article_list.sql +237 -0
  99. package/.framework/migrations/008_items_target.sql +8 -0
  100. package/.framework/migrations/009_roles_slug_unique.sql +11 -0
  101. package/.framework/public/spine.config.json +91 -0
  102. package/.framework/scripts/app-install-cli.ts +112 -98
  103. package/.framework/src/App.tsx +67 -20
  104. package/.framework/src/apps/admin/index.tsx +97 -27
  105. package/.framework/src/components/AppWrapper.tsx +50 -11
  106. package/.framework/src/components/CustomAppLoader.tsx +131 -22
  107. package/.framework/src/components/admin/AdminListPage.tsx +75 -8
  108. package/.framework/src/components/admin/AdminSidebar.tsx +148 -36
  109. package/.framework/src/components/admin/AdminStatsCard.tsx +48 -29
  110. package/.framework/src/components/admin/PageInstructions.tsx +49 -0
  111. package/.framework/src/components/admin/SortableTableHeader.tsx +49 -2
  112. package/.framework/src/components/app-shell/GenericAppShell.tsx +69 -11
  113. package/.framework/src/components/app-shell/GenericDetailPage.tsx +55 -10
  114. package/.framework/src/components/app-shell/GenericListPage.tsx +76 -9
  115. package/.framework/src/components/app-sidebar.tsx +50 -3
  116. package/.framework/src/components/auth/ProtectedRoute.tsx +53 -45
  117. package/.framework/src/components/kb/KBArticleEditor.tsx +409 -0
  118. package/.framework/src/components/kb/KBArticleList.tsx +557 -0
  119. package/.framework/src/components/layout/AppShell.tsx +54 -16
  120. package/.framework/src/components/layout/Header.tsx +50 -38
  121. package/.framework/src/components/layout/Layout.tsx +48 -32
  122. package/.framework/src/components/layout/Sidebar.tsx +167 -16
  123. package/.framework/src/components/runtime/DataDetailHeader.tsx +33 -1
  124. package/.framework/src/components/runtime/DataDetailPage.tsx +289 -4
  125. package/.framework/src/components/runtime/DataFilters.tsx +78 -1
  126. package/.framework/src/components/runtime/DataHeader.tsx +32 -29
  127. package/.framework/src/components/runtime/DataListPage.tsx +161 -2
  128. package/.framework/src/components/runtime/DataStats.tsx +48 -1
  129. package/.framework/src/components/runtime/DataTable.tsx +153 -1
  130. package/.framework/src/components/runtime/SchemaDetailForm.tsx +77 -46
  131. package/.framework/src/components/runtime/index.ts +16 -9
  132. package/.framework/src/components/search-form.tsx +33 -1
  133. package/.framework/src/components/shared/AgentView.tsx +48 -51
  134. package/.framework/src/components/shared/FieldRenderer.tsx +84 -67
  135. package/.framework/src/components/shared/InviteManager.tsx +113 -52
  136. package/.framework/src/components/shared/MemberList.tsx +182 -0
  137. package/.framework/src/components/shared/SchemaFields.tsx +96 -78
  138. package/.framework/src/components/ui/DataTable.tsx +86 -56
  139. package/.framework/src/components/ui/Form.tsx +188 -109
  140. package/.framework/src/components/ui/ItemCard.tsx +86 -58
  141. package/.framework/src/components/ui/ItemListView.tsx +88 -61
  142. package/.framework/src/components/ui/LoadingSpinner.tsx +52 -27
  143. package/.framework/src/components/ui/Modal.tsx +81 -4
  144. package/.framework/src/components/ui/RichTextEditor.tsx +101 -9
  145. package/.framework/src/components/ui/accordion.tsx +97 -5
  146. package/.framework/src/components/ui/alert-dialog.tsx +225 -13
  147. package/.framework/src/components/ui/alert.tsx +113 -6
  148. package/.framework/src/components/ui/aspect-ratio.tsx +49 -2
  149. package/.framework/src/components/ui/avatar.tsx +129 -7
  150. package/.framework/src/components/ui/badge.tsx +65 -3
  151. package/.framework/src/components/ui/breadcrumb.tsx +145 -8
  152. package/.framework/src/components/ui/button-group.tsx +81 -4
  153. package/.framework/src/components/ui/button.tsx +49 -2
  154. package/.framework/src/components/ui/calendar.tsx +65 -3
  155. package/.framework/src/components/ui/card.tsx +145 -8
  156. package/.framework/src/components/ui/carousel.tsx +129 -7
  157. package/.framework/src/components/ui/chart.tsx +161 -10
  158. package/.framework/src/components/ui/checkbox.tsx +49 -2
  159. package/.framework/src/components/ui/collapsible.tsx +81 -5
  160. package/.framework/src/components/ui/combobox.tsx +305 -20
  161. package/.framework/src/components/ui/command.tsx +177 -11
  162. package/.framework/src/components/ui/context-menu.tsx +273 -17
  163. package/.framework/src/components/ui/dialog.tsx +209 -27
  164. package/.framework/src/components/ui/direction.tsx +64 -4
  165. package/.framework/src/components/ui/drawer.tsx +193 -12
  166. package/.framework/src/components/ui/dropdown-menu.tsx +273 -18
  167. package/.framework/src/components/ui/empty.tsx +145 -9
  168. package/.framework/src/components/ui/field.tsx +209 -14
  169. package/.framework/src/components/ui/hover-card.tsx +81 -4
  170. package/.framework/src/components/ui/input-group.tsx +162 -10
  171. package/.framework/src/components/ui/input-otp.tsx +98 -5
  172. package/.framework/src/components/ui/input.tsx +49 -2
  173. package/.framework/src/components/ui/item.tsx +225 -13
  174. package/.framework/src/components/ui/kbd.tsx +65 -3
  175. package/.framework/src/components/ui/label.tsx +49 -2
  176. package/.framework/src/components/ui/menubar.tsx +289 -17
  177. package/.framework/src/components/ui/native-select.tsx +97 -5
  178. package/.framework/src/components/ui/navigation-menu.tsx +177 -10
  179. package/.framework/src/components/ui/pagination.tsx +161 -9
  180. package/.framework/src/components/ui/popover.tsx +145 -8
  181. package/.framework/src/components/ui/progress.tsx +49 -2
  182. package/.framework/src/components/ui/radio-group.tsx +65 -3
  183. package/.framework/src/components/ui/resizable.tsx +82 -4
  184. package/.framework/src/components/ui/scroll-area.tsx +65 -3
  185. package/.framework/src/components/ui/select.tsx +193 -11
  186. package/.framework/src/components/ui/separator.tsx +49 -2
  187. package/.framework/src/components/ui/sheet.tsx +193 -11
  188. package/.framework/src/components/ui/sidebar.tsx +481 -38
  189. package/.framework/src/components/ui/skeleton.tsx +49 -2
  190. package/.framework/src/components/ui/slider.tsx +49 -2
  191. package/.framework/src/components/ui/sonner.tsx +49 -2
  192. package/.framework/src/components/ui/spinner.tsx +49 -2
  193. package/.framework/src/components/ui/switch.tsx +49 -2
  194. package/.framework/src/components/ui/table-primitives.tsx +160 -33
  195. package/.framework/src/components/ui/table.tsx +161 -9
  196. package/.framework/src/components/ui/tabs.tsx +113 -6
  197. package/.framework/src/components/ui/textarea.tsx +49 -2
  198. package/.framework/src/components/ui/toggle-group.tsx +81 -4
  199. package/.framework/src/components/ui/toggle.tsx +65 -3
  200. package/.framework/src/components/ui/tooltip.tsx +97 -5
  201. package/.framework/src/contexts/AppContext.tsx +129 -45
  202. package/.framework/src/contexts/AuthContext.tsx +173 -145
  203. package/.framework/src/hooks/use-mobile.ts +48 -2
  204. package/.framework/src/hooks/useApi.ts +208 -159
  205. package/.framework/src/hooks/useAppPath.ts +32 -23
  206. package/.framework/src/hooks/useApps.ts +51 -20
  207. package/.framework/src/hooks/useEntityList.ts +32 -78
  208. package/.framework/src/hooks/useEntityRecord.ts +35 -96
  209. package/.framework/src/hooks/useForm.ts +32 -92
  210. package/.framework/src/hooks/useListSchema.ts +49 -78
  211. package/.framework/src/hooks/useSchemaRecord.ts +114 -105
  212. package/.framework/src/lib/api.ts +192 -115
  213. package/.framework/src/lib/supabase.ts +98 -64
  214. package/.framework/src/lib/utils.ts +287 -151
  215. package/.framework/src/main.tsx +49 -3
  216. package/.framework/src/pages/DashboardPage.tsx +52 -29
  217. package/.framework/src/pages/NotFoundPage.tsx +32 -10
  218. package/.framework/src/pages/SetupPage.tsx +32 -12
  219. package/.framework/src/pages/admin/AIAgentDetailPage.tsx +119 -10
  220. package/.framework/src/pages/admin/AIAgentsPage.tsx +48 -19
  221. package/.framework/src/pages/admin/APIKeyDetailPage.tsx +187 -17
  222. package/.framework/src/pages/admin/APIKeysPage.tsx +98 -22
  223. package/.framework/src/pages/admin/AlertsConfigPage.tsx +113 -26
  224. package/.framework/src/pages/admin/AppDetailPage.tsx +125 -8
  225. package/.framework/src/pages/admin/AppsPage.tsx +49 -2
  226. package/.framework/src/pages/admin/DeliveriesPage.tsx +196 -0
  227. package/.framework/src/pages/admin/DesignedPage.tsx +32 -18
  228. package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +215 -484
  229. package/.framework/src/pages/admin/EmbeddingsPage.tsx +116 -319
  230. package/.framework/src/pages/admin/ExtendedShadcnTestPage.tsx +34 -9
  231. package/.framework/src/pages/admin/IncrementalShadcnTestPage.tsx +34 -9
  232. package/.framework/src/pages/admin/IntegratedDashboard.tsx +32 -16
  233. package/.framework/src/pages/admin/IntegrationDetailPage.tsx +183 -26
  234. package/.framework/src/pages/admin/IntegrationsPage.tsx +48 -19
  235. package/.framework/src/pages/admin/InvitesPage.tsx +48 -14
  236. package/.framework/src/pages/admin/LogsPage.tsx +422 -75
  237. package/.framework/src/pages/admin/MinimalShadcnTestPage.tsx +34 -9
  238. package/.framework/src/pages/admin/ObservabilityDashboard.tsx +113 -24
  239. package/.framework/src/pages/admin/PipelineDetailPage.tsx +206 -34
  240. package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +50 -17
  241. package/.framework/src/pages/admin/PipelinesPage.tsx +160 -21
  242. package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +378 -88
  243. package/.framework/src/pages/admin/PromptConfigsPage.tsx +125 -16
  244. package/.framework/src/pages/admin/ProperlyDesignedPage.tsx +49 -10
  245. package/.framework/src/pages/admin/RoleDetailPage.tsx +130 -10
  246. package/.framework/src/pages/admin/RolesPage.tsx +171 -18
  247. package/.framework/src/pages/admin/SelectTestPage.tsx +34 -9
  248. package/.framework/src/pages/admin/ShadcnTestPage.tsx +49 -11
  249. package/.framework/src/pages/admin/SimpleDashboard.tsx +49 -10
  250. package/.framework/src/pages/admin/TestRunDetailPage.tsx +49 -4
  251. package/.framework/src/pages/admin/TestingDashboard.tsx +98 -28
  252. package/.framework/src/pages/admin/TimerDetailPage.tsx +143 -33
  253. package/.framework/src/pages/admin/TimersPage.tsx +48 -20
  254. package/.framework/src/pages/admin/TriggerDetailPage.tsx +118 -30
  255. package/.framework/src/pages/admin/TriggersPage.tsx +64 -19
  256. package/.framework/src/pages/admin/TypeDetailPage.tsx +138 -15
  257. package/.framework/src/pages/admin/TypesPage.tsx +48 -20
  258. package/.framework/src/pages/admin/cil/CILAgentPage.tsx +465 -0
  259. package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +787 -0
  260. package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +699 -0
  261. package/.framework/src/pages/admin/cil/CILFileListPage.tsx +647 -0
  262. package/.framework/src/pages/admin/cil/CILGraphPage.tsx +616 -0
  263. package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +1402 -0
  264. package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +614 -0
  265. package/.framework/src/pages/admin/cil/CILSearchPage.tsx +571 -0
  266. package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +731 -0
  267. package/.framework/src/pages/admin/kb/KBAdminPage.tsx +64 -0
  268. package/.framework/src/pages/auth/AuthConfirmPage.tsx +52 -51
  269. package/.framework/src/pages/auth/ForgotPasswordPage.tsx +31 -22
  270. package/.framework/src/pages/auth/LoginPage.tsx +50 -23
  271. package/.framework/src/pages/auth/PendingApprovalPage.tsx +31 -15
  272. package/.framework/src/pages/auth/RegisterPage.tsx +281 -317
  273. package/.framework/src/pages/spine-framework/APIPage.tsx +33 -0
  274. package/.framework/src/pages/spine-framework/CLIPage.tsx +33 -0
  275. package/.framework/src/types/auth.ts +128 -71
  276. package/.framework/src/types/types.ts +373 -157
  277. package/custom/.devin/skills/spine-workbench-discovery/SKILL.md +39 -0
  278. package/custom/.devin/skills/spine-workbench-idea/SKILL.md +36 -0
  279. package/custom/.devin/skills/spine-workbench-implement/SKILL.md +46 -0
  280. package/custom/.devin/skills/spine-workbench-initiative/SKILL.md +28 -0
  281. package/custom/.devin/skills/spine-workbench-plan/SKILL.md +38 -0
  282. package/docs/README.md +9 -130
  283. package/netlify.toml +3 -3
  284. package/package.json +13 -25
  285. package/scripts/kb-ingest-docs.ts +203 -0
  286. package/spine.config.json +65 -4
  287. package/.framework/migrations/001_schema.sql +0 -425
  288. package/.framework/migrations/002_rls_and_functions.sql +0 -763
  289. package/.framework/migrations/004_enhancements.sql +0 -43
  290. package/.framework/migrations/005_auth_user_trigger.sql +0 -105
  291. package/.framework/migrations/006_fix_current_actor_id.sql +0 -21
  292. package/.framework/migrations/016_invites.sql +0 -27
  293. package/.framework/migrations/017_fix_get_account_apps.sql +0 -78
  294. package/.framework/migrations/018_apps_required_roles.sql +0 -17
  295. package/.framework/migrations/019_triggers_unique_constraint.sql +0 -13
  296. package/.framework/migrations/020_get_account_apps_role_filter.sql +0 -117
  297. package/.framework/migrations/021_app_domains.sql +0 -112
  298. package/.framework/migrations/022_route_prefix_domain_unique.sql +0 -21
  299. package/.framework/migrations/023_match_embeddings_rpc.sql +0 -78
  300. package/.framework/migrations/024_messages_account_id.sql +0 -9
  301. package/.framework/migrations/025_retype_threads_messages.sql +0 -240
  302. package/.framework/migrations/026_fix_rls_policies.sql +0 -47
  303. package/.framework/migrations/027_embedding_lifecycle.sql +0 -176
  304. package/.framework/migrations/028_fix_message_data_permissions.sql +0 -49
  305. package/.framework/migrations/029_tighten_support_triage_prompt.sql +0 -41
  306. package/.framework/migrations/030_messages_updated_by.sql +0 -6
  307. package/.framework/migrations/031_seed_upsert_constraints.sql +0 -35
  308. package/docs/APPS.md +0 -232
  309. package/docs/ARCHITECTURE.md +0 -246
  310. package/docs/INSTALL.md +0 -155
  311. package/docs/design-schema-spec.md +0 -1837
  312. package/docs/dev-guides/01-create-an-app.md +0 -183
  313. package/docs/dev-guides/02-create-a-function.md +0 -178
  314. package/docs/dev-guides/03-create-a-component.md +0 -178
  315. package/docs/dev-guides/04-webhook-handlers.md +0 -129
  316. package/docs/dev-guides/05-testing.md +0 -168
  317. package/docs/dev-guides/README.md +0 -40
  318. package/docs/npm-packages-plan.md +0 -288
  319. package/docs/spine-core--api-reference.md +0 -822
@@ -1,12 +1,38 @@
1
1
 
2
2
 
3
- // CIL[BEGIN chunk_id="doctor_module_header_1783405679" type="module_header" identity="module_header" parent="none"]
4
- // CIL[DOC-MACRO purpose="Setup imports and path constants for doctor command"]
5
- // CIL[DOC-RESPONSIBILITY responsibility="Configure module dependencies and file paths"]
6
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
7
- // CIL[DOC-CONTRACT inputs="none" outputs="imports, paths" errors="none" side_effects="none"]
8
- // CIL[DOC-MICRO logic_summary="Import CLI framework, database, and file system utilities" notable_decisions="[]"]
9
- // CIL[DOC-CONFIDENCE pass="first" score="0.95" flags="none"]
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+
21
+ // CIL[BEGIN chunk_id="doctor_module_header_1784071456" type="module_header" identity="module_header" parent="none"]
22
+ // CIL[DOC-MACRO purpose="Import dependencies for doctor CLI commands"]
23
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide imports and utilities for health checks"]
24
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\"custom/apps/portal/pages/ContentPage.tsx\",\"\\\"]"]
25
+ // CIL[DOC-CONTRACT inputs="none" outputs="imports" errors="none" side_effects="none"]
26
+ // CIL[DOC-MICRO logic_summary="Imports Command type, context, database, and file system modules" notable_decisions="[]"]
27
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
28
+ // CIL[DOC-STABILITY stability="stable"]
29
+ // CIL[DOC-AUDIENCE audience="developer"]
30
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/TypeDetailPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, custom/apps/portal/pages/ContentPage.tsx, \."]
31
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
32
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
33
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
34
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
35
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
10
36
  import type { Command } from 'commander'
11
37
  import { buildCliContext, handleError } from '../context.ts'
12
38
  import { adminDb } from '../../functions/_shared/index.ts'
@@ -16,17 +42,21 @@ import { fileURLToPath } from 'url'
16
42
 
17
43
  const __filename = fileURLToPath(import.meta.url)
18
44
  const __dirname = dirname(__filename)
19
- // CIL[END chunk_id="doctor_module_header_1783405679"]
20
-
21
-
22
-
23
- // CIL[BEGIN chunk_id="doctor_CheckResult_1783405679" type="interface" identity="CheckResult" parent="none"]
24
- // CIL[DOC-MACRO purpose="Define structure for individual health check results"]
25
- // CIL[DOC-RESPONSIBILITY responsibility="Standardize check result data format"]
26
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
27
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult interface" errors="none" side_effects="none"]
28
- // CIL[DOC-MICRO logic_summary="Type definition for check status and metadata" notable_decisions="[]"]
29
- // CIL[DOC-CONFIDENCE pass="first" score="0.95" flags="none"]
45
+ // CIL[END chunk_id="doctor_module_header_1784071456"]
46
+ // CIL[BEGIN chunk_id="doctor_checkresult_1784071456" type="interface" identity="CheckResult" parent="none"]
47
+ // CIL[DOC-MACRO purpose="Define structure for health check results"]
48
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide standardized check result format"]
49
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[\".framework/src/pages/admin/IntegrationsPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
50
+ // CIL[DOC-CONTRACT inputs="none" outputs="interface definition" errors="none" side_effects="none"]
51
+ // CIL[DOC-MICRO logic_summary="Defines check result with status, message, and optional details" notable_decisions="[]"]
52
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
53
+ // CIL[DOC-STABILITY stability="stable"]
54
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/IntegrationsPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
55
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
56
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
57
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
58
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
59
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
30
60
  interface CheckResult {
31
61
  name: string
32
62
  status: 'pass' | 'fail' | 'warn'
@@ -34,15 +64,21 @@ interface CheckResult {
34
64
  details?: Record<string, any>
35
65
  fixable?: boolean
36
66
  }
37
- // CIL[END chunk_id="doctor_CheckResult_1783405679"]
38
-
39
- // CIL[BEGIN chunk_id="doctor_DoctorReport_1783405679" type="interface" identity="DoctorReport" parent="none"]
40
- // CIL[DOC-MACRO purpose="Define structure for complete doctor health report"]
41
- // CIL[DOC-RESPONSIBILITY responsibility="Aggregate all check results into summary report"]
42
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
43
- // CIL[DOC-CONTRACT inputs="none" outputs="DoctorReport interface" errors="none" side_effects="none"]
44
- // CIL[DOC-MICRO logic_summary="Type definition for overall health status and summary" notable_decisions="[]"]
45
- // CIL[DOC-CONFIDENCE pass="first" score="0.95" flags="none"]
67
+ // CIL[END chunk_id="doctor_checkresult_1784071456"]
68
+ // CIL[BEGIN chunk_id="doctor_doctorreport_1784071456" type="interface" identity="DoctorReport" parent="none"]
69
+ // CIL[DOC-MACRO purpose="Define structure for comprehensive doctor report"]
70
+ // CIL[DOC-RESPONSIBILITY responsibility="Provide complete health check summary format"]
71
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[\".framework/src/pages/admin/IntegrationsPage.tsx\",\".framework/functions/_shared/principal.ts\",\".framework/functions/_shared/schema-utils.ts\",\".framework/src/pages/admin/TypeDetailPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\"\\\"]"]
72
+ // CIL[DOC-CONTRACT inputs="none" outputs="interface definition" errors="none" side_effects="none"]
73
+ // CIL[DOC-MICRO logic_summary="Defines report with overall status and check summaries" notable_decisions="[]"]
74
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
75
+ // CIL[DOC-STABILITY stability="stable"]
76
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/IntegrationsPage.tsx, .framework/functions/_shared/principal.ts, .framework/functions/_shared/schema-utils.ts, .framework/src/pages/admin/TypeDetailPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, \."]
77
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
78
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
79
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
80
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
81
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
46
82
  interface DoctorReport {
47
83
  overall: 'healthy' | 'degraded' | 'unhealthy'
48
84
  checks: CheckResult[]
@@ -53,17 +89,21 @@ interface DoctorReport {
53
89
  fixable: number
54
90
  }
55
91
  }
56
- // CIL[END chunk_id="doctor_DoctorReport_1783405679"]
57
-
58
-
59
-
60
- // CIL[BEGIN chunk_id="doctor_checkEnvironment_1783405679" type="function" identity="checkEnvironment" parent="none"]
61
- // CIL[DOC-MACRO purpose="Validate required environment variables are set"]
62
- // CIL[DOC-RESPONSIBILITY responsibility="Check SUPABASE_URL and SERVICE_ROLE_KEY presence"]
63
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
64
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="none" side_effects="none"]
65
- // CIL[DOC-MICRO logic_summary="Check process.env for required vars and .xenv file existence" notable_decisions="[]"]
66
- // CIL[DOC-CONFIDENCE pass="first" score="0.90" flags="none"]
92
+ // CIL[END chunk_id="doctor_doctorreport_1784071456"]
93
+ // CIL[BEGIN chunk_id="doctor_checkenvironment_1784071456" type="function" identity="checkEnvironment" parent="none"]
94
+ // CIL[DOC-MACRO purpose="Check required environment variables"]
95
+ // CIL[DOC-RESPONSIBILITY responsibility="Validate Supabase environment configuration"]
96
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[\".framework/src/pages/admin/RolesPage.tsx\",\"\\\"]"]
97
+ // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="none" side_effects="reads environment variables"]
98
+ // CIL[DOC-MICRO logic_summary="Validates required env vars and checks for .xenv file" notable_decisions="[]"]
99
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
100
+ // CIL[DOC-STABILITY stability="stable"]
101
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: .framework/src/pages/admin/RolesPage.tsx, \."]
102
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
103
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
104
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
105
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
106
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
67
107
  async function checkEnvironment(): Promise<CheckResult> {
68
108
  const required = ['SUPABASE_URL', 'SUPABASE_SERVICE_ROLE_KEY']
69
109
  const missing = required.filter(v => !process.env[v])
@@ -89,15 +129,21 @@ async function checkEnvironment(): Promise<CheckResult> {
89
129
  details: { has_xenv: hasXenv, vars_present: required.length }
90
130
  }
91
131
  }
92
- // CIL[END chunk_id="doctor_checkEnvironment_1783405679"]
93
-
94
- // CIL[BEGIN chunk_id="doctor_checkDatabase_1783405679" type="function" identity="checkDatabase" parent="none"]
95
- // CIL[DOC-MACRO purpose="Test database connectivity and measure latency"]
96
- // CIL[DOC-RESPONSIBILITY responsibility="Verify database connection and performance"]
97
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
98
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database connection errors" side_effects="none"]
99
- // CIL[DOC-MICRO logic_summary="Query accounts table to test connection and measure response time" notable_decisions="[]"]
100
- // CIL[DOC-CONFIDENCE pass="first" score="0.90" flags="none"]
132
+ // CIL[END chunk_id="doctor_checkenvironment_1784071456"]
133
+ // CIL[BEGIN chunk_id="doctor_checkdatabase_1784071456" type="function" identity="checkDatabase" parent="none"]
134
+ // CIL[DOC-MACRO purpose="Check database connectivity and performance"]
135
+ // CIL[DOC-RESPONSIBILITY responsibility="Validate database connection and measure latency"]
136
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[\"custom/apps/portal/pages/ContentPage.tsx\",\"custom/apps/cortex/pages/operations/OperationsDashboard.tsx\",\".framework/src/pages/admin/RolesPage.tsx\",\".framework/src/components/ui/dialog.tsx\",\"\\\"]"]
137
+ // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database connection errors" side_effects="queries database"]
138
+ // CIL[DOC-MICRO logic_summary="Tests database connection with simple query and measures latency" notable_decisions="[]"]
139
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="external_symbols_unknown"]
140
+ // CIL[DOC-STABILITY stability="stable"]
141
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: custom/apps/portal/pages/ContentPage.tsx, custom/apps/cortex/pages/operations/OperationsDashboard.tsx, .framework/src/pages/admin/RolesPage.tsx, .framework/src/components/ui/dialog.tsx, \."]
142
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
143
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
144
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
145
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
146
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
101
147
  async function checkDatabase(): Promise<CheckResult> {
102
148
  const start = Date.now()
103
149
  try {
@@ -129,15 +175,21 @@ async function checkDatabase(): Promise<CheckResult> {
129
175
  }
130
176
  }
131
177
  }
132
- // CIL[END chunk_id="doctor_checkDatabase_1783405679"]
133
-
134
- // CIL[BEGIN chunk_id="doctor_checkMigrations_1783405679" type="function" identity="checkMigrations" parent="none"]
135
- // CIL[DOC-MACRO purpose="Compare local migration files with applied database migrations"]
136
- // CIL[DOC-RESPONSIBILITY responsibility="Detect pending migrations and migration status"]
137
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
138
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database query errors" side_effects="none"]
139
- // CIL[DOC-MICRO logic_summary="List local SQL files and compare with schema_migrations table" notable_decisions="[]"]
140
- // CIL[DOC-CONFIDENCE pass="first" score="0.85" flags="none"]
178
+ // CIL[END chunk_id="doctor_checkdatabase_1784071456"]
179
+ // CIL[BEGIN chunk_id="doctor_checkmigrations_1784071456" type="function" identity="checkMigrations" parent="none"]
180
+ // CIL[DOC-MACRO purpose="Check migration status and pending migrations"]
181
+ // CIL[DOC-RESPONSIBILITY responsibility="Compare local migration files with applied migrations"]
182
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[]"]
183
+ // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database query errors" side_effects="queries database, reads filesystem"]
184
+ // CIL[DOC-MICRO logic_summary="Compares local SQL files with database migration records" notable_decisions="[]"]
185
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="external_symbols_unknown"]
186
+ // CIL[DOC-STABILITY stability="stable"]
187
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: none."]
188
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
189
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
190
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
191
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
192
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
141
193
  async function checkMigrations(): Promise<CheckResult> {
142
194
  const migrationsDir = resolve(__dirname, '../../migrations_dayzero')
143
195
 
@@ -199,15 +251,21 @@ async function checkMigrations(): Promise<CheckResult> {
199
251
  }
200
252
  }
201
253
  }
202
- // CIL[END chunk_id="doctor_checkMigrations_1783405679"]
203
-
204
- // CIL[BEGIN chunk_id="doctor_checkIntegrity_1783405679" type="function" identity="checkIntegrity" parent="none"]
205
- // CIL[DOC-MACRO purpose="Validate core manifest file and integrity hash presence"]
206
- // CIL[DOC-RESPONSIBILITY responsibility="Check manifest file exists and has integrity data"]
207
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
208
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="file read/parse errors" side_effects="none"]
209
- // CIL[DOC-MICRO logic_summary="Read manifest.json and verify integrity hash exists" notable_decisions="[]"]
210
- // CIL[DOC-CONFIDENCE pass="first" score="0.85" flags="none"]
254
+ // CIL[END chunk_id="doctor_checkmigrations_1784071456"]
255
+ // CIL[BEGIN chunk_id="doctor_checkintegrity_1784071456" type="function" identity="checkIntegrity" parent="none"]
256
+ // CIL[DOC-MACRO purpose="Check core integrity manifest"]
257
+ // CIL[DOC-RESPONSIBILITY responsibility="Validate spine manifest and integrity hash"]
258
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[]"]
259
+ // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="file system errors" side_effects="reads manifest file"]
260
+ // CIL[DOC-MICRO logic_summary="Checks for manifest file and validates integrity hash presence" notable_decisions="[]"]
261
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
262
+ // CIL[DOC-STABILITY stability="stable"]
263
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: none."]
264
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
265
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
266
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
267
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
268
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
211
269
  async function checkIntegrity(): Promise<CheckResult> {
212
270
  const manifestPath = resolve(__dirname, '../../.spine-manifest.json')
213
271
 
@@ -250,15 +308,21 @@ async function checkIntegrity(): Promise<CheckResult> {
250
308
  }
251
309
  }
252
310
  }
253
- // CIL[END chunk_id="doctor_checkIntegrity_1783405679"]
254
-
255
- // CIL[BEGIN chunk_id="doctor_checkTestRuns_1783405679" type="function" identity="checkTestRuns" parent="none"]
256
- // CIL[DOC-MACRO purpose="Check latest test run status and results"]
257
- // CIL[DOC-RESPONSIBILITY responsibility="Verify test suite execution and report status"]
258
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
259
- // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database query errors" side_effects="none"]
260
- // CIL[DOC-MICRO logic_summary="Query test_runs table for most recent test execution" notable_decisions="[]"]
261
- // CIL[DOC-CONFIDENCE pass="first" score="0.85" flags="none"]
311
+ // CIL[END chunk_id="doctor_checkintegrity_1784071456"]
312
+ // CIL[BEGIN chunk_id="doctor_checktestruns_1784071456" type="function" identity="checkTestRuns" parent="none"]
313
+ // CIL[DOC-MACRO purpose="Check recent test run status"]
314
+ // CIL[DOC-RESPONSIBILITY responsibility="Query latest test run and report status"]
315
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[]"]
316
+ // CIL[DOC-CONTRACT inputs="none" outputs="CheckResult" errors="database query errors" side_effects="queries test_runs table"]
317
+ // CIL[DOC-MICRO logic_summary="Retrieves most recent test run and reports its status" notable_decisions="[]"]
318
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="external_symbols_unknown"]
319
+ // CIL[DOC-STABILITY stability="stable"]
320
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: none."]
321
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
322
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
323
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
324
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
325
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
262
326
  async function checkTestRuns(): Promise<CheckResult> {
263
327
  try {
264
328
  const { data, error } = await adminDb
@@ -303,17 +367,21 @@ async function checkTestRuns(): Promise<CheckResult> {
303
367
  }
304
368
  }
305
369
  }
306
- // CIL[END chunk_id="doctor_checkTestRuns_1783405679"]
307
-
308
-
309
-
310
- // CIL[BEGIN chunk_id="doctor_tryFix_1783405679" type="function" identity="tryFix" parent="none"]
311
- // CIL[DOC-MACRO purpose="Provide fix suggestions for failed health checks"]
312
- // CIL[DOC-RESPONSIBILITY responsibility="Generate remediation instructions for each check type"]
313
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
314
- // CIL[DOC-CONTRACT inputs="CheckResult" outputs="string fix instructions" errors="none" side_effects="none"]
315
- // CIL[DOC-MICRO logic_summary="Switch statement mapping check names to fix commands" notable_decisions="[]"]
316
- // CIL[DOC-CONFIDENCE pass="first" score="0.90" flags="none"]
370
+ // CIL[END chunk_id="doctor_checktestruns_1784071456"]
371
+ // CIL[BEGIN chunk_id="doctor_tryfix_1784071456" type="function" identity="tryFix" parent="none"]
372
+ // CIL[DOC-MACRO purpose="Provide fix suggestions for failed checks"]
373
+ // CIL[DOC-RESPONSIBILITY responsibility="Generate remediation instructions for common issues"]
374
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[]"]
375
+ // CIL[DOC-CONTRACT inputs="none" outputs="string" errors="none" side_effects="none"]
376
+ // CIL[DOC-MICRO logic_summary="Maps check names to specific fix commands and instructions" notable_decisions="[]"]
377
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="none"]
378
+ // CIL[DOC-STABILITY stability="stable"]
379
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: none."]
380
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
381
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
382
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
383
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
384
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
317
385
  async function tryFix(check: CheckResult): Promise<string> {
318
386
  switch (check.name) {
319
387
  case 'environment':
@@ -332,17 +400,21 @@ async function tryFix(check: CheckResult): Promise<string> {
332
400
  return 'No automatic fix available'
333
401
  }
334
402
  }
335
- // CIL[END chunk_id="doctor_tryFix_1783405679"]
336
-
337
-
338
-
339
- // CIL[BEGIN chunk_id="doctor_registerDoctorCommands_1783405679" type="function" identity="registerDoctorCommands" parent="none"]
340
- // CIL[DOC-MACRO purpose="Register doctor CLI command and orchestrate health checks"]
341
- // CIL[DOC-RESPONSIBILITY responsibility="Execute all health checks and format results"]
342
- // CIL[DOC-CONTEXT module="cli/commands/doctor" layer="cli" related_files="[]"]
343
- // CIL[DOC-CONTRACT inputs="Command program" outputs="registered CLI command" errors="CLI errors" side_effects="process exit"]
344
- // CIL[DOC-MICRO logic_summary="Run checks sequentially, aggregate results, output formatted report" notable_decisions="[]"]
345
- // CIL[DOC-CONFIDENCE pass="first" score="0.85" flags="none"]
403
+ // CIL[END chunk_id="doctor_tryfix_1784071456"]
404
+ // CIL[BEGIN chunk_id="doctor_registerdoctorcommands_1784071456" type="function" identity="registerDoctorCommands" parent="none"]
405
+ // CIL[DOC-MACRO purpose="Register doctor command with CLI framework"]
406
+ // CIL[DOC-RESPONSIBILITY responsibility="Orchestrate all health checks and generate report"]
407
+ // CIL[DOC-CONTEXT module="doctor-cli" layer="cli" related_files="[]"]
408
+ // CIL[DOC-CONTRACT inputs="none" outputs="doctor command registration" errors="CLI context errors" side_effects="outputs health report"]
409
+ // CIL[DOC-MICRO logic_summary="Runs all checks in dependency order and formats results" notable_decisions="[]"]
410
+ // CIL[DOC-CONFIDENCE pass="second" score="0.95" flags="external_symbols_unknown"]
411
+ // CIL[DOC-STABILITY stability="stable"]
412
+ // CIL[DOC-VECTOR type="context" content="Layer: cli. Direct callers: 0. Direct calls: 0. Related files: none."]
413
+ // CIL[DOC-VECTOR type="blast_radius" content="Direct callers: 0. Total affected: 0."]
414
+ // CIL[DOC-VECTOR type="configuration" content="No configuration dependencies."]
415
+ // CIL[DOC-VECTOR type="constraint" content="No test paths identified."]
416
+ // CIL[DOC-VECTOR type="implementation_pattern" content="" status="pending_human_input"]
417
+ // CIL[DOC-VECTOR type="user_journey" content="" status="pending_human_input"]
346
418
  export function registerDoctorCommands(program: Command) {
347
419
  program
348
420
  .command('doctor')
@@ -477,4 +549,4 @@ export function registerDoctorCommands(program: Command) {
477
549
  }
478
550
  })
479
551
  }
480
- // CIL[END chunk_id="doctor_registerDoctorCommands_1783405679"]
552
+ // CIL[END chunk_id="doctor_registerdoctorcommands_1784071456"]