neotoma 0.3.0 → 0.3.2

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 (1699) hide show
  1. package/README.md +9 -9
  2. package/dist/actions.js +2 -2
  3. package/dist/actions.js.map +1 -1
  4. package/dist/cli/bootstrap.js +0 -0
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +158 -5
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/crypto/auth.js +1 -1
  9. package/dist/crypto/auth.js.map +1 -1
  10. package/dist/mcp_ws_bridge.js +1 -1
  11. package/dist/mcp_ws_bridge.js.map +1 -1
  12. package/dist/server.js +2 -2
  13. package/dist/server.js.map +1 -1
  14. package/dist/services/field_converters.js +3 -3
  15. package/dist/services/field_converters.js.map +1 -1
  16. package/dist/services/field_validation.js +1 -1
  17. package/dist/services/field_validation.js.map +1 -1
  18. package/dist/services/mcp_auth.js +1 -1
  19. package/dist/services/mcp_auth.js.map +1 -1
  20. package/dist/services/mcp_oauth.js +1 -1
  21. package/dist/services/mcp_oauth.js.map +1 -1
  22. package/dist/services/parquet_reader.js +1 -1
  23. package/dist/services/parquet_reader.js.map +1 -1
  24. package/dist/services/public_key_registry.js +2 -2
  25. package/dist/services/public_key_registry.js.map +1 -1
  26. package/package.json +27 -7
  27. package/.claude/CLAUDE.md +0 -81
  28. package/.claude/rules/agent_constraints.md +0 -201
  29. package/.claude/rules/agent_instructions_sync_rules.md +0 -100
  30. package/.claude/rules/agent_test_execution.md +0 -358
  31. package/.claude/rules/autonomous_execution.md +0 -119
  32. package/.claude/rules/bug_fix_detection.md +0 -145
  33. package/.claude/rules/bug_learning.md +0 -154
  34. package/.claude/rules/checkpoint_management.md +0 -194
  35. package/.claude/rules/configuration_management.md +0 -159
  36. package/.claude/rules/content_style_enforcement.md +0 -141
  37. package/.claude/rules/dependency_installation.md +0 -148
  38. package/.claude/rules/document_loading_order.md +0 -197
  39. package/.claude/rules/documentation_rules.md +0 -169
  40. package/.claude/rules/downstream_doc_updates.md +0 -269
  41. package/.claude/rules/env_check.md +0 -55
  42. package/.claude/rules/environment_variables_1password.md +0 -315
  43. package/.claude/rules/environment_variables_env_file.md +0 -124
  44. package/.claude/rules/feature_unit_detection.md +0 -132
  45. package/.claude/rules/file_naming.md +0 -34
  46. package/.claude/rules/git_remote_sync.md +0 -242
  47. package/.claude/rules/instruction_documentation.md +0 -287
  48. package/.claude/rules/native_browser_debugging.md +0 -68
  49. package/.claude/rules/plan_execution_testing.md +0 -101
  50. package/.claude/rules/plan_format.md +0 -38
  51. package/.claude/rules/post_build_testing.md +0 -162
  52. package/.claude/rules/prefer_cli_tools.md +0 -233
  53. package/.claude/rules/readme_maintenance.md +0 -156
  54. package/.claude/rules/release_detection.md +0 -95
  55. package/.claude/rules/release_status_readme_update.md +0 -62
  56. package/.claude/rules/risk_management.md +0 -170
  57. package/.claude/rules/security.md +0 -168
  58. package/.claude/rules/social_media_conventions.md +0 -42
  59. package/.claude/rules/test_first_workflow.md +0 -344
  60. package/.claude/rules/worktree_env.md +0 -56
  61. package/.claude/settings.json +0 -5
  62. package/.claude/skills/commit.md +0 -762
  63. package/.claude/skills/create_feature_unit.md +0 -176
  64. package/.claude/skills/create_release.md +0 -428
  65. package/.claude/skills/fix_feature_bug.md +0 -93
  66. package/.claude/skills/pull.md +0 -314
  67. package/.claude/skills/setup_symlinks.md +0 -228
  68. package/.codex/config.toml +0 -92
  69. package/.cursor/commands/analyze.md +0 -574
  70. package/.cursor/commands/commit.md +0 -768
  71. package/.cursor/commands/create_feature_unit.md +0 -182
  72. package/.cursor/commands/create_prototype.md +0 -95
  73. package/.cursor/commands/create_release.md +0 -434
  74. package/.cursor/commands/create_rule.md +0 -296
  75. package/.cursor/commands/debug.md +0 -985
  76. package/.cursor/commands/final_review.md +0 -97
  77. package/.cursor/commands/fix_feature_bug.md +0 -99
  78. package/.cursor/commands/manage_error_debugging.md +0 -186
  79. package/.cursor/commands/migrate_plans.md +0 -499
  80. package/.cursor/commands/publish.md +0 -559
  81. package/.cursor/commands/pull.md +0 -320
  82. package/.cursor/commands/push.md +0 -259
  83. package/.cursor/commands/report.md +0 -1506
  84. package/.cursor/commands/report_error.md +0 -1505
  85. package/.cursor/commands/run_feature_workflow.md +0 -83
  86. package/.cursor/commands/setup_commands.md +0 -87
  87. package/.cursor/commands/setup_symlinks.md +0 -234
  88. package/.cursor/commands/sync_env_from_1password.md +0 -321
  89. package/.cursor/commands.json +0 -100
  90. package/.cursor/environment.json +0 -5
  91. package/.cursor/mcp.json.template +0 -16
  92. package/.cursor/plans/agent_skills_analysis_aac0f1b6.plan.md +0 -949
  93. package/.cursor/plans/agent_trust_framework_eb38ca7d.plan.md +0 -634
  94. package/.cursor/plans/all-storage-unstructured_provenance_df0b7a8f.plan.md +0 -112
  95. package/.cursor/plans/automated_error_debugging_cloud_agents.plan.md +0 -526
  96. package/.cursor/plans/automated_error_debugging_cursor_cli.plan.md +0 -599
  97. package/.cursor/plans/automated_error_debugging_localhost_clarified.plan.md +0 -510
  98. package/.cursor/plans/bug_report_and_contribution_client_guidance.plan.md +0 -143
  99. package/.cursor/plans/convert_1password_sync_to_mcp_343ca61c.plan.md +0 -282
  100. package/.cursor/plans/debug_pending_errors_command.plan.md +0 -531
  101. package/.cursor/plans/error_reporting_command_8868f27b.plan.md +0 -255
  102. package/.cursor/plans/mcp-cli-action-item-01-openapi-core.plan.md +0 -30
  103. package/.cursor/plans/mcp-cli-action-item-02-openapi-mcp-cli-mapping.plan.md +0 -18
  104. package/.cursor/plans/mcp-cli-action-item-03-cli-equivalent-logging.plan.md +0 -18
  105. package/.cursor/plans/mcp-cli-action-item-06-error-taxonomy.plan.md +0 -18
  106. package/.cursor/plans/mcp-cli-action-item-07-fixture-replay-graphs.plan.md +0 -18
  107. package/.cursor/plans/mcp-cli-action-item-08-cli-reference-executor.plan.md +0 -18
  108. package/.cursor/plans/mcp-cli-action-item-09-mcp-tools-atomic.plan.md +0 -18
  109. package/.cursor/plans/mcp-cli-action-item-10-canonical-walkthrough.plan.md +0 -18
  110. package/.cursor/plans/mcp-cli-action-item-11-fixtures-expected-outputs.plan.md +0 -18
  111. package/.cursor/plans/mcp-cli-action-item-12-failure-gallery.plan.md +0 -18
  112. package/.cursor/plans/mcp_source-path_documentation_5ce48609.plan.md +0 -83
  113. package/.cursor/plans/me_and_get_authenticated_user_response_updates.plan.md +0 -125
  114. package/.cursor/plans/multi-llm_provider_support_3fdeb361.plan.md +0 -120
  115. package/.cursor/plans/plan_migration_command_integrated.plan.md +0 -393
  116. package/.cursor/plans/schema_icon_enhancements_plan.md +0 -533
  117. package/.cursor/plans/site-react-tailwind-parity.plan.md +0 -82
  118. package/.cursor/plans/sources-first-ingestion-v8.plan.md +0 -0
  119. package/.cursor/plans/sources-first_ingestion_v10_baef2ba2.plan.md +0 -363
  120. package/.cursor/plans/test_coverage_gap_analysis_9cb70022.plan.md +0 -39
  121. package/.cursor/port_to_foundation_analysis.md +0 -217
  122. package/.cursor/rules/agent_constraints.mdc +0 -210
  123. package/.cursor/rules/autonomous_execution.mdc +0 -128
  124. package/.cursor/rules/configuration_management.mdc +0 -168
  125. package/.cursor/rules/cursor_rules_editing.mdc +0 -99
  126. package/.cursor/rules/cursor_rules_sync.mdc +0 -74
  127. package/.cursor/rules/cursor_rules_sync_requirement.mdc +0 -156
  128. package/.cursor/rules/developer_agent_instructions_sync_rules.mdc +0 -109
  129. package/.cursor/rules/document_loading_order.mdc +0 -206
  130. package/.cursor/rules/instruction_documentation.mdc +0 -296
  131. package/.cursor/rules/risk_management.mdc +0 -179
  132. package/.cursor/rules/security.mdc +0 -177
  133. package/.cursor/skipped_records/companies_skipped.json +0 -27
  134. package/.cursor/skipped_records/contacts_skipped.json +0 -23
  135. package/.cursor/skipped_records/goals_skipped.json +0 -7
  136. package/.cursor/skipped_records/people_skipped.json +0 -14
  137. package/.cursor/skipped_records/projects_skipped.json +0 -39
  138. package/.cursor/worktrees.json +0 -12
  139. package/.dockerignore +0 -9
  140. package/.env.example +0 -84
  141. package/.eslintrc.json +0 -11
  142. package/.github/workflows/deploy-pages-site.yml +0 -55
  143. package/.gitmodules +0 -12
  144. package/.husky/pre-commit +0 -42
  145. package/.mcp.json +0 -13
  146. package/.nvmrc +0 -1
  147. package/.prettierrc.json +0 -7
  148. package/.vscode/extensions.json +0 -5
  149. package/.vscode/settings.json +0 -47
  150. package/CONTRIBUTING.md +0 -23
  151. package/Dockerfile +0 -28
  152. package/SECURITY.md +0 -41
  153. package/components.json +0 -21
  154. package/cursor_rules_manifest.json +0 -28
  155. package/dist/__fixtures__/helpers.d.ts +0 -91
  156. package/dist/__fixtures__/helpers.d.ts.map +0 -1
  157. package/dist/__fixtures__/helpers.js +0 -384
  158. package/dist/__fixtures__/helpers.js.map +0 -1
  159. package/dist/__fixtures__/types.d.ts +0 -285
  160. package/dist/__fixtures__/types.d.ts.map +0 -1
  161. package/dist/__fixtures__/types.js +0 -7
  162. package/dist/__fixtures__/types.js.map +0 -1
  163. package/dist/__fixtures__/validation.d.ts +0 -45
  164. package/dist/__fixtures__/validation.d.ts.map +0 -1
  165. package/dist/__fixtures__/validation.js +0 -311
  166. package/dist/__fixtures__/validation.js.map +0 -1
  167. package/dist/config/plaid.d.ts +0 -21
  168. package/dist/config/plaid.d.ts.map +0 -1
  169. package/dist/config/plaid.js +0 -38
  170. package/dist/config/plaid.js.map +0 -1
  171. package/dist/events/event_emitter.d.ts +0 -24
  172. package/dist/events/event_emitter.d.ts.map +0 -1
  173. package/dist/events/event_emitter.js +0 -85
  174. package/dist/events/event_emitter.js.map +0 -1
  175. package/dist/events/event_log.d.ts +0 -23
  176. package/dist/events/event_log.d.ts.map +0 -1
  177. package/dist/events/event_log.js +0 -77
  178. package/dist/events/event_log.js.map +0 -1
  179. package/dist/events/event_schema.d.ts +0 -58
  180. package/dist/events/event_schema.d.ts.map +0 -1
  181. package/dist/events/event_schema.js +0 -43
  182. package/dist/events/event_schema.js.map +0 -1
  183. package/dist/events/event_validator.d.ts +0 -23
  184. package/dist/events/event_validator.d.ts.map +0 -1
  185. package/dist/events/event_validator.js +0 -90
  186. package/dist/events/event_validator.js.map +0 -1
  187. package/dist/events/index.d.ts +0 -9
  188. package/dist/events/index.d.ts.map +0 -1
  189. package/dist/events/index.js +0 -9
  190. package/dist/events/index.js.map +0 -1
  191. package/dist/events/replay.d.ts +0 -27
  192. package/dist/events/replay.d.ts.map +0 -1
  193. package/dist/events/replay.js +0 -62
  194. package/dist/events/replay.js.map +0 -1
  195. package/dist/hashing/hash_chain.d.ts +0 -31
  196. package/dist/hashing/hash_chain.d.ts.map +0 -1
  197. package/dist/hashing/hash_chain.js +0 -52
  198. package/dist/hashing/hash_chain.js.map +0 -1
  199. package/dist/integrations/plaid/client.d.ts +0 -53
  200. package/dist/integrations/plaid/client.d.ts.map +0 -1
  201. package/dist/integrations/plaid/client.js +0 -224
  202. package/dist/integrations/plaid/client.js.map +0 -1
  203. package/dist/integrations/plaid/normalizers.d.ts +0 -26
  204. package/dist/integrations/plaid/normalizers.d.ts.map +0 -1
  205. package/dist/integrations/plaid/normalizers.js +0 -166
  206. package/dist/integrations/plaid/normalizers.js.map +0 -1
  207. package/dist/integrations/providers/asana.d.ts +0 -9
  208. package/dist/integrations/providers/asana.d.ts.map +0 -1
  209. package/dist/integrations/providers/asana.js +0 -62
  210. package/dist/integrations/providers/asana.js.map +0 -1
  211. package/dist/integrations/providers/base.d.ts +0 -17
  212. package/dist/integrations/providers/base.d.ts.map +0 -1
  213. package/dist/integrations/providers/base.js +0 -64
  214. package/dist/integrations/providers/base.js.map +0 -1
  215. package/dist/integrations/providers/facebook.d.ts +0 -9
  216. package/dist/integrations/providers/facebook.d.ts.map +0 -1
  217. package/dist/integrations/providers/facebook.js +0 -58
  218. package/dist/integrations/providers/facebook.js.map +0 -1
  219. package/dist/integrations/providers/gmail.d.ts +0 -10
  220. package/dist/integrations/providers/gmail.d.ts.map +0 -1
  221. package/dist/integrations/providers/gmail.js +0 -67
  222. package/dist/integrations/providers/gmail.js.map +0 -1
  223. package/dist/integrations/providers/index.d.ts +0 -6
  224. package/dist/integrations/providers/index.d.ts.map +0 -1
  225. package/dist/integrations/providers/index.js +0 -25
  226. package/dist/integrations/providers/index.js.map +0 -1
  227. package/dist/integrations/providers/instagram.d.ts +0 -9
  228. package/dist/integrations/providers/instagram.d.ts.map +0 -1
  229. package/dist/integrations/providers/instagram.js +0 -47
  230. package/dist/integrations/providers/instagram.js.map +0 -1
  231. package/dist/integrations/providers/metadata.d.ts +0 -25
  232. package/dist/integrations/providers/metadata.d.ts.map +0 -1
  233. package/dist/integrations/providers/metadata.js +0 -407
  234. package/dist/integrations/providers/metadata.js.map +0 -1
  235. package/dist/integrations/providers/types.d.ts +0 -39
  236. package/dist/integrations/providers/types.d.ts.map +0 -1
  237. package/dist/integrations/providers/types.js +0 -2
  238. package/dist/integrations/providers/types.js.map +0 -1
  239. package/dist/integrations/providers/x.d.ts +0 -9
  240. package/dist/integrations/providers/x.d.ts.map +0 -1
  241. package/dist/integrations/providers/x.js +0 -78
  242. package/dist/integrations/providers/x.js.map +0 -1
  243. package/dist/reducers/record_reducer.d.ts +0 -25
  244. package/dist/reducers/record_reducer.d.ts.map +0 -1
  245. package/dist/reducers/record_reducer.js +0 -93
  246. package/dist/reducers/record_reducer.js.map +0 -1
  247. package/dist/reducers/reducer_registry.d.ts +0 -47
  248. package/dist/reducers/reducer_registry.d.ts.map +0 -1
  249. package/dist/reducers/reducer_registry.js +0 -82
  250. package/dist/reducers/reducer_registry.js.map +0 -1
  251. package/dist/repositories/db/event_repo.d.ts +0 -14
  252. package/dist/repositories/db/event_repo.d.ts.map +0 -1
  253. package/dist/repositories/db/event_repo.js +0 -67
  254. package/dist/repositories/db/event_repo.js.map +0 -1
  255. package/dist/repositories/db/state_repo.d.ts +0 -14
  256. package/dist/repositories/db/state_repo.d.ts.map +0 -1
  257. package/dist/repositories/db/state_repo.js +0 -61
  258. package/dist/repositories/db/state_repo.js.map +0 -1
  259. package/dist/repositories/file/event_repo.d.ts +0 -18
  260. package/dist/repositories/file/event_repo.d.ts.map +0 -1
  261. package/dist/repositories/file/event_repo.js +0 -148
  262. package/dist/repositories/file/event_repo.js.map +0 -1
  263. package/dist/repositories/file/state_repo.d.ts +0 -21
  264. package/dist/repositories/file/state_repo.d.ts.map +0 -1
  265. package/dist/repositories/file/state_repo.js +0 -89
  266. package/dist/repositories/file/state_repo.js.map +0 -1
  267. package/dist/repositories/sqlite/supabase_adapter.d.ts +0 -135
  268. package/dist/repositories/sqlite/supabase_adapter.d.ts.map +0 -1
  269. package/dist/repositories/sqlite/supabase_adapter.js +0 -810
  270. package/dist/repositories/sqlite/supabase_adapter.js.map +0 -1
  271. package/dist/services/connectors.d.ts +0 -89
  272. package/dist/services/connectors.d.ts.map +0 -1
  273. package/dist/services/connectors.js +0 -248
  274. package/dist/services/connectors.js.map +0 -1
  275. package/dist/services/event_generation.d.ts +0 -37
  276. package/dist/services/event_generation.d.ts.map +0 -1
  277. package/dist/services/event_generation.js +0 -236
  278. package/dist/services/event_generation.js.map +0 -1
  279. package/dist/services/extraction/rules.d.ts +0 -26
  280. package/dist/services/extraction/rules.d.ts.map +0 -1
  281. package/dist/services/extraction/rules.js +0 -691
  282. package/dist/services/extraction/rules.js.map +0 -1
  283. package/dist/services/file_analysis.d.ts +0 -38
  284. package/dist/services/file_analysis.d.ts.map +0 -1
  285. package/dist/services/file_analysis.js +0 -325
  286. package/dist/services/file_analysis.js.map +0 -1
  287. package/dist/services/graph_builder.d.ts +0 -51
  288. package/dist/services/graph_builder.d.ts.map +0 -1
  289. package/dist/services/graph_builder.js +0 -279
  290. package/dist/services/graph_builder.js.map +0 -1
  291. package/dist/services/importers.d.ts +0 -28
  292. package/dist/services/importers.d.ts.map +0 -1
  293. package/dist/services/importers.js +0 -174
  294. package/dist/services/importers.js.map +0 -1
  295. package/dist/services/observation_ingestion.d.ts +0 -26
  296. package/dist/services/observation_ingestion.d.ts.map +0 -1
  297. package/dist/services/observation_ingestion.js +0 -364
  298. package/dist/services/observation_ingestion.js.map +0 -1
  299. package/dist/services/payload_compiler.d.ts +0 -36
  300. package/dist/services/payload_compiler.d.ts.map +0 -1
  301. package/dist/services/payload_compiler.js +0 -121
  302. package/dist/services/payload_compiler.js.map +0 -1
  303. package/dist/services/payload_identity.d.ts +0 -35
  304. package/dist/services/payload_identity.d.ts.map +0 -1
  305. package/dist/services/payload_identity.js +0 -101
  306. package/dist/services/payload_identity.js.map +0 -1
  307. package/dist/services/payload_schema.d.ts +0 -104
  308. package/dist/services/payload_schema.d.ts.map +0 -1
  309. package/dist/services/payload_schema.js +0 -46
  310. package/dist/services/payload_schema.js.map +0 -1
  311. package/dist/services/plaid_sync.d.ts +0 -77
  312. package/dist/services/plaid_sync.d.ts.map +0 -1
  313. package/dist/services/plaid_sync.js +0 -273
  314. package/dist/services/plaid_sync.js.map +0 -1
  315. package/dist/services/record_comparison.d.ts +0 -29
  316. package/dist/services/record_comparison.d.ts.map +0 -1
  317. package/dist/services/record_comparison.js +0 -84
  318. package/dist/services/record_comparison.js.map +0 -1
  319. package/dist/services/records.d.ts +0 -31
  320. package/dist/services/records.d.ts.map +0 -1
  321. package/dist/services/records.js +0 -184
  322. package/dist/services/records.js.map +0 -1
  323. package/dist/services/search.d.ts +0 -15
  324. package/dist/services/search.d.ts.map +0 -1
  325. package/dist/services/search.js +0 -81
  326. package/dist/services/search.js.map +0 -1
  327. package/dist/services/summary.d.ts +0 -5
  328. package/dist/services/summary.d.ts.map +0 -1
  329. package/dist/services/summary.js +0 -118
  330. package/dist/services/summary.js.map +0 -1
  331. package/docs/NEOTOMA_MANIFEST.md +0 -152
  332. package/docs/api/rest_api.md +0 -466
  333. package/docs/architecture/agentic_portfolio_overview.md +0 -99
  334. package/docs/architecture/agentic_wallet_overview.md +0 -93
  335. package/docs/architecture/architectural_decisions.md +0 -462
  336. package/docs/architecture/architecture.md +0 -842
  337. package/docs/architecture/blockchain_readiness_assessment.md +0 -248
  338. package/docs/architecture/consistency.md +0 -539
  339. package/docs/architecture/conversational_ux_architecture.md +0 -240
  340. package/docs/architecture/determinism.md +0 -762
  341. package/docs/architecture/idempotence_pattern.md +0 -139
  342. package/docs/architecture/mcp_actions_assessment.md +0 -182
  343. package/docs/architecture/ner_vs_schema_first_extraction.md +0 -280
  344. package/docs/architecture/schema_expansion.md +0 -260
  345. package/docs/architecture/schema_handling.md +0 -209
  346. package/docs/architecture/source_material_model.md +0 -281
  347. package/docs/assets/neotoma_banner.png +0 -0
  348. package/docs/conventions/TEST_EXECUTION_IMPROVEMENTS.md +0 -205
  349. package/docs/conventions/always_on_rules_review.md +0 -66
  350. package/docs/conventions/code_conventions_implementation.md +0 -111
  351. package/docs/conventions/code_conventions_plan.md +0 -124
  352. package/docs/conventions/code_review_summary.md +0 -96
  353. package/docs/conventions/documentation_standards.md +0 -104
  354. package/docs/conventions/estimation_methodology.md +0 -146
  355. package/docs/conventions/file_naming_migration_status.md +0 -94
  356. package/docs/conventions/readme_generation_framework.md +0 -230
  357. package/docs/conventions/time_tracking_template.md +0 -60
  358. package/docs/conventions/writing_style_guide.md +0 -252
  359. package/docs/developer/agent_cli_configuration.md +0 -140
  360. package/docs/developer/agent_instructions_sync_rules.mdc +0 -97
  361. package/docs/developer/canonical_walkthrough.md +0 -137
  362. package/docs/developer/cli_agent_instructions.md +0 -141
  363. package/docs/developer/cli_overview.md +0 -207
  364. package/docs/developer/cli_reference.md +0 -518
  365. package/docs/developer/developer_preview_launch_checklist.md +0 -128
  366. package/docs/developer/developer_preview_storage.md +0 -35
  367. package/docs/developer/developer_release_manual_test_checklist.md +0 -209
  368. package/docs/developer/development_workflow.md +0 -308
  369. package/docs/developer/environment/CONNECTOR_SECRET_KEY_SETUP.md +0 -96
  370. package/docs/developer/environment/DEV_CONNECTOR_SECRET_KEY_EXPLANATION.md +0 -80
  371. package/docs/developer/environment/ENV_MAPPINGS_STATUS.md +0 -86
  372. package/docs/developer/environment/ENV_VAR_NAMING_STRATEGY.md +0 -145
  373. package/docs/developer/environment/MIGRATION_TO_SINGLE_VAR_NAMES.md +0 -89
  374. package/docs/developer/environment/QUICK_START_1PASSWORD.md +0 -126
  375. package/docs/developer/environment/README.md +0 -27
  376. package/docs/developer/environment/SETUP_ENV_MAPPINGS.md +0 -256
  377. package/docs/developer/environment_distinction_audit.md +0 -43
  378. package/docs/developer/fix_doc_inconsistencies_plan.md +0 -63
  379. package/docs/developer/getting_started.md +0 -100
  380. package/docs/developer/import_interpretation_debug.md +0 -69
  381. package/docs/developer/launchd_dev_servers.md +0 -51
  382. package/docs/developer/launchd_watch_build.md +0 -37
  383. package/docs/developer/mcp/instructions.md +0 -71
  384. package/docs/developer/mcp/invalid_connection_id_handling.md +0 -181
  385. package/docs/developer/mcp/tool_descriptions.yaml +0 -41
  386. package/docs/developer/mcp/unauthenticated.md +0 -30
  387. package/docs/developer/mcp_chatgpt_setup.md +0 -159
  388. package/docs/developer/mcp_claude_code_setup.md +0 -519
  389. package/docs/developer/mcp_https_testing.md +0 -178
  390. package/docs/developer/mcp_https_testing_status.md +0 -130
  391. package/docs/developer/mcp_https_tunnel_status.md +0 -147
  392. package/docs/developer/mcp_oauth_migration_guide.md +0 -196
  393. package/docs/developer/mcp_overview.md +0 -145
  394. package/docs/developer/mcp_server_examples_from_cursor_docs.md +0 -485
  395. package/docs/developer/observation_architecture_documentation_integration.md +0 -368
  396. package/docs/developer/release_orchestrator.md +0 -197
  397. package/docs/developer/repository_cleanup_plan.md +0 -87
  398. package/docs/developer/resolved_blockers.md +0 -49
  399. package/docs/developer/schema_initialization.md +0 -182
  400. package/docs/developer/secrets/README.md +0 -15
  401. package/docs/developer/secrets/secrets_architecture.md +0 -95
  402. package/docs/developer/secrets/secrets_manager_value.md +0 -53
  403. package/docs/developer/secrets/secrets_secure_approach.md +0 -103
  404. package/docs/developer/secrets/secrets_setup.md +0 -116
  405. package/docs/developer/shared_components_submodule_setup.md +0 -273
  406. package/docs/developer/spec_compliance_validation_system.md +0 -261
  407. package/docs/developer/test_coverage_gap_analysis_plan.md +0 -36
  408. package/docs/developer/tunnels.md +0 -327
  409. package/docs/developer/vite_troubleshooting.md +0 -111
  410. package/docs/doc_dependencies.yaml +0 -497
  411. package/docs/examples/schema_breaking_change_reconciliation.md +0 -515
  412. package/docs/feature_units/completed/FU-050/FU-050_spec.md +0 -341
  413. package/docs/feature_units/completed/FU-050/manifest.yaml +0 -330
  414. package/docs/feature_units/completed/FU-051/FU-051_spec.md +0 -173
  415. package/docs/feature_units/completed/FU-051/manifest.yaml +0 -229
  416. package/docs/feature_units/completed/FU-052/FU-052_spec.md +0 -158
  417. package/docs/feature_units/completed/FU-052/manifest.yaml +0 -188
  418. package/docs/feature_units/completed/FU-053/FU-053_spec.md +0 -144
  419. package/docs/feature_units/completed/FU-053/manifest.yaml +0 -145
  420. package/docs/feature_units/completed/FU-054/FU-054_spec.md +0 -144
  421. package/docs/feature_units/completed/FU-054/manifest.yaml +0 -139
  422. package/docs/feature_units/completed/FU-702/billing_spec.md +0 -413
  423. package/docs/feature_units/completed/FU-702/manifest.yaml +0 -418
  424. package/docs/feature_units/standards/DISCOVERY_CAGAN_ALIGNMENT.md +0 -214
  425. package/docs/feature_units/standards/creating_feature_units.md +0 -385
  426. package/docs/feature_units/standards/discovery_process.md +0 -821
  427. package/docs/feature_units/standards/error_protocol.md +0 -60
  428. package/docs/feature_units/standards/execution_instructions.md +0 -87
  429. package/docs/feature_units/standards/feature_unit_spec.md +0 -325
  430. package/docs/feature_units/standards/integration_test_execution.md +0 -127
  431. package/docs/feature_units/standards/manifest_template.yaml +0 -370
  432. package/docs/feature_units/standards/model_selection.md +0 -207
  433. package/docs/feature_units/standards/multi_agent_orchestration.md +0 -411
  434. package/docs/feature_units/standards/release_report_generation.md +0 -448
  435. package/docs/feature_units/standards/release_report_spec.md +0 -444
  436. package/docs/feature_units/standards/release_report_template.md +0 -76
  437. package/docs/feature_units/standards/spec_compliance_validation.md +0 -147
  438. package/docs/feature_units/standards/worker_agent_template.md +0 -191
  439. package/docs/foundation/ai_safety.md +0 -10
  440. package/docs/foundation/composability_analysis.md +0 -308
  441. package/docs/foundation/core_identity.md +0 -50
  442. package/docs/foundation/documentation_design_system.md +0 -505
  443. package/docs/foundation/entity_resolution.md +0 -34
  444. package/docs/foundation/layered_architecture.md +0 -99
  445. package/docs/foundation/mmry_comparison.md +0 -176
  446. package/docs/foundation/philosophy.md +0 -103
  447. package/docs/foundation/problem_statement.md +0 -41
  448. package/docs/foundation/product_positioning.md +0 -69
  449. package/docs/foundation/product_principles.md +0 -18
  450. package/docs/foundation/quality_requirements.md +0 -68
  451. package/docs/foundation/timeline_events.md +0 -19
  452. package/docs/foundation/user_workflows.md +0 -38
  453. package/docs/implementation/PARQUET_MCP_SERVER_FIXES.md +0 -373
  454. package/docs/implementation/PARQUET_SUPPORT_IMPLEMENTATION.md +0 -207
  455. package/docs/infrastructure/deployment.md +0 -372
  456. package/docs/legal/README.md +0 -51
  457. package/docs/legal/compliance.md +0 -854
  458. package/docs/legal/privacy_policy.md +0 -114
  459. package/docs/legal/privacy_policy_changelog.md +0 -49
  460. package/docs/legal/terms_of_service.md +0 -185
  461. package/docs/legal/terms_of_service_changelog.md +0 -62
  462. package/docs/migration/llm_extraction_removal.md +0 -387
  463. package/docs/migration/llm_interpretation_docs_update.md +0 -130
  464. package/docs/observability/logging.md +0 -50
  465. package/docs/observability/metrics_standard.md +0 -38
  466. package/docs/observability/tracing.md +0 -41
  467. package/docs/operations/debugging/README.md +0 -11
  468. package/docs/operations/debugging/error_debug_instructions.md +0 -55
  469. package/docs/operations/health_check.md +0 -73
  470. package/docs/operations/runbook.md +0 -88
  471. package/docs/prompts/llm_extraction_system_prompt.md +0 -31
  472. package/docs/proposals/IMPLEMENTATION_SUMMARY.md +0 -198
  473. package/docs/proposals/MIGRATION_REPORT.md +0 -65
  474. package/docs/proposals/PROPOSAL_TEMPLATE.md +0 -58
  475. package/docs/proposals/README.md +0 -57
  476. package/docs/proposals/agent-trust-framework.md +0 -621
  477. package/docs/proposals/conversation_turn_identity_reverts_forks.md +0 -144
  478. package/docs/proposals/document-v023-release.md +0 -898
  479. package/docs/proposals/iterative_chat_store_mcp_instructions.md +0 -155
  480. package/docs/proposals/llm_sampling_parameters_interpretation_config.md +0 -196
  481. package/docs/proposals/mcp-cli-action-items.md +0 -207
  482. package/docs/proposals/plan-migration-command-integrated-with-commit.md +0 -386
  483. package/docs/proposals/sources-first-ingestion-v10.md +0 -348
  484. package/docs/proposals/test-coverage-gap-analysis.md +0 -26
  485. package/docs/prototypes/PROTOTYPE_QUICKSTART.md +0 -56
  486. package/docs/prototypes/README.md +0 -74
  487. package/docs/reference/error_codes.md +0 -223
  488. package/docs/releases/archived/aspirational/README.md +0 -57
  489. package/docs/releases/archived/aspirational/v0.4.0/manifest.yaml +0 -94
  490. package/docs/releases/archived/aspirational/v0.4.0/release_plan.md +0 -51
  491. package/docs/releases/archived/aspirational/v0.5.0/manifest.yaml +0 -152
  492. package/docs/releases/archived/aspirational/v0.5.0/release_plan.md +0 -236
  493. package/docs/releases/archived/aspirational/v0.9.0/README.md +0 -78
  494. package/docs/releases/archived/aspirational/v0.9.0/manifest.yaml +0 -111
  495. package/docs/releases/archived/aspirational/v0.9.0/release_plan.md +0 -238
  496. package/docs/releases/archived/aspirational/v0.9.0/status.md +0 -89
  497. package/docs/releases/archived/aspirational/v1.0.0/UI_REFACTORING_PLAN.md +0 -239
  498. package/docs/releases/archived/aspirational/v1.0.0/acceptance_criteria.md +0 -88
  499. package/docs/releases/archived/aspirational/v1.0.0/approach_comparison.md +0 -558
  500. package/docs/releases/archived/aspirational/v1.0.0/architectural_impact_chat_ui.md +0 -195
  501. package/docs/releases/archived/aspirational/v1.0.0/blog_post_update_directives.md +0 -491
  502. package/docs/releases/archived/aspirational/v1.0.0/business_viability_discovery_plan.md +0 -135
  503. package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-100_compliance.md +0 -23
  504. package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-101_compliance.md +0 -23
  505. package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-102_compliance.md +0 -23
  506. package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-103_compliance.md +0 -23
  507. package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-105_compliance.md +0 -23
  508. package/docs/releases/archived/aspirational/v1.0.0/continuous_discovery_log.md +0 -77
  509. package/docs/releases/archived/aspirational/v1.0.0/continuous_discovery_plan.md +0 -145
  510. package/docs/releases/archived/aspirational/v1.0.0/cross_platform_signal_detection.md +0 -181
  511. package/docs/releases/archived/aspirational/v1.0.0/deployment_strategy.md +0 -115
  512. package/docs/releases/archived/aspirational/v1.0.0/discovery_checklist.md +0 -195
  513. package/docs/releases/archived/aspirational/v1.0.0/discovery_filtering_criteria.md +0 -197
  514. package/docs/releases/archived/aspirational/v1.0.0/discovery_filtering_keywords.md +0 -143
  515. package/docs/releases/archived/aspirational/v1.0.0/discovery_lead_sourcing_tools.md +0 -438
  516. package/docs/releases/archived/aspirational/v1.0.0/discovery_plan.md +0 -185
  517. package/docs/releases/archived/aspirational/v1.0.0/execution_schedule.md +0 -130
  518. package/docs/releases/archived/aspirational/v1.0.0/feasibility_validation_plan.md +0 -116
  519. package/docs/releases/archived/aspirational/v1.0.0/handle_registration.md +0 -263
  520. package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-100_implementation_log.md +0 -51
  521. package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-101_implementation_log.md +0 -51
  522. package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-102_implementation_log.md +0 -51
  523. package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-103_implementation_log.md +0 -51
  524. package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-105_implementation_log.md +0 -51
  525. package/docs/releases/archived/aspirational/v1.0.0/manifest.yaml +0 -160
  526. package/docs/releases/archived/aspirational/v1.0.0/marketing_agent_instructions.md +0 -209
  527. package/docs/releases/archived/aspirational/v1.0.0/marketing_automation_implementation.md +0 -996
  528. package/docs/releases/archived/aspirational/v1.0.0/marketing_automation_plan.md +0 -291
  529. package/docs/releases/archived/aspirational/v1.0.0/marketing_dogfooding_analysis.md +0 -295
  530. package/docs/releases/archived/aspirational/v1.0.0/marketing_metrics_plan.md +0 -120
  531. package/docs/releases/archived/aspirational/v1.0.0/marketing_plan.md +0 -280
  532. package/docs/releases/archived/aspirational/v1.0.0/marketing_segments_plan.md +0 -128
  533. package/docs/releases/archived/aspirational/v1.0.0/participant_recruitment_log.md +0 -392
  534. package/docs/releases/archived/aspirational/v1.0.0/post_launch_marketing_plan.md +0 -252
  535. package/docs/releases/archived/aspirational/v1.0.0/pre_launch_marketing_plan.md +0 -748
  536. package/docs/releases/archived/aspirational/v1.0.0/pre_mortem.md +0 -122
  537. package/docs/releases/archived/aspirational/v1.0.0/subscription_detection_strategy.md +0 -160
  538. package/docs/releases/archived/aspirational/v1.0.0/usability_discovery_plan.md +0 -115
  539. package/docs/releases/archived/aspirational/v1.0.0/value_discovery_plan.md +0 -279
  540. package/docs/releases/archived/aspirational/v1.0.0/visibility_timing_analysis.md +0 -402
  541. package/docs/releases/archived/aspirational/v2.0.0/status.md +0 -120
  542. package/docs/releases/archived/aspirational/v2.1.0/manifest.yaml +0 -469
  543. package/docs/releases/archived/aspirational/v2.2.0/manifest.yaml +0 -165
  544. package/docs/releases/archived/aspirational/v2.2.0/status.md +0 -283
  545. package/docs/releases/compliance_reports/all_fus_compliance_summary.md +0 -112
  546. package/docs/releases/in_progress/v0.2.0/agent_status.json +0 -420
  547. package/docs/releases/in_progress/v0.2.0/status.md +0 -90
  548. package/docs/releases/v0.1.0/agent_status.json +0 -242
  549. package/docs/releases/v0.1.0/agent_status.json.example +0 -76
  550. package/docs/releases/v0.1.0/compliance_reports/FU-000_compliance.md +0 -23
  551. package/docs/releases/v0.1.0/compliance_reports/FU-002_compliance.md +0 -23
  552. package/docs/releases/v0.1.0/compliance_reports/FU-050_compliance.md +0 -59
  553. package/docs/releases/v0.1.0/compliance_reports/FU-051_compliance.md +0 -39
  554. package/docs/releases/v0.1.0/compliance_reports/FU-052_compliance.md +0 -44
  555. package/docs/releases/v0.1.0/compliance_reports/FU-053_compliance.md +0 -25
  556. package/docs/releases/v0.1.0/compliance_reports/FU-054_compliance.md +0 -31
  557. package/docs/releases/v0.1.0/compliance_reports/FU-055_compliance.md +0 -23
  558. package/docs/releases/v0.1.0/compliance_reports/FU-056_compliance.md +0 -23
  559. package/docs/releases/v0.1.0/compliance_reports/FU-057_compliance.md +0 -23
  560. package/docs/releases/v0.1.0/compliance_reports/FU-058_compliance.md +0 -23
  561. package/docs/releases/v0.1.0/compliance_reports/FU-059_compliance.md +0 -23
  562. package/docs/releases/v0.1.0/compliance_reports/FU-061_compliance.md +0 -23
  563. package/docs/releases/v0.1.0/compliance_reports/FU-100_compliance.md +0 -97
  564. package/docs/releases/v0.1.0/compliance_reports/FU-104_compliance.md +0 -23
  565. package/docs/releases/v0.1.0/compliance_reports/FU-200_compliance.md +0 -23
  566. package/docs/releases/v0.1.0/compliance_reports/FU-201_compliance.md +0 -23
  567. package/docs/releases/v0.1.0/compliance_reports/FU-202_compliance.md +0 -23
  568. package/docs/releases/v0.1.0/compliance_reports/FU-203_compliance.md +0 -23
  569. package/docs/releases/v0.1.0/compliance_reports/FU-204_compliance.md +0 -23
  570. package/docs/releases/v0.1.0/compliance_reports/FU-205_compliance.md +0 -23
  571. package/docs/releases/v0.1.0/compliance_reports/FU-206_compliance.md +0 -23
  572. package/docs/releases/v0.1.0/execution_schedule.md +0 -174
  573. package/docs/releases/v0.1.0/fu_spec_status.md +0 -83
  574. package/docs/releases/v0.1.0/implementation_logs/FU-000_implementation_log.md +0 -51
  575. package/docs/releases/v0.1.0/implementation_logs/FU-002_implementation_log.md +0 -51
  576. package/docs/releases/v0.1.0/implementation_logs/FU-050_implementation_log.md +0 -111
  577. package/docs/releases/v0.1.0/implementation_logs/FU-051_implementation_log.md +0 -91
  578. package/docs/releases/v0.1.0/implementation_logs/FU-052_implementation_log.md +0 -81
  579. package/docs/releases/v0.1.0/implementation_logs/FU-053_implementation_log.md +0 -71
  580. package/docs/releases/v0.1.0/implementation_logs/FU-054_implementation_log.md +0 -71
  581. package/docs/releases/v0.1.0/implementation_logs/FU-055_implementation_log.md +0 -51
  582. package/docs/releases/v0.1.0/implementation_logs/FU-056_implementation_log.md +0 -51
  583. package/docs/releases/v0.1.0/implementation_logs/FU-057_implementation_log.md +0 -51
  584. package/docs/releases/v0.1.0/implementation_logs/FU-058_implementation_log.md +0 -51
  585. package/docs/releases/v0.1.0/implementation_logs/FU-059_implementation_log.md +0 -51
  586. package/docs/releases/v0.1.0/implementation_logs/FU-061_implementation_log.md +0 -51
  587. package/docs/releases/v0.1.0/implementation_logs/FU-100_implementation_log.md +0 -251
  588. package/docs/releases/v0.1.0/implementation_logs/FU-104_implementation_log.md +0 -51
  589. package/docs/releases/v0.1.0/implementation_logs/FU-200_implementation_log.md +0 -51
  590. package/docs/releases/v0.1.0/implementation_logs/FU-201_implementation_log.md +0 -51
  591. package/docs/releases/v0.1.0/implementation_logs/FU-202_implementation_log.md +0 -51
  592. package/docs/releases/v0.1.0/implementation_logs/FU-203_implementation_log.md +0 -51
  593. package/docs/releases/v0.1.0/implementation_logs/FU-204_implementation_log.md +0 -51
  594. package/docs/releases/v0.1.0/implementation_logs/FU-205_implementation_log.md +0 -51
  595. package/docs/releases/v0.1.0/implementation_logs/FU-206_implementation_log.md +0 -51
  596. package/docs/releases/v0.1.0/integration_tests.md +0 -316
  597. package/docs/releases/v0.1.0/manifest.yaml +0 -291
  598. package/docs/releases/v0.1.0/mcp_actions_status.md +0 -101
  599. package/docs/releases/v0.1.0/release_plan.md +0 -196
  600. package/docs/releases/v0.1.0/status.md +0 -148
  601. package/docs/releases/v0.1.0/test_coverage_setup_notes.md +0 -39
  602. package/docs/releases/v0.1.1/manifest.yaml +0 -153
  603. package/docs/releases/v0.2.0/status.md +0 -167
  604. package/docs/releases/v0.2.1/acceptance_criteria.md +0 -200
  605. package/docs/releases/v0.2.1/execution_schedule.md +0 -114
  606. package/docs/releases/v0.2.1/feature_unit_overview.md +0 -246
  607. package/docs/releases/v0.2.1/integration_tests.md +0 -281
  608. package/docs/releases/v0.2.1/manifest.yaml +0 -141
  609. package/docs/releases/v0.2.1/release_plan.md +0 -211
  610. package/docs/releases/v0.2.1/status.md +0 -106
  611. package/docs/releases/v0.2.15/README.md +0 -79
  612. package/docs/releases/v0.2.15/migrations/01_add_source_graph_edges.sql +0 -109
  613. package/docs/releases/v0.2.15/migrations/02_drop_legacy_tables.sql +0 -130
  614. package/docs/releases/v0.2.2/execution_schedule.md +0 -123
  615. package/docs/releases/v0.2.2/integration_tests.md +0 -258
  616. package/docs/releases/v0.2.2/manifest.yaml +0 -108
  617. package/docs/releases/v0.2.2/release_plan.md +0 -246
  618. package/docs/releases/v0.2.2/status.md +0 -113
  619. package/docs/releases/v0.2.3/agent_skills_alignment.md +0 -738
  620. package/docs/releases/v0.2.3/enhancements_summary.md +0 -309
  621. package/docs/releases/v0.2.3/integration_guide.md +0 -3400
  622. package/docs/releases/v0.2.3/manifest.yaml +0 -212
  623. package/docs/releases/v0.2.3/mcp_actions.md +0 -491
  624. package/docs/releases/v0.2.3/plan_completion_review.md +0 -410
  625. package/docs/releases/v0.2.3/release_overview.md +0 -13
  626. package/docs/releases/v0.2.3/schema_extensions/agent_decision.md +0 -311
  627. package/docs/releases/v0.2.3/schema_extensions/agent_session.md +0 -464
  628. package/docs/releases/v0.2.3/schema_extensions/architectural_decision.md +0 -390
  629. package/docs/releases/v0.2.3/schema_extensions/codebase_entity.md +0 -404
  630. package/docs/releases/v0.2.3/schema_extensions/feature_unit.md +0 -307
  631. package/docs/releases/v0.2.3/schema_extensions/release.md +0 -338
  632. package/docs/releases/v0.2.3/schema_extensions/validation_result.md +0 -377
  633. package/docs/releases/v0.2.3/spec.md +0 -569
  634. package/docs/releases/v0.3.0/manifest.yaml +0 -77
  635. package/docs/releases/v0.3.0/migrations/01_add_source_graph_edges.sql +0 -110
  636. package/docs/releases/v0.3.0/migrations/02_drop_legacy_tables.sql +0 -131
  637. package/docs/releases/v0.3.0/status.md +0 -193
  638. package/docs/reports/AUTO_ENHANCEMENT_TEST_RESULTS.md +0 -51
  639. package/docs/reports/AUTO_ENHANCEMENT_TEST_SUMMARY.md +0 -64
  640. package/docs/reports/BIGINT_SERIALIZATION_DEBUG.md +0 -75
  641. package/docs/reports/BUG_LEARNING_PROTOCOL_ESTABLISHED.md +0 -179
  642. package/docs/reports/CONSOLE_LOG_MCP_PROTOCOL_FIX.md +0 -58
  643. package/docs/reports/CRYPTO_TRANSACTION_DISCREPANCY_RESOLUTION.md +0 -108
  644. package/docs/reports/CRYPTO_TRANSACTION_SIDE_BY_SIDE_COMPARISON.md +0 -165
  645. package/docs/reports/FAILING_TESTS_ANALYSIS.md +0 -140
  646. package/docs/reports/FAILING_TESTS_SUMMARY.md +0 -106
  647. package/docs/reports/FINAL_PARQUET_COMPARISON.md +0 -226
  648. package/docs/reports/FINAL_TEST_STATUS.md +0 -145
  649. package/docs/reports/LEGACY_REMOVAL_SUMMARY.md +0 -108
  650. package/docs/reports/MCP_ACTIONS_SUMMARY.md +0 -329
  651. package/docs/reports/MCP_ACTION_TEST_COVERAGE.md +0 -132
  652. package/docs/reports/MCP_SPEC_COMPARISON.md +0 -306
  653. package/docs/reports/MCP_SPEC_COMPARISON_UPDATED.md +0 -247
  654. package/docs/reports/MCP_SPEC_VOCABULARY_CONFORMANCE.md +0 -220
  655. package/docs/reports/MCP_TEST_SUITE_IMPLEMENTATION.md +0 -180
  656. package/docs/reports/MCP_TEST_SUITE_RESULTS.md +0 -182
  657. package/docs/reports/PARQUET_MCP_BUG_REPORT.md +0 -70
  658. package/docs/reports/PARQUET_MCP_STORAGE_COMPLETE.md +0 -214
  659. package/docs/reports/PARQUET_SAMPLE_FILES_CREATED.md +0 -49
  660. package/docs/reports/PARQUET_STORAGE_SUCCESS.md +0 -263
  661. package/docs/reports/PARQUET_VS_NEOTOMA_COMPARISON.md +0 -241
  662. package/docs/reports/REIMPORT_TASKS_BLOCKER.md +0 -50
  663. package/docs/reports/SAMPLE_FILE_STRUCTURE_UPDATE.md +0 -68
  664. package/docs/reports/SAMPLE_PARQUET_IMPORT_TEST_RESULTS.md +0 -91
  665. package/docs/reports/SCHEMA_ENHANCEMENT_STATUS.md +0 -84
  666. package/docs/reports/SCHEMA_ENHANCEMENT_TEST_RESULTS.md +0 -78
  667. package/docs/reports/TASK_RELOAD_BLOCKER.md +0 -40
  668. package/docs/reports/TEST_FIXES_SUMMARY.md +0 -96
  669. package/docs/reports/VOCABULARY_CONFORMANCE_REVIEW.md +0 -177
  670. package/docs/reports/WHY_TESTS_MISSED_BIGINT_ISSUE.md +0 -144
  671. package/docs/reports/beyond_rag_agent_memory_neotoma_architecture_report.md +0 -103
  672. package/docs/reports/dhh_clankers_with_claws_neotoma_report.md +0 -102
  673. package/docs/reports/dr_cintas_pageindex_structure_over_embeddings_report.md +0 -77
  674. package/docs/reports/failure_gallery.md +0 -97
  675. package/docs/reports/fixture_expansion_summary.md +0 -204
  676. package/docs/reports/mcp_action_names_review.md +0 -131
  677. package/docs/reports/mcp_cli_action_items_fidelity_report.md +0 -189
  678. package/docs/reports/neotoma_pdf_interpreted_as_note_investigation_2026_02_23.md +0 -89
  679. package/docs/reports/plan_execution_changes_report.md +0 -122
  680. package/docs/reports/schema_distinctions.md +0 -210
  681. package/docs/reports/schema_redundancy_analysis.md +0 -304
  682. package/docs/specs/FUNCTIONAL_REQUIREMENTS.md +0 -160
  683. package/docs/specs/GENERAL_REQUIREMENTS.md +0 -30
  684. package/docs/specs/ICP_PRIORITY_TIERS.md +0 -132
  685. package/docs/specs/ICP_PROFILES.md +0 -2345
  686. package/docs/specs/INTERNAL_MCP_RELEASE.md +0 -300
  687. package/docs/specs/MANIFEST_ALIGNMENT_SUMMARY.md +0 -162
  688. package/docs/specs/MCP_SPEC.md +0 -2275
  689. package/docs/specs/METRICS_REQUIREMENTS.md +0 -386
  690. package/docs/specs/MVP_EXECUTION_PLAN.md +0 -956
  691. package/docs/specs/MVP_FEATURE_UNITS.md +0 -1821
  692. package/docs/specs/MVP_OVERVIEW.md +0 -184
  693. package/docs/specs/NONFUNCTIONAL_REQUIREMENTS.md +0 -98
  694. package/docs/specs/ONBOARDING_SPEC.md +0 -591
  695. package/docs/specs/PARQUET_MCP_RESOURCES_SPEC.md +0 -328
  696. package/docs/specs/TEST_PLAN.md +0 -116
  697. package/docs/specs/UI_SPEC.md +0 -93
  698. package/docs/subsystems/accessibility.md +0 -48
  699. package/docs/subsystems/auth.md +0 -170
  700. package/docs/subsystems/deletion.md +0 -494
  701. package/docs/subsystems/entity_merge.md +0 -300
  702. package/docs/subsystems/errors.md +0 -82
  703. package/docs/subsystems/events.md +0 -50
  704. package/docs/subsystems/i18n.md +0 -42
  705. package/docs/subsystems/ingestion/ingestion.md +0 -772
  706. package/docs/subsystems/ingestion/state_machines.md +0 -49
  707. package/docs/subsystems/observation_architecture.md +0 -379
  708. package/docs/subsystems/privacy.md +0 -71
  709. package/docs/subsystems/record_types.md +0 -753
  710. package/docs/subsystems/reducer.md +0 -436
  711. package/docs/subsystems/relationships.md +0 -455
  712. package/docs/subsystems/schema.md +0 -1213
  713. package/docs/subsystems/schema_registry.md +0 -588
  714. package/docs/subsystems/schema_snapshots/.gitkeep +0 -6
  715. package/docs/subsystems/schema_snapshots/README.md +0 -209
  716. package/docs/subsystems/schema_snapshots/account/v1.0.json +0 -52
  717. package/docs/subsystems/schema_snapshots/address/v1.0.json +0 -79
  718. package/docs/subsystems/schema_snapshots/agent_message/v1.0.json +0 -96
  719. package/docs/subsystems/schema_snapshots/balance/v1.0.json +0 -64
  720. package/docs/subsystems/schema_snapshots/company/v1.0.json +0 -86
  721. package/docs/subsystems/schema_snapshots/contact/v1.0.json +0 -68
  722. package/docs/subsystems/schema_snapshots/contact/v1.1.json +0 -112
  723. package/docs/subsystems/schema_snapshots/contract/v1.0.json +0 -48
  724. package/docs/subsystems/schema_snapshots/conversation/v1.0.json +0 -102
  725. package/docs/subsystems/schema_snapshots/crypto_transaction/v1.0.json +0 -76
  726. package/docs/subsystems/schema_snapshots/email/v1.0.json +0 -87
  727. package/docs/subsystems/schema_snapshots/event/v1.0.json +0 -79
  728. package/docs/subsystems/schema_snapshots/exercise/v1.0.json +0 -72
  729. package/docs/subsystems/schema_snapshots/fixed_cost/v1.0.json +0 -112
  730. package/docs/subsystems/schema_snapshots/flow/v1.0.json +0 -84
  731. package/docs/subsystems/schema_snapshots/goal/v1.0.json +0 -71
  732. package/docs/subsystems/schema_snapshots/holding/v1.0.json +0 -75
  733. package/docs/subsystems/schema_snapshots/income/v1.0.json +0 -68
  734. package/docs/subsystems/schema_snapshots/liability/v1.0.json +0 -60
  735. package/docs/subsystems/schema_snapshots/location/v1.0.json +0 -79
  736. package/docs/subsystems/schema_snapshots/meal/v1.0.json +0 -68
  737. package/docs/subsystems/schema_snapshots/message/v1.0.json +0 -72
  738. package/docs/subsystems/schema_snapshots/note/v1.0.json +0 -64
  739. package/docs/subsystems/schema_snapshots/order/v1.0.json +0 -72
  740. package/docs/subsystems/schema_snapshots/person/v1.0.json +0 -86
  741. package/docs/subsystems/schema_snapshots/project/v1.0.json +0 -75
  742. package/docs/subsystems/schema_snapshots/property/v1.0.json +0 -64
  743. package/docs/subsystems/schema_snapshots/purchase/v1.0.json +0 -75
  744. package/docs/subsystems/schema_snapshots/relationship/v1.0.json +0 -63
  745. package/docs/subsystems/schema_snapshots/task/v1.0.json +0 -91
  746. package/docs/subsystems/schema_snapshots/tax_event/v1.0.json +0 -72
  747. package/docs/subsystems/schema_snapshots/tax_filing/v1.0.json +0 -83
  748. package/docs/subsystems/schema_snapshots/transaction/v1.0.json +0 -40
  749. package/docs/subsystems/schema_snapshots/transfer/v1.0.json +0 -76
  750. package/docs/subsystems/schema_snapshots/wallet/v1.0.json +0 -68
  751. package/docs/subsystems/search/search.md +0 -63
  752. package/docs/subsystems/sources.md +0 -493
  753. package/docs/subsystems/vector_ops.md +0 -72
  754. package/docs/templates/issue_template.md +0 -36
  755. package/docs/templates/pr_template.md +0 -74
  756. package/docs/testing/ROUTE_COVERAGE_MATRIX.md +0 -104
  757. package/docs/testing/WHY_PARTIAL_ROUTE_COVERAGE.md +0 -183
  758. package/docs/testing/automated_test_catalog.md +0 -353
  759. package/docs/testing/cli_command_coverage_review.md +0 -130
  760. package/docs/testing/fixtures_standard.md +0 -202
  761. package/docs/testing/test_coverage_audit_summary.md +0 -571
  762. package/docs/testing/testing_standard.md +0 -146
  763. package/docs/ui/DESIGN_SYSTEM_UPDATE_SUMMARY.md +0 -152
  764. package/docs/ui/SHADCN_INTEGRATION_COMPLETE.md +0 -255
  765. package/docs/ui/design_constraints_template.yaml +0 -228
  766. package/docs/ui/design_system/accessibility.md +0 -38
  767. package/docs/ui/design_system/authentication_components.md +0 -38
  768. package/docs/ui/design_system/billing_components.md +0 -36
  769. package/docs/ui/design_system/brand_alignment.md +0 -35
  770. package/docs/ui/design_system/color_palette.md +0 -95
  771. package/docs/ui/design_system/component_styles.md +0 -241
  772. package/docs/ui/design_system/dark_mode.md +0 -30
  773. package/docs/ui/design_system/empty_states.md +0 -47
  774. package/docs/ui/design_system/error_states.md +0 -35
  775. package/docs/ui/design_system/file_upload_components.md +0 -60
  776. package/docs/ui/design_system/future_considerations.md +0 -19
  777. package/docs/ui/design_system/iconography.md +0 -21
  778. package/docs/ui/design_system/icp_aesthetic_analysis.md +0 -35
  779. package/docs/ui/design_system/icp_preference_alignment.md +0 -33
  780. package/docs/ui/design_system/implementation_notes.md +0 -119
  781. package/docs/ui/design_system/loading_states.md +0 -40
  782. package/docs/ui/design_system/motion_and_animation.md +0 -45
  783. package/docs/ui/design_system/navigation_components.md +0 -63
  784. package/docs/ui/design_system/onboarding_components.md +0 -48
  785. package/docs/ui/design_system/responsive_design.md +0 -26
  786. package/docs/ui/design_system/search_components.md +0 -32
  787. package/docs/ui/design_system/settings_components.md +0 -29
  788. package/docs/ui/design_system/spacing_and_layout.md +0 -67
  789. package/docs/ui/design_system/style_guide.md +0 -395
  790. package/docs/ui/design_system/typography.md +0 -88
  791. package/docs/ui/design_system/visual_hierarchy.md +0 -64
  792. package/docs/ui/design_system.md +0 -124
  793. package/docs/ui/dsl_spec.md +0 -97
  794. package/docs/ui/patterns/dashboard.md +0 -58
  795. package/docs/ui/patterns/detail.md +0 -68
  796. package/docs/ui/patterns/list.md +0 -72
  797. package/docs/ui/patterns/navigation.md +0 -314
  798. package/docs/ui/patterns/settings.md +0 -52
  799. package/docs/ui/patterns/wizard.md +0 -53
  800. package/docs/ui/prototype_guide.md +0 -300
  801. package/docs/ui/shadcn_components.md +0 -189
  802. package/docs/ui/style_guide_updates.md +0 -74
  803. package/docs/vocabulary/canonical_terms.md +0 -318
  804. package/fly.toml +0 -29
  805. package/foundation/.cursor/rules/agent_constraints.mdc +0 -198
  806. package/foundation/.cursor/rules/agent_test_execution.mdc +0 -356
  807. package/foundation/.cursor/rules/autonomous_execution.mdc +0 -117
  808. package/foundation/.cursor/rules/behavioral_self_adaptation.mdc +0 -531
  809. package/foundation/.cursor/rules/bug_fix_detection.mdc +0 -142
  810. package/foundation/.cursor/rules/checkpoint_management.mdc +0 -191
  811. package/foundation/.cursor/rules/configuration_management.mdc +0 -156
  812. package/foundation/.cursor/rules/content_style_enforcement.mdc +0 -138
  813. package/foundation/.cursor/rules/dependency_installation.mdc +0 -146
  814. package/foundation/.cursor/rules/document_loading_order.mdc +0 -194
  815. package/foundation/.cursor/rules/documentation_rules.mdc +0 -166
  816. package/foundation/.cursor/rules/downstream_doc_updates.mdc +0 -266
  817. package/foundation/.cursor/rules/environment_variables_1password.mdc +0 -307
  818. package/foundation/.cursor/rules/environment_variables_env_file.mdc +0 -121
  819. package/foundation/.cursor/rules/feature_unit_detection.mdc +0 -129
  820. package/foundation/.cursor/rules/file_naming.mdc +0 -31
  821. package/foundation/.cursor/rules/git_remote_sync.mdc +0 -240
  822. package/foundation/.cursor/rules/instruction_documentation.mdc +0 -302
  823. package/foundation/.cursor/rules/native_browser_debugging.mdc +0 -65
  824. package/foundation/.cursor/rules/plan_execution_testing.mdc +0 -98
  825. package/foundation/.cursor/rules/post_build_testing.mdc +0 -159
  826. package/foundation/.cursor/rules/prefer_cli_tools.mdc +0 -234
  827. package/foundation/.cursor/rules/readme_maintenance.mdc +0 -153
  828. package/foundation/.cursor/rules/release_detection.mdc +0 -92
  829. package/foundation/.cursor/rules/release_status_readme_update.mdc +0 -64
  830. package/foundation/.cursor/rules/risk_management.mdc +0 -167
  831. package/foundation/.cursor/rules/security.mdc +0 -158
  832. package/foundation/.cursor/rules/test_first_workflow.mdc +0 -341
  833. package/foundation/.cursor/rules/worktree_env.mdc +0 -53
  834. package/foundation/.cursor/skills/analyze/SKILL.md +0 -566
  835. package/foundation/.cursor/skills/commit/SKILL.md +0 -782
  836. package/foundation/.cursor/skills/create-feature-unit/SKILL.md +0 -180
  837. package/foundation/.cursor/skills/create-prototype/SKILL.md +0 -91
  838. package/foundation/.cursor/skills/create-release/SKILL.md +0 -432
  839. package/foundation/.cursor/skills/create-rule/SKILL.md +0 -292
  840. package/foundation/.cursor/skills/debug/SKILL.md +0 -980
  841. package/foundation/.cursor/skills/final-review/SKILL.md +0 -93
  842. package/foundation/.cursor/skills/fix-feature-bug/SKILL.md +0 -100
  843. package/foundation/.cursor/skills/manage-error-debugging/SKILL.md +0 -182
  844. package/foundation/.cursor/skills/publish/SKILL.md +0 -554
  845. package/foundation/.cursor/skills/pull/SKILL.md +0 -315
  846. package/foundation/.cursor/skills/push/SKILL.md +0 -254
  847. package/foundation/.cursor/skills/report/SKILL.md +0 -1501
  848. package/foundation/.cursor/skills/report-error/SKILL.md +0 -1501
  849. package/foundation/.cursor/skills/run-feature-workflow/SKILL.md +0 -79
  850. package/foundation/.cursor/skills/setup-commands/SKILL.md +0 -28
  851. package/foundation/.cursor/skills/setup-cursor-copies/SKILL.md +0 -233
  852. package/foundation/.cursor/skills/sync-env-from-1password/SKILL.md +0 -302
  853. package/foundation/CONTRIBUTING.md +0 -202
  854. package/foundation/LICENSE +0 -22
  855. package/foundation/MIGRATION.md +0 -396
  856. package/foundation/README.md +0 -391
  857. package/foundation/agent_instructions/README.md +0 -559
  858. package/foundation/config/foundation-config.yaml +0 -498
  859. package/foundation/config/foundation_config.yaml +0 -475
  860. package/foundation/config/repo_adapters/personal.yaml +0 -40
  861. package/foundation/config/repo_adapters/template.yaml +0 -45
  862. package/foundation/conventions/code_conventions.md +0 -908
  863. package/foundation/conventions/documentation_standards.md +0 -459
  864. package/foundation/conventions/naming_patterns.yaml +0 -139
  865. package/foundation/conventions/testing_conventions.md +0 -374
  866. package/foundation/conventions/writing_style_guide.md +0 -221
  867. package/foundation/development/branch_strategy.md +0 -266
  868. package/foundation/development/feature_unit_workflow.md +0 -423
  869. package/foundation/development/pr_process.md +0 -385
  870. package/foundation/development/release_workflow.md +0 -2296
  871. package/foundation/development/templates/feature_unit_spec_template.md +0 -312
  872. package/foundation/development/templates/manifest_template_extended.yaml +0 -303
  873. package/foundation/development/templates/manifest_template_simple.yaml +0 -148
  874. package/foundation/development/workflow.md +0 -509
  875. package/foundation/development/worktree_setup.sh +0 -207
  876. package/foundation/scripts/README.md +0 -230
  877. package/foundation/scripts/__pycache__/op_sync_env_from_1password.cpython-314.pyc +0 -0
  878. package/foundation/scripts/install-foundation.sh +0 -232
  879. package/foundation/scripts/install_foundation.sh +0 -232
  880. package/foundation/scripts/op_sync_env_from_1password.py +0 -1007
  881. package/foundation/scripts/report_error_create_dirs.sh +0 -14
  882. package/foundation/scripts/report_error_generate_id.sh +0 -10
  883. package/foundation/scripts/report_error_update_queue.sh +0 -24
  884. package/foundation/scripts/report_error_validate_target.sh +0 -34
  885. package/foundation/scripts/report_error_wait_resolution.sh +0 -69
  886. package/foundation/scripts/validate_setup.sh +0 -147
  887. package/foundation/security/credential_management.md +0 -263
  888. package/foundation/security/pre_commit_audit.sh +0 -78
  889. package/foundation/security/security_rules.md +0 -163
  890. package/foundation/strategy/README.md +0 -279
  891. package/foundation/strategy/competitive_analysis_template.md +0 -271
  892. package/foundation/strategy/partnership_analysis_template.md +0 -423
  893. package/foundation/strategy/project_assessment_framework.md +0 -485
  894. package/foundation/strategy/relevance_analysis_template.md +0 -297
  895. package/foundation/tooling/README.md +0 -198
  896. package/foundation/validation/README.md +0 -120
  897. package/foundation-config.yaml +0 -543
  898. package/frontend/docs.html +0 -43
  899. package/frontend/frontend/.vite-prototype/deps/@noble_curves_ed25519__js.js +0 -2859
  900. package/frontend/frontend/.vite-prototype/deps/@noble_curves_ed25519__js.js.map +0 -7
  901. package/frontend/frontend/.vite-prototype/deps/@noble_hashes_utils__js.js +0 -62
  902. package/frontend/frontend/.vite-prototype/deps/@noble_hashes_utils__js.js.map +0 -7
  903. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dialog.js +0 -464
  904. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dialog.js.map +0 -7
  905. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dropdown-menu.js +0 -1488
  906. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dropdown-menu.js.map +0 -7
  907. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-label.js +0 -84
  908. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-label.js.map +0 -7
  909. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-scroll-area.js +0 -757
  910. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-scroll-area.js.map +0 -7
  911. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-select.js +0 -1351
  912. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-select.js.map +0 -7
  913. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-slot.js +0 -18
  914. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-slot.js.map +0 -7
  915. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-toast.js +0 -675
  916. package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-toast.js.map +0 -7
  917. package/frontend/frontend/.vite-prototype/deps/@tanstack_react-table.js +0 -3254
  918. package/frontend/frontend/.vite-prototype/deps/@tanstack_react-table.js.map +0 -7
  919. package/frontend/frontend/.vite-prototype/deps/_metadata.json +0 -187
  920. package/frontend/frontend/.vite-prototype/deps/chunk-557GXNYU.js +0 -23
  921. package/frontend/frontend/.vite-prototype/deps/chunk-557GXNYU.js.map +0 -7
  922. package/frontend/frontend/.vite-prototype/deps/chunk-6FYWT56J.js.map +0 -7
  923. package/frontend/frontend/.vite-prototype/deps/chunk-C7HFWHWH.js +0 -271
  924. package/frontend/frontend/.vite-prototype/deps/chunk-C7HFWHWH.js.map +0 -7
  925. package/frontend/frontend/.vite-prototype/deps/chunk-CJDTXCAB.js +0 -49
  926. package/frontend/frontend/.vite-prototype/deps/chunk-CJDTXCAB.js.map +0 -7
  927. package/frontend/frontend/.vite-prototype/deps/chunk-DC5AMYBS.js +0 -39
  928. package/frontend/frontend/.vite-prototype/deps/chunk-DC5AMYBS.js.map +0 -7
  929. package/frontend/frontend/.vite-prototype/deps/chunk-F4FBYZZO.js +0 -2258
  930. package/frontend/frontend/.vite-prototype/deps/chunk-F4FBYZZO.js.map +0 -7
  931. package/frontend/frontend/.vite-prototype/deps/chunk-GIBJ3MQP.js +0 -129
  932. package/frontend/frontend/.vite-prototype/deps/chunk-GIBJ3MQP.js.map +0 -7
  933. package/frontend/frontend/.vite-prototype/deps/chunk-IMIZXM4S.js +0 -218
  934. package/frontend/frontend/.vite-prototype/deps/chunk-IMIZXM4S.js.map +0 -7
  935. package/frontend/frontend/.vite-prototype/deps/chunk-K236IVZX.js +0 -21628
  936. package/frontend/frontend/.vite-prototype/deps/chunk-K236IVZX.js.map +0 -7
  937. package/frontend/frontend/.vite-prototype/deps/chunk-LPO6FEV6.js +0 -21
  938. package/frontend/frontend/.vite-prototype/deps/chunk-LPO6FEV6.js.map +0 -7
  939. package/frontend/frontend/.vite-prototype/deps/chunk-PZJDTVNM.js +0 -144
  940. package/frontend/frontend/.vite-prototype/deps/chunk-PZJDTVNM.js.map +0 -7
  941. package/frontend/frontend/.vite-prototype/deps/chunk-RGYP7AMI.js +0 -1116
  942. package/frontend/frontend/.vite-prototype/deps/chunk-RGYP7AMI.js.map +0 -7
  943. package/frontend/frontend/.vite-prototype/deps/chunk-SMVRXQSC.js +0 -928
  944. package/frontend/frontend/.vite-prototype/deps/chunk-SMVRXQSC.js.map +0 -7
  945. package/frontend/frontend/.vite-prototype/deps/chunk-SPBFJIQZ.js +0 -49
  946. package/frontend/frontend/.vite-prototype/deps/chunk-SPBFJIQZ.js.map +0 -7
  947. package/frontend/frontend/.vite-prototype/deps/chunk-UQF5EARV.js +0 -9
  948. package/frontend/frontend/.vite-prototype/deps/chunk-UQF5EARV.js.map +0 -7
  949. package/frontend/frontend/.vite-prototype/deps/chunk-VEFHXNY4.js +0 -186
  950. package/frontend/frontend/.vite-prototype/deps/chunk-VEFHXNY4.js.map +0 -7
  951. package/frontend/frontend/.vite-prototype/deps/chunk-Z55WIHBM.js +0 -349
  952. package/frontend/frontend/.vite-prototype/deps/chunk-Z55WIHBM.js.map +0 -7
  953. package/frontend/frontend/.vite-prototype/deps/class-variance-authority.js +0 -51
  954. package/frontend/frontend/.vite-prototype/deps/class-variance-authority.js.map +0 -7
  955. package/frontend/frontend/.vite-prototype/deps/clsx.js +0 -10
  956. package/frontend/frontend/.vite-prototype/deps/clsx.js.map +0 -7
  957. package/frontend/frontend/.vite-prototype/deps/lucide-react.js +0 -31586
  958. package/frontend/frontend/.vite-prototype/deps/lucide-react.js.map +0 -7
  959. package/frontend/frontend/.vite-prototype/deps/package.json +0 -3
  960. package/frontend/frontend/.vite-prototype/deps/papaparse.js +0 -431
  961. package/frontend/frontend/.vite-prototype/deps/papaparse.js.map +0 -7
  962. package/frontend/frontend/.vite-prototype/deps/react-dom.js +0 -7
  963. package/frontend/frontend/.vite-prototype/deps/react-dom.js.map +0 -7
  964. package/frontend/frontend/.vite-prototype/deps/react-dom_client.js +0 -39
  965. package/frontend/frontend/.vite-prototype/deps/react-dom_client.js.map +0 -7
  966. package/frontend/frontend/.vite-prototype/deps/react.js +0 -6
  967. package/frontend/frontend/.vite-prototype/deps/react.js.map +0 -7
  968. package/frontend/frontend/.vite-prototype/deps/react_jsx-dev-runtime.js +0 -913
  969. package/frontend/frontend/.vite-prototype/deps/react_jsx-dev-runtime.js.map +0 -7
  970. package/frontend/frontend/.vite-prototype/deps/react_jsx-runtime.js +0 -7
  971. package/frontend/frontend/.vite-prototype/deps/react_jsx-runtime.js.map +0 -7
  972. package/frontend/frontend/.vite-prototype/deps/sonner.js +0 -1139
  973. package/frontend/frontend/.vite-prototype/deps/sonner.js.map +0 -7
  974. package/frontend/frontend/.vite-prototype/deps/tailwind-merge.js +0 -2534
  975. package/frontend/frontend/.vite-prototype/deps/tailwind-merge.js.map +0 -7
  976. package/frontend/index.html +0 -38
  977. package/frontend/src/App.tsx +0 -15
  978. package/frontend/src/bridge/discovery.ts +0 -126
  979. package/frontend/src/bridge/index.ts +0 -9
  980. package/frontend/src/bridge/mcp.ts +0 -85
  981. package/frontend/src/bridge/types.ts +0 -24
  982. package/frontend/src/bridge/websocket.ts +0 -349
  983. package/frontend/src/components/AIAgentBridge.tsx +0 -75
  984. package/frontend/src/components/AboutPage.tsx +0 -102
  985. package/frontend/src/components/AppNavigationSidebar.tsx +0 -181
  986. package/frontend/src/components/AppSidebar.tsx +0 -206
  987. package/frontend/src/components/AuthErrorHandler.tsx +0 -23
  988. package/frontend/src/components/Dashboard.tsx +0 -303
  989. package/frontend/src/components/DashboardPage.tsx +0 -78
  990. package/frontend/src/components/EmptyPlaceholder.tsx +0 -58
  991. package/frontend/src/components/EntityDetail.tsx +0 -801
  992. package/frontend/src/components/EntityList.tsx +0 -409
  993. package/frontend/src/components/ErrorBoundary.tsx +0 -131
  994. package/frontend/src/components/FileUploadView.tsx +0 -246
  995. package/frontend/src/components/FloatingSettingsButton.tsx +0 -46
  996. package/frontend/src/components/Header.tsx +0 -43
  997. package/frontend/src/components/IntegrationsPage.tsx +0 -46
  998. package/frontend/src/components/InterpretationList.tsx +0 -246
  999. package/frontend/src/components/KeyManagementDialog.tsx +0 -227
  1000. package/frontend/src/components/Layout.tsx +0 -67
  1001. package/frontend/src/components/MCPChatGPTPage.tsx +0 -128
  1002. package/frontend/src/components/MCPClaudePage.tsx +0 -112
  1003. package/frontend/src/components/MCPCodeiumPage.tsx +0 -100
  1004. package/frontend/src/components/MCPConfigurationPage.tsx +0 -624
  1005. package/frontend/src/components/MCPConnectionDialog.tsx +0 -177
  1006. package/frontend/src/components/MCPConnectionsList.tsx +0 -197
  1007. package/frontend/src/components/MCPContinuePage.tsx +0 -90
  1008. package/frontend/src/components/MCPCursorPage.tsx +0 -379
  1009. package/frontend/src/components/MCPGeminiPage.tsx +0 -102
  1010. package/frontend/src/components/MCPGitHubCopilotPage.tsx +0 -100
  1011. package/frontend/src/components/MCPGrokPage.tsx +0 -99
  1012. package/frontend/src/components/MCPJetBrainsPage.tsx +0 -107
  1013. package/frontend/src/components/MCPManusPage.tsx +0 -104
  1014. package/frontend/src/components/MCPSetupDialog.tsx +0 -268
  1015. package/frontend/src/components/MCPVSCodePage.tsx +0 -100
  1016. package/frontend/src/components/MCPWindsurfPage.tsx +0 -99
  1017. package/frontend/src/components/MainApp.tsx +0 -19
  1018. package/frontend/src/components/NotFound.tsx +0 -46
  1019. package/frontend/src/components/OAuthPage.tsx +0 -426
  1020. package/frontend/src/components/ObservationList.tsx +0 -277
  1021. package/frontend/src/components/ProtectedRoute.tsx +0 -38
  1022. package/frontend/src/components/QuickEntryPanel.tsx +0 -99
  1023. package/frontend/src/components/RealtimeStatusIndicator.tsx +0 -32
  1024. package/frontend/src/components/RecentActivityFeed.tsx +0 -198
  1025. package/frontend/src/components/RelationshipDetail.tsx +0 -232
  1026. package/frontend/src/components/RelationshipList.tsx +0 -269
  1027. package/frontend/src/components/SchemaDetail.test.tsx +0 -53
  1028. package/frontend/src/components/SchemaDetail.tsx +0 -230
  1029. package/frontend/src/components/SchemaList.tsx +0 -228
  1030. package/frontend/src/components/SearchResults.tsx +0 -318
  1031. package/frontend/src/components/SeoHead.tsx +0 -40
  1032. package/frontend/src/components/SitePage.tsx +0 -654
  1033. package/frontend/src/components/SourceDetail.tsx +0 -382
  1034. package/frontend/src/components/SourceTable.tsx +0 -243
  1035. package/frontend/src/components/StyleGuide.md +0 -48
  1036. package/frontend/src/components/StyleGuide.tsx +0 -2316
  1037. package/frontend/src/components/TimelineView.tsx +0 -321
  1038. package/frontend/src/components/UniversalSearch.tsx +0 -518
  1039. package/frontend/src/components/design-system/BadgesPage.tsx +0 -47
  1040. package/frontend/src/components/design-system/ButtonsPage.tsx +0 -67
  1041. package/frontend/src/components/design-system/CardsPage.tsx +0 -31
  1042. package/frontend/src/components/design-system/CollapsiblePage.tsx +0 -84
  1043. package/frontend/src/components/design-system/ColorsPage.tsx +0 -125
  1044. package/frontend/src/components/design-system/DesignSystemIndex.tsx +0 -73
  1045. package/frontend/src/components/design-system/DesignSystemLayout.tsx +0 -22
  1046. package/frontend/src/components/design-system/DesignSystemRouter.tsx +0 -43
  1047. package/frontend/src/components/design-system/InputsPage.tsx +0 -40
  1048. package/frontend/src/components/design-system/PageFormatsPage.tsx +0 -263
  1049. package/frontend/src/components/design-system/ProgressPage.tsx +0 -54
  1050. package/frontend/src/components/design-system/SkeletonPage.tsx +0 -68
  1051. package/frontend/src/components/design-system/SpacingPage.tsx +0 -45
  1052. package/frontend/src/components/design-system/StyleGuidePage.tsx +0 -313
  1053. package/frontend/src/components/design-system/SwitchPage.tsx +0 -60
  1054. package/frontend/src/components/design-system/TablesPage.tsx +0 -206
  1055. package/frontend/src/components/design-system/TabsPage.tsx +0 -88
  1056. package/frontend/src/components/design-system/TooltipPage.tsx +0 -94
  1057. package/frontend/src/components/design-system/TypographyPage.tsx +0 -81
  1058. package/frontend/src/components/icons/CursorIcon.tsx +0 -26
  1059. package/frontend/src/components/quick-entry/ContactDialog.tsx +0 -177
  1060. package/frontend/src/components/quick-entry/EventDialog.tsx +0 -204
  1061. package/frontend/src/components/quick-entry/TaskDialog.tsx +0 -204
  1062. package/frontend/src/components/quick-entry/TransactionDialog.tsx +0 -188
  1063. package/frontend/src/components/ui/alert.tsx +0 -59
  1064. package/frontend/src/components/ui/badge.tsx +0 -36
  1065. package/frontend/src/components/ui/breadcrumb.tsx +0 -120
  1066. package/frontend/src/components/ui/button.tsx +0 -56
  1067. package/frontend/src/components/ui/card.tsx +0 -68
  1068. package/frontend/src/components/ui/collapsible.tsx +0 -9
  1069. package/frontend/src/components/ui/dialog.tsx +0 -81
  1070. package/frontend/src/components/ui/dropdown-menu.tsx +0 -195
  1071. package/frontend/src/components/ui/input-group.tsx +0 -26
  1072. package/frontend/src/components/ui/input.tsx +0 -24
  1073. package/frontend/src/components/ui/label.tsx +0 -19
  1074. package/frontend/src/components/ui/progress.tsx +0 -26
  1075. package/frontend/src/components/ui/scroll-area.tsx +0 -35
  1076. package/frontend/src/components/ui/select.tsx +0 -173
  1077. package/frontend/src/components/ui/separator.tsx +0 -31
  1078. package/frontend/src/components/ui/sheet.tsx +0 -139
  1079. package/frontend/src/components/ui/sidebar.tsx +0 -851
  1080. package/frontend/src/components/ui/skeleton.tsx +0 -15
  1081. package/frontend/src/components/ui/switch.tsx +0 -35
  1082. package/frontend/src/components/ui/table-scroll-wrapper.tsx +0 -96
  1083. package/frontend/src/components/ui/table.tsx +0 -127
  1084. package/frontend/src/components/ui/tabs.tsx +0 -53
  1085. package/frontend/src/components/ui/textarea.tsx +0 -23
  1086. package/frontend/src/components/ui/toast.tsx +0 -122
  1087. package/frontend/src/components/ui/toaster.tsx +0 -32
  1088. package/frontend/src/components/ui/tooltip.tsx +0 -28
  1089. package/frontend/src/components/ui/use-toast.ts +0 -194
  1090. package/frontend/src/constants/integrations.ts +0 -51
  1091. package/frontend/src/contexts/AuthContext.tsx +0 -205
  1092. package/frontend/src/contexts/RealtimeContext.tsx +0 -119
  1093. package/frontend/src/docs/DocumentationApp.tsx +0 -104
  1094. package/frontend/src/docs/DocumentationDirectory.tsx +0 -159
  1095. package/frontend/src/docs/DocumentationLayout.tsx +0 -31
  1096. package/frontend/src/docs/DocumentationPage.tsx +0 -38
  1097. package/frontend/src/docs/DocumentationSidebar.tsx +0 -15
  1098. package/frontend/src/docs/MarkdownContent.tsx +0 -212
  1099. package/frontend/src/docs/README.md +0 -198
  1100. package/frontend/src/docs/main.tsx +0 -12
  1101. package/frontend/src/hooks/use-mobile.tsx +0 -19
  1102. package/frontend/src/hooks/useKeys.ts +0 -202
  1103. package/frontend/src/hooks/useMCPConfig.ts +0 -175
  1104. package/frontend/src/hooks/useRealtimeEntities.ts +0 -56
  1105. package/frontend/src/hooks/useRealtimeObservations.ts +0 -56
  1106. package/frontend/src/hooks/useRealtimeRelationships.ts +0 -56
  1107. package/frontend/src/hooks/useRealtimeSources.ts +0 -53
  1108. package/frontend/src/hooks/useRealtimeTimeline.ts +0 -53
  1109. package/frontend/src/hooks/useSettings.ts +0 -95
  1110. package/frontend/src/hooks/useStorageQuota.ts +0 -65
  1111. package/frontend/src/hooks/useTheme.tsx +0 -42
  1112. package/frontend/src/index.css +0 -247
  1113. package/frontend/src/lib/api_client.ts +0 -8
  1114. package/frontend/src/lib/auth.ts +0 -100
  1115. package/frontend/src/lib/idempotency.ts +0 -25
  1116. package/frontend/src/lib/utils.ts +0 -7
  1117. package/frontend/src/main.tsx +0 -40
  1118. package/frontend/src/sample-data/sets-medium.csv +0 -55
  1119. package/frontend/src/sample-data/sets-medium.ts +0 -45
  1120. package/frontend/src/shared/.eslintrc.json +0 -35
  1121. package/frontend/src/shared/.github/README.md +0 -55
  1122. package/frontend/src/shared/.github/workflows/ci.yml +0 -88
  1123. package/frontend/src/shared/.github/workflows/release.yml +0 -34
  1124. package/frontend/src/shared/.github/workflows/setup.yml +0 -56
  1125. package/frontend/src/shared/README.md +0 -163
  1126. package/frontend/src/shared/SETUP.md +0 -121
  1127. package/frontend/src/shared/components.json +0 -20
  1128. package/frontend/src/shared/package-lock.json +0 -4508
  1129. package/frontend/src/shared/package.json +0 -78
  1130. package/frontend/src/shared/src/components/AppSidebar.tsx +0 -77
  1131. package/frontend/src/shared/src/components/ErrorBoundary.tsx +0 -87
  1132. package/frontend/src/shared/src/components/Layout.tsx +0 -262
  1133. package/frontend/src/shared/src/components/ui/breadcrumb.tsx +0 -115
  1134. package/frontend/src/shared/src/components/ui/button.tsx +0 -56
  1135. package/frontend/src/shared/src/components/ui/calendar.tsx +0 -211
  1136. package/frontend/src/shared/src/components/ui/input.tsx +0 -22
  1137. package/frontend/src/shared/src/components/ui/popover.tsx +0 -29
  1138. package/frontend/src/shared/src/components/ui/separator.tsx +0 -29
  1139. package/frontend/src/shared/src/components/ui/sheet.tsx +0 -140
  1140. package/frontend/src/shared/src/components/ui/sidebar.tsx +0 -519
  1141. package/frontend/src/shared/src/components/ui/skeleton.tsx +0 -15
  1142. package/frontend/src/shared/src/components/ui/tooltip.tsx +0 -28
  1143. package/frontend/src/shared/src/hooks/use-mobile.tsx +0 -19
  1144. package/frontend/src/shared/src/index.css +0 -75
  1145. package/frontend/src/shared/src/index.ts +0 -34
  1146. package/frontend/src/shared/src/lib/utils.ts +0 -6
  1147. package/frontend/src/shared/tailwind.config.mjs +0 -67
  1148. package/frontend/src/shared/tsconfig.json +0 -29
  1149. package/frontend/src/site/seo_metadata.ts +0 -133
  1150. package/frontend/src/site/site_data.test.ts +0 -36
  1151. package/frontend/src/site/site_data.ts +0 -575
  1152. package/frontend/src/store/README.md +0 -10
  1153. package/frontend/src/utils/api_access.ts +0 -24
  1154. package/frontend/src/utils/csv.test.ts +0 -42
  1155. package/frontend/src/utils/csv.ts +0 -45
  1156. package/frontend/src/utils/csv_summary.ts +0 -139
  1157. package/frontend/src/utils/debounce.ts +0 -24
  1158. package/frontend/src/utils/entity_display.test.ts +0 -334
  1159. package/frontend/src/utils/entity_display.ts +0 -23
  1160. package/frontend/src/utils/entity_type_formatter.ts +0 -56
  1161. package/frontend/src/utils/error_utils.ts +0 -137
  1162. package/frontend/src/utils/property_keys.ts +0 -36
  1163. package/frontend/src/utils/schema_icons.test.ts +0 -59
  1164. package/frontend/src/utils/schema_icons.ts +0 -229
  1165. package/frontend/src/utils/time.ts +0 -37
  1166. package/frontend/src/vite-env.d.ts +0 -14
  1167. package/frontend/tsconfig.json +0 -27
  1168. package/frontend/tsconfig.node.json +0 -11
  1169. package/mcp/web-scraper/README.md +0 -475
  1170. package/mcp/web-scraper/SETUP.md +0 -150
  1171. package/mcp/web-scraper/__init__.py +0 -3
  1172. package/mcp/web-scraper/chatgpt_scraper_mcp_server.py +0 -435
  1173. package/mcp/web-scraper/create_repo.sh +0 -50
  1174. package/mcp/web-scraper/imports/spotify/playlist_3i0FY58V7n8XIUyWDm3AYA.json +0 -1052
  1175. package/mcp/web-scraper/nytimes_article.json +0 -7
  1176. package/mcp/web-scraper/plugins/__init__.py +0 -3
  1177. package/mcp/web-scraper/plugins/chatgpt_scraper.py +0 -105
  1178. package/mcp/web-scraper/plugins/metacast_scraper.py +0 -828
  1179. package/mcp/web-scraper/plugins/nyt_podcast_scraper.py +0 -538
  1180. package/mcp/web-scraper/plugins/spotify_scraper.py +0 -618
  1181. package/mcp/web-scraper/plugins/twitter_scraper.py +0 -576
  1182. package/mcp/web-scraper/plugins/url_body_fetcher.py +0 -172
  1183. package/mcp/web-scraper/pytest.ini +0 -11
  1184. package/mcp/web-scraper/requirements-test.txt +0 -6
  1185. package/mcp/web-scraper/requirements.txt +0 -6
  1186. package/mcp/web-scraper/run-web-scraper-mcp.sh +0 -38
  1187. package/mcp/web-scraper/scrape_spotify_playlist.py +0 -77
  1188. package/mcp/web-scraper/scraper.py +0 -819
  1189. package/mcp/web-scraper/scraper_base.py +0 -88
  1190. package/mcp/web-scraper/scraper_registry.py +0 -32
  1191. package/mcp/web-scraper/scripts/scrape_tweet_and_verify_referenced.py +0 -65
  1192. package/mcp/web-scraper/store_songs_to_parquet.py +0 -120
  1193. package/mcp/web-scraper/tests/__init__.py +0 -0
  1194. package/mcp/web-scraper/tests/conftest.py +0 -40
  1195. package/mcp/web-scraper/tests/integration/__init__.py +0 -0
  1196. package/mcp/web-scraper/tests/unit/__init__.py +0 -0
  1197. package/mcp/web-scraper/tests/unit/test_source_detection.py +0 -60
  1198. package/mcp/web-scraper/web_scraper_mcp_server.py +0 -639
  1199. package/openapi.yaml +0 -2071
  1200. package/playwright/fixtures/servers.ts +0 -180
  1201. package/playwright/global_setup.ts +0 -3
  1202. package/playwright/tests/auto-enhancement.spec.ts +0 -370
  1203. package/playwright/tests/coverage-map.json +0 -135
  1204. package/playwright/tests/design-system.spec.ts +0 -216
  1205. package/playwright/tests/entity-detail.spec.ts +0 -268
  1206. package/playwright/tests/entity-list.spec.ts +0 -266
  1207. package/playwright/tests/floating-settings-button.spec.ts +0 -95
  1208. package/playwright/tests/graph-integrity.spec.ts +0 -344
  1209. package/playwright/tests/helpers.ts +0 -560
  1210. package/playwright/tests/interpretations.spec.ts +0 -285
  1211. package/playwright/tests/mcp-configuration.spec.ts +0 -208
  1212. package/playwright/tests/mcp-relationships.spec.ts +0 -631
  1213. package/playwright/tests/mcp-store-retrieve.spec.ts +0 -288
  1214. package/playwright/tests/not-found.spec.ts +0 -30
  1215. package/playwright/tests/oauth-flow.spec.ts +0 -790
  1216. package/playwright/tests/observations.spec.ts +0 -295
  1217. package/playwright/tests/relationship-detail.spec.ts +0 -305
  1218. package/playwright/tests/relationships-list.spec.ts +0 -275
  1219. package/playwright/tests/schema-detail.spec.ts +0 -300
  1220. package/playwright/tests/schemas-list.spec.ts +0 -262
  1221. package/playwright/tests/search-flow.spec.ts +0 -216
  1222. package/playwright/tests/site-page.spec.ts +0 -23
  1223. package/playwright/tests/source-detail.spec.ts +0 -300
  1224. package/playwright/tests/sources-list.spec.ts +0 -254
  1225. package/playwright/tests/upload-flow.spec.ts +0 -279
  1226. package/playwright/tsconfig.json +0 -17
  1227. package/playwright/types.d.ts +0 -14
  1228. package/playwright/utils/servers.ts +0 -435
  1229. package/playwright.config.ts +0 -77
  1230. package/postcss.config.mjs +0 -7
  1231. package/scripts/add_ngrok_mapping.py +0 -99
  1232. package/scripts/add_required_observation_fields.js +0 -96
  1233. package/scripts/add_required_source_fields.js +0 -95
  1234. package/scripts/analyze-data-dir-schemas.js +0 -256
  1235. package/scripts/analyze_data_dir_for_schemas.ts +0 -378
  1236. package/scripts/analyze_low_confidence_fields.ts +0 -235
  1237. package/scripts/analyze_schema_redundancies.ts +0 -228
  1238. package/scripts/apply_documentation_rules.sh +0 -81
  1239. package/scripts/apply_file_naming_convention.sh +0 -75
  1240. package/scripts/backfill_entity_embeddings.ts +0 -95
  1241. package/scripts/branch.js +0 -47
  1242. package/scripts/build_github_pages_site.tsx +0 -65
  1243. package/scripts/check-playwright-coverage.ts +0 -159
  1244. package/scripts/check_agent_conversations.js +0 -72
  1245. package/scripts/check_agent_status.js +0 -156
  1246. package/scripts/check_auto_enhancement_status.ts +0 -215
  1247. package/scripts/check_auto_test_schemas.ts +0 -43
  1248. package/scripts/check_claude_sync.sh +0 -35
  1249. package/scripts/check_raw_fragments.ts +0 -46
  1250. package/scripts/check_remaining_eligibility.ts +0 -46
  1251. package/scripts/check_remaining_fields.ts +0 -58
  1252. package/scripts/check_sendgrid_credits.sh +0 -122
  1253. package/scripts/check_sendgrid_email_logs.sh +0 -150
  1254. package/scripts/check_snapshot_schema.ts +0 -18
  1255. package/scripts/check_sources.ts +0 -34
  1256. package/scripts/check_stale_snapshots.ts +0 -80
  1257. package/scripts/cleanup-auto-test-schemas.ts +0 -80
  1258. package/scripts/cleanup_test_schemas.ts +0 -275
  1259. package/scripts/com.neotoma.dev-servers.plist.template +0 -27
  1260. package/scripts/com.neotoma.watch-build.plist.template +0 -27
  1261. package/scripts/complete_submodule_setup.sh +0 -101
  1262. package/scripts/configure_sendgrid_dns.sh +0 -162
  1263. package/scripts/copy-env-to-worktree.js +0 -109
  1264. package/scripts/copy_pdf_worker_wrapper.js +0 -19
  1265. package/scripts/create_sample_parquet_files.py +0 -120
  1266. package/scripts/create_sample_parquet_files.ts +0 -146
  1267. package/scripts/create_sample_parquet_files_mcp.ts +0 -196
  1268. package/scripts/create_sample_parquet_files_simple.sh +0 -132
  1269. package/scripts/cursor-worktree-init.sh +0 -24
  1270. package/scripts/debug-ssl.sh +0 -86
  1271. package/scripts/debug_pdf_extraction.ts +0 -69
  1272. package/scripts/debug_vec_knn.ts +0 -69
  1273. package/scripts/dev-proxy.js +0 -406
  1274. package/scripts/dev-serve.js +0 -349
  1275. package/scripts/disable-dns.sh +0 -47
  1276. package/scripts/doctor.ts +0 -97
  1277. package/scripts/export_schema_snapshots.ts +0 -253
  1278. package/scripts/fix-ssl-cert.sh +0 -72
  1279. package/scripts/fix_mcp_phase1_tests.sh +0 -51
  1280. package/scripts/fix_observation_column_names.js +0 -51
  1281. package/scripts/fix_observation_priority_ordering.js +0 -45
  1282. package/scripts/fix_observation_properties_to_fields.js +0 -48
  1283. package/scripts/fix_sqlite_schema_mismatch.js +0 -75
  1284. package/scripts/generate-dev-cert.sh +0 -69
  1285. package/scripts/generate_pdf_fixtures.ts +0 -330
  1286. package/scripts/generate_schema_icons.ts +0 -216
  1287. package/scripts/get_branch_ports.js +0 -56
  1288. package/scripts/get_mcp_token.sh +0 -47
  1289. package/scripts/get_secrets_for_agents.js +0 -45
  1290. package/scripts/ingest_data_dir.ts +0 -215
  1291. package/scripts/ingest_finances_data.ts +0 -255
  1292. package/scripts/initialize-schemas.ts +0 -350
  1293. package/scripts/install_launchd_dev_servers.js +0 -54
  1294. package/scripts/install_launchd_watch_build.js +0 -53
  1295. package/scripts/instruct_agents_credential_setup.js +0 -130
  1296. package/scripts/instruct_agents_env_check.js +0 -99
  1297. package/scripts/instruct_agents_run_tests_until_passing.js +0 -128
  1298. package/scripts/kill_port.js +0 -174
  1299. package/scripts/linters/sync_agent_instructions_pre_commit.sh +0 -34
  1300. package/scripts/manage_error_debugging.sh +0 -228
  1301. package/scripts/manually_queue_enhancements.ts +0 -156
  1302. package/scripts/merge-dev.js +0 -319
  1303. package/scripts/migrate_auto_enhanced_fields.ts +0 -83
  1304. package/scripts/migrate_env_to_secrets.js +0 -69
  1305. package/scripts/migrate_plans.ts +0 -870
  1306. package/scripts/monitor_and_fix_snapshots.ts +0 -165
  1307. package/scripts/move_docs_rules_to_cursor.js +0 -54
  1308. package/scripts/move_docs_rules_to_cursor.sh +0 -24
  1309. package/scripts/neotoma-npm-reserve/README.md +0 -8
  1310. package/scripts/neotoma-npm-reserve/package.json +0 -10
  1311. package/scripts/notify_agents_env_vars.js +0 -109
  1312. package/scripts/notify_agents_setup_script.js +0 -148
  1313. package/scripts/notify_running_agents_credentials.js +0 -177
  1314. package/scripts/pdf_worker_polyfill.mjs +0 -27
  1315. package/scripts/pick-port.js +0 -108
  1316. package/scripts/postinstall.js +0 -84
  1317. package/scripts/process_remaining_eligible.ts +0 -70
  1318. package/scripts/prototypes/run-prototype.sh +0 -40
  1319. package/scripts/prune-merged-branches.js +0 -115
  1320. package/scripts/recompute_bob.ts +0 -64
  1321. package/scripts/recompute_snapshots.ts +0 -72
  1322. package/scripts/release_orchestrator.js +0 -1995
  1323. package/scripts/remove_duplicate_source_fields.js +0 -61
  1324. package/scripts/rename-branch-from-commit.js +0 -111
  1325. package/scripts/respawn_agents_with_credentials.js +0 -358
  1326. package/scripts/respawn_single_agent.js +0 -324
  1327. package/scripts/run-dev-server-with-tunnel-url.sh +0 -16
  1328. package/scripts/run-dev-task.js +0 -160
  1329. package/scripts/run_dev_servers_launchd.sh +0 -14
  1330. package/scripts/run_integration_tests.js +0 -523
  1331. package/scripts/run_migrations.js +0 -55
  1332. package/scripts/run_neotoma_mcp_stdio.sh +0 -11
  1333. package/scripts/run_neotoma_mcp_stdio_dev_watch.sh +0 -10
  1334. package/scripts/run_neotoma_mcp_stdio_prod.sh +0 -11
  1335. package/scripts/run_neotoma_mcp_stdio_prod_watch.sh +0 -12
  1336. package/scripts/run_watch_build_launchd.sh +0 -18
  1337. package/scripts/scrape_nytimes_article.py +0 -182
  1338. package/scripts/scrape_nytimes_simple.py +0 -152
  1339. package/scripts/secrets_manager.js +0 -232
  1340. package/scripts/send_agent_followup.js +0 -136
  1341. package/scripts/setup-data-symlink.js +0 -88
  1342. package/scripts/setup-dns.sh +0 -54
  1343. package/scripts/setup-env-copy-hook.sh +0 -67
  1344. package/scripts/setup-foundation-symlink.js +0 -45
  1345. package/scripts/setup-https-tunnel.sh +0 -409
  1346. package/scripts/setup-test-env.sh +0 -18
  1347. package/scripts/setup_agent_credentials.sh +0 -27
  1348. package/scripts/setup_agent_environment.sh +0 -39
  1349. package/scripts/setup_claude_instructions.sh +0 -437
  1350. package/scripts/setup_cloudflare_email_routing.sh +0 -158
  1351. package/scripts/setup_shared_submodule.sh +0 -100
  1352. package/scripts/simulate_npm_install.js +0 -70
  1353. package/scripts/spec_compliance_patterns.js +0 -260
  1354. package/scripts/sync-env-from-1password.sh +0 -100
  1355. package/scripts/sync_mcp_configs.js +0 -106
  1356. package/scripts/test-base64-store.ts +0 -53
  1357. package/scripts/test-error-handling.ts +0 -44
  1358. package/scripts/test-file-path-store.ts +0 -142
  1359. package/scripts/test-raw-fragments-idempotence.ts +0 -157
  1360. package/scripts/test-raw-fragments-insert.ts +0 -88
  1361. package/scripts/test-store-response-structure.ts +0 -125
  1362. package/scripts/test-store-structured-response.ts +0 -126
  1363. package/scripts/test_agent_env_spawn.js +0 -82
  1364. package/scripts/test_confidence.ts +0 -36
  1365. package/scripts/test_dsnp_parquet_reading.ts +0 -72
  1366. package/scripts/test_mcp_semantic_search.ts +0 -36
  1367. package/scripts/test_parquet_ingestion.ts +0 -52
  1368. package/scripts/test_raw_fragments_in_response.ts +0 -31
  1369. package/scripts/test_sendgrid_smtp.sh +0 -45
  1370. package/scripts/test_store_parquet_via_mcp.ts +0 -66
  1371. package/scripts/trigger_error_debug_cli.js +0 -271
  1372. package/scripts/unblock_agents.js +0 -208
  1373. package/scripts/validate-coverage-map.ts +0 -187
  1374. package/scripts/validate-doc-dependencies.js +0 -410
  1375. package/scripts/validate_all_fu_compliance.js +0 -752
  1376. package/scripts/validate_schema_sync.ts +0 -135
  1377. package/scripts/validate_spec_compliance.js +0 -669
  1378. package/scripts/watch_site.js +0 -68
  1379. package/scripts/wipe-local-database.js +0 -191
  1380. package/scripts/with_branch_ports.js +0 -496
  1381. package/site_pages/.nojekyll +0 -0
  1382. package/site_pages/FAVICON_CANDIDATES.md +0 -22
  1383. package/site_pages/favicon-1-diamond.svg +0 -3
  1384. package/site_pages/favicon-2-n-box.svg +0 -10
  1385. package/site_pages/favicon-3-waves.svg +0 -3
  1386. package/site_pages/favicon-4-n-minimal.svg +0 -3
  1387. package/site_pages/favicon-5-bars.svg +0 -5
  1388. package/site_pages/favicon.svg +0 -10
  1389. package/site_pages/index.html +0 -40
  1390. package/site_pages/robots.txt +0 -4
  1391. package/site_pages/sitemap.xml +0 -5
  1392. package/src/actions.ts +0 -4468
  1393. package/src/cli/agent_instructions_scan.ts +0 -793
  1394. package/src/cli/bootstrap.ts +0 -35
  1395. package/src/cli/config.ts +0 -338
  1396. package/src/cli/format.ts +0 -337
  1397. package/src/cli/index.ts +0 -11417
  1398. package/src/cli/init_abort.ts +0 -7
  1399. package/src/cli/mcp_config_scan.ts +0 -1359
  1400. package/src/cli/pack_rat.ts +0 -134
  1401. package/src/config/record_types.ts +0 -562
  1402. package/src/config.ts +0 -164
  1403. package/src/crypto/agent_identity.ts +0 -46
  1404. package/src/crypto/auth.ts +0 -110
  1405. package/src/crypto/column_encryption.ts +0 -109
  1406. package/src/crypto/crypto.test.ts +0 -311
  1407. package/src/crypto/envelope.ts +0 -240
  1408. package/src/crypto/export.ts +0 -131
  1409. package/src/crypto/index.ts +0 -13
  1410. package/src/crypto/key_derivation.ts +0 -176
  1411. package/src/crypto/keys.ts +0 -85
  1412. package/src/crypto/mcp_auth_token.ts +0 -35
  1413. package/src/crypto/signature.ts +0 -50
  1414. package/src/crypto/types.ts +0 -48
  1415. package/src/db.ts +0 -66
  1416. package/src/embeddings.ts +0 -76
  1417. package/src/index.ts +0 -25
  1418. package/src/mcp_ws_bridge.ts +0 -222
  1419. package/src/middleware/encrypt_response.ts +0 -39
  1420. package/src/normalize.ts +0 -351
  1421. package/src/record_types.test.ts +0 -36
  1422. package/src/reducers/index.ts +0 -5
  1423. package/src/reducers/observation_reducer.ts +0 -458
  1424. package/src/reducers/relationship_reducer.ts +0 -291
  1425. package/src/repositories/db/capability_repo.ts +0 -29
  1426. package/src/repositories/file/capability_repo.ts +0 -29
  1427. package/src/repositories/index.ts +0 -7
  1428. package/src/repositories/interfaces.ts +0 -112
  1429. package/src/repositories/sqlite/__tests__/local_db_adapter.test.ts +0 -138
  1430. package/src/repositories/sqlite/local_db_adapter.ts +0 -961
  1431. package/src/repositories/sqlite/sqlite_client.ts +0 -378
  1432. package/src/server.ts +0 -6157
  1433. package/src/services/__tests__/csv_chunking.test.ts +0 -125
  1434. package/src/services/__tests__/deletion.test.ts +0 -358
  1435. package/src/services/__tests__/entity_semantic_search.test.ts +0 -45
  1436. package/src/services/__tests__/local_auth.test.ts +0 -52
  1437. package/src/services/__tests__/local_entity_embedding.test.ts +0 -108
  1438. package/src/services/__tests__/mcp_oauth.test.ts +0 -407
  1439. package/src/services/__tests__/oauth_key_gate.test.ts +0 -50
  1440. package/src/services/__tests__/oauth_state.test.ts +0 -40
  1441. package/src/services/__tests__/schema_icon_service.test.ts +0 -151
  1442. package/src/services/auto_enhancement_processor.ts +0 -237
  1443. package/src/services/capability_registry.ts +0 -202
  1444. package/src/services/correction.ts +0 -87
  1445. package/src/services/csv_chunking.ts +0 -128
  1446. package/src/services/csv_row_extraction.ts +0 -124
  1447. package/src/services/dashboard_stats.ts +0 -115
  1448. package/src/services/deletion.ts +0 -482
  1449. package/src/services/deletion_monitor.ts +0 -314
  1450. package/src/services/encryption_service.ts +0 -110
  1451. package/src/services/entity_merge.ts +0 -100
  1452. package/src/services/entity_queries.ts +0 -518
  1453. package/src/services/entity_resolution.ts +0 -367
  1454. package/src/services/entity_semantic_search.ts +0 -64
  1455. package/src/services/entity_snapshot_embedding.ts +0 -115
  1456. package/src/services/field_canonicalization.ts +0 -393
  1457. package/src/services/field_converters.ts +0 -173
  1458. package/src/services/field_validation.ts +0 -173
  1459. package/src/services/file_text_extraction.ts +0 -213
  1460. package/src/services/finances_field_mapping.ts +0 -473
  1461. package/src/services/gdpr_deletion.ts +0 -497
  1462. package/src/services/interpretation.ts +0 -939
  1463. package/src/services/llm_extraction.ts +0 -548
  1464. package/src/services/local_auth.ts +0 -154
  1465. package/src/services/local_entity_embedding.ts +0 -196
  1466. package/src/services/mcp_auth.ts +0 -75
  1467. package/src/services/mcp_oauth.ts +0 -1625
  1468. package/src/services/mcp_oauth_errors.ts +0 -139
  1469. package/src/services/oauth_key_gate.ts +0 -116
  1470. package/src/services/oauth_state.ts +0 -70
  1471. package/src/services/observation_identity.ts +0 -161
  1472. package/src/services/observation_storage.ts +0 -162
  1473. package/src/services/parquet_reader.ts +0 -375
  1474. package/src/services/public_key_registry.ts +0 -103
  1475. package/src/services/raw_fragments.ts +0 -217
  1476. package/src/services/raw_storage.ts +0 -267
  1477. package/src/services/relationships.ts +0 -495
  1478. package/src/services/schema_definitions.ts +0 -2041
  1479. package/src/services/schema_icon_service.ts +0 -260
  1480. package/src/services/schema_inference.ts +0 -401
  1481. package/src/services/schema_recommendation.ts +0 -1475
  1482. package/src/services/schema_registry.ts +0 -1403
  1483. package/src/services/snapshot_computation.ts +0 -92
  1484. package/src/services/source_identity.ts +0 -22
  1485. package/src/services/timeline_events.ts +0 -198
  1486. package/src/shared/action_handlers/entity_handlers.ts +0 -115
  1487. package/src/shared/action_schemas.test.ts +0 -59
  1488. package/src/shared/action_schemas.ts +0 -317
  1489. package/src/shared/api_client.ts +0 -86
  1490. package/src/shared/contract_mappings.ts +0 -646
  1491. package/src/shared/entity_display_name.ts +0 -64
  1492. package/src/shared/local_transport.ts +0 -126
  1493. package/src/shared/openapi_schema.ts +0 -175
  1494. package/src/shared/openapi_types.ts +0 -2810
  1495. package/src/shared/record_display_summary.ts +0 -133
  1496. package/src/utils/__tests__/csv_summary.test.ts +0 -53
  1497. package/src/utils/__tests__/lucide_icons.test.ts +0 -133
  1498. package/src/utils/chat.test.ts +0 -42
  1499. package/src/utils/chat.ts +0 -35
  1500. package/src/utils/csv.test.ts +0 -41
  1501. package/src/utils/csv.ts +0 -77
  1502. package/src/utils/csv_summary.ts +0 -195
  1503. package/src/utils/log_encrypt.ts +0 -144
  1504. package/src/utils/logger.ts +0 -94
  1505. package/src/utils/lucide_icons.ts +0 -279
  1506. package/src/utils/property_keys.test.ts +0 -109
  1507. package/src/utils/property_keys.ts +0 -66
  1508. package/src/utils/property_sanitizer.test.ts +0 -105
  1509. package/src/utils/property_sanitizer.ts +0 -135
  1510. package/src/version_check.test.ts +0 -107
  1511. package/src/version_check.ts +0 -58
  1512. package/supabase/.temp/cli-latest +0 -0
  1513. package/tailwind.config.mjs +0 -134
  1514. package/tests/TEST_ACTION_MATRIX.md +0 -387
  1515. package/tests/agent/mcp_instruction_behavior.test.ts +0 -72
  1516. package/tests/agent/runner/agent_runner.ts +0 -27
  1517. package/tests/agent/runner/claude_code_runner.ts +0 -128
  1518. package/tests/agent/runner/cursor_cli_runner.ts +0 -7
  1519. package/tests/cli/api_client_offline_fallback.test.ts +0 -89
  1520. package/tests/cli/cli_admin_commands.test.ts +0 -268
  1521. package/tests/cli/cli_api_commands.test.ts +0 -75
  1522. package/tests/cli/cli_auth_commands.test.ts +0 -67
  1523. package/tests/cli/cli_command_coverage_guard.test.ts +0 -50
  1524. package/tests/cli/cli_correction_commands.test.ts +0 -277
  1525. package/tests/cli/cli_direct_invocation_parity.test.ts +0 -46
  1526. package/tests/cli/cli_entity_commands.test.ts +0 -324
  1527. package/tests/cli/cli_entity_subcommands.test.ts +0 -422
  1528. package/tests/cli/cli_infra_commands.test.ts +0 -475
  1529. package/tests/cli/cli_mcp_commands.test.ts +0 -51
  1530. package/tests/cli/cli_observation_commands.test.ts +0 -232
  1531. package/tests/cli/cli_query_commands.test.ts +0 -369
  1532. package/tests/cli/cli_relationship_commands.test.ts +0 -410
  1533. package/tests/cli/cli_schema_commands.test.ts +0 -296
  1534. package/tests/cli/cli_session_startup_ux.test.ts +0 -112
  1535. package/tests/cli/cli_smoke.test.ts +0 -456
  1536. package/tests/cli/cli_source_commands.test.ts +0 -214
  1537. package/tests/cli/cli_stats_commands.test.ts +0 -51
  1538. package/tests/cli/cli_store_commands.test.ts +0 -339
  1539. package/tests/cli/cli_timeline_commands.test.ts +0 -294
  1540. package/tests/cli/config.test.ts +0 -36
  1541. package/tests/cli/config_api_discovery.test.ts +0 -91
  1542. package/tests/cli/test_command_detection.test.ts +0 -128
  1543. package/tests/cli/test_debug_tty.test.ts +0 -32
  1544. package/tests/contract/contract_mapping.test.ts +0 -131
  1545. package/tests/contract/contract_mcp_cli_parity.test.ts +0 -223
  1546. package/tests/contract/openapi_schema.test.ts +0 -15
  1547. package/tests/fixtures/README.md +0 -22
  1548. package/tests/fixtures/agent_mcp/insurance_policy.txt +0 -5
  1549. package/tests/fixtures/agent_mcp_cases.json +0 -137
  1550. package/tests/fixtures/csv/sample_balances.csv +0 -7
  1551. package/tests/fixtures/csv/sample_contacts.csv +0 -6
  1552. package/tests/fixtures/csv/sample_crypto_transactions.csv +0 -6
  1553. package/tests/fixtures/csv/sample_flows.csv +0 -7
  1554. package/tests/fixtures/csv/sample_holdings.csv +0 -7
  1555. package/tests/fixtures/csv/sample_income.csv +0 -7
  1556. package/tests/fixtures/csv/sample_purchases.csv +0 -7
  1557. package/tests/fixtures/csv/sample_tax_events.csv +0 -7
  1558. package/tests/fixtures/csv/sample_transactions.csv +0 -7
  1559. package/tests/fixtures/csv/sample_transfers.csv +0 -6
  1560. package/tests/fixtures/expected/contact_snapshot.json +0 -19
  1561. package/tests/fixtures/expected/transaction_snapshot.json +0 -21
  1562. package/tests/fixtures/helpers.ts +0 -522
  1563. package/tests/fixtures/json/account.json +0 -63
  1564. package/tests/fixtures/json/argument.json +0 -39
  1565. package/tests/fixtures/json/balance.json +0 -56
  1566. package/tests/fixtures/json/belief.json +0 -44
  1567. package/tests/fixtures/json/contact.json +0 -83
  1568. package/tests/fixtures/json/contract.json +0 -62
  1569. package/tests/fixtures/json/crypto_transaction.json +0 -67
  1570. package/tests/fixtures/json/domain.json +0 -41
  1571. package/tests/fixtures/json/emotion.json +0 -31
  1572. package/tests/fixtures/json/fixed_cost.json +0 -75
  1573. package/tests/fixtures/json/flow.json +0 -71
  1574. package/tests/fixtures/json/habit.json +0 -54
  1575. package/tests/fixtures/json/habit_completion.json +0 -31
  1576. package/tests/fixtures/json/habit_objective.json +0 -40
  1577. package/tests/fixtures/json/holding.json +0 -65
  1578. package/tests/fixtures/json/income.json +0 -59
  1579. package/tests/fixtures/json/liability.json +0 -50
  1580. package/tests/fixtures/json/order.json +0 -62
  1581. package/tests/fixtures/json/outcome.json +0 -56
  1582. package/tests/fixtures/json/process.json +0 -43
  1583. package/tests/fixtures/json/property.json +0 -52
  1584. package/tests/fixtures/json/purchase.json +0 -66
  1585. package/tests/fixtures/json/research.json +0 -53
  1586. package/tests/fixtures/json/strategy.json +0 -68
  1587. package/tests/fixtures/json/task_attachment.json +0 -62
  1588. package/tests/fixtures/json/task_comment.json +0 -54
  1589. package/tests/fixtures/json/task_dependency.json +0 -51
  1590. package/tests/fixtures/json/task_story.json +0 -53
  1591. package/tests/fixtures/json/tax_event.json +0 -60
  1592. package/tests/fixtures/json/tax_filing.json +0 -61
  1593. package/tests/fixtures/json/transaction.json +0 -62
  1594. package/tests/fixtures/json/transfer.json +0 -60
  1595. package/tests/fixtures/json/wallet.json +0 -51
  1596. package/tests/fixtures/json/workout.json +0 -45
  1597. package/tests/fixtures/pdf/sample-upload.txt +0 -2
  1598. package/tests/fixtures/pdf/sample_bank_statement.md +0 -32
  1599. package/tests/fixtures/pdf/sample_bank_statement.pdf +0 -0
  1600. package/tests/fixtures/pdf/sample_contract.md +0 -27
  1601. package/tests/fixtures/pdf/sample_contract.pdf +0 -0
  1602. package/tests/fixtures/pdf/sample_exercise.md +0 -31
  1603. package/tests/fixtures/pdf/sample_exercise.pdf +0 -0
  1604. package/tests/fixtures/pdf/sample_holding_statement.md +0 -29
  1605. package/tests/fixtures/pdf/sample_holding_statement.pdf +0 -0
  1606. package/tests/fixtures/pdf/sample_invoice.md +0 -27
  1607. package/tests/fixtures/pdf/sample_invoice.pdf +0 -108
  1608. package/tests/fixtures/pdf/sample_meal.md +0 -28
  1609. package/tests/fixtures/pdf/sample_meal.pdf +0 -111
  1610. package/tests/fixtures/pdf/sample_note.md +0 -28
  1611. package/tests/fixtures/pdf/sample_note.pdf +0 -0
  1612. package/tests/fixtures/pdf/sample_receipt.md +0 -28
  1613. package/tests/fixtures/pdf/sample_receipt.pdf +0 -0
  1614. package/tests/fixtures/pdf/sample_research.md +0 -31
  1615. package/tests/fixtures/pdf/sample_research.pdf +0 -0
  1616. package/tests/fixtures/pdf/sample_tax_form.md +0 -38
  1617. package/tests/fixtures/pdf/sample_tax_form.pdf +0 -0
  1618. package/tests/fixtures/pdf/sample_transaction_receipt.md +0 -28
  1619. package/tests/fixtures/pdf/sample_transaction_receipt.pdf +0 -0
  1620. package/tests/fixtures/replay_graph.test.ts +0 -125
  1621. package/tests/fixtures/sample_invoice.pdf +0 -1
  1622. package/tests/fixtures/types.ts +0 -321
  1623. package/tests/fixtures/validation.ts +0 -333
  1624. package/tests/helpers/cleanup_helpers.ts +0 -550
  1625. package/tests/helpers/create_test_parquet.ts +0 -187
  1626. package/tests/helpers/cross_layer_helpers.ts +0 -130
  1627. package/tests/helpers/mcp_action_helper.ts +0 -55
  1628. package/tests/helpers/mcp_spec_validators.ts +0 -433
  1629. package/tests/helpers/test_data_helpers.ts +0 -226
  1630. package/tests/helpers/test_schema_helpers.ts +0 -264
  1631. package/tests/integration/cli_to_mcp_entities.test.ts +0 -211
  1632. package/tests/integration/cli_to_mcp_relationships.test.ts +0 -196
  1633. package/tests/integration/cli_to_mcp_schemas.test.ts +0 -232
  1634. package/tests/integration/cli_to_mcp_stats_snapshots.test.ts +0 -67
  1635. package/tests/integration/cli_to_mcp_store.test.ts +0 -249
  1636. package/tests/integration/dashboard_stats.test.ts +0 -180
  1637. package/tests/integration/entity_queries.test.ts +0 -666
  1638. package/tests/integration/field_converters.test.ts +0 -266
  1639. package/tests/integration/fixture_mcp_store_replay.test.ts +0 -255
  1640. package/tests/integration/gdpr_deletion.test.ts +0 -433
  1641. package/tests/integration/llm_extraction.test.ts +0 -554
  1642. package/tests/integration/mcp_actions_matrix.test.ts +0 -969
  1643. package/tests/integration/mcp_auto_enhancement.test.ts +0 -659
  1644. package/tests/integration/mcp_auto_schema_creation.test.ts +0 -658
  1645. package/tests/integration/mcp_correction_variations.test.ts +0 -641
  1646. package/tests/integration/mcp_entity_creation.test.ts +0 -333
  1647. package/tests/integration/mcp_entity_variations.test.ts +0 -474
  1648. package/tests/integration/mcp_graph_variations.test.ts +0 -380
  1649. package/tests/integration/mcp_npm_check_update.test.ts +0 -54
  1650. package/tests/integration/mcp_query_variations.test.ts +0 -392
  1651. package/tests/integration/mcp_relationship_variations.test.ts +0 -433
  1652. package/tests/integration/mcp_resource_variations.test.ts +0 -423
  1653. package/tests/integration/mcp_resources.test.ts +0 -452
  1654. package/tests/integration/mcp_schema_actions.test.ts +0 -673
  1655. package/tests/integration/mcp_schema_variations.test.ts +0 -428
  1656. package/tests/integration/mcp_store_parquet.test.ts +0 -466
  1657. package/tests/integration/mcp_store_unstructured.test.ts +0 -413
  1658. package/tests/integration/mcp_store_variations.test.ts +0 -452
  1659. package/tests/integration/nonjson_csv_store_behavior.test.ts +0 -348
  1660. package/tests/integration/nonjson_fixtures_mcp_replay.test.ts +0 -253
  1661. package/tests/integration/observation_ingestion.test.ts +0 -362
  1662. package/tests/integration/payload/payload_submission.test.ts +0 -296
  1663. package/tests/integration/payload_compiler.test.ts +0 -347
  1664. package/tests/integration/public_key_registry.test.ts +0 -204
  1665. package/tests/integration/relationship_snapshots.test.ts +0 -235
  1666. package/tests/integration/schema_recommendation_integration.test.ts +0 -418
  1667. package/tests/integration/setup_v0.2.0_schemas.ts +0 -61
  1668. package/tests/integration/v0.2.0_ingestion.test.ts +0 -527
  1669. package/tests/services/auto_enhancement_converter_detection.test.ts +0 -663
  1670. package/tests/services/auto_enhancement_processor.test.ts +0 -445
  1671. package/tests/services/capability_registry.test.ts +0 -254
  1672. package/tests/services/converter_detection_unit.test.ts +0 -168
  1673. package/tests/services/encryption_service.test.ts +0 -147
  1674. package/tests/services/entity_resolution.test.ts +0 -285
  1675. package/tests/services/field_canonicalization.test.ts +0 -215
  1676. package/tests/services/field_converters.test.ts +0 -211
  1677. package/tests/services/field_validation.test.ts +0 -318
  1678. package/tests/services/finances_field_mapping.test.ts +0 -245
  1679. package/tests/services/interpretation.test.ts +0 -144
  1680. package/tests/services/mcp_auth.test.ts +0 -34
  1681. package/tests/services/observation_identity.test.ts +0 -154
  1682. package/tests/services/payload_identity.test.ts +0 -325
  1683. package/tests/services/payload_schema.test.ts +0 -282
  1684. package/tests/services/raw_storage.test.ts +0 -546
  1685. package/tests/services/schema_definitions.test.ts +0 -119
  1686. package/tests/services/schema_recommendation.test.ts +0 -590
  1687. package/tests/services/schema_registry_incremental.test.ts +0 -882
  1688. package/tests/services/summary.test.ts +0 -26
  1689. package/tests/unit/bigint_serialization.test.ts +0 -220
  1690. package/tests/unit/observation_reducer_converters.test.ts +0 -430
  1691. package/tests/unit/parquet_reader.test.ts +0 -155
  1692. package/tests/unit/relationship_reducer.test.ts +0 -208
  1693. package/tests/unit/schema_inference.test.ts +0 -358
  1694. package/tests/unit/seo_metadata.test.ts +0 -52
  1695. package/tsconfig.json +0 -22
  1696. package/vite.config.ts +0 -165
  1697. package/vitest.config.ts +0 -111
  1698. package/vitest.global_setup.ts +0 -42
  1699. package/vitest.setup.ts +0 -89
@@ -1,1213 +0,0 @@
1
- # Neotoma Schema — Canonical Data Models and Evolution Rules
2
- ## Scope
3
- This document covers:
4
- - PostgreSQL table definitions
5
- - JSONB property schemas for flexible fields
6
- - Indexes and performance considerations
7
- - Schema versioning and backward compatibility
8
- - Migration safety rules
9
- This document does NOT cover:
10
- - Ingestion pipeline logic (see `docs/subsystems/ingestion/ingestion.md`)
11
- - Entity resolution (see ingestion docs)
12
- - Search indexing (see `docs/subsystems/search/search.md`)
13
- ## 1. Core Schema Principles
14
- ### 1.1 Foundational Invariants
15
- These principles MUST be maintained across all schema changes:
16
- 1. **Immutability:** Once written, truth never changes (exceptions: metadata like `updated_at`)
17
- 2. **Provenance:** All data traces to source (file, timestamp, user)
18
- 3. **Determinism:** Same input → same schema structure
19
- 4. **Explainability:** All fields map to extraction source
20
- 5. **Flexibility:** JSONB for schema-specific `properties`
21
- 6. **Strong typing:** Core fields are strongly typed SQL columns
22
- 7. **No orphans:** All sources and observations have provenance; all relationships have valid endpoints
23
- ### 1.2 Schema Evolution Rules
24
- **Additive Changes (Allowed):**
25
- - ✅ Add new optional JSONB keys
26
- - ✅ Add new indexes
27
- - ✅ Add new tables
28
- - ✅ Add new optional columns with defaults
29
- **Breaking Changes (Forbidden in MVP):**
30
- - ❌ Remove columns or tables
31
- - ❌ Change column types (except widening, e.g., VARCHAR(50) → TEXT)
32
- - ❌ Remove required JSONB keys
33
- - ❌ Change JSONB key semantics
34
- **Migration Requirements:**
35
- - All migrations MUST be reversible (down migration)
36
- - All migrations MUST preserve existing data
37
- - All migrations MUST be tested on production-like data
38
- ## 2. Core Tables
39
- ### 2.1 `observations` Table
40
- **Purpose:** Store granular, source-specific facts extracted from documents. Observations are the intermediate layer between documents and entity snapshots. Links to sources and interpretations for full provenance.
41
- **Schema:**
42
- ```sql
43
- CREATE TABLE observations (
44
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
45
- entity_id TEXT NOT NULL,
46
- entity_type TEXT NOT NULL,
47
- schema_version TEXT NOT NULL,
48
- source_id UUID REFERENCES sources(id),
49
- interpretation_id UUID REFERENCES interpretations(id),
50
- observed_at TIMESTAMPTZ NOT NULL,
51
- specificity_score NUMERIC(3,2) CHECK (specificity_score BETWEEN 0 AND 1),
52
- source_priority INTEGER DEFAULT 0,
53
- fields JSONB NOT NULL,
54
- created_at TIMESTAMPTZ DEFAULT NOW(),
55
- user_id UUID NOT NULL,
56
- idempotency_key TEXT
57
- );
58
- ```
59
- **Field Definitions:**
60
- | Field | Type | Purpose | Mutable | Indexed |
61
- | ----------------------- | ----------- | ------------------------------------------------- | ------- | ----------- |
62
- | `id` | UUID | Unique observation ID | No | Primary key |
63
- | `entity_id` | TEXT | Target entity ID (hash-based) | No | Yes |
64
- | `entity_type` | TEXT | Entity type (person, company, invoice, etc.) | No | Yes |
65
- | `schema_version` | TEXT | Schema version used for extraction | No | No |
66
- | `source_id` | UUID | Source that produced this observation | No | Yes |
67
- | `interpretation_id` | UUID | Interpretation that created this | No | Yes |
68
- | `observed_at` | TIMESTAMPTZ | Timestamp when observation was made | No | Yes |
69
- | `specificity_score` | NUMERIC | How specific this observation is (0-1) | No | No |
70
- | `source_priority` | INTEGER | Priority of source (higher = more trusted) | No | No |
71
- | `fields` | JSONB | Granular facts extracted from document | No | No |
72
- | `created_at` | TIMESTAMPTZ | Observation creation timestamp | No | No |
73
- | `user_id` | UUID | User who owns this observation | No | Yes |
74
- | `idempotency_key` | TEXT | Client-provided key for correction idempotency | No | Yes |
75
- **Source Priority Levels:**
76
- | Source | Priority | Use Case |
77
- |--------|----------|----------|
78
- | AI interpretation | 0 | Automated extraction |
79
- | `ingest_structured()` | 100 | Agent-provided facts |
80
- | `correct()` | 1000 | User corrections (always wins) |
81
- **Indexes:**
82
- ```sql
83
- CREATE INDEX idx_observations_entity ON observations(entity_id, observed_at DESC);
84
- CREATE INDEX idx_observations_source ON observations(source_id) WHERE source_id IS NOT NULL;
85
- CREATE INDEX idx_observations_interpretation ON observations(interpretation_id) WHERE interpretation_id IS NOT NULL;
86
- CREATE INDEX idx_observations_user ON observations(user_id);
87
- CREATE INDEX idx_observations_idempotency_key ON observations(user_id, idempotency_key)
88
- WHERE idempotency_key IS NOT NULL;
89
- ```
90
- **RLS Policies:**
91
- ```sql
92
- ALTER TABLE observations ENABLE ROW LEVEL SECURITY;
93
- CREATE POLICY "Users read own observations" ON observations
94
- FOR SELECT USING (user_id = auth.uid());
95
- CREATE POLICY "Service role full access" ON observations
96
- FOR ALL TO service_role USING (true) WITH CHECK (true);
97
- ```
98
- **Notes:**
99
- - Observations are immutable once created
100
- - Multiple observations can exist for the same entity from different sources
101
- - Reducers merge observations into entity snapshots deterministically
102
- - `source_id` and `interpretation_id` provide full provenance chain
103
- - Corrections use `source_priority = 1000` to override AI extraction
104
- - See [`docs/subsystems/observation_architecture.md`](./observation_architecture.md) for details
105
- - See [`docs/subsystems/sources.md`](./sources.md) for sources-first architecture
106
- ### 2.8 `entity_snapshots` Table
107
- **Purpose:** Store deterministic reducer output representing current truth for entities. Snapshots are computed from observations.
108
- **Schema:**
109
- ```sql
110
- CREATE TABLE entity_snapshots (
111
- entity_id TEXT PRIMARY KEY,
112
- entity_type TEXT NOT NULL,
113
- schema_version TEXT NOT NULL,
114
- snapshot JSONB NOT NULL,
115
- computed_at TIMESTAMPTZ NOT NULL,
116
- observation_count INTEGER NOT NULL,
117
- last_observation_at TIMESTAMPTZ NOT NULL,
118
- provenance JSONB NOT NULL,
119
- user_id UUID NOT NULL,
120
- embedding vector(1536)
121
- );
122
- ```
123
- **Field Definitions:**
124
- | Field | Type | Purpose | Mutable | Indexed |
125
- | --------------------- | ----------- | -------------------------------------------------------- | ------- | ----------- |
126
- | `entity_id` | TEXT | Entity ID (hash-based, primary key) | No | Primary key |
127
- | `entity_type` | TEXT | Entity type (person, company, invoice, etc.) | No | Yes |
128
- | `schema_version` | TEXT | Schema version used for snapshot computation | No | No |
129
- | `snapshot` | JSONB | Current truth, computed by reducer | Yes | Yes (GIN) |
130
- | `computed_at` | TIMESTAMPTZ | When snapshot was computed | Yes | No |
131
- | `observation_count` | INTEGER | Number of observations merged | Yes | No |
132
- | `last_observation_at` | TIMESTAMPTZ | Timestamp of most recent observation | Yes | No |
133
- | `provenance` | JSONB | Maps field → observation_id, traces each field to source | Yes | No |
134
- | `user_id` | UUID | User who owns this entity | No | Yes |
135
- | `embedding` | vector(1536)| Optional embedding for semantic similarity search | Yes | Yes (ivfflat) |
136
- **Indexes:**
137
- ```sql
138
- CREATE INDEX idx_snapshots_type ON entity_snapshots(entity_type);
139
- CREATE INDEX idx_snapshots_user ON entity_snapshots(user_id);
140
- CREATE INDEX idx_snapshots_snapshot ON entity_snapshots USING GIN(snapshot);
141
- CREATE INDEX idx_entity_snapshots_embedding ON entity_snapshots
142
- USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100)
143
- WHERE embedding IS NOT NULL;
144
- ```
145
- **Notes:**
146
- - Snapshots are recomputed when new observations arrive
147
- - Provenance enables full traceability: snapshot field → observation → document
148
- - Reducers are deterministic: same observations + merge rules → same snapshot
149
- - See [`docs/subsystems/reducer.md`](./reducer.md) for reducer patterns
150
-
151
- **Local/SQLite schema additions for entity semantic search (when sqlite-vec loaded):**
152
- - `entity_embeddings_vec`: vec0 virtual table, `embedding float[1536]`. Stores embeddings for KNN similarity search.
153
- - `entity_embedding_rows`: Maps vec rowid to entity metadata. Columns: `rowid` (PK, matches vec rowid), `entity_id` (UNIQUE), `user_id`, `entity_type`, `merged`. See [`docs/subsystems/vector_ops.md`](./vector_ops.md) for local path details.
154
-
155
- ### 2.9 `schema_registry` Table
156
- **Purpose:** Manage config-driven schema definitions, versions, and merge policies. Enables runtime schema evolution without code deployments.
157
- **Schema:**
158
- ```sql
159
- CREATE TABLE schema_registry (
160
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
161
- entity_type TEXT NOT NULL,
162
- schema_version TEXT NOT NULL,
163
- schema_definition JSONB NOT NULL,
164
- reducer_config JSONB NOT NULL,
165
- active BOOLEAN DEFAULT true,
166
- created_at TIMESTAMPTZ DEFAULT NOW(),
167
- UNIQUE(entity_type, schema_version)
168
- );
169
- ```
170
- **Field Definitions:**
171
- | Field | Type | Purpose | Mutable | Indexed |
172
- | ------------------- | ----------- | -------------------------------------------- | ------- | ----------- |
173
- | `id` | UUID | Unique registry entry ID | No | Primary key |
174
- | `entity_type` | TEXT | Entity type (person, company, invoice, etc.) | No | Yes |
175
- | `schema_version` | TEXT | Schema version (e.g., "1.0", "1.1") | No | Yes |
176
- | `schema_definition` | JSONB | Field definitions, types, validators | No | No |
177
- | `reducer_config` | JSONB | Merge policies per field | No | No |
178
- | `active` | BOOLEAN | Whether this version is active | Yes | Yes |
179
- | `created_at` | TIMESTAMPTZ | When schema version was created | No | No |
180
- **Indexes:**
181
- ```sql
182
- CREATE INDEX idx_schema_active ON schema_registry(entity_type, active) WHERE active = true;
183
- ```
184
- **Notes:**
185
- - Schema definitions include field types, validators, and constraints
186
- - Reducer config defines merge strategies per field (last_write, highest_priority, most_specific, merge_array)
187
- - Only one active schema version per entity_type at a time
188
- - See [`docs/subsystems/schema_registry.md`](./schema_registry.md) for details
189
- - Public schema snapshots are exported to [`docs/subsystems/schema_snapshots/`](./schema_snapshots/) for reference (run `npm run schema:export` to update)
190
- ### 2.10 `raw_fragments` Table
191
- **Purpose:** Store unknown fields that don't match current schemas. Enables schema discovery and automated promotion. Links to sources and interpretations for full provenance.
192
- **Schema:**
193
- ```sql
194
- CREATE TABLE raw_fragments (
195
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
196
- source_id UUID REFERENCES sources(id),
197
- interpretation_id UUID REFERENCES interpretations(id),
198
- entity_type TEXT NOT NULL,
199
- fragment_key TEXT NOT NULL,
200
- fragment_value JSONB NOT NULL,
201
- fragment_envelope JSONB NOT NULL,
202
- frequency_count INTEGER DEFAULT 1,
203
- first_seen TIMESTAMPTZ DEFAULT NOW(),
204
- last_seen TIMESTAMPTZ DEFAULT NOW(),
205
- user_id UUID NOT NULL,
206
- created_at TIMESTAMPTZ DEFAULT NOW()
207
- );
208
- ```
209
- **Field Definitions:**
210
- | Field | Type | Purpose | Mutable | Indexed |
211
- | ----------------------- | ----------- | ------------------------------------------------------ | ------- | ----------- |
212
- | `id` | UUID | Unique fragment ID | No | Primary key |
213
- | `source_id` | UUID | Source that produced this fragment | No | Yes |
214
- | `interpretation_id` | UUID | Interpretation that produced this fragment | No | Yes |
215
- | `entity_type` | TEXT | Entity type (e.g., "invoice", "transaction", "task") | No | No |
216
- | `fragment_key` | TEXT | Field name/key | No | Yes |
217
- | `fragment_value` | JSONB | Field value | No | No |
218
- | `fragment_envelope` | JSONB | Type metadata (type, confidence, etc.) | No | No |
219
- | `frequency_count` | INTEGER | How many times this fragment appeared | Yes | Yes |
220
- | `first_seen` | TIMESTAMPTZ | When fragment first appeared | No | No |
221
- | `last_seen` | TIMESTAMPTZ | When fragment last appeared | Yes | No |
222
- | `user_id` | UUID | User who owns this fragment | No | Yes |
223
- | `created_at` | TIMESTAMPTZ | When this fragment row was recorded | No | No |
224
- **Indexes:**
225
- ```sql
226
- CREATE INDEX idx_fragments_source ON raw_fragments(source_id) WHERE source_id IS NOT NULL;
227
- CREATE INDEX idx_fragments_run ON raw_fragments(interpretation_run) WHERE interpretation_run IS NOT NULL;
228
- CREATE INDEX idx_fragments_frequency ON raw_fragments(fragment_key, frequency_count DESC);
229
- CREATE INDEX idx_fragments_user ON raw_fragments(user_id);
230
- ```
231
- **RLS Policies:**
232
- ```sql
233
- ALTER TABLE raw_fragments ENABLE ROW LEVEL SECURITY;
234
- CREATE POLICY "Users read own raw_fragments" ON raw_fragments
235
- FOR SELECT USING (user_id = auth.uid());
236
- CREATE POLICY "Service role full access" ON raw_fragments
237
- FOR ALL TO service_role USING (true) WITH CHECK (true);
238
- ```
239
- **Notes:**
240
- - Raw fragments accumulate until patterns emerge
241
- - Automated schema promotion analyzes fragments to propose schema updates
242
- - Frequency tracking enables pattern detection
243
- - `source_id` and `interpretation_id` provide full provenance
244
- - See [`docs/architecture/schema_expansion.md`](../architecture/schema_expansion.md) for promotion pipeline
245
- - See [`docs/subsystems/sources.md`](./sources.md) for sources-first architecture
246
- ### 2.11 `sources` Table
247
- **Purpose:** Store raw content with content-addressed deduplication. Central to the sources-first ingestion architecture.
248
- **Schema:**
249
- ```sql
250
- CREATE TABLE sources (
251
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
252
- content_hash TEXT NOT NULL,
253
- idempotency_key TEXT,
254
- storage_url TEXT NOT NULL,
255
- storage_status TEXT NOT NULL DEFAULT 'uploaded',
256
- mime_type TEXT NOT NULL,
257
- file_name TEXT,
258
- byte_size INTEGER NOT NULL,
259
- source_type TEXT NOT NULL,
260
- source_agent_id TEXT,
261
- source_metadata JSONB DEFAULT '{}',
262
- created_at TIMESTAMPTZ DEFAULT NOW(),
263
- user_id UUID NOT NULL,
264
- CONSTRAINT unique_content_per_user UNIQUE(content_hash, user_id)
265
- );
266
- ```
267
- **Field Definitions:**
268
- | Field | Type | Purpose | Mutable | Indexed |
269
- | ----------------- | ----------- | ----------------------------------------------- | ------- | ----------- |
270
- | `id` | UUID | Unique source ID | No | Primary key |
271
- | `content_hash` | TEXT | SHA-256 hash of content | No | Yes |
272
- | `idempotency_key` | TEXT | Client-provided key for ingest idempotency | No | Yes |
273
- | `storage_url` | TEXT | URL in object storage | No | No |
274
- | `storage_status` | TEXT | 'uploaded', 'pending', 'failed' | Yes | Yes |
275
- | `mime_type` | TEXT | MIME type of content | No | No |
276
- | `file_name` | TEXT | Original filename (optional) | No | No |
277
- | `byte_size` | INTEGER | Size in bytes | No | No |
278
- | `source_type` | TEXT | Type: 'file_upload', 'agent_submission', etc. | No | No |
279
- | `source_agent_id` | TEXT | Agent ID if submitted via MCP | No | No |
280
- | `source_metadata` | JSONB | Additional metadata | No | No |
281
- | `created_at` | TIMESTAMPTZ | When source was created | No | Yes |
282
- | `user_id` | UUID | User who owns this source | No | Yes |
283
- **Indexes:**
284
- ```sql
285
- CREATE INDEX idx_sources_hash ON sources(content_hash);
286
- CREATE INDEX idx_sources_user ON sources(user_id);
287
- CREATE INDEX idx_sources_created ON sources(created_at DESC);
288
- CREATE INDEX idx_sources_idempotency_key ON sources(user_id, idempotency_key)
289
- WHERE idempotency_key IS NOT NULL;
290
- ```
291
- **RLS Policies:**
292
- ```sql
293
- ALTER TABLE sources ENABLE ROW LEVEL SECURITY;
294
- CREATE POLICY "Users read own sources" ON sources
295
- FOR SELECT USING (user_id = auth.uid());
296
- CREATE POLICY "Service role full access" ON sources
297
- FOR ALL TO service_role USING (true) WITH CHECK (true);
298
- ```
299
- **Notes:**
300
- - Content-addressed storage: same content = same hash
301
- - Per-user deduplication via `(content_hash, user_id)` unique constraint
302
- - Storage path convention: `sources/{user_id}/{content_hash}`
303
- - See [`docs/subsystems/sources.md`](./sources.md) for complete architecture
304
- ### 2.12 `interpretations` Table
305
- **Purpose:** Track versioned interpretation attempts. Enables audit trail of how raw content was interpreted and supports reinterpretation without losing history.
306
- **Schema:**
307
- ```sql
308
- CREATE TABLE interpretations (
309
- id TEXT PRIMARY KEY,
310
- source_id TEXT,
311
- interpretation_config TEXT,
312
- status TEXT,
313
- started_at TEXT,
314
- completed_at TEXT,
315
- observations_created INTEGER,
316
- user_id TEXT,
317
- created_at TEXT,
318
- error_message TEXT,
319
- unknown_fields_count INTEGER
320
- );
321
- ```
322
- **Field Definitions:**
323
- | Field | Type | Purpose | Mutable | Indexed |
324
- | ------------------------- | ----------- | ----------------------------------------------- | ------- | ----------- |
325
- | `id` | TEXT | Unique interpretation ID | No | Primary key |
326
- | `source_id` | TEXT | Source being interpreted | No | Yes |
327
- | `interpretation_config` | TEXT (JSON) | Config used (model, version, params) | No | No |
328
- | `status` | TEXT | 'pending', 'running', 'completed', 'failed' | Yes | Yes |
329
- | `error_message` | TEXT | Error details if failed | Yes | No |
330
- | `observations_created` | INTEGER | Count of observations created | Yes | No |
331
- | `unknown_fields_count` | INTEGER | Count of unknown fields routed to raw_fragments | Yes | No |
332
- | `started_at` | TEXT | When interpretation started (ISO 8601) | Yes | No |
333
- | `completed_at` | TEXT | When interpretation completed (ISO 8601) | Yes | No |
334
- | `created_at` | TEXT | When interpretation was created (ISO 8601) | No | No |
335
- | `user_id` | TEXT | User who owns this interpretation | No | Yes |
336
- **Indexes:**
337
- ```sql
338
- CREATE INDEX idx_interpretations_source ON interpretations(source_id);
339
- CREATE INDEX idx_interpretations_status ON interpretations(status);
340
- ```
341
- **Notes:**
342
- - Interpretation is non-deterministic but auditable via `interpretation_config`
343
- - Reinterpretation creates NEW record; never modifies existing
344
- - Unknown fields count tracked; actual fields stored in `raw_fragments`
345
- - Timeout handling via `timeout_at` and `heartbeat_at` columns
346
- ### 2.13 `upload_queue` Table
347
- **Purpose:** Async retry queue for failed storage uploads. Enables resilient ingestion when object storage is temporarily unavailable.
348
- **Schema:**
349
- ```sql
350
- CREATE TABLE upload_queue (
351
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
352
- source_id UUID NOT NULL REFERENCES sources(id),
353
- temp_file_path TEXT NOT NULL,
354
- content_hash TEXT NOT NULL,
355
- byte_size INTEGER NOT NULL,
356
- retry_count INTEGER DEFAULT 0,
357
- max_retries INTEGER DEFAULT 5,
358
- next_retry_at TIMESTAMPTZ DEFAULT NOW(),
359
- error_message TEXT,
360
- created_at TIMESTAMPTZ DEFAULT NOW(),
361
- user_id UUID NOT NULL
362
- );
363
- ```
364
- **Indexes:**
365
- ```sql
366
- CREATE INDEX idx_upload_queue_retry ON upload_queue(next_retry_at)
367
- WHERE retry_count < max_retries;
368
- CREATE INDEX idx_upload_queue_user ON upload_queue(user_id);
369
- ```
370
- **Notes:**
371
- - Background worker processes queue every 5 minutes
372
- - Exponential backoff: 30s, 60s, 120s, 300s, 600s
373
- - After max retries, source marked as `storage_status = 'failed'`
374
- ### 2.14 `storage_usage` Table
375
- **Purpose:** Track per-user storage consumption and interpretation quotas.
376
- **Schema:**
377
- ```sql
378
- CREATE TABLE storage_usage (
379
- user_id UUID PRIMARY KEY,
380
- total_bytes BIGINT DEFAULT 0,
381
- total_sources INTEGER DEFAULT 0,
382
- last_calculated TIMESTAMPTZ DEFAULT NOW(),
383
- interpretation_count_month INTEGER DEFAULT 0,
384
- interpretation_limit_month INTEGER DEFAULT 100,
385
- billing_month TEXT DEFAULT to_char(NOW(), 'YYYY-MM')
386
- );
387
- ```
388
- **Functions:**
389
- ```sql
390
- CREATE OR REPLACE FUNCTION increment_storage_usage(
391
- p_user_id UUID,
392
- p_bytes BIGINT
393
- ) RETURNS void AS $$
394
- BEGIN
395
- INSERT INTO storage_usage (user_id, total_bytes, total_sources, last_calculated)
396
- VALUES (p_user_id, p_bytes, 1, NOW())
397
- ON CONFLICT (user_id) DO UPDATE SET
398
- total_bytes = storage_usage.total_bytes + p_bytes,
399
- total_sources = storage_usage.total_sources + 1,
400
- last_calculated = NOW();
401
- END;
402
- $$ LANGUAGE plpgsql;
403
- CREATE OR REPLACE FUNCTION increment_interpretation_count(
404
- p_user_id UUID
405
- ) RETURNS void AS $$
406
- DECLARE
407
- current_billing_month TEXT := to_char(NOW(), 'YYYY-MM');
408
- BEGIN
409
- INSERT INTO storage_usage (user_id, interpretation_count_month, billing_month)
410
- VALUES (p_user_id, 1, current_billing_month)
411
- ON CONFLICT (user_id) DO UPDATE SET
412
- interpretation_count_month = CASE
413
- WHEN storage_usage.billing_month = current_billing_month
414
- THEN storage_usage.interpretation_count_month + 1
415
- ELSE 1
416
- END,
417
- billing_month = current_billing_month;
418
- END;
419
- $$ LANGUAGE plpgsql;
420
- ```
421
- **Notes:**
422
- - Interpretation quota resets monthly
423
- - Default limit: 100/month (free tier)
424
- ### 2.15 `entity_merges` Table
425
- **Purpose:** Audit log for entity merge operations. Tracks when duplicate entities are merged.
426
- **Schema:**
427
- ```sql
428
- CREATE TABLE entity_merges (
429
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
430
- user_id UUID NOT NULL,
431
- from_entity_id TEXT NOT NULL REFERENCES entities(id),
432
- to_entity_id TEXT NOT NULL REFERENCES entities(id),
433
- reason TEXT,
434
- merged_by TEXT NOT NULL,
435
- observations_rewritten INTEGER NOT NULL DEFAULT 0,
436
- created_at TIMESTAMPTZ DEFAULT NOW(),
437
- CONSTRAINT entity_merges_no_self_merge CHECK (from_entity_id <> to_entity_id)
438
- );
439
- ```
440
- **Indexes:**
441
- ```sql
442
- CREATE UNIQUE INDEX idx_entity_merges_from_unique ON entity_merges(user_id, from_entity_id);
443
- CREATE INDEX idx_entity_merges_user ON entity_merges(user_id);
444
- CREATE INDEX idx_entity_merges_to ON entity_merges(user_id, to_entity_id);
445
- ```
446
- **RLS Policies:**
447
- ```sql
448
- ALTER TABLE entity_merges ENABLE ROW LEVEL SECURITY;
449
- CREATE POLICY "Users read own entity_merges" ON entity_merges
450
- FOR SELECT USING (user_id = auth.uid());
451
- CREATE POLICY "Service role full access" ON entity_merges
452
- FOR ALL TO service_role USING (true) WITH CHECK (true);
453
- ```
454
- **Notes:**
455
- - `from_entity_id` and `to_entity_id` are TEXT (matching `entities.id` type)
456
- - Unique constraint on `(user_id, from_entity_id)` prevents merge chains
457
- - Merge rewrites observations, not the original entity record
458
- - See [`docs/subsystems/entity_merge.md`](./entity_merge.md) for merge semantics
459
- ### 2.16 `relationship_observations` Table
460
- **Purpose:** Store observations about relationships from multiple sources. Enables deterministic merging and provenance tracking for relationships.
461
-
462
- **Schema:**
463
- ```sql
464
- CREATE TABLE relationship_observations (
465
- id UUID PRIMARY KEY,
466
- relationship_key TEXT NOT NULL,
467
- relationship_type TEXT NOT NULL,
468
- source_entity_id TEXT NOT NULL,
469
- target_entity_id TEXT NOT NULL,
470
- source_id UUID REFERENCES sources(id),
471
- interpretation_id UUID REFERENCES interpretations(id),
472
- observed_at TIMESTAMPTZ NOT NULL,
473
- specificity_score NUMERIC(3,2),
474
- source_priority INTEGER NOT NULL DEFAULT 0,
475
- metadata JSONB NOT NULL DEFAULT '{}',
476
- canonical_hash TEXT NOT NULL,
477
- created_at TIMESTAMPTZ DEFAULT NOW(),
478
- user_id UUID NOT NULL,
479
- UNIQUE(source_id, interpretation_id, relationship_key, canonical_hash, user_id)
480
- );
481
- ```
482
-
483
- **Field Definitions:**
484
-
485
- | Field | Type | Purpose | Mutable | Indexed |
486
- | --------------------- | ----------- | ------------------------------------------------------------- | ------- | ----------- |
487
- | `id` | UUID | Deterministic observation ID (hash-based) | No | Primary key |
488
- | `relationship_key` | TEXT | Composite key: `{type}:{source_entity_id}:{target_entity_id}` | No | Yes |
489
- | `relationship_type` | TEXT | Relationship type (PART_OF, CORRECTS, REFERS_TO, etc.) | No | Yes |
490
- | `source_entity_id` | TEXT | Source entity ID | No | Yes |
491
- | `target_entity_id` | TEXT | Target entity ID | No | Yes |
492
- | `source_id` | UUID | Source that created this observation | No | Yes |
493
- | `interpretation_id` | UUID | Interpretation run that created this observation (nullable) | No | Yes |
494
- | `observed_at` | TIMESTAMPTZ | When observation was made | No | Yes |
495
- | `specificity_score` | NUMERIC | How specific this observation is (0-1) | No | No |
496
- | `source_priority` | INTEGER | Priority of source (higher = more trusted) | No | No |
497
- | `metadata` | JSONB | Relationship metadata fields | No | No |
498
- | `canonical_hash` | TEXT | Hash of canonicalized metadata for idempotence | No | No |
499
- | `created_at` | TIMESTAMPTZ | When observation was created | No | No |
500
- | `user_id` | UUID | User who owns this observation | No | Yes |
501
-
502
- **Indexes:**
503
- ```sql
504
- CREATE INDEX idx_relationship_observations_key ON relationship_observations(relationship_key);
505
- CREATE INDEX idx_relationship_observations_type ON relationship_observations(relationship_type);
506
- CREATE INDEX idx_relationship_observations_source_entity ON relationship_observations(source_entity_id);
507
- CREATE INDEX idx_relationship_observations_target_entity ON relationship_observations(target_entity_id);
508
- CREATE INDEX idx_relationship_observations_source ON relationship_observations(source_id);
509
- CREATE INDEX idx_relationship_observations_interpretation ON relationship_observations(interpretation_id);
510
- CREATE INDEX idx_relationship_observations_user ON relationship_observations(user_id);
511
- ```
512
-
513
- **Notes:**
514
- - Multiple sources can create observations about the same relationship
515
- - Observations are immutable; corrections create new observations with higher priority
516
- - Unique constraint prevents duplicate observations from same source
517
- - See [`docs/subsystems/relationships.md`](./relationships.md) for observation patterns
518
-
519
- ### 2.18 `relationship_snapshots` Table
520
- **Purpose:** Store computed snapshots of relationships, representing current truth merged from observations.
521
-
522
- **Schema:**
523
- ```sql
524
- CREATE TABLE relationship_snapshots (
525
- relationship_key TEXT PRIMARY KEY,
526
- relationship_type TEXT NOT NULL,
527
- source_entity_id TEXT NOT NULL,
528
- target_entity_id TEXT NOT NULL,
529
- schema_version TEXT NOT NULL DEFAULT '1.0',
530
- snapshot JSONB NOT NULL DEFAULT '{}',
531
- computed_at TIMESTAMPTZ NOT NULL,
532
- observation_count INTEGER NOT NULL DEFAULT 0,
533
- last_observation_at TIMESTAMPTZ NOT NULL,
534
- provenance JSONB NOT NULL DEFAULT '{}',
535
- user_id UUID NOT NULL
536
- );
537
- ```
538
-
539
- **Field Definitions:**
540
-
541
- | Field | Type | Purpose | Mutable | Indexed |
542
- | --------------------- | ----------- | ---------------------------------------------------------- | ------- | ----------- |
543
- | `relationship_key` | TEXT | Composite primary key | No | Primary key |
544
- | `relationship_type` | TEXT | Relationship type | No | Yes |
545
- | `source_entity_id` | TEXT | Source entity ID | No | Yes |
546
- | `target_entity_id` | TEXT | Target entity ID | No | Yes |
547
- | `schema_version` | TEXT | Schema version used for snapshot computation | No | No |
548
- | `snapshot` | JSONB | Current truth (merged metadata), computed by reducer | Yes | Yes (GIN) |
549
- | `computed_at` | TIMESTAMPTZ | When snapshot was computed | Yes | No |
550
- | `observation_count` | INTEGER | Number of observations merged | Yes | No |
551
- | `last_observation_at` | TIMESTAMPTZ | Timestamp of most recent observation | Yes | No |
552
- | `provenance` | JSONB | Maps metadata field → observation_id for traceability | Yes | No |
553
- | `user_id` | UUID | User who owns this relationship | No | Yes |
554
-
555
- **Indexes:**
556
- ```sql
557
- CREATE INDEX idx_relationship_snapshots_type ON relationship_snapshots(relationship_type);
558
- CREATE INDEX idx_relationship_snapshots_source_entity ON relationship_snapshots(source_entity_id);
559
- CREATE INDEX idx_relationship_snapshots_target_entity ON relationship_snapshots(target_entity_id);
560
- CREATE INDEX idx_relationship_snapshots_user ON relationship_snapshots(user_id);
561
- CREATE INDEX idx_relationship_snapshots_snapshot ON relationship_snapshots USING GIN(snapshot);
562
- ```
563
-
564
- **Notes:**
565
- - Snapshots are recomputed when new relationship observations arrive
566
- - Provenance enables full traceability: metadata field → observation → source
567
- - Reducers are deterministic: same observations + merge rules → same snapshot
568
- - See [`docs/subsystems/reducer.md`](./reducer.md) for reducer patterns
569
-
570
- ## 3. JSONB `fields` Schema (Observations)
571
- ### 3.1 Overview
572
- The `fields` JSONB field in `observations` stores [entity schema](#entity-schema)-specific [extracted](#extraction) fields. Each [entity type](#entity-type) (e.g., `invoice`) has a well-defined `fields` structure based on its [entity schema](#entity-schema).
573
-
574
- **Design Principles:**
575
- - **[Entity schema](#entity-schema)-driven:** Structure defined by [entity type](#entity-type) and [entity schema](#entity-schema)
576
- - **Flat where possible:** Avoid deep nesting
577
- - **Null-safe:** Missing keys = absent data (not errors)
578
- - **Versioned:** Include `schema_version` if structure evolves
579
- ### 3.2 Example: FinancialRecord
580
- ```json
581
- {
582
- "schema_version": "1.0",
583
- "document_type": "invoice",
584
- "invoice_number": "INV-2024-001",
585
- "amount": 1500.0,
586
- "currency": "USD",
587
- "date_issued": "2024-01-15T00:00:00Z",
588
- "date_due": "2024-02-15T00:00:00Z",
589
- "vendor_name": "Acme Corp",
590
- "vendor_address": "123 Main St, City, State, 12345",
591
- "line_items": [
592
- {
593
- "description": "Consulting services",
594
- "quantity": 10,
595
- "unit_price": 150.0,
596
- "total": 1500.0
597
- }
598
- ],
599
- "payment_status": "unpaid",
600
- "notes": "Net 30 terms"
601
- }
602
- ```
603
- **Key Paths (for indexing and queries):**
604
- - `properties->>'invoice_number'`
605
- - `properties->>'amount'`
606
- - `properties->>'date_issued'`
607
- - `properties->>'vendor_name'`
608
- ### 3.3 Example: IdentityDocument
609
- ```json
610
- {
611
- "schema_version": "1.0",
612
- "document_type": "passport",
613
- "full_name": "John Doe",
614
- "passport_number": "P12345678",
615
- "nationality": "US",
616
- "date_of_birth": "1990-01-15",
617
- "date_issued": "2020-01-01",
618
- "date_expiry": "2030-01-01",
619
- "issuing_authority": "U.S. Department of State",
620
- "place_of_birth": "New York, NY"
621
- }
622
- ```
623
- **Key Paths:**
624
- - `properties->>'passport_number'`
625
- - `properties->>'date_expiry'`
626
- - `properties->>'full_name'`
627
- ### 3.4 Example: TravelDocument
628
- ```json
629
- {
630
- "schema_version": "1.0",
631
- "document_type": "flight_itinerary",
632
- "booking_reference": "ABC123",
633
- "passenger_name": "John Doe",
634
- "departure_airport": "SFO",
635
- "arrival_airport": "JFK",
636
- "departure_datetime": "2024-03-15T08:00:00Z",
637
- "arrival_datetime": "2024-03-15T16:30:00Z",
638
- "airline": "United Airlines",
639
- "flight_number": "UA1234",
640
- "seat": "12A",
641
- "fare": 450.0,
642
- "currency": "USD"
643
- }
644
- ```
645
- **Key Paths:**
646
- - `properties->>'departure_datetime'`
647
- - `properties->>'arrival_datetime'`
648
- - `properties->>'booking_reference'`
649
- ### 3.5 Example: Contract
650
- ```json
651
- {
652
- "schema_version": "1.0",
653
- "document_type": "contract",
654
- "contract_type": "service_agreement",
655
- "contract_number": "CNT-2024-001",
656
- "parties": [
657
- {
658
- "name": "Acme Corp",
659
- "role": "client"
660
- },
661
- {
662
- "name": "Service Provider Inc",
663
- "role": "vendor"
664
- }
665
- ],
666
- "effective_date": "2024-01-15T00:00:00Z",
667
- "expiration_date": "2025-01-15T00:00:00Z",
668
- "total_value": 50000.0,
669
- "currency": "USD",
670
- "key_terms": ["Net 30 payment", "Termination with 30 days notice"],
671
- "status": "active"
672
- }
673
- ```
674
- **Key Paths:**
675
- - `properties->>'contract_number'`
676
- - `properties->>'effective_date'`
677
- - `properties->>'expiration_date'`
678
- - `properties->'parties'->0->>'name'`
679
- **Tier 1 ICP Use Cases:**
680
- - Knowledge workers: Legal research, due diligence, contract analysis
681
- - Founders: Company contracts, vendor agreements, investor agreements
682
- ### 3.6 Example: Message (Email/Chat)
683
- ```json
684
- {
685
- "schema_version": "1.0",
686
- "document_type": "email",
687
- "thread_id": "thread_abc123",
688
- "message_id": "msg_xyz789",
689
- "subject": "Project Update Q1 2024",
690
- "sender": "john@example.com",
691
- "sender_name": "John Doe",
692
- "recipients": ["team@example.com"],
693
- "cc": [],
694
- "bcc": [],
695
- "sent_at": "2024-03-15T10:30:00Z",
696
- "body": "Here's the Q1 update...",
697
- "attachments": ["report.pdf"],
698
- "labels": ["work", "project-update"]
699
- }
700
- ```
701
- **Key Paths:**
702
- - `properties->>'sender'`
703
- - `properties->>'sent_at'`
704
- - `properties->>'subject'`
705
- - `properties->>'thread_id'`
706
- **Tier 1 ICP Use Cases:**
707
- - Knowledge workers: Client communications, project tracking
708
- - Founders: Team communications, investor updates
709
- - AI-Native Operators: Email attachment import via Gmail integration
710
- ### 3.7 Example: Document (Generic Knowledge Asset)
711
- ```json
712
- {
713
- "schema_version": "1.0",
714
- "document_type": "research_paper",
715
- "title": "Market Analysis Q1 2024",
716
- "author": "Research Team",
717
- "published_date": "2024-03-01T00:00:00Z",
718
- "summary": "Analysis of market trends...",
719
- "tags": ["market-research", "q1-2024"],
720
- "source": "internal",
721
- "page_count": 25,
722
- "language": "en"
723
- }
724
- ```
725
- **Key Paths:**
726
- - `properties->>'title'`
727
- - `properties->>'published_date'`
728
- - `properties->>'tags'`
729
- - `properties->>'source'`
730
- **Tier 1 ICP Use Cases:**
731
- - Knowledge workers: Research papers, project documentation, client deliverables
732
- - Founders: Product documentation, user research, competitive analysis
733
- - AI-Native Operators: Research synthesis, knowledge assets
734
- ### 3.8 Example: Note
735
- ```json
736
- {
737
- "schema_version": "1.0",
738
- "document_type": "note",
739
- "title": "Meeting Notes - Product Planning",
740
- "content": "Discussed feature X...",
741
- "tags": ["meeting", "product"],
742
- "created_at": "2024-03-15T14:00:00Z",
743
- "source": "manual_entry"
744
- }
745
- ```
746
- **Key Paths:**
747
- - `properties->>'title'`
748
- - `properties->>'created_at'`
749
- - `properties->>'tags'`
750
- **Tier 1 ICP Use Cases:**
751
- - All Tier 1 ICPs: Free-form notes, meeting notes, markdown files, journals
752
- ### 3.9 Generic Fallback: Document
753
- For unrecognized document types:
754
- ```json
755
- {
756
- "schema_version": "1.0",
757
- "document_type": "pdf",
758
- "filename": "document.pdf",
759
- "page_count": 5,
760
- "extracted_text": "...",
761
- "language": "en"
762
- }
763
- ```
764
- ### 3.10 Querying JSONB Fields (Observations)
765
- **Example Queries:**
766
- **Find all invoices over $1000:**
767
- ```sql
768
- SELECT * FROM observations
769
- WHERE entity_type = 'invoice'
770
- AND (fields->>'amount')::numeric > 1000;
771
- ```
772
- **Find passports expiring soon:**
773
- ```sql
774
- SELECT * FROM observations
775
- WHERE entity_type = 'passport'
776
- AND (fields->>'date_expiry')::date < NOW() + INTERVAL '6 months';
777
- ```
778
- **Find flights departing next week:**
779
- ```sql
780
- SELECT * FROM observations
781
- WHERE entity_type = 'flight'
782
- AND (fields->>'departure_datetime')::timestamptz BETWEEN NOW() AND NOW() + INTERVAL '7 days';
783
- ```
784
-
785
- ### 3.11 [Extraction](#extraction) Metadata Structure
786
- Unknown fields and validation warnings are stored in the `raw_fragments` table. This is part of the **three-layer storage model** that preserves all [extracted](#extraction) data while maintaining [entity schema](#entity-schema) compliance in observation `fields`.
787
-
788
- **Three-Layer Storage Model:**
789
- - `raw_text`: Immutable original [extracted](#extraction) text ([stored](#storing) with [source](#source))
790
- - `fields`: [Entity schema](#entity-schema)-compliant fields only (deterministic, queryable) in [observations](#observation)
791
- - `raw_fragments`: Unknown fields, warnings, quality indicators (preservation layer)
792
-
793
- **Purpose:**
794
- - Preserve all extracted data (zero data loss)
795
- - Maintain schema compliance in `fields` for deterministic queries
796
- - Provide extraction quality metrics for debugging and schema evolution
797
- - Enable future automatic schema expansion based on patterns in `unknown_fields`
798
- **Structure:**
799
- ```typescript
800
- interface ExtractionMetadata {
801
- unknown_fields?: Record<string, unknown>;
802
- warnings?: Array<{
803
- type: "missing_required" | "unknown_field" | "validation_error";
804
- field?: string;
805
- message: string;
806
- value?: unknown;
807
- }>;
808
- extraction_quality: {
809
- fields_extracted_count: number;
810
- fields_filtered_count: number;
811
- matched_patterns?: string[];
812
- confidence_score?: number;
813
- };
814
- }
815
- ```
816
- **Example:**
817
- ```json
818
- {
819
- "unknown_fields": {
820
- "purchase_order": "PO-789",
821
- "internal_cost_center": "CC-456"
822
- },
823
- "warnings": [
824
- {
825
- "type": "unknown_field",
826
- "field": "purchase_order",
827
- "message": "Field 'purchase_order' not defined for type 'invoice' - preserved in extraction_metadata"
828
- },
829
- {
830
- "type": "missing_required",
831
- "field": "date_due",
832
- "message": "Required field 'date_due' missing for type 'invoice'"
833
- }
834
- ],
835
- "extraction_quality": {
836
- "fields_extracted_count": 7,
837
- "fields_filtered_count": 2,
838
- "matched_patterns": ["invoice_number_pattern", "amount_due_pattern"]
839
- }
840
- }
841
- ```
842
- **Key Paths (for indexing and queries):**
843
- - `fragment_key` — Unknown field name
844
- - `fragment_value` — Unknown field value
845
- - `fragment_envelope->'reason'` — Classification for raw fragment
846
- **Usage Patterns:**
847
- **Find [observations](#observation) with [extraction](#extraction) warnings:**
848
- ```sql
849
- SELECT * FROM raw_fragments
850
- WHERE fragment_type = 'unknown_field';
851
- ```
852
- **Access unknown fields when needed:**
853
- ```sql
854
- SELECT
855
- id,
856
- fragment_key,
857
- fragment_value,
858
- source_id
859
- FROM raw_fragments
860
- WHERE fragment_type = 'unknown_field';
861
- ```
862
- **Find [observations](#observation) with high field filtering (potential [entity schema](#entity-schema) expansion candidates):**
863
- ```sql
864
- SELECT
865
- fragment_key,
866
- COUNT(*) as frequency_count
867
- FROM raw_fragments
868
- WHERE fragment_type = 'unknown_field'
869
- GROUP BY fragment_key
870
- HAVING COUNT(*) > 3;
871
- ```
872
-
873
- **Indexes:**
874
- ```sql
875
- -- Index for querying raw_fragments (unknown fields)
876
- CREATE INDEX idx_raw_fragments_frequency
877
- ON raw_fragments(fragment_key, frequency_count DESC);
878
- -- Index for unknown fields analysis by source
879
- CREATE INDEX idx_raw_fragments_source
880
- ON raw_fragments(source_id) WHERE fragment_type = 'unknown_field';
881
- ```
882
-
883
- **Related Documentation:**
884
- - Layered storage model: `docs/architecture/schema_handling.md`
885
- - Field validation patterns: See [entity schema](#entity-schema) definitions in `docs/subsystems/schema_registry.md`
886
- - Automatic schema expansion: `docs/architecture/schema_expansion.md` (post-MVP)
887
- ## 4. Entity and Event Schema
888
- ### 4.1 `entities` Table
889
- **Purpose:** Store canonical entities (people, companies, locations) with deterministic IDs, including user isolation and merge tracking.
890
- ```sql
891
- CREATE TABLE entities (
892
- id TEXT PRIMARY KEY, -- Deterministic hash-based ID
893
- entity_type TEXT NOT NULL, -- 'person', 'company', 'location'
894
- canonical_name TEXT NOT NULL, -- Normalized name
895
- aliases JSONB DEFAULT '[]', -- Array of alternate names
896
- metadata JSONB DEFAULT '{}',
897
- first_seen_at TIMESTAMP WITH TIME ZONE,
898
- last_seen_at TIMESTAMP WITH TIME ZONE,
899
- created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
900
- user_id UUID NOT NULL,
901
- merged_to_entity_id TEXT REFERENCES entities(id),
902
- merged_at TIMESTAMPTZ
903
- );
904
- ```
905
- **Extensions:**
906
- | Field | Type | Purpose |
907
- | --------------------- | ----------- | ----------------------------------------------- |
908
- | `user_id` | UUID | User who owns this entity (user isolation) |
909
- | `merged_to_entity_id` | TEXT | Target entity if this entity was merged |
910
- | `merged_at` | TIMESTAMPTZ | Timestamp when merge occurred |
911
- **Indexes:**
912
- ```sql
913
- CREATE INDEX idx_entities_user ON entities(user_id);
914
- CREATE INDEX idx_entities_user_type ON entities(user_id, entity_type);
915
- CREATE INDEX idx_entities_user_type_name ON entities(user_id, entity_type, canonical_name);
916
- CREATE INDEX idx_entities_merged ON entities(user_id, merged_to_entity_id)
917
- WHERE merged_to_entity_id IS NOT NULL;
918
- ```
919
- **RLS Policies:**
920
- ```sql
921
- ALTER TABLE entities ENABLE ROW LEVEL SECURITY;
922
- CREATE POLICY "Users read own entities" ON entities
923
- FOR SELECT USING (user_id = auth.uid());
924
- CREATE POLICY "Service role full access - entities" ON entities
925
- FOR ALL TO service_role USING (true) WITH CHECK (true);
926
- ```
927
- **Merge Semantics:**
928
- - Merged entities have `merged_to_entity_id` set to target entity
929
- - Default queries should exclude merged entities: `WHERE merged_to_entity_id IS NULL`
930
- - See [`docs/subsystems/entity_merge.md`](./entity_merge.md) for complete merge behavior
931
- ### 4.2 `timeline_events` Table
932
- ```sql
933
- CREATE TABLE timeline_events (
934
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
935
- event_type TEXT NOT NULL, -- 'InvoiceIssued', 'FlightBooked'
936
- event_timestamp TIMESTAMP WITH TIME ZONE NOT NULL,
937
- source_id UUID REFERENCES sources(id),
938
- source_field TEXT, -- Field that generated event
939
- entity_ids JSONB DEFAULT '[]', -- Array of entity IDs
940
- metadata JSONB DEFAULT '{}',
941
- created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
942
- user_id UUID NOT NULL
943
- );
944
- ```
945
- **Graph Edges:**
946
- - `source → entity`: Which entities are mentioned in a source
947
- - `source → event`: Which events are derived from a source
948
- - `event → entity`: Which entities are involved in an event
949
- ## 5. Row-Level Security (RLS)
950
- ### 5.1 RLS Architecture
951
- All user-owned tables have RLS enabled with user isolation. The security model is:
952
- - **Client keys** (`anon`, `authenticated`): SELECT-only access via RLS
953
- - **Service role**: Full access for all mutations (MCP server uses service_role)
954
- - **User identity**: Enforced at MCP layer and stamped into rows
955
- ### 5.2 User-Isolated Tables
956
- The following tables are user-scoped with RLS policies:
957
- | Table | User Column | RLS Policy |
958
- |-------|-------------|------------|
959
- | `sources` | `user_id` | SELECT for own data |
960
- | `interpretations` | `user_id` | SELECT for own data |
961
- | `observations` | `user_id` | SELECT for own data |
962
- | `entity_snapshots` | `user_id` | SELECT for own data |
963
- | `entities` | `user_id` | SELECT for own data |
964
- | `raw_fragments` | `user_id` | SELECT for own data |
965
- | `entity_merges` | `user_id` | SELECT for own data |
966
- **Standard RLS Policy Pattern:**
967
- ```sql
968
- ALTER TABLE <table_name> ENABLE ROW LEVEL SECURITY;
969
- -- Users can only read their own data
970
- CREATE POLICY "Users read own <table_name>" ON <table_name>
971
- FOR SELECT USING (user_id = auth.uid());
972
- -- Service role has full access for mutations
973
- CREATE POLICY "Service role full access" ON <table_name>
974
- FOR ALL TO service_role USING (true) WITH CHECK (true);
975
- ```
976
- ### 5.3 Entity Snapshots RLS
977
- ```sql
978
- ALTER TABLE entity_snapshots ENABLE ROW LEVEL SECURITY;
979
- CREATE POLICY "Users read own snapshots" ON entity_snapshots
980
- FOR SELECT USING (user_id = auth.uid());
981
- CREATE POLICY "Service role full access" ON entity_snapshots
982
- FOR ALL TO service_role USING (true) WITH CHECK (true);
983
- ```
984
- ### 5.5 Security Invariants
985
- 1. **No client writes**: All INSERT/UPDATE/DELETE via MCP server using `service_role` key
986
- 2. **User stamping**: `user_id` explicitly set by MCP server from authenticated context
987
- 3. **Storage URLs**: Opaque, never exposed to clients; all reads via MCP server + ownership check
988
- 4. **Cross-user prevention**: All operations validate `user_id` match; merge cannot cross users
989
- ## 6. Schema Migration Protocol
990
- ### 6.1 Migration File Structure
991
- **Location:** `migrations/`
992
- **Naming:** `YYYYMMDDHHMMSS_description.sql`
993
- **Example:** `20240115103000_add_file_name_to_sources.sql`
994
- **Template:**
995
- ```sql
996
- -- Migration: Add file_name column to sources
997
- -- Date: 2024-01-15
998
- -- Author: System
999
- -- UP Migration
1000
- ALTER TABLE sources ADD COLUMN IF NOT EXISTS file_name TEXT;
1001
- -- Create index (if needed)
1002
- -- CREATE INDEX idx_sources_file_name ON sources(file_name);
1003
- -- Backfill (if needed, deterministic only)
1004
- -- UPDATE sources SET file_name = ... WHERE file_name IS NULL;
1005
- -- DOWN Migration (commented, for reference)
1006
- -- ALTER TABLE sources DROP COLUMN IF EXISTS file_name;
1007
- ```
1008
- ### 6.2 Migration Safety Rules
1009
- **MUST:**
1010
- 1. **Test on staging:** Run migration on production-like data first
1011
- 2. **Measure performance:** Check migration runtime and lock duration
1012
- 3. **Add defaults:** New columns MUST have defaults (no breaking changes)
1013
- 4. **Preserve data:** Never delete data without explicit approval
1014
- 5. **Document changes:** Include purpose and rollback plan in migration file
1015
- 6. **Version properties schema:** Bump `schema_version` if changing JSONB structure
1016
- **MUST NOT:**
1017
- 1. **Block production:** Migrations MUST NOT lock tables for >1 second
1018
- 2. **Break clients:** Schema changes MUST be backward-compatible
1019
- 3. **Lose data:** Never DROP COLUMN without backup
1020
- 4. **Change semantics:** Existing JSONB keys MUST retain their meaning
1021
- 5. **Depend on nondeterminism:** Backfills MUST be deterministic
1022
- ### 6.3 Testing Migrations
1023
- **Pre-Migration Checklist:**
1024
- - [ ] Migration tested on local DB with production-like data
1025
- - [ ] Migration runtime measured (< 1s for tables < 100K rows)
1026
- - [ ] Rollback tested (down migration works)
1027
- - [ ] Application code updated to handle new schema
1028
- - [ ] JSONB `schema_version` bumped if applicable
1029
- - [ ] Documentation updated
1030
- **Post-Migration Verification:**
1031
- - [ ] All indexes rebuilt successfully
1032
- - [ ] Query performance unchanged or improved
1033
- - [ ] No application errors in logs
1034
- - [ ] RLS policies still enforce correctly
1035
- ## 7. Schema Versioning
1036
- ### 7.1 JSONB Schema Versions
1037
- Each [entity type](#entity-type) SHOULD include `schema_version` in observation `fields`:
1038
- ```json
1039
- {
1040
- "schema_version": "1.0.0",
1041
- ...
1042
- }
1043
- ```
1044
- **Semantic Versioning (major.minor.patch):**
1045
- - **Major (X.0.0)**: Breaking changes
1046
- - Removing fields
1047
- - Changing field types
1048
- - Making optional fields required
1049
- - **Minor (x.Y.0)**: Additive, backward-compatible changes
1050
- - Adding optional fields
1051
- - Adding converters
1052
- - **Patch (x.y.Z)**: Non-functional changes
1053
- - Documentation updates
1054
-
1055
- **When to bump version:**
1056
- - **Major**: Removing fields, changing types, making fields required
1057
- - **Minor**: Adding optional fields, adding converters
1058
- - **Patch**: Documentation, formatting
1059
-
1060
- **Backward Compatibility:**
1061
- - Old schema versions MUST remain readable
1062
- - Application MUST handle missing fields gracefully
1063
- - Observations are immutable - they keep their original `schema_version`
1064
- - Snapshots use the active schema and must handle missing fields from old observations
1065
- **Example Version Migration:**
1066
- ```typescript
1067
- function migrateFinancialRecordProperties(properties: any): any {
1068
- const version = properties.schema_version || "1.0";
1069
- if (version === "1.0") {
1070
- // Migrate 1.0 → 2.0
1071
- return {
1072
- ...properties,
1073
- schema_version: "2.0",
1074
- // Add new field with default
1075
- payment_method: properties.payment_method || "unknown",
1076
- };
1077
- }
1078
- return properties; // Already latest version
1079
- }
1080
- ```
1081
- ## 8. Performance and Indexing Strategy
1082
- ### 8.1 Index Usage Patterns
1083
- **GIN Indexes (JSONB):**
1084
- - Good for: `properties @> {'key': 'value'}` (containment queries)
1085
- - Cost: Slower writes, larger storage
1086
- **B-Tree Indexes (Scalar Columns):**
1087
- - Good for: Range queries, sorting (`created_at`, `type`)
1088
- - Cost: Minimal
1089
- **Vector Indexes (ivfflat):**
1090
- - Good for: Similarity search (`embedding <-> query_vector`)
1091
- - Cost: Approximate results, tuning required
1092
- **Composite Indexes:**
1093
- - Good for: Multi-column queries (`external_source`, `external_id`)
1094
- ### 8.2 Query Optimization Tips
1095
- **Use Indexed Columns First:**
1096
- ```sql
1097
- -- Good: Uses idx_observations_entity
1098
- SELECT * FROM observations WHERE entity_type = 'invoice';
1099
- -- Bad: Full table scan (if no index on JSONB path)
1100
- SELECT * FROM observations WHERE fields->>'amount' = '1000';
1101
- ```
1102
- **Add Expression Indexes for Common JSONB Queries:**
1103
- ```sql
1104
- CREATE INDEX idx_observations_amount ON observations ((fields->>'amount')::numeric)
1105
- WHERE entity_type = 'invoice';
1106
- ```
1107
- **Use `EXPLAIN ANALYZE`:**
1108
- ```sql
1109
- EXPLAIN ANALYZE SELECT * FROM observations WHERE entity_type = 'invoice';
1110
- ```
1111
- ## 9. Schema Testing Requirements
1112
- ### 9.1 Unit Tests
1113
- **Test JSONB Schema Validation:**
1114
- ```typescript
1115
- test("FinancialRecord properties are valid", () => {
1116
- const properties = {
1117
- schema_version: "1.0",
1118
- invoice_number: "INV-001",
1119
- amount: 1500.0,
1120
- currency: "USD",
1121
- };
1122
- expect(validateFinancialRecordProperties(properties)).toBe(true);
1123
- });
1124
- ```
1125
- ### 9.2 Integration Tests
1126
- **Test Source Insert/Fetch:**
1127
- ```typescript
1128
- test("insert and fetch source", async () => {
1129
- const source = await insertSource({
1130
- content_hash: "hash_123",
1131
- mime_type: "text/plain",
1132
- storage_url: "file:///tmp/source.txt",
1133
- });
1134
- const fetched = await fetchSource(source.id);
1135
- expect(fetched.content_hash).toBe("hash_123");
1136
- });
1137
- ```
1138
- ### 9.3 Migration Tests
1139
- **Test Up/Down Migrations:**
1140
- ```typescript
1141
- test("migration adds file_name column", async () => {
1142
- await runMigration("20240115_add_file_name_to_sources.sql");
1143
- const columns = await getTableColumns("sources");
1144
- expect(columns).toContain("file_name");
1145
- await rollbackMigration("20240115_add_file_name_to_sources.sql");
1146
- const columnsAfter = await getTableColumns("sources");
1147
- expect(columnsAfter).not.toContain("file_name");
1148
- });
1149
- ```
1150
- ## 10. Schema Invariants (MUST/MUST NOT)
1151
- ### MUST
1152
- 1. **All sources MUST have `id`, `content_hash`, `created_at`**
1153
- 2. **All observations MUST have `entity_id`, `entity_type`, `fields`**
1154
- 3. **`entity_type` MUST map to a known schema**
1155
- 4. **All foreign keys MUST reference valid sources/entities** (no orphans)
1156
- 5. **Migrations MUST be reversible**
1157
- 6. **Migrations MUST preserve existing data**
1158
- 7. **JSONB schemas MUST include `schema_version`**
1159
- 8. **All indexes MUST be documented**
1160
- 9. **RLS policies MUST be enabled on all tables**
1161
- 10. **All timestamps MUST be `TIMESTAMPTZ`** (timezone-aware)
1162
- ### MUST NOT
1163
- 1. **MUST NOT change core column types** (e.g., `id` UUID → TEXT)
1164
- 2. **MUST NOT remove columns without migration**
1165
- 3. **MUST NOT change JSONB key semantics** without versioning
1166
- 4. **MUST NOT create circular foreign keys** (no cycles)
1167
- 5. **MUST NOT store PII in unencrypted logs** (RLS applies)
1168
- 6. **MUST NOT use `SERIAL` IDs** (use UUID for distributed safety)
1169
- 7. **MUST NOT skip `schema_version`** in new schemas
1170
- 8. **MUST NOT create unbounded arrays** in JSONB (performance risk)
1171
- ## Agent Instructions
1172
- ### When to Load This Document
1173
- Load `docs/subsystems/schema.md` when:
1174
- - Modifying database schema (adding tables, columns, indexes)
1175
- - Working with `properties` JSONB fields
1176
- - Creating or running migrations
1177
- - Querying observations with complex JSONB filters
1178
- - Planning data model changes
1179
- - Debugging schema-related issues
1180
- ### Required Co-Loaded Documents
1181
- - `docs/NEOTOMA_MANIFEST.md` (immutability, provenance)
1182
- - `docs/architecture/architecture.md` (layer boundaries)
1183
- - `docs/architecture/determinism.md` (deterministic migrations)
1184
- - `docs/subsystems/ingestion/ingestion.md` (how properties are populated)
1185
- - `docs/private/migration/migrations_lifecycle.md` (migration process)
1186
- ### Constraints Agents Must Enforce
1187
- 1. **All schema changes MUST be additive** (no breaking changes)
1188
- 2. **All migrations MUST be reversible**
1189
- 3. **All JSONB schemas MUST include `schema_version`**
1190
- 4. **All new columns MUST have defaults**
1191
- 5. **All foreign keys MUST cascade appropriately** (ON DELETE CASCADE where logical)
1192
- 6. **All RLS policies MUST be maintained**
1193
- 7. **All indexes MUST be justified** (performance tests required)
1194
- 8. **All properties MUST map to extraction logic** (documented in ingestion)
1195
- ### Forbidden Patterns
1196
- - Removing columns without migration
1197
- - Changing column types without compatibility plan
1198
- - Creating circular foreign keys
1199
- - Storing PII in logs or unprotected fields
1200
- - Using non-deterministic defaults (e.g., `random()`)
1201
- - Unbounded JSONB arrays (performance risk)
1202
- - Missing `schema_version` in new JSONB schemas
1203
- ### Validation Checklist
1204
- - [ ] Schema change is additive only
1205
- - [ ] Migration file created with up/down paths
1206
- - [ ] Migration tested on staging data
1207
- - [ ] New columns have defaults
1208
- - [ ] JSONB `schema_version` bumped if applicable
1209
- - [ ] Indexes created for new query patterns
1210
- - [ ] RLS policies updated if needed
1211
- - [ ] Documentation updated
1212
- - [ ] Application code handles new schema
1213
- - [ ] Tests cover new fields/tables