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,2296 +0,0 @@
1
- # Release Workflow
2
-
3
- _(Orchestrating Multiple Feature Units into Cohesive Releases)_
4
-
5
- ---
6
-
7
- ## Purpose
8
-
9
- Defines the **Release workflow** — the highest-level unit of work in Neotoma development. A Release is a collection of Feature Units that ship together with integrated testing, acceptance criteria, and deployment orchestration.
10
-
11
- **Location:** This is a foundation workflow document. It applies to all repositories using this foundation.
12
-
13
- This workflow enables autonomous, checkpoint-driven execution of multi-FU releases (like MVP, v1.1, v2.0) with automatic dependency resolution, parallelization planning, and cross-FU integration testing.
14
-
15
- ---
16
-
17
- ## Hierarchy
18
-
19
- ```
20
- Release (e.g., MVP, v1.1)
21
- ├── Feature Units (e.g., FU-100, FU-101, FU-102...)
22
- │ ├── Spec + Manifest
23
- │ ├── Prototype (if UI)
24
- │ ├── Implementation
25
- │ └── Tests (unit, integration, E2E)
26
- ├── Cross-FU Integration Tests
27
- ├── Release-Level Acceptance Criteria
28
- └── Deployment Plan
29
- ```
30
-
31
- **MVP is the first Release; subsequent releases follow the same pattern.**
32
-
33
- ---
34
-
35
- ## Overview
36
-
37
- The Release workflow has **4 interactive checkpoints** where human input is required:
38
-
39
- 1. **Checkpoint 0: Release Planning** — Define scope, FUs, priorities, dependencies, acceptance criteria, discovery plan
40
- 2. **Checkpoint 0.5: Pre-Release Discovery** — Validate assumptions before building (value, usability, business viability)
41
- 3. **Checkpoint 1: Mid-Release Review** — After critical-path FUs complete, validate cross-FU integration
42
- 4. **Checkpoint 2: Pre-Release Sign-Off** — All FUs complete, integration tests pass, ready to deploy
43
-
44
- All other steps are autonomous, including:
45
-
46
- - FU dependency analysis
47
- - Execution schedule generation (sequential + parallel batches)
48
- - FU creation and execution in dependency order
49
- - Cross-FU integration testing
50
- - Continuous discovery during development (weekly interviews, prototype testing)
51
- - Status tracking and reporting
52
-
53
- **Discovery Integration:**
54
-
55
- - **Pre-Release Discovery (Step 0.5)**: Validate assumptions before building (following Cagan's discovery principles)
56
- - **Continuous Discovery (Step 1)**: Weekly user interviews and prototype testing during development
57
- - **Post-Release Validation (Step 6)**: Validate outcomes after deployment (see Release Validation Process)
58
-
59
- ---
60
-
61
- ## Release Types
62
-
63
- Releases are categorized as either **marketed** or **not_marketed**:
64
-
65
- - **Not Marketed Release**: Silent deployment to production without marketing activities. No pre-launch or post-launch marketing campaigns, announcements, or user acquisition activities.
66
- - **Marketed Release**: Public-facing releases (MVP, major versions, feature launches) with marketing activities. Requires marketing strategy with user acquisition and reengagement tactics.
67
-
68
- **Important:** All releases deploy to production at neotoma.io. The distinction is whether marketing activities accompany the release, not where it deploys.
69
-
70
- Marketing activities (pre-launch and post-launch) are **skipped for not_marketed releases**.
71
-
72
- ---
73
-
74
- ## Planned vs Incremental Releases
75
-
76
- Neotoma distinguishes between **Planned Releases** and **Incremental Releases**:
77
-
78
- ### Planned Releases (Milestones)
79
-
80
- **Characteristics:**
81
- - Use semantic versioning: `vX.Y.0` (major.minor.0, patch always 0)
82
- - Examples: `v1.0.0`, `v1.1.0`, `v2.0.0`
83
- - Created via `/create_release` command
84
- - Follow full release workflow with checkpoints, FUs, acceptance criteria
85
- - Control major and minor version numbers
86
- - Located in `docs/releases/{version}/` with complete release structure
87
-
88
- **When to Create:**
89
- - Major feature milestones (new major functionality)
90
- - Breaking changes (major version increment)
91
- - Significant product enhancements (minor version increment)
92
- - Marketing-worthy releases
93
- - Multi-FU coordinated launches
94
-
95
- ### Incremental Releases (Continuous Deployments)
96
-
97
- **Characteristics:**
98
- - Use semantic versioning as patches: `vX.Y.Z` where Z increments
99
- - Examples: If last planned release is `v1.1.0`, incremental releases are `v1.1.1`, `v1.1.2`, `v1.1.3`
100
- - Created via `/publish` command (auto-generated from dev commits)
101
- - Only patch version increments (never major or minor)
102
- - Minimal release documentation (auto-generated)
103
- - Independent purpose: continuous deployments between planned milestones
104
-
105
- **When to Create:**
106
- - Bug fixes
107
- - Small improvements
108
- - Documentation updates
109
- - Refactoring
110
- - Incremental feature additions
111
- - Regular dev-to-main merges
112
-
113
- ### Versioning Strategy
114
-
115
- **Version Numbering:**
116
- - **Planned releases** control major and minor: `vX.Y.0`
117
- - **Incremental releases** increment patch only: `vX.Y.Z` (Z increments)
118
- - Both update `package.json`
119
- - Example sequence: `v1.0.0` (planned) → `v1.0.1`, `v1.0.2` (incremental) → `v1.1.0` (planned) → `v1.1.1`, `v1.1.2` (incremental)
120
-
121
- **Version Determination:**
122
- - Incremental releases find last planned release (vX.Y.0 pattern)
123
- - Incremental releases increment patch from last planned release
124
- - If no planned release exists, start at v0.1.0
125
-
126
- **Relationship:**
127
- - Independent purposes: Planned = milestones, Incremental = continuous deployment
128
- - Incremental releases happen between planned releases
129
- - Each planned release resets patch counter to 0
130
- - Incremental releases preserve major/minor from last planned release
131
-
132
- ### Deployment
133
-
134
- **Both release types deploy to production at neotoma.io:**
135
- - Planned releases: Follow full deployment workflow with staging validation
136
- - Incremental releases: Faster deployment, minimal validation
137
-
138
- ### Commands
139
-
140
- **Creating Releases:**
141
- - `/create_release` - Creates planned release with full workflow
142
- - `/publish` - Merges dev to main, creates incremental release (or detects planned release in commits)
143
-
144
- **Publish Command Detection:**
145
- The `/publish` command automatically detects if a planned release is included in commits:
146
- - Checks for release status.md changes
147
- - Checks for new release directories with manifest.yaml
148
- - Checks commit messages for release references
149
- - If detected: Uses planned release version, updates existing release document
150
- - If not detected: Creates incremental release with patch increment
151
-
152
- ---
153
-
154
- ## Prerequisites
155
-
156
- Before creating a Release, verify:
157
-
158
- - [ ] Release ID follows format: `vX.Y.Z` (e.g., `v1.0.0` for MVP, `v1.1.0` for next minor release)
159
- - [ ] Release type is defined (marketed or not_marketed)
160
- - [ ] Release scope is defined (what's in, what's out)
161
- - [ ] All included FUs are identified with IDs
162
- - [ ] Release-level acceptance criteria are clear
163
- - [ ] **Defensible differentiation validated** — Release must validate at least one defensible differentiator (privacy-first, deterministic, cross-platform) with explicit acceptance criteria
164
- - [ ] Deployment target: Production (neotoma.io) - all releases deploy to production
165
- - [ ] Marketing strategy defined (if marketed release) — Marketing must lead with defensible differentiators
166
-
167
- ---
168
-
169
- ## Release Detection
170
-
171
- **When a user mentions any of the following patterns, the agent MUST automatically trigger the release creation workflow:**
172
-
173
- - "new release"
174
- - "not marketed release"
175
- - "marketed release"
176
- - "create release"
177
- - "release vX.Y.Z"
178
- - "split out [features] into a [type] release"
179
- - "prior release"
180
- - "pre-MVP release"
181
- - "MCP-focused release"
182
- - "v0.X.Y release"
183
-
184
- **Agent Actions:**
185
-
186
- 1. **Immediately check** if user wants to create a release plan:
187
- - If context suggests a release (mentions "release", version numbers, "split out", "prior", etc.)
188
- - Ask: "I see you're requesting a new release. Should I create a release plan in `docs/releases/in_progress/{release_id}/` following the release workflow? (yes/no)"
189
-
190
- 2. **If yes**, immediately:
191
- - Load `foundation/development/release_workflow.md` (this document)
192
- - Load skill `create-release` (`.cursor/skills/create-release/SKILL.md` or `foundation/agent_instructions/cursor_skills/create-release/SKILL.md`)
193
- - Follow Step 0 (Checkpoint 0) of the release workflow
194
- - Create release structure in `docs/releases/in_progress/{release_id}/` with:
195
- - `release_plan.md` (overview and coordination)
196
- - `manifest.yaml` (FU metadata, dependencies, schedule - YAML required for automation)
197
- - `execution_schedule.md`
198
- - `integration_tests.md`
199
- - `discovery_plan.md` (if discovery enabled - overview)
200
- - `discovery_plan.yaml` (if discovery enabled - metadata/summary for automation)
201
- - `participant_recruitment_log.md` (if discovery enabled)
202
- - `marketing_plan.md` (if marketed release - overview)
203
- - `marketing_plan.yaml` (if marketed release - metadata/summary for automation)
204
- - `status.md`
205
-
206
- 3. **Do NOT** create standalone specification documents in `docs/specs/` for releases. Releases MUST follow the release workflow and be created in `docs/releases/`.
207
-
208
- **Exception:** If user explicitly says "just a spec document" or "specification only", then create a spec document instead.
209
-
210
- ---
211
-
212
- ## Workflow Steps
213
-
214
- ### Step 0: Checkpoint 0 — Release Planning
215
-
216
- **Trigger:** User requests creation of Release with `release_id` (e.g., `v1.0.0`)
217
-
218
- **Agent Actions:**
219
-
220
- 1. **Alignment Check (Spec vs Mental Model):**
221
-
222
- Before doing any planning work, the agent MUST:
223
- - Load and summarize the **canonical specs** relevant to this Release (e.g., `NEOTOMA_MANIFEST.md`, `MVP_OVERVIEW.md`, `GENERAL_REQUIREMENTS.md`, `MVP_FEATURE_UNITS.md` for MVP).
224
- - Present a concise, structured summary to the user covering:
225
- - What this Release will and will NOT change (in plain language).
226
- - Which subsystems and schema types are in scope.
227
- - The critical constraints that MUST NOT be violated (determinism, schema-first, no LLM extraction in Truth Layer, etc.).
228
- - Ask the user explicitly:
229
- - "Does this match your current mental model of this Release? (yes/no)"
230
- - "What feels off, missing, or over-scoped compared to what you actually want?"
231
- - Incorporate any corrections immediately and restate the updated understanding.
232
-
233
- **MUST NOT** proceed to plan creation until the user has confirmed that the summary matches their intent (or has explicitly accepted any divergence as temporary).
234
-
235
- 2. **Check if Release plan exists:**
236
- - Look for `docs/releases/vX.Y.Z/release_plan.md`
237
- - Look for `docs/releases/vX.Y.Z/manifest.yaml`
238
-
239
- 3. **If Release plan exists:**
240
- - Load existing plan and manifest
241
- - Validate completeness using checklist
242
- - If complete → proceed to Step 1
243
- - If incomplete → prompt user to complete missing sections
244
-
245
- 4. **If Release plan does NOT exist:**
246
- - **STOP and prompt user interactively** for required information:
247
-
248
- **Required Questions:**
249
- - Release name and version (e.g., "MVP", "v1.0.0")
250
- - Release type (marketed or not_marketed)
251
- - Release goal (1-2 sentence summary)
252
- - Target ship date (date or "when ready")
253
- - Priority (P0 critical / P1 high / P2 normal)
254
- - Included Feature Units (list of `feature_id`s)
255
- - Excluded scope (what's explicitly NOT in this release)
256
- - Release-level acceptance criteria (product + technical + business)
257
- - Cross-FU integration test requirements
258
- - Deployment target: Production (neotoma.io) - all releases deploy to production
259
- - Deployment strategy (staging first for validation, then production)
260
- - Rollback plan (how to revert if issues found)
261
- - Post-release monitoring plan (metrics, alerts)
262
- - Discovery plan (hypotheses to test, discovery activities — see Discovery Process)
263
- - Marketing strategy (if marketed release: user acquisition and reengagement tactics)
264
-
265
- **Agent Actions After User Input:**
266
- - Generate complete Release plan following template
267
- - Create manifest YAML with all FU dependencies
268
- - Validate all required sections present
269
- - Save to `docs/releases/vX.Y.Z/release_plan.md` and `manifest.yaml`
270
-
271
- 5. **Dependency Analysis (CRITICAL):**
272
- - Extract all FU IDs from manifest
273
- - For each FU, load its manifest and extract `dependencies.requires`
274
- - Build dependency graph (FU → [dependencies])
275
- - Detect cycles (if found, **REJECT** with error)
276
- - Validate all dependencies are satisfied:
277
- - If any required FU is ⏳ Not Started and not in this Release → **REJECT**
278
- - If any required FU is 🔨 Partial → **WARN** but allow with user confirmation
279
- - Generate **topological sort** of FUs (respects dependencies)
280
-
281
- 6. **Execution Schedule Generation:**
282
- - Group FUs into **batches**:
283
- - Batch 0: FUs with no dependencies
284
- - Batch 1: FUs that depend only on Batch 0
285
- - Batch 2: FUs that depend only on Batch 0 or 1
286
- - ... and so on
287
- - Within each batch, FUs can execute **in parallel**
288
- - Output execution schedule to `docs/releases/vX.Y.Z/execution_schedule.md`
289
-
290
- 7. **Create Release file structure:**
291
-
292
- ```
293
- docs/releases/vX.Y.Z/
294
- ├── release_plan.md # Release goals, scope, acceptance criteria (overview)
295
- ├── manifest.yaml # FU list, dependencies, schedule, WIP limits (YAML required)
296
- ├── execution_schedule.md # Generated execution plan with batches
297
- ├── integration_tests.md # Cross-FU integration test specs (machine-checkable)
298
- ├── acceptance_criteria.md # Release-level acceptance criteria
299
- ├── pre_mortem.md # Failure mode analysis
300
- ├── deployment_strategy.md # Deployment and rollback procedures
301
- ├── monitoring_plan.md # Post-release monitoring and observability
302
- ├── discovery_plan.md # Discovery overview (if discovery enabled)
303
- ├── discovery_plan.yaml # Discovery metadata/summary (if discovery enabled)
304
- ├── participant_recruitment_log.md # Participant outreach and tracking (if discovery enabled)
305
- ├── marketing_plan.md # Marketing overview (if marketed release)
306
- ├── marketing_plan.yaml # Marketing metadata/summary (if marketed release)
307
- └── status.md # Live status tracking + decision log
308
- ```
309
-
310
- **Document Decomposition Principles:**
311
- - **Overview documents** (`*_plan.md`): Provide high-level coordination and references to detailed documents
312
- - **Detailed documents** (`*_*_plan.md`): Topic-specific detailed plans (e.g., `value_discovery_plan.md`, `pre_launch_marketing_plan.md`)
313
- - **YAML files** (`*.yaml`): Machine-readable metadata and summaries for workflow automation (hypotheses, success criteria, timelines)
314
- - **Use Markdown** for all human-readable detailed documentation
315
- - **Use YAML** only when required for workflow automation or when structured data format is essential
316
- - **Decompose by topic** to eliminate redundancy and improve maintainability
317
-
318
- 8. **Defensible Differentiation Validation:**
319
-
320
- **CRITICAL:** Before finalizing the plan, the agent MUST:
321
- - **Explicitly validate defensible differentiation** — Release must validate at least one defensible differentiator:
322
- - **Privacy-first architecture** (user-controlled vs. provider-controlled)
323
- - **Deterministic extraction** (vs. ML-based probabilistic)
324
- - **Cross-platform access** (vs. platform lock-in)
325
- - **Include acceptance criteria** — Release acceptance criteria must explicitly validate defensible differentiators
326
- - **Avoid feature-only releases** — Don't ship features without validating defensible differentiators
327
- - **Reference framework** — Link to [`docs/private/competitive/defensible_differentiation_framework.md`](../../private/competitive/defensible_differentiation_framework.md) in release plan
328
- - **Marketing alignment** — If marketed release, ensure marketing strategy leads with defensible differentiators
329
- - Present defensible differentiation validation to user: "This release validates [differentiator(s)]. Review? (yes/modify)"
330
- - If release doesn't validate defensible differentiation, **WARN** user: "This release doesn't validate defensible differentiators. Consider adding features that validate privacy-first, deterministic, or cross-platform differentiation."
331
-
332
- 9. **Pre-Mortem Analysis (Failure Mode Identification):**
333
-
334
- Before finalizing the plan, the agent MUST:
335
- - Identify the **top 3-5 most likely failure modes** for this Release (e.g., "RLS migration breaks existing tenants", "graph integrity regressions", "MVP date slips by 2 weeks", "critical FU takes 2x longer than estimated").
336
- - For each failure mode, specify:
337
- - **Early warning signals** (metrics, test failures, timeline slips)
338
- - **Mitigating FUs or actions** (which FUs reduce this risk, what can be done proactively)
339
- - **Rollback plan** (how to detect and revert if this failure occurs)
340
- - Present this pre-mortem to the user and ask:
341
- - "Do these failure modes match your concerns? (yes/no)"
342
- - "What other failure modes should we plan for?"
343
- - Incorporate user feedback and update the Release plan with a "Pre-Mortem" section.
344
-
345
- 10. **WIP and Parallelization Limits:**
346
-
347
- - Encode limits in `manifest.yaml`:
348
- - `max_parallel_fus: <number>` (default: 3, adjust based on team size)
349
- - `max_high_risk_in_parallel: <number>` (default: 1, only one high-risk FU at a time)
350
- - Agent MUST enforce these limits during execution:
351
- - If a batch would exceed `max_parallel_fus`, split into sub-batches
352
- - If multiple high-risk FUs are ready, queue them sequentially
353
- - Present limits to user for approval: "Proposed limits: max_parallel_fus=3, max_high_risk_in_parallel=1. Approve? (yes/modify)"
354
-
355
- 11. **Machine-Checkable Exit Criteria:**
356
- - For each Release acceptance criterion, the agent MUST:
357
- - Define a **concrete test suite or script** that validates it
358
- - Specify a **single metric or query** that proves it (e.g., "0 orphans" → `SELECT COUNT(*) FROM events WHERE record_id NOT IN (SELECT id FROM records)` must return 0)
359
- - Add these to `integration_tests.md` with explicit pass/fail conditions
360
- - Present to user: "Each acceptance criterion now has a machine-checkable test. Review? (yes/modify)"
361
-
362
- 12. **Present execution schedule to user for approval:**
363
- - Display batches and parallel execution opportunities
364
- - Show estimated timeline based on FU complexity estimates
365
- - Show WIP limits and pre-mortem failure modes
366
- - **STOP and prompt user:** "Approve execution schedule? (yes/no/modify)"
367
-
368
- 13. **Discovery Planning:**
369
- - Define discovery plan based on Release scope and risk:
370
- - Identify assumptions and hypotheses (value, usability, business viability, feasibility)
371
- - Define discovery activities (ICP interviews, prototype testing, pricing validation)
372
- - Apply Mom Test methodology (https://www.momtestbook.com) for interview questions:
373
- - Focus on past behavior and concrete examples, not hypotheticals
374
- - Look for commitment signals (time, money, reputation risk)
375
- - Separate problem discovery from solution validation
376
- - Avoid leading questions and biased feedback
377
- - Set discovery success criteria
378
- - Create discovery plan document
379
- - Present discovery plan to user: "Review discovery plan? (yes/modify/skip)"
380
- - If "skip": Warn user about risk of building unvalidated assumptions
381
- - Create discovery plan documents:
382
- - `docs/releases/vX.Y.Z/discovery_plan.md` (overview and coordination)
383
- - `docs/releases/vX.Y.Z/discovery_plan.yaml` (metadata and summaries for automation)
384
- - Topic-specific detailed plans in markdown (e.g., `value_discovery_plan.md`, `usability_discovery_plan.md`)
385
- - See document decomposition principles in Step 7
386
-
387
- 14. **Marketing Planning (Marketed Releases Only):**
388
- - **If Release type is marketed:**
389
- - **STOP and prompt user interactively** for marketing strategy:
390
- - Marketing strategy (pre-launch, post-launch, hybrid, none)
391
- - User acquisition tactics (pre-launch: waitlist, early access; post-launch: launch announcement, paid ads, content, partnerships)
392
- - Reengagement tactics (pre-launch: feature teasers; post-launch: announcements, winback campaigns, usage nudges)
393
- - Target user segments for acquisition and reengagement
394
- - Marketing metrics and success criteria
395
- - Create marketing plan documents:
396
- - `docs/releases/vX.Y.Z/marketing_plan.md` (overview and coordination)
397
- - `docs/releases/vX.Y.Z/marketing_plan.yaml` (metadata and summaries for automation)
398
- - Topic-specific detailed plans in markdown (e.g., `pre_launch_marketing_plan.md`, `post_launch_marketing_plan.md`)
399
- - See document decomposition principles in Step 7
400
- - Present marketing plan to user: "Review marketing plan? (yes/modify)"
401
- - **If Release type is not_marketed:**
402
- - Skip marketing planning (no marketing activities for not_marketed releases)
403
- - Mark marketing as `disabled` in manifest
404
-
405
- 15. **If approved:**
406
- - Initialize `status.md` with a "Decision Log" section (empty initially)
407
- - Mark Release status as `discovery` (if discovery planned) or `in_progress` (if skipped)
408
- - Proceed to Step 0.5 (if discovery planned) or Step 1 (if skipped)
409
-
410
- ---
411
-
412
- ### Step 0.5: Checkpoint 0.5 — Pre-Release Discovery
413
-
414
- **Trigger:** Release plan approved with discovery plan, before Step 1
415
-
416
- **Timeline:** 1-3 weeks (depending on Release scope and risk)
417
-
418
- **Purpose:** Validate assumptions before building (following Cagan's discovery principles)
419
-
420
- **Agent Actions:**
421
-
422
- 1. **Load Discovery Process:**
423
- - Load `docs/feature_units/standards/discovery_process.md`
424
- - Review discovery plan from `discovery_plan.md` (overview) and `discovery_plan.yaml` (metadata/summary)
425
- - Understand hypotheses and success criteria
426
- - Apply Mom Test methodology (https://www.momtestbook.com) for interviews:
427
- - Use past behavior questions, not hypotheticals
428
- - Look for commitment signals (time, money, reputation risk)
429
- - Separate problem discovery from solution validation
430
-
431
- 2. **Participant Recruitment (Week 0, before interviews start):**
432
-
433
- **Purpose:** Identify and contact interview participants from target ICP segments
434
-
435
- **Process:**
436
-
437
- a. **Identify Recruitment Channels:**
438
- - Review ICP profiles and priority tiers (`docs/specs/ICP_PRIORITY_TIERS.md`, `docs/specs/ICP_PROFILES.md`)
439
- - Map discovery plan participant requirements to acquisition channels:
440
- - **AI-Native Individual Operators**: Twitter/X, Indie Hackers, Hacker News, AI tool communities (r/ChatGPT, r/ClaudeAI, Discord), GitHub, existing network
441
- - **High-Context Knowledge Workers**: LinkedIn, productivity communities, professional forums, existing network
442
- - **Existing Users**: If available, prioritize users who already use Neotoma or similar tools
443
-
444
- b. **Create Recruitment Outreach:**
445
- - **Twitter/X Outreach Template:**
446
-
447
- ```
448
- Subject: [No subject for DM]
449
-
450
- Hi [Name],
451
-
452
- I'm building a tool that helps AI-native operators give Claude/ChatGPT access to their personal data. I'd love to learn about how you currently work with AI tools and personal data.
453
-
454
- Would you be open to a 30-45 min chat? I'm not selling anything — just trying to understand the problem better.
455
-
456
- Thanks!
457
- [Your name]
458
- ```
459
-
460
- - **LinkedIn Outreach Template:**
461
-
462
- ```
463
- Subject: Quick chat about AI workflows?
464
-
465
- Hi [Name],
466
-
467
- I saw you're [role/context]. I'm researching how professionals use AI tools (Claude/ChatGPT) with their personal data — contracts, receipts, research docs, etc.
468
-
469
- Would you have 30 minutes for a quick conversation? No sales pitch, just learning about your workflow and pain points.
470
-
471
- Happy to schedule at your convenience.
472
-
473
- Thanks,
474
- [Your name]
475
- ```
476
-
477
- - **Indie Hackers / Community Post Template:**
478
-
479
- ```
480
- Subject: Research: How do you give AI tools access to your personal data?
481
-
482
- I'm building a tool for AI-native workflows and need to understand how people currently handle personal data with AI tools.
483
-
484
- Looking for 5-8 people to chat for 30-45 min about:
485
- - How you currently use Claude/ChatGPT with personal data
486
- - Pain points with current workflows
487
- - What would make this better
488
-
489
- If interested, reply here or DM me. No sales pitch, just research.
490
-
491
- Thanks!
492
- ```
493
-
494
- - **Email Template (if email available):**
495
-
496
- ```
497
- Subject: Quick research chat about AI workflows?
498
-
499
- Hi [Name],
500
-
501
- I'm researching how [ICP segment] use AI tools (Claude/ChatGPT) with their personal data. Would you be open to a 30-45 minute conversation?
502
-
503
- What we'll discuss:
504
- - How you currently use AI with your personal data (contracts, receipts, research, etc.)
505
- - Pain points and workarounds
506
- - What would improve your workflow
507
-
508
- No sales pitch — just trying to understand the problem better.
509
-
510
- Would [date/time option 1] or [date/time option 2] work?
511
-
512
- Thanks,
513
- [Your name]
514
- ```
515
-
516
- c. **Schedule and Track Recruitment:**
517
- - **Target Response Rate**: 20-30% (send 3-4x more invites than needed)
518
- - **Outreach Volume**:
519
- - Value Discovery: 40-50 outreach messages for 13 participants (8 + 5)
520
- - Usability Discovery: Invite subset from value discovery (8-10 invites for 8 participants)
521
- - Business Viability: Invite subset from value discovery (12-15 invites for 8 participants)
522
- - **Use Scheduling Tool**: Calendly, Cal.com, or similar for easy scheduling
523
- - **Track in Spreadsheet**:
524
- - Name, segment, contact method, outreach date, response, scheduled date, interview status, notes
525
- - **Follow-up Strategy**:
526
- - If no response after 3 days: Send 1 follow-up message
527
- - If no response after 7 days: Mark as "no response", move to backup candidate
528
-
529
- d. **Participant Screening (Optional):**
530
- - **Screening Questions** (if using form):
531
- - "How often do you use Claude or ChatGPT?" (daily/weekly/monthly)
532
- - "Have you tried giving AI tools access to your personal data? How?" (copy-paste, upload, other)
533
- - "What type of work do you do?" (to confirm ICP segment)
534
- - **Select participants** who match ICP profile and show commitment signals (regular AI usage, actual workarounds)
535
-
536
- e. **Confirm and Remind:**
537
- - Send calendar invite with:
538
- - Interview duration (30-45 min)
539
- - Video call link (Zoom, Google Meet, etc.)
540
- - Brief reminder of what we'll discuss
541
- - Send reminder 24 hours before interview
542
- - Send reminder 1 hour before interview with link
543
-
544
- f. **Handle No-Shows and Cancellations:**
545
- - **No-show rate**: Expect 20-30% no-shows (schedule 20-30% more than needed)
546
- - **Backup list**: Maintain list of backup candidates from same recruitment pool
547
- - **Follow-up**: If someone no-shows, send friendly follow-up offering to reschedule (1 attempt only)
548
-
549
- g. **Document Recruitment Progress:**
550
- - Track in `docs/releases/vX.Y.Z/participant_recruitment_log.md`:
551
- - Outreach sent: X messages
552
- - Responses received: Y responses
553
- - Scheduled interviews: Z interviews
554
- - Completed interviews: W interviews
555
- - No-shows: N no-shows
556
- - Backup candidates needed: M backups
557
-
558
- 3. **Value Discovery (Week 1-2):**
559
- - Conduct ICP interviews on value assumptions using Mom Test questions
560
- - Focus on past behavior and concrete examples
561
- - Look for commitment signals (time spent, money spent, workarounds built)
562
- - Only test value propositions AFTER problem validated
563
- - Synthesize findings into value discovery report
564
- - Compare against success criteria
565
-
566
- 4. **Usability Discovery (Week 1-2, parallel with Value Discovery):**
567
- - Build clickable prototype of core workflows (if not already built)
568
- - User test with 5-8 ICP users
569
- - Validate discoverability, understandability, workflow completion
570
- - Synthesize findings into usability discovery report
571
- - Compare against success criteria
572
-
573
- 5. **Business Viability Discovery (Week 2):**
574
- - Test pricing assumptions using Mom Test methodology:
575
- - Ask about past purchasing behavior, not hypothetical willingness to pay
576
- - Look for commitment signals (budget allocation, switching costs)
577
- - Only conduct pricing interviews AFTER problem and solution validated
578
- - Validate business model assumptions
579
- - Synthesize findings into business viability report
580
- - Compare against success criteria
581
-
582
- 6. **Feasibility Validation (Week 1-2, parallel):**
583
- - Technical proof of concept (if high-risk technical assumptions)
584
- - Validate architectural constraints
585
- - Synthesize findings into feasibility validation report
586
-
587
- 7. **Discovery Synthesis (Week 2-3):**
588
- - Analyze all discovery findings
589
- - Compare against success criteria
590
- - Generate combined discovery report
591
- - Present findings to user
592
-
593
- 8. **Go/No-Go Decision:**
594
- - **STOP and prompt user:**
595
- - "Pre-release discovery complete. Findings: [summary]"
596
- - "Value Discovery: [pass/fail]"
597
- - "Usability Discovery: [pass/fail]"
598
- - "Business Viability Discovery: [pass/fail]"
599
- - "Overall Discovery Status: ✅ VALIDATED / ⚠️ PARTIAL / ❌ FAILED"
600
- - "Decision: [Go (proceed to build) / Pivot (adjust scope) / No-Go (cancel or defer)]"
601
-
602
- 9. **If Go (Proceed to Build):**
603
- - Update Release plan based on discovery learnings (adjust scope, refine FUs)
604
- - Mark Release status as `in_progress`
605
- - **Record Development Start Date** in `status.md` (current date/time)
606
- - Proceed to Step 1 (Execute FU Batches)
607
-
608
- 10. **If Pivot (Adjust Scope):**
609
- - Update Release plan based on discovery findings
610
- - Re-run discovery on adjusted scope (if needed)
611
- - Return to discovery synthesis (Step 6)
612
-
613
- 11. **If No-Go (Cancel or Defer):**
614
- - Document decision in `status.md`
615
- - Mark Release status as `deferred` or `cancelled`
616
- - Halt Release execution
617
-
618
- **Note:** For detailed discovery process, interview templates (including Mom Test methodology), and report formats, see `docs/feature_units/standards/discovery_process.md`.
619
-
620
- ---
621
-
622
- ### Step 1: Execute FU Batches
623
-
624
- **Trigger:** Discovery complete and validated (if discovery was conducted), or execution schedule approved (if discovery skipped)
625
-
626
- **Execution Strategy:**
627
-
628
- The release workflow supports two execution strategies:
629
-
630
- 1. **Single-Agent Execution** (sequential): Single agent executes FUs sequentially within batches
631
- 2. **Multi-Agent Execution** (parallel): Orchestrator agent spawns worker agents via Cursor Background Agents API
632
-
633
- **Execution Strategy Selection:**
634
-
635
- When starting a release build, the orchestrator (`scripts/release_orchestrator.js`) will:
636
- - Check `manifest.yaml` for `execution_strategy.type`
637
- - If not set, **prompt the user** to select execution mode:
638
- - Option 1: Single-agent (sequential execution)
639
- - Option 2: Multi-agent (parallel execution)
640
- - If single-agent is selected, recommend an appropriate model based on release complexity (number of FUs, complexity scores, risk levels, duration estimates)
641
- - Save the selected strategy to `manifest.yaml` for future runs
642
-
643
- **Model Recommendation for Single-Agent Execution:**
644
-
645
- The orchestrator analyzes the entire release to recommend a model:
646
- - **Low complexity releases** (< 4 complexity score): Medium tier model
647
- - **Medium complexity releases** (4-7 complexity score): Medium tier model
648
- - **High complexity releases** (> 7 complexity score): High tier model
649
-
650
- Factors considered:
651
- - Total number of FUs
652
- - Average FU complexity (priority, risk, duration, dependencies)
653
- - Number of high-risk FUs
654
- - Number of P0 (critical) FUs
655
- - Total estimated duration
656
- - Number of batches
657
-
658
- **Agent Actions:**
659
-
660
- 1. **Continuous Discovery Setup (if discovery was conducted):**
661
- - Schedule weekly user interviews during development
662
- - Plan prototype testing after each major UI FU
663
- - Set up feedback collection mechanism
664
-
665
- 2. **Determine Execution Strategy:**
666
- - Run `node scripts/release_orchestrator.js <release_id>`
667
- - Orchestrator prompts for execution strategy if not set in `manifest.yaml`
668
- - If `"multi_agent"`: Follow `multi_agent_orchestration.md` workflow
669
- - If `"single_agent"` or not specified: Follow single-agent workflow below
670
- - Model recommendation displayed for single-agent mode
671
-
672
- 3. **For each batch in execution schedule (in order):**
673
-
674
- **Single-Agent Execution Workflow:**
675
-
676
- a. **Start all FUs in batch (in parallel if multiple):**
677
-
678
- - For each FU in batch:
679
- - Check if FU spec exists; if not, run `Create New Feature Unit` workflow (Checkpoint 0)
680
- - If UI FU and prototype doesn't exist, run `Create Prototype` workflow
681
- - If UI FU and prototype not approved, run Checkpoint 1 (Prototype Review)
682
- - Run `Run Feature Workflow` to implement FU
683
- - Run `Final Review` (Checkpoint 2) for FU approval
684
- - If multiple FUs in batch, suggest running in parallel (separate agent sessions or worktrees)
685
-
686
- b. **Wait for all FUs in batch to complete**
687
-
688
- c. **Run cross-FU integration tests for this batch:**
689
-
690
- - Execute integration test suite from `integration_tests.md`
691
- - If tests fail:
692
- - **STOP** and report failures to user
693
- - User decides: fix and retry, skip FU, or abort Release
694
- - If tests pass, proceed to next batch
695
-
696
- d. **Continuous Discovery (during batch execution):**
697
-
698
- - If batch includes UI FUs: Conduct prototype testing with 2-3 users
699
- - Weekly user interviews: Gather feedback on completed features (2-3 users per week)
700
- - Rapid iteration: Make quick adjustments based on user feedback
701
- - Document findings in `continuous_discovery_log.md`
702
-
703
- e. **Update Release status:**
704
-
705
- - Mark batch as `completed` in `status.md`
706
- - **Check and update checkpoints** (see `.cursor/rules/checkpoint_management.md`):
707
- - Check `manifest.yaml` for `checkpoint_{id}_after_batch` triggers
708
- - If current batch ID matches a checkpoint trigger → mark checkpoint as `completed` in `status.md`
709
- - Add completion notes: batch ID, completed FUs, validation summary
710
- - Update overall Release progress percentage
711
- - If any decisions were made during batch execution (scope changes, FU deferrals, etc.), append to Decision Log in `status.md` with timestamp
712
- - Document continuous discovery findings
713
-
714
- **Multi-Agent Execution Workflow:**
715
-
716
- See `docs/feature_units/standards/multi_agent_orchestration.md` for complete workflow. Key steps:
717
-
718
- a. **Check execution limits** (`max_parallel_fus`, `max_high_risk_in_parallel`)
719
- b. **Spawn worker agents** for all FUs in batch (via Cloud Agents API)
720
- c. **Monitor worker agents** (poll status file, handle failures)
721
- d. **Wait for all FUs in batch to complete** (all workers report completion)
722
- e. **Run cross-FU integration tests** (orchestrator executes)
723
- f. **Update Release status** (mark batch complete, update progress)
724
- g. **Cleanup worker agents** (terminate completed agents)
725
-
726
- **Note:** Requires Cursor Cloud subscription with Background Agents enabled and API credentials configured.
727
-
728
- 4. **After all batches complete:**
729
- - Mark all FUs as `completed`
730
- - **ALWAYS define test commands for all integration tests** (REQUIRED)
731
- - For each test in `integration_tests.md`, add `test:` field pointing to test file path
732
- - Test files should be created in `tests/integration/release/{RELEASE_ID}/` directory
733
- - Test commands must be defined before release can be marked `in_testing`
734
- - **ALWAYS run full integration test suite** (REQUIRED - orchestrator does this automatically)
735
- - Orchestrator calls `runFullIntegrationTestSuite(releaseId)` after all batches complete
736
- - Tests may show as `not_run` if test commands aren't defined yet (blocks `in_testing`)
737
- - Failed tests block release from `in_testing` status
738
- - **Ensure Checkpoint 2 (Pre-Release Sign-Off) is marked as `completed`** in `status.md`:
739
- - If still `pending`, update to `completed`
740
- - Add completion notes: total batches completed, release status, P0 FU completion
741
- - **ALWAYS generate release report (REQUIRED):**
742
- - Create or update `docs/releases/{RELEASE_ID}/release_report.md`
743
- - Follow `docs/feature_units/standards/release_report_generation.md` for complete structure
744
- - **Section 9 (Testing Guidance) is REQUIRED** and MUST include all manual test cases from `integration_tests.md`
745
- - Extract all test definitions from `integration_tests.md`
746
- - Format each test as user-facing manual test instructions (see `.cursor/rules/post_build_testing.md`)
747
- - Include step-by-step actions and expected results for each test
748
- - Mark all manual test cases as **REQUIRED BEFORE DEPLOYMENT**
749
- - Report must be complete before transitioning to `in_testing` status
750
- - **Mark Release status as `in_testing`** to indicate build complete, manual testing in progress
751
- - **Present test cases to user:** "Release build complete. Status: in_testing. See release_report.md Section 9 (Testing Guidance) for manual test cases to validate functionality."
752
- - Synthesize continuous discovery findings
753
- - Update Release plan based on continuous discovery learnings
754
- - Proceed to Step 2
755
-
756
- ---
757
-
758
- ### Step 2: Checkpoint 1 — Mid-Release Review (Optional)
759
-
760
- **Trigger:** Critical-path FUs complete (e.g., 50% of batches done)
761
-
762
- **Agent Actions:**
763
-
764
- 1. **Check if mid-release checkpoint is configured:**
765
- - Look for `checkpoint_1_after_batch` in manifest
766
- - If not configured, skip this checkpoint
767
-
768
- 2. **If configured:**
769
- - **STOP and prompt user:**
770
- - "Mid-release checkpoint reached. X/Y FUs complete."
771
- - "Integration tests: [pass/fail summary]"
772
- - "Continue to remaining FUs? (yes/no/pause)"
773
- - If "no" or "pause": halt execution, allow user to review and resume later
774
- - If "yes": continue to remaining batches
775
-
776
- ---
777
-
778
- ### Step 3: Cross-Release Integration Testing
779
-
780
- **Trigger:** All FU batches complete
781
-
782
- **Agent Actions:**
783
-
784
- 1. **Run full cross-FU integration test suite (AUTOMATIC - REQUIRED):**
785
- - **The release orchestrator ALWAYS automatically runs all integration tests** from `integration_tests.md` after all batches complete
786
- - This is a **REQUIRED** step in the release build process - cannot be skipped
787
- - Execute all tests listed in `integration_tests.md` (IT-001 through IT-XXX)
788
- - Update `status.md` integration test status table with results (passed/failed/not_run)
789
- - Run end-to-end user flows that span multiple FUs
790
- - Verify no regressions in existing functionality
791
- - Tests showing `not_run` (no commands defined) are acceptable for initial releases but should be implemented
792
-
793
- 2. **If orchestrator is not used (manual execution):**
794
- - Manually run all tests from `integration_tests.md`
795
- - Update `status.md` integration test status table with results
796
- - Follow test execution instructions in `integration_tests.md`
797
-
798
- 3. **Validate Test Coverage Thresholds (REQUIRED):**
799
- - **CRITICAL:** Run test coverage analysis for critical path services
800
- - Check coverage thresholds defined in `vitest.config.ts`:
801
- - General coverage: ≥80% (default)
802
- - Critical path services: 100% (ingestion, extraction, entity resolution, event generation, graph builder, search, event-sourcing, reducers)
803
- - Generate coverage report: `npm run test:coverage`
804
- - **If coverage thresholds not met:**
805
- - **STOP** and report coverage gaps to user
806
- - List services below threshold with specific coverage percentages
807
- - User must add tests to meet thresholds before proceeding
808
- - Release status remains `in_progress` until coverage thresholds met (before transitioning to `in_testing`)
809
- - Document coverage results in `docs/releases/vX.Y.Z/test_coverage_report.md`
810
-
811
- 4. **Run Release-level acceptance criteria checks:**
812
- - Product acceptance: Core workflows functional, empty/error states handled
813
- - Technical acceptance: Performance benchmarks, test coverage, graph integrity
814
- - Business acceptance: Metrics instrumented, analytics ready
815
-
816
- 5. **(Marketed / High-Risk Releases) Run Spec-Compliance Review Stage:**
817
- - **Scope:** Marketed releases (e.g., v1.0.0) and high-risk releases (crypto/privacy: v2.0.0, v2.1.0) MUST run spec-compliance checks after integration tests and coverage, before marking `ready_for_deployment`.
818
- - **Artifacts:** `release_plan.md`, `manifest.yaml`, `acceptance_criteria.md`, `integration_tests.md`, `status.md`, and relevant specs (`MVP_OVERVIEW.md`, `MCP_SPEC.md`, subsystem docs).
819
- - **Execution:** Call `scripts/spec_compliance_check.ts --release vX.Y.Z` to run multi-agent, multi-model spec-compliance review.
820
- - **Outputs:** `docs/releases/vX.Y.Z/spec_compliance_report.json` and `spec_compliance_report.md` with findings and severities (P0–P3).
821
- - **Policy:** Any unresolved P0 findings MUST be addressed or explicitly deferred with an owner-approved decision log entry before the release can be marked `ready_for_deployment`.
822
-
823
- 6. **Generate integration test report:**
824
- - Save to `docs/releases/vX.Y.Z/integration_test_report.md`
825
- - Include pass/fail summary, performance metrics, issues found
826
- - Include test coverage summary and threshold validation results
827
-
828
- 7. **If tests fail:**
829
- - **STOP** and report failures to user
830
- - User decides: fix issues and re-test, or abort Release
831
- - Release status remains `in_progress` until tests pass
832
-
833
- 8. **If all tests pass and coverage thresholds met:**
834
- - Transition to `in_testing` status (handled in Step 1, after all batches complete)
835
- - **Record Development Finish Date** in `status.md` (current date/time)
836
- - **Calculate Actual Development Time** (Development Finish Date - Development Start Date)
837
- - **Calculate Estimation Accuracy** ((Actual / Estimated) × 100%)
838
- - **Update estimation methodology** if accuracy significantly off (see `docs/conventions/estimation_methodology.md`)
839
- - Proceed to Step 3.6 (Feature Unit Spec Compliance Validation)
840
-
841
- ---
842
-
843
- ### Step 3.6: Feature Unit Spec Compliance Validation (REQUIRED)
844
-
845
- **Trigger:** All integration tests pass, coverage thresholds met, before marking FUs complete
846
-
847
- **Purpose:** Validate that implementation matches spec requirements - prevent incomplete implementations like FU-100 where extraction validation was required but not implemented.
848
-
849
- **Agent Actions:**
850
-
851
- 1. **For each FU marked as "completed" in the release:**
852
-
853
- a. **Load FU specification:**
854
- - Load spec from `docs/feature_units/completed/FU-XXX/FU-XXX_spec.md` or `docs/specs/MVP_FEATURE_UNITS.md`
855
- - Extract all "MUST", "MUST NOT", "REQUIRED", and "SHALL" requirements
856
-
857
- b. **Generate Implementation Decision Log:**
858
- - Create `docs/releases/vX.Y.Z/implementation_logs/FU-XXX_implementation_log.md`
859
- - Document each implementation decision with requirement text, location, implementation approach, files changed, code references, verification, and status
860
-
861
- c. **Automated Spec Compliance Check:**
862
- - For each requirement in spec, verify implementation exists:
863
- - **Check code existence:** Grep for required functions/patterns
864
- - **Check database schema:** Verify required columns/tables exist
865
- - **Check integration:** Verify required service calls are made
866
- - **Check validation:** Verify required validation logic exists
867
-
868
- Uses `scripts/validate_spec_compliance.js` which leverages `scripts/spec_compliance_patterns.js` for reusable check patterns.
869
-
870
- d. **Generate Compliance Report:**
871
- - Create `docs/releases/vX.Y.Z/compliance_reports/FU-XXX_compliance.md`
872
- - Structure includes requirements status table and implementation gaps section
873
- - Lists specific gaps with requirement references, current state, required state, and files to modify
874
-
875
- 2. **If gaps found:**
876
- - **STOP and present compliance report to user:**
877
- - Show all requirements with ❌ Missing status
878
- - List specific gaps and required changes
879
- - Link to implementation decision log
880
- - **User must choose:**
881
- a. **Fix gaps:** Agent implements missing requirements
882
- b. **Update spec:** If requirement is incorrect/outdated, update spec first
883
- c. **Defer requirement:** Document in decision log why requirement is deferred (requires explicit user approval)
884
- - **After fixes or deferral:**
885
- - Re-run compliance check
886
- - Update compliance report
887
- - Update implementation decision log
888
- - **Require user approval** before marking FU complete
889
-
890
- 3. **If all requirements met:**
891
- - Update compliance report with ✅ Complete status
892
- - Add compliance report link to FU status in status.md
893
- - Proceed with marking FU complete
894
-
895
- **Critical Rules:**
896
-
897
- - **NO FU can be marked "complete" without passing spec compliance validation**
898
- - **All implementation decisions MUST be logged before validation**
899
- - **All gaps MUST be resolved OR explicitly deferred with user approval**
900
- - **Deferred requirements MUST be tracked in decision log for future work**
901
-
902
- **Implementation Notes:**
903
-
904
- - This step runs automatically in `scripts/release_orchestrator.js` after integration tests pass and before marking FUs complete
905
- - Can run in parallel for multiple FUs
906
- - Decision logs can be used for post-release audits
907
- - Compliance reports provide traceability for releases
908
- - If any FU fails compliance, the entire batch is blocked from completion
909
-
910
- **Integration:**
911
-
912
- - Executed by `scripts/release_orchestrator.js` via `validateFUSpecCompliance()` function
913
- - Runs after batch integration tests pass, before updating `status.completed_fus`
914
- - Exits with error if critical gaps found, preventing FU completion
915
-
916
- ---
917
-
918
- ### Step 3.5: Architectural Completeness Validation (REQUIRED)
919
-
920
- **Trigger:** All integration tests pass, coverage thresholds met
921
-
922
- **Purpose:** Validate that implementation matches documented architecture - prevent gaps like missing database tables, unpersisted services, or incomplete endpoint integrations.
923
-
924
- **Agent Actions:**
925
-
926
- 1. **Database Schema Completeness Validation (REQUIRED):**
927
- - **For each FU in the release**, identify required database tables:
928
- - Review FU specifications for database requirements
929
- - Check `supabase/migrations/` for migration files creating required tables
930
- - Verify `supabase/schema.sql` includes all required tables
931
- - **Validation checks:**
932
- - List all tables referenced in service code (e.g., `entities`, `timeline_events`, `record_entity_edges`)
933
- - Verify migration files exist for each table
934
- - Verify `schema.sql` includes table definitions
935
- - Run database queries to confirm tables exist (if database accessible)
936
- - **If gaps found:**
937
- - **STOP** and report missing tables/migrations to user
938
- - List specific tables missing and which FUs require them
939
- - User must create migrations and update `schema.sql` before proceeding
940
- - Release status remains `in_progress` until schema complete (before transitioning to `in_testing`)
941
-
942
- 2. **Service Persistence Validation (REQUIRED):**
943
- - **For each service that generates data**, verify persistence:
944
- - Review service code (e.g., `entity_resolution.ts`, `event_generation.ts`)
945
- - Verify services that generate IDs/entities/events actually persist to database
946
- - Check for database insert/upsert calls in service functions
947
- - Verify services don't only generate data in memory
948
- - **Validation checks:**
949
- - Entity resolution: `resolveEntity()` should insert/upsert to `entities` table
950
- - Event generation: `generateEvents()` or similar should persist to `timeline_events` table
951
- - Graph builder: Should create edges in graph edge tables
952
- - Observation ingestion: Should persist observations to `observations` table
953
- - **If gaps found:**
954
- - **STOP** and report services not persisting data to user
955
- - List specific services and functions that need persistence
956
- - User must add persistence logic before proceeding
957
- - Release status remains `in_progress` until persistence complete (before transitioning to `in_testing`)
958
-
959
- 3. **Endpoint Integration Validation (REQUIRED):**
960
- - **For each HTTP/MCP endpoint**, verify full pipeline integration:
961
- - Review endpoint handlers (e.g., `actions.ts` for HTTP, `server.ts` for MCP)
962
- - Verify endpoints call all required services in the pipeline
963
- - Check that endpoints don't skip critical steps (e.g., entity resolution, event generation)
964
- - **Validation checks:**
965
- - `store_record` HTTP endpoint: Should call entity resolution, event generation, observation creation
966
- - `upload_file` MCP action: Should trigger full extraction → entity → event → observation pipeline
967
- - MCP observation actions: Should be implemented if specified in release plan
968
- - **If gaps found:**
969
- - **STOP** and report incomplete endpoint integrations to user
970
- - List specific endpoints and missing service calls
971
- - User must integrate services into endpoints before proceeding
972
- - Release status remains `in_progress` until integration complete (before transitioning to `in_testing`)
973
-
974
- 4. **MCP Action Completeness Validation (REQUIRED):**
975
- - **For each MCP action specified in release plan**, verify implementation:
976
- - Review `release_plan.md` for listed MCP actions (e.g., FU-061 actions)
977
- - Check `src/server.ts` for action handler implementations
978
- - Verify actions are registered in `ListToolsRequestSchema` response
979
- - Verify actions have handlers in `CallToolRequestSchema` switch statement
980
- - **If gaps found:**
981
- - **STOP** and report missing MCP actions to user
982
- - List specific actions missing and which FUs require them
983
- - User must implement missing actions before proceeding
984
- - Release status remains `in_progress` until actions complete (before transitioning to `in_testing`)
985
-
986
- 5. **Graph Integrity Validation (REQUIRED):**
987
- - **Verify graph builder handles all node types:**
988
- - Check `graph_builder.ts` for orphan detection (records, entities, events)
989
- - Check `graph_builder.ts` for cycle detection (record relationships, entity relationships)
990
- - Verify `validateGraphIntegrity()` checks all node types
991
- - **If gaps found:**
992
- - **STOP** and report incomplete graph validation to user
993
- - List specific node types or relationship types not validated
994
- - User must enhance graph builder before proceeding
995
- - Release status remains `in_progress` until validation complete (before transitioning to `in_testing`)
996
-
997
- 6. **Documentation Consistency Validation (REQUIRED):**
998
- - **Verify status documents are consistent:**
999
- - Compare `status.md` integration test status with `release_report.md` test results
1000
- - Verify test pass/fail counts match across documents
1001
- - Check that FU completion status matches across documents
1002
- - **If inconsistencies found:**
1003
- - **STOP** and report inconsistencies to user
1004
- - List specific mismatches (e.g., "status.md shows 10/11 tests passing, release_report.md shows 11/11")
1005
- - User must reconcile documents before proceeding
1006
- - Release status remains `in_progress` until documents consistent (before transitioning to `in_testing`)
1007
-
1008
- 7. **Generate Architectural Completeness Report:**
1009
- - Save to `docs/releases/vX.Y.Z/architectural_completeness_report.md`
1010
- - Include validation results for each category:
1011
- - Database schema: ✅ Complete / ❌ Missing tables: [list]
1012
- - Service persistence: ✅ Complete / ❌ Services not persisting: [list]
1013
- - Endpoint integration: ✅ Complete / ❌ Missing integrations: [list]
1014
- - MCP actions: ✅ Complete / ❌ Missing actions: [list]
1015
- - Graph integrity: ✅ Complete / ❌ Missing validations: [list]
1016
- - Documentation consistency: ✅ Consistent / ❌ Inconsistencies: [list]
1017
-
1018
- 8. **If all validations pass:**
1019
- - Mark architectural completeness validation as `completed` in `status.md`
1020
- - Proceed to Step 4 (Checkpoint 2)
1021
-
1022
- 9. **If any validation fails:**
1023
- - **STOP** and present architectural completeness report to user
1024
- - User must address all gaps before proceeding
1025
- - Release status remains `in_progress` until all validations pass (before transitioning to `in_testing`)
1026
- - After fixes, re-run Step 3.5 validation
1027
-
1028
- **Critical:** This validation step prevents deployment of releases with architectural gaps (like v0.1.0 had). All checks must pass before proceeding to Step 3.6.
1029
-
1030
- ---
1031
-
1032
- ### Step 3.6: Pre-Release Validation Checklist (REQUIRED)
1033
-
1034
- **Trigger:** Step 3.5 (Architectural Completeness Validation) passes
1035
-
1036
- **Purpose:** Run comprehensive pre-release validation to catch common issues before deployment. This checklist is based on issues discovered in past releases and prevents:
1037
- - TypeScript compilation errors
1038
- - Missing migrations
1039
- - MCP protocol errors
1040
- - RLS security issues
1041
- - Service startup failures
1042
-
1043
- **Agent Actions:**
1044
-
1045
- 1. **Run Pre-Release Checklist:**
1046
- - Execute all checks from `docs/developer/pre_release_checklist.md`
1047
- - Document results in release status or validation report
1048
-
1049
- 2. **Required Validation Steps:**
1050
- - **TypeScript Compilation:**
1051
- ```bash
1052
- npm run type-check
1053
- ```
1054
- - MUST pass with 0 errors
1055
- - Past issues: `resolveEntity` return type mismatch, interface mismatches
1056
-
1057
- - **Linting:**
1058
- ```bash
1059
- npm run lint
1060
- ```
1061
- - MUST pass (warnings acceptable but reviewed)
1062
-
1063
- - **Migration Completeness:**
1064
- ```bash
1065
- # Verify all schema.sql tables have migrations
1066
- grep "^CREATE TABLE" supabase/schema.sql
1067
- grep "^CREATE TABLE" supabase/migrations/*.sql
1068
- # Compare - every table should appear in both
1069
- ```
1070
- - Past issues: `record_relationships`, `records`, Plaid/external tables missing migrations
1071
-
1072
- - **Migration Execution:**
1073
- ```bash
1074
- npm run migrate
1075
- ```
1076
- - MUST succeed without errors
1077
- - Test in clean environment if possible
1078
-
1079
- - **Schema Advisor:**
1080
- ```bash
1081
- npm run check:advisors
1082
- ```
1083
- - MUST pass with 0 critical issues
1084
- - Past issues: Tables with policies but RLS not enabled
1085
-
1086
- - **Build Verification:**
1087
- ```bash
1088
- rm -rf dist/ && npm run build:server
1089
- ```
1090
- - MUST succeed, dist/ directory created
1091
-
1092
- - **MCP Server Startup:**
1093
- ```bash
1094
- npm run dev
1095
- ```
1096
- - MUST start without errors
1097
- - MUST NOT output to stdout (breaks JSON-RPC protocol)
1098
- - Past issues: Console logging breaking MCP protocol
1099
-
1100
- - **MCP Watch Mode:**
1101
- ```bash
1102
- npm run dev:api
1103
- ```
1104
- - MUST compile without errors
1105
- - Verify watch mode detects changes
1106
-
1107
- 3. **Generate Pre-Release Validation Report:**
1108
- - Save to `docs/releases/vX.Y.Z/pre_release_validation_report.md`
1109
- - Include pass/fail for each check
1110
- - Include any warnings or notes
1111
-
1112
- 4. **If all validations pass:**
1113
- - Mark pre-release validation as `completed` in `status.md`
1114
- - Proceed to Step 4 (Checkpoint 2)
1115
-
1116
- 5. **If any validation fails:**
1117
- - **STOP** and present validation report to user
1118
- - User must fix all issues before proceeding
1119
- - Release status remains `in_progress` until all validations pass (before transitioning to `in_testing`)
1120
- - After fixes, re-run Step 3.6 validation
1121
-
1122
- **Critical:** This validation step catches common deployment blockers early. All checks must pass before Checkpoint 2.
1123
-
1124
- **Reference:** See `docs/developer/pre_release_checklist.md` for complete checklist and common failure modes.
1125
-
1126
- ---
1127
-
1128
- ### Step 4: Checkpoint 2 — Pre-Release Sign-Off
1129
-
1130
- **Trigger:** All FUs complete, integration tests pass, release in `in_testing` status
1131
-
1132
- **Agent Actions:**
1133
-
1134
- 1. **Present Release summary:**
1135
- - FUs completed: X/Y
1136
- - Integration tests: [pass/fail summary]
1137
- - Acceptance criteria: [checklist with status]
1138
- - Release plan link
1139
- - Integration test report link
1140
- - **Manual test cases:** "See release_report.md Section 9 (Testing Guidance) for all manual test cases to validate functionality before deployment"
1141
-
1142
- 2. **Verify release report exists (REQUIRED):**
1143
- - **Check if `docs/releases/{RELEASE_ID}/release_report.md` exists**
1144
- - **If missing:** Generate complete release report immediately
1145
- - Follow `docs/feature_units/standards/release_report_generation.md` for structure
1146
- - Include all required sections (Executive Summary, Batch Completion, Feature Units, etc.)
1147
- - **Section 9 (Testing Guidance) is REQUIRED** - must include all manual test cases
1148
- - Extract all test cases from `integration_tests.md`
1149
- - Format as user-facing manual test instructions
1150
- - Include step-by-step actions and expected results
1151
- - Mark all manual test cases as **REQUIRED BEFORE DEPLOYMENT**
1152
- - See `.cursor/rules/post_build_testing.md` for formatting requirements
1153
- - **If exists:** Verify Section 9 (Testing Guidance) is complete and includes all tests from `integration_tests.md`
1154
- - **Note:** Report should have been generated in Step 1.4 after all batches completed. If missing, generate it now before proceeding.
1155
-
1156
- 3. **REQUIRE Manual Test Execution (BLOCKER):**
1157
- - **STOP and prompt user:**
1158
- - "Release vX.Y.Z ready for deployment."
1159
- - "All FUs complete: [list]"
1160
- - "Integration tests passed: [summary]"
1161
- - "Acceptance criteria met: [checklist]"
1162
- - **"MANUAL TEST EXECUTION REQUIRED: All manual test cases in release_report.md Section 9 (Testing Guidance) MUST be executed and validated before deployment."**
1163
- - "Have you executed all manual test cases? (yes/no)"
1164
- - "If yes, provide test results summary: [pass/fail for each test case]"
1165
- - "If no, execute all test cases now and document results before proceeding."
1166
-
1167
- 4. **Validate Manual Test Results:**
1168
- - **If user says "no" or test results incomplete:**
1169
- - **BLOCK deployment** - do not proceed to Step 5
1170
- - Provide clear instructions: "Execute all manual test cases from release_report.md Section 9 (Testing Guidance) and document results before deployment approval."
1171
- - Wait for user to complete manual test execution
1172
- - Return to Step 3 validation
1173
-
1174
- - **If user says "yes" and provides test results:**
1175
- - Verify all test cases have documented results (Pass/Fail)
1176
- - **If any test case failed:**
1177
- - **BLOCK deployment** - do not proceed to Step 5
1178
- - Prompt: "Test case [ID] failed. Fix issues and re-execute test cases before deployment approval."
1179
- - Wait for user to fix issues and re-execute tests
1180
- - Return to Step 3 validation
1181
- - **If all test cases passed:**
1182
- - Document test results in `status.md` or `manual_test_results.md`
1183
- - Proceed to Step 5 (deployment approval)
1184
-
1185
- 5. **Final Deployment Approval:**
1186
- - **STOP and prompt user:**
1187
- - "All manual test cases executed and passed."
1188
- - "Test results documented: [summary]"
1189
- - "Approve for deployment? (yes/no)"
1190
- - "Any final changes needed? (list or 'none')"
1191
-
1192
- 6. **If user requests changes:**
1193
- - Make changes
1194
- - Re-run affected tests (both automated and manual)
1195
- - Repeat Checkpoint 2 until approved
1196
-
1197
- 7. **If approved:**
1198
- - Mark Release status as `ready_for_deployment`
1199
- - Document manual test execution completion in `status.md`
1200
-
1201
- - **If marketed release:** Proceed to Step 4.5 (Pre-Release Marketing)
1202
- - **If not_marketed release:** Proceed to Step 5 (Deployment)
1203
-
1204
- ---
1205
-
1206
- ### Step 4.5: Pre-Release Marketing Execution (Marketed Releases Only)
1207
-
1208
- **Trigger:** Release approved for deployment, Release type is marketed, pre-launch marketing enabled
1209
-
1210
- **Timeline:** 2-4 weeks before deployment (depending on strategy)
1211
-
1212
- **Agent Actions:**
1213
-
1214
- 1. **Load Marketing Plan:**
1215
- - Load `docs/releases/vX.Y.Z/marketing_plan.yaml` (metadata/summary) and `marketing_plan.md` (overview)
1216
- - Review user acquisition and reengagement tactics
1217
- - Understand target segments and success criteria
1218
-
1219
- 2. **Execute Pre-Launch User Acquisition:**
1220
- - Launch waitlist building campaigns (if enabled)
1221
- - Create waitlist landing page
1222
- - Promote via Twitter, email, community, content
1223
- - Track signups by source/channel
1224
- - Open early access beta signups (if enabled)
1225
- - Invite discovery participants + top waitlist users
1226
- - Onboard beta testers
1227
- - Collect feedback and create advocates
1228
- - Publish content teasers (if enabled)
1229
- - Blog posts, demo videos, Twitter threads
1230
- - Track views, shares, conversions to waitlist
1231
- - Track acquisition metrics:
1232
- - Waitlist signups (by channel)
1233
- - Early access participants
1234
- - Content engagement (views, shares, conversions)
1235
- - Cost per waitlist signup
1236
-
1237
- 3. **Execute Pre-Launch Reengagement:**
1238
- - Send feature teaser emails to existing users (if enabled)
1239
- - Target: dormant users, low-activity users
1240
- - Content: Upcoming features, benefits
1241
- - Track: email open rate, click-through rate
1242
- - Show in-app notifications (if enabled)
1243
- - Notify existing users about upcoming release
1244
- - Track: notification views, clicks
1245
- - Track reengagement metrics:
1246
- - Email open rate
1247
- - Click-through rate
1248
- - Pre-launch return rate (users who return before launch)
1249
-
1250
- 4. **Generate Pre-Launch Marketing Report:**
1251
- - Save to `docs/releases/vX.Y.Z/pre_launch_marketing_report.md`
1252
- - Include:
1253
- - Acquisition baseline metrics (waitlist signups, beta participants, content engagement)
1254
- - Reengagement baseline metrics (email opens, clicks, return rate)
1255
- - Channel performance breakdown
1256
- - Cost analysis
1257
- - Quality indicators (waitlist quality, beta activation rate)
1258
-
1259
- 5. **Present to User:**
1260
- - "Pre-launch marketing complete. Baseline metrics: [summary]"
1261
- - "Waitlist: X signups, Beta: Y participants, Reengagement: Z% return rate"
1262
- - "Ready to proceed with deployment? (yes/no)"
1263
-
1264
- 6. **If approved:**
1265
- - Proceed to Step 5 (Deployment)
1266
-
1267
- **Note:** This step is skipped for not_marketed releases.
1268
-
1269
- ---
1270
-
1271
- ### Step 5: Deployment
1272
-
1273
- **Trigger:** Release approved for deployment (manual tests executed and passed)
1274
-
1275
- **Agent Actions:**
1276
-
1277
- 1. **Verify Manual Test Execution (PRE-DEPLOYMENT CHECK):**
1278
- - **REQUIRED:** Check that all manual test cases from `release_report.md` Section 9 (Testing Guidance) have been executed and documented
1279
- - **REQUIRED:** Verify all manual test cases passed (no failures)
1280
- - **If manual tests not executed or any failed:**
1281
- - **BLOCK deployment** - return to Step 4 (Checkpoint 2)
1282
- - Error: "Cannot deploy: Manual test cases must be executed and all must pass before deployment."
1283
-
1284
- 2. **Execute deployment plan:**
1285
- - **All releases deploy to production at neotoma.io**
1286
- - Follow deployment strategy from Release plan (staging first for validation, then production)
1287
- - Run deployment scripts or guide user through manual steps
1288
- - Verify deployment success (health checks, smoke tests)
1289
-
1290
- 3. **Update Release status:**
1291
- - Mark Release as `deployed`
1292
- - **Record Deployment Date** in `status.md` (current date/time)
1293
-
1294
- 4. **Setup post-release monitoring:**
1295
- - Verify metrics and alerts are active
1296
- - Start monitoring key metrics from Release acceptance criteria
1297
-
1298
- 5. **If marketed release:**
1299
- - Proceed to Step 6 (Post-Release Marketing & Validation)
1300
- - **If not_marketed release:**
1301
- - **Record Completion Date** in `status.md` (current date/time)
1302
- - Move Release files from `in_progress/` to `completed/`:
1303
- ```bash
1304
- mv docs/releases/in_progress/vX.Y.Z docs/releases/completed/vX.Y.Z
1305
- ```
1306
- - Update Release status to `completed`
1307
- - **Generate time tracking summary** comparing actual vs estimated times for future calibration
1308
-
1309
- ---
1310
-
1311
- ### Step 6: Post-Release Marketing, Acquisition & Reengagement (Marketed Releases Only)
1312
-
1313
- **Trigger:** Release deployed to production, Release type is marketed
1314
-
1315
- **Timeline:** Week 1-4 post-deployment
1316
-
1317
- **Agent Actions:**
1318
-
1319
- 1. **Load Marketing Plan:**
1320
- - Load `docs/releases/vX.Y.Z/marketing_plan.yaml` (metadata/summary) and `marketing_plan.md` (overview)
1321
- - Review post-launch tactics and success criteria
1322
-
1323
- 2. **Execute Post-Launch User Acquisition:**
1324
-
1325
- a. **Launch Announcement (Day 0):**
1326
- - Product Hunt launch (if applicable)
1327
- - Social media announcement (Twitter, LinkedIn)
1328
- - Email to waitlist (convert waitlist to signups)
1329
- - Blog post announcement
1330
- - Hacker News submission (if applicable)
1331
- - Track: Day 1 signups, press mentions, social shares
1332
-
1333
- b. **Paid Acquisition (Week 1-4, if enabled):**
1334
- - Launch paid campaigns (Twitter ads, Google ads, LinkedIn ads)
1335
- - Target ICP segments from marketing plan
1336
- - Track: Cost per signup, signup to activation rate, cost per activated user
1337
-
1338
- c. **Content Marketing (Week 1-4, if enabled):**
1339
- - Publish tutorials, case studies, comparisons
1340
- - SEO optimization
1341
- - Track: Organic signups, content to signup conversion rate
1342
-
1343
- d. **Partnership Outreach (Week 1-4, if enabled):**
1344
- - Submit to AI tool directories
1345
- - Outreach to productivity communities
1346
- - Indie hacker communities
1347
- - Track: Referral signups, backlinks acquired
1348
-
1349
- 3. **Execute Post-Launch Reengagement:**
1350
-
1351
- a. **Feature Announcement (Day 0):**
1352
- - Send announcement email to all existing users
1353
- - Show in-app notification
1354
- - Publish changelog
1355
- - Track: Email open rate, feature trial rate, reactivation rate
1356
-
1357
- b. **Dormant User Winback (Week 1-2, if enabled):**
1358
- - Identify inactive users (30-day, 90-day segments)
1359
- - Send personalized winback emails
1360
- - Content: New features, usage tips, success stories
1361
- - Track: Winback email open rate, return rate, reactivation rate
1362
-
1363
- c. **Usage Nudges (Week 1-4, if enabled):**
1364
- - Trigger: No upload 7 days, no search 14 days, no AI query 30 days
1365
- - Format: In-app prompts + email
1366
- - Track: Nudge response rate, nudge to action rate
1367
-
1368
- d. **Success Story Sharing (Week 2-4, if enabled):**
1369
- - Share user case studies, usage tips, workflow examples
1370
- - Channels: Email, blog, community
1371
- - Track: Story engagement rate, feature adoption from story
1372
-
1373
- 4. **Track Post-Launch Metrics:**
1374
-
1375
- **Acquisition Metrics:**
1376
- - Day 1 signups (total, by channel: waitlist, organic, paid, referral)
1377
- - Week 1 signups (total, by channel)
1378
- - Waitlist conversion rate (waitlist signups → Day 1 signups)
1379
- - Cost per signup (by channel)
1380
- - Signup to activation rate (by channel)
1381
- - Organic vs paid signup breakdown
1382
-
1383
- **Reengagement Metrics:**
1384
- - Announcement email open rate
1385
- - Feature trial rate (existing users who try new features)
1386
- - Dormant user reactivation rate (30-day, 90-day segments)
1387
- - Winback email response rate
1388
- - Usage nudge response rate
1389
- - Reengaged user retention rate
1390
-
1391
- 5. **Marketing Efficacy Analysis:**
1392
-
1393
- **Acquisition Comparison:**
1394
- - Waitlist conversion: (Day 1 signups from waitlist) / Waitlist signups
1395
- - Cost efficiency: Pre-launch CPA vs Post-launch CPA
1396
- - Quality comparison: Waitlist activation rate vs Paid activation rate
1397
- - Channel performance: Organic vs Paid vs Referral
1398
- - Time to value: Waitlist signup → first use vs Paid signup → first use
1399
-
1400
- **Reengagement Comparison:**
1401
- - Pre-launch teaser effectiveness: Teasers sent → Pre-launch returns
1402
- - Post-launch announcement effectiveness: Announcements sent → Feature trials
1403
- - Winback efficiency: Winback cost vs New acquisition cost
1404
- - Retention impact: Reengaged user retention vs New user retention
1405
- - Feature adoption: Feature trial rate from reengagement vs from new users
1406
-
1407
- 6. **Generate Marketing Efficacy Report:**
1408
- - Save to `docs/releases/vX.Y.Z/marketing_efficacy_report.md`
1409
- - Include:
1410
- - Pre-launch metrics summary (acquisition + reengagement)
1411
- - Post-launch metrics summary (acquisition + reengagement)
1412
- - Channel performance breakdown
1413
- - Cost analysis (pre vs post, acquisition vs reengagement)
1414
- - Quality indicators (activation rates, retention rates)
1415
- - Comparison analysis
1416
- - Recommendations for next release
1417
-
1418
- 7. **Post-Release Validation:**
1419
- - Validate outcomes against acceptance criteria
1420
- - Conduct user interviews (new + reengaged users)
1421
- - Analyze user feedback
1422
- - Generate validation report
1423
-
1424
- 8. **Present to User:**
1425
- - "Post-launch marketing complete. Week 1 metrics: [summary]"
1426
- - "Acquisition: X signups (Y% from waitlist, Z% organic)"
1427
- - "Reengagement: A% feature trial rate, B% reactivation rate"
1428
- - "Efficacy analysis: [key findings]"
1429
- - "Recommendations: [for next release]"
1430
-
1431
- 9. **COMPLETE:**
1432
- - **Record Completion Date** in `status.md` (current date/time)
1433
- - Move Release files from `in_progress/` to `completed/`:
1434
- ```bash
1435
- mv docs/releases/in_progress/vX.Y.Z docs/releases/completed/vX.Y.Z
1436
- ```
1437
- - Update Release status to `completed`
1438
- - **Generate time tracking summary** comparing actual vs estimated times for future calibration
1439
-
1440
- **Note:** This step is skipped for not_marketed releases.
1441
-
1442
- ---
1443
-
1444
- ## File Locations
1445
-
1446
- ### In Progress Releases
1447
-
1448
- ```
1449
- docs/releases/in_progress/vX.Y.Z/
1450
- ├── release_plan.md # Release goals, scope (overview and coordination)
1451
- ├── manifest.yaml # FU list, dependencies, schedule, release type (YAML required)
1452
- ├── execution_schedule.md # Generated execution plan with batches
1453
- ├── integration_tests.md # Cross-FU integration test specs
1454
- ├── acceptance_criteria.md # Release-level acceptance criteria
1455
- ├── pre_mortem.md # Failure mode analysis
1456
- ├── deployment_strategy.md # Deployment and rollback procedures
1457
- ├── monitoring_plan.md # Post-release monitoring and observability
1458
- ├── discovery_plan.md # Discovery overview (if discovery enabled)
1459
- ├── discovery_plan.yaml # Discovery metadata/summary (if discovery enabled)
1460
- ├── participant_recruitment_log.md # Participant outreach and tracking
1461
- ├── discovery_report.md # Combined discovery findings
1462
- ├── continuous_discovery_log.md # Continuous discovery during development
1463
- ├── marketing_plan.md # Marketing overview (marketed releases only)
1464
- ├── marketing_plan.yaml # Marketing metadata/summary (marketed releases only)
1465
- ├── pre_launch_marketing_report.md # Pre-launch metrics (marketed releases only)
1466
- └── status.md # Live status tracking
1467
- ```
1468
-
1469
- **Document Decomposition Standards:**
1470
-
1471
- All release planning documents MUST follow these principles:
1472
-
1473
- 1. **Decompose by Topic**: Large planning documents should be decomposed into topic-specific documents:
1474
- - Overview/coordination documents (`*_plan.md`) provide high-level summaries and references
1475
- - Detailed topic documents (`*_*_plan.md`) contain comprehensive details for specific topics
1476
- - Example: `discovery_plan.md` (overview) → `value_discovery_plan.md`, `usability_discovery_plan.md`, etc.
1477
-
1478
- 2. **Use Markdown for Human-Readable Content**: All detailed documentation should be in Markdown format for better readability, version control, and collaboration.
1479
-
1480
- 3. **Use YAML Only When Required**: YAML files should be used ONLY when:
1481
- - Required for workflow automation (e.g., `manifest.yaml` for FU dependency resolution)
1482
- - Structured metadata/summaries needed for programmatic access (e.g., `discovery_plan.yaml`, `marketing_plan.yaml`)
1483
- - Machine-readable format is essential (e.g., success criteria, timelines, participant counts)
1484
-
1485
- 4. **Eliminate Redundancy**:
1486
- - YAML files contain metadata, summaries, hypotheses, success criteria, and references to detailed markdown plans
1487
- - Markdown files contain comprehensive detailed content (interview questions, test scenarios, tactics, etc.)
1488
- - Each piece of information should exist in only one place, with cross-references where needed
1489
-
1490
- 5. **Cross-Reference Documents**: All documents should include:
1491
- - "Related Documents" section with links to related planning documents
1492
- - "Purpose" section explaining the document's role
1493
- - Clear indication of overview vs detailed documents
1494
-
1495
- 6. **File Naming Conventions**:
1496
- - Overview documents: `{topic}_plan.md` (e.g., `discovery_plan.md`, `marketing_plan.md`)
1497
- - Detailed topic documents: `{topic}_{subtopic}_plan.md` (e.g., `value_discovery_plan.md`, `pre_launch_marketing_plan.md`)
1498
- - YAML summaries: `{topic}_plan.yaml` (e.g., `discovery_plan.yaml`, `marketing_plan.yaml`)
1499
- - Logs/tracking: `{topic}_log.md` (e.g., `continuous_discovery_log.md`, `participant_recruitment_log.md`)
1500
-
1501
- ### Completed Releases
1502
-
1503
- ```
1504
- docs/releases/completed/vX.Y.Z/
1505
- ├── release_plan.md
1506
- ├── manifest.yaml
1507
- ├── execution_schedule.md
1508
- ├── integration_tests.md
1509
- ├── integration_test_report.md
1510
- ├── discovery_plan.yaml
1511
- ├── discovery_report.md
1512
- ├── continuous_discovery_log.md
1513
- ├── marketing_plan.yaml # Marketing strategy (marketed releases only)
1514
- ├── pre_launch_marketing_report.md # Pre-launch metrics (marketed releases only)
1515
- ├── post_launch_acquisition_report.md # Post-launch acquisition metrics (marketed releases only)
1516
- ├── post_launch_reengagement_report.md # Post-launch reengagement metrics (marketed releases only)
1517
- ├── marketing_efficacy_report.md # Pre vs post comparison (marketed releases only)
1518
- └── status.md
1519
- ```
1520
-
1521
- <| tool▁calls▁begin |><| tool▁call▁begin |>
1522
- read_file
1523
-
1524
- ---
1525
-
1526
- ## Release Manifest Format
1527
-
1528
- ```yaml
1529
- release:
1530
- id: "v1.0.0"
1531
- name: "MVP"
1532
- type: "marketed" # marketed | not_marketed
1533
- status: "in_progress" # in_progress | ready_for_deployment | deployed | completed
1534
- target_date: "2025-03-01"
1535
- priority: "P0"
1536
-
1537
- # WIP and parallelization limits
1538
- execution_limits:
1539
- max_parallel_fus: 3 # Maximum FUs executing simultaneously
1540
- max_high_risk_in_parallel: 1 # Maximum high-risk FUs executing simultaneously
1541
-
1542
- feature_units:
1543
- - id: "FU-100"
1544
- priority: "P0"
1545
- dependencies: ["FU-000"]
1546
- - id: "FU-101"
1547
- priority: "P0"
1548
- dependencies: ["FU-100"]
1549
- - id: "FU-102"
1550
- priority: "P0"
1551
- dependencies: ["FU-100"]
1552
- - id: "FU-103"
1553
- priority: "P0"
1554
- dependencies: ["FU-101", "FU-102"]
1555
-
1556
- execution_schedule:
1557
- batches:
1558
- - batch_id: 0
1559
- feature_units: ["FU-100"]
1560
- dependencies: []
1561
- - batch_id: 1
1562
- feature_units: ["FU-101", "FU-102"] # Can run in parallel
1563
- dependencies: ["FU-100"]
1564
- - batch_id: 2
1565
- feature_units: ["FU-103"]
1566
- dependencies: ["FU-101", "FU-102"]
1567
-
1568
- checkpoints:
1569
- checkpoint_1_after_batch: 1 # Optional mid-release review
1570
-
1571
- acceptance_criteria:
1572
- product:
1573
- - criterion: "Core workflows functional (upload → extraction → timeline → AI query)"
1574
- test: "playwright/tests/e2e/core_workflows.spec.ts"
1575
- metric: null
1576
- - criterion: "Empty states handled"
1577
- test: "playwright/tests/e2e/empty_states.spec.ts"
1578
- metric: null
1579
- - criterion: "Error states handled with retry"
1580
- test: "playwright/tests/e2e/error_states.spec.ts"
1581
- metric: null
1582
- technical:
1583
- - criterion: "All P0 FUs deployed"
1584
- test: null
1585
- metric: "SELECT COUNT(*) FROM feature_units WHERE priority='P0' AND status='completed'"
1586
- - criterion: "100% critical path test coverage"
1587
- test: "npm run test:coverage -- --critical-path"
1588
- metric: "coverage.critical_path >= 100"
1589
- - criterion: "Graph integrity verified (0 orphans, 0 cycles)"
1590
- test: "tests/integration/graph_integrity.test.ts"
1591
- metric: "SELECT COUNT(*) FROM events WHERE record_id NOT IN (SELECT id FROM records) = 0"
1592
- business:
1593
- - criterion: "10 DAU (MVP launch)"
1594
- test: null
1595
- metric: "SELECT COUNT(DISTINCT user_id) FROM user_sessions WHERE date = CURRENT_DATE >= 10"
1596
- - criterion: "100 total records ingested (first week)"
1597
- test: null
1598
- metric: "SELECT COUNT(*) FROM records WHERE created_at >= NOW() - INTERVAL '7 days' >= 100"
1599
-
1600
- pre_mortem:
1601
- failure_modes:
1602
- - mode: "RLS migration breaks existing tenants"
1603
- early_warning: "Test failures in multi-user isolation tests, migration dry-run errors"
1604
- mitigation: "FU-701 includes comprehensive migration testing, staged rollout"
1605
- rollback: "Revert migration, restore DB snapshot, disable RLS temporarily"
1606
- - mode: "Graph integrity regressions"
1607
- early_warning: "Integration tests fail, orphan node count > 0"
1608
- mitigation: "FU-103 includes property-based tests, batch-level integration tests"
1609
- rollback: "Disable graph builder, revert to single-record inserts"
1610
- - mode: "MVP date slips by 2 weeks"
1611
- early_warning: "FU completion rate < 80% after 50% of batches, critical FUs delayed"
1612
- mitigation: "Mid-release checkpoint (Checkpoint 1), descope P1 FUs if needed"
1613
- rollback: "Move non-critical FUs to v1.1.0, focus on P0 only"
1614
-
1615
- deployment:
1616
- strategy: "staging_first" # staging_first | canary | full_rollout
1617
- rollback_plan: "Revert to previous release tag, restore DB snapshot if needed"
1618
-
1619
- discovery:
1620
- enabled: true # true | false (recommend true for early releases)
1621
- value_discovery:
1622
- hypothesis: "AI-Native Operators will find value in unified document search via MCP"
1623
- method: "ICP interviews"
1624
- participants:
1625
- - segment: "AI-Native Individual Operators"
1626
- count: 5
1627
- timeline: "Week 1-2"
1628
- success_criteria:
1629
- - "≥70% validate problem exists"
1630
- - "≥60% express interest in solution"
1631
- usability_discovery:
1632
- hypothesis: "Users can complete upload → extraction → timeline workflow without guidance"
1633
- method: "Prototype user testing"
1634
- participants:
1635
- - segment: "AI-Native Individual Operators"
1636
- count: 5
1637
- timeline: "Week 2"
1638
- success_criteria:
1639
- - "≥80% complete workflow successfully"
1640
- business_viability_discovery:
1641
- hypothesis: "Tier 1 ICPs will pay €250-€1,250/month for Neotoma"
1642
- method: "Willingness-to-pay interviews"
1643
- participants:
1644
- - segment: "AI-Native Individual Operators"
1645
- count: 5
1646
- timeline: "Week 2"
1647
- success_criteria:
1648
- - "≥50% express willingness to pay"
1649
-
1650
- monitoring:
1651
- key_metrics:
1652
- - "Upload success rate (target: >95%)"
1653
- - "P95 upload latency (target: <5s)"
1654
- - "DAU (target: 10)"
1655
-
1656
- marketing:
1657
- enabled: true # true for marketed releases, false for not_marketed
1658
- strategy: "hybrid" # pre_launch | post_launch | hybrid | none
1659
-
1660
- user_acquisition:
1661
- pre_launch:
1662
- waitlist_signups: 0
1663
- early_access_participants: 0
1664
- cost: 0
1665
- post_launch:
1666
- day_1_signups: 0
1667
- week_1_signups: 0
1668
- cost: 0
1669
- channels:
1670
- organic: 0
1671
- paid: 0
1672
- referral: 0
1673
-
1674
- reengagement:
1675
- pre_launch:
1676
- teaser_sent: 0
1677
- teaser_open_rate: 0.0
1678
- pre_launch_return_rate: 0.0
1679
- post_launch:
1680
- announcement_sent: 0
1681
- announcement_open_rate: 0.0
1682
- feature_trial_rate: 0.0
1683
- dormant_reactivation_rate: 0.0
1684
- winback_sent: 0
1685
- winback_response_rate: 0.0
1686
- ```
1687
-
1688
- <| tool▁calls▁begin |><| tool▁call▁begin |>
1689
- read_file
1690
-
1691
- ---
1692
-
1693
- ## Marketing Plan Format (Marketed Releases Only)
1694
-
1695
- ```yaml
1696
- marketing:
1697
- strategy: "hybrid" # pre_launch | post_launch | hybrid | none
1698
-
1699
- user_acquisition:
1700
- pre_launch:
1701
- enabled: true
1702
- tactics:
1703
- - type: "waitlist_building"
1704
- timeline: "Week -4 to Week 0"
1705
- channels: ["twitter", "email", "community", "content"]
1706
- target_segments: ["AI-Native Operators", "High-Context Knowledge Workers"]
1707
- goals: ["waitlist_signups", "awareness"]
1708
- metrics:
1709
- - "waitlist_signups (target: X)"
1710
- - "cost_per_waitlist_signup (target: $Y)"
1711
- - "social_engagement_rate (target: Z%)"
1712
-
1713
- - type: "early_access_beta"
1714
- timeline: "Week -2 to Week 0"
1715
- participants: "discovery_interview_participants + waitlist_top_50"
1716
- goals: ["beta_feedback", "advocate_creation", "pre_launch_activation"]
1717
- metrics:
1718
- - "beta_participants (target: X)"
1719
- - "beta_activation_rate (target: Y%)"
1720
- - "advocate_conversion_rate (target: Z%)"
1721
-
1722
- - type: "content_teaser"
1723
- timeline: "Week -2 to Week 0"
1724
- formats: ["blog_post", "demo_video", "twitter_thread"]
1725
- goals: ["awareness", "waitlist_conversion"]
1726
- metrics:
1727
- - "content_views (target: X)"
1728
- - "content_to_waitlist_rate (target: Y%)"
1729
-
1730
- post_launch:
1731
- enabled: true
1732
- tactics:
1733
- - type: "launch_announcement"
1734
- timeline: "Day 0"
1735
- channels: ["product_hunt", "twitter", "email", "blog", "hacker_news"]
1736
- goals: ["new_signups", "press_coverage", "viral_growth"]
1737
- metrics:
1738
- - "day_1_signups (target: X)"
1739
- - "press_mentions (target: Y)"
1740
- - "social_shares (target: Z)"
1741
-
1742
- - type: "paid_acquisition"
1743
- timeline: "Week 1-4"
1744
- channels: ["twitter_ads", "google_ads", "linkedin_ads"]
1745
- target_segments: ["AI-Native Operators", "Knowledge Workers"]
1746
- goals: ["signups", "activated_users"]
1747
- metrics:
1748
- - "cost_per_signup (target: $X)"
1749
- - "signup_to_activation_rate (target: Y%)"
1750
- - "cost_per_activated_user (target: $Z)"
1751
-
1752
- - type: "content_marketing"
1753
- timeline: "Week 1-4"
1754
- formats: ["tutorials", "case_studies", "comparisons"]
1755
- goals: ["organic_signups", "seo_traffic"]
1756
- metrics:
1757
- - "organic_signups (target: X)"
1758
- - "content_to_signup_rate (target: Y%)"
1759
-
1760
- - type: "partnership_outreach"
1761
- timeline: "Week 1-4"
1762
- targets: ["ai_tool_directories", "productivity_communities", "indie_hacker"]
1763
- goals: ["referral_signups", "backlinks"]
1764
- metrics:
1765
- - "referral_signups (target: X)"
1766
- - "backlinks_acquired (target: Y)"
1767
-
1768
- reengagement:
1769
- pre_launch:
1770
- enabled: true
1771
- tactics:
1772
- - type: "feature_teaser_to_existing"
1773
- timeline: "Week -2 to Week 0"
1774
- target_segments: ["dormant_users", "low_activity_users"]
1775
- channels: ["email", "in_app_notification"]
1776
- goals: ["reengagement", "feature_awareness"]
1777
- metrics:
1778
- - "email_open_rate (target: X%)"
1779
- - "click_through_rate (target: Y%)"
1780
- - "pre_launch_return_rate (target: Z%)"
1781
-
1782
- post_launch:
1783
- enabled: true
1784
- tactics:
1785
- - type: "feature_announcement"
1786
- timeline: "Day 0"
1787
- target_segments: ["all_existing_users"]
1788
- channels: ["email", "in_app_notification", "changelog"]
1789
- goals: ["feature_adoption", "reactivation"]
1790
- metrics:
1791
- - "announcement_open_rate (target: X%)"
1792
- - "feature_trial_rate (target: Y%)"
1793
- - "reactivation_rate (target: Z%)"
1794
-
1795
- - type: "dormant_user_winback"
1796
- timeline: "Week 1-2"
1797
- target_segments: ["inactive_30_days", "inactive_90_days"]
1798
- channels: ["email", "personalized_message"]
1799
- messaging: ["new_features", "usage_tips", "success_stories"]
1800
- goals: ["reactivation", "retention"]
1801
- metrics:
1802
- - "winback_email_open_rate (target: X%)"
1803
- - "winback_return_rate (target: Y%)"
1804
- - "winback_activation_rate (target: Z%)"
1805
-
1806
- - type: "usage_nudges"
1807
- timeline: "Week 1-4"
1808
- triggers: ["no_upload_7_days", "no_search_14_days", "no_ai_query_30_days"]
1809
- channels: ["in_app_prompt", "email"]
1810
- goals: ["habit_formation", "feature_discovery"]
1811
- metrics:
1812
- - "nudge_response_rate (target: X%)"
1813
- - "nudge_to_action_rate (target: Y%)"
1814
-
1815
- - type: "success_story_sharing"
1816
- timeline: "Week 2-4"
1817
- format: ["user_case_studies", "usage_tips", "workflow_examples"]
1818
- channels: ["email", "blog", "community"]
1819
- goals: ["inspiration", "advanced_feature_adoption"]
1820
- metrics:
1821
- - "story_engagement_rate (target: X%)"
1822
- - "feature_adoption_from_story (target: Y%)"
1823
-
1824
- user_segments:
1825
- acquisition_targets:
1826
- - segment: "AI-Native Individual Operators"
1827
- priority: "P0"
1828
- channels: ["twitter", "indie_hacker", "product_hunt"]
1829
- - segment: "High-Context Knowledge Workers"
1830
- priority: "P1"
1831
- channels: ["linkedin", "content_marketing", "communities"]
1832
-
1833
- reengagement_targets:
1834
- - segment: "dormant_30_days"
1835
- definition: "No activity in last 30 days"
1836
- priority: "P0"
1837
- tactics: ["winback_email", "feature_announcement"]
1838
- - segment: "dormant_90_days"
1839
- definition: "No activity in last 90 days"
1840
- priority: "P1"
1841
- tactics: ["winback_email", "success_stories"]
1842
- - segment: "low_activity"
1843
- definition: "<2 uploads in last 30 days"
1844
- priority: "P1"
1845
- tactics: ["usage_nudges", "tutorials"]
1846
- - segment: "active_but_unaware"
1847
- definition: "Active but haven't tried new features"
1848
- priority: "P0"
1849
- tactics: ["feature_announcement", "in_app_prompts"]
1850
-
1851
- efficacy_comparison:
1852
- acquisition_metrics:
1853
- pre_launch:
1854
- - "waitlist_signups"
1855
- - "waitlist_to_signup_conversion_rate"
1856
- - "cost_per_waitlist_signup"
1857
- - "awareness_score"
1858
- post_launch:
1859
- - "day_1_signups"
1860
- - "week_1_signups"
1861
- - "cost_per_signup"
1862
- - "signup_to_activation_rate"
1863
- - "organic_vs_paid_signups"
1864
-
1865
- reengagement_metrics:
1866
- pre_launch:
1867
- - "teaser_email_open_rate"
1868
- - "pre_launch_return_rate"
1869
- post_launch:
1870
- - "announcement_open_rate"
1871
- - "feature_trial_rate"
1872
- - "dormant_user_reactivation_rate"
1873
- - "winback_success_rate"
1874
- - "usage_nudge_response_rate"
1875
-
1876
- comparison_framework:
1877
- acquisition:
1878
- - "waitlist_conversion: waitlist_signups → day_1_signups"
1879
- - "cost_efficiency: pre_launch_cpa vs post_launch_cpa"
1880
- - "quality_comparison: waitlist_activation_rate vs paid_activation_rate"
1881
- - "time_to_value: waitlist_signup_to_first_use vs paid_signup_to_first_use"
1882
- reengagement:
1883
- - "pre_launch_teaser_effectiveness: teaser_open_rate → pre_launch_return_rate"
1884
- - "post_launch_announcement_effectiveness: announcement_open_rate → feature_trial_rate"
1885
- - "winback_efficiency: winback_cost vs new_acquisition_cost"
1886
- - "retention_impact: reengaged_user_retention vs new_user_retention"
1887
- ```
1888
-
1889
- ---
1890
-
1891
- ## User Acquisition & Reengagement Tactical Templates
1892
-
1893
- ### User Acquisition Tactics
1894
-
1895
- #### Waitlist Building
1896
-
1897
- - **Timeline:** Week -4 to Week 0
1898
- - **Channels:** Twitter, Email, Community, Content
1899
- - **Messaging:** "Coming soon: [Release feature]. Join waitlist for early access."
1900
- - **CTA:** "Join Waitlist" → Landing page with email capture
1901
- - **Metrics:** Signups, Cost per signup, Conversion rate
1902
-
1903
- #### Early Access Beta
1904
-
1905
- - **Timeline:** Week -2 to Week 0
1906
- - **Participants:** Discovery interview participants + Top 50 waitlist
1907
- - **Process:** Invite → Onboard → Collect feedback → Advocate creation
1908
- - **Metrics:** Participants, Activation rate, Advocate conversion
1909
-
1910
- #### Launch Announcement
1911
-
1912
- - **Timeline:** Day 0
1913
- - **Channels:** Product Hunt, Twitter, Email, Blog, Hacker News
1914
- - **Messaging:** "[Release] is live! [Key features]. Try it now."
1915
- - **CTA:** "Get Started" → Signup flow
1916
- - **Metrics:** Signups, Press mentions, Social shares
1917
-
1918
- #### Paid Acquisition
1919
-
1920
- - **Timeline:** Week 1-4
1921
- - **Channels:** Twitter Ads, Google Ads, LinkedIn Ads
1922
- - **Target:** ICP segments from marketing plan
1923
- - **Metrics:** Cost per signup, Signup to activation rate, Cost per activated user
1924
-
1925
- ### Reengagement Tactics
1926
-
1927
- #### Feature Announcement Email
1928
-
1929
- - **Timeline:** Day 0
1930
- - **Target:** All existing users
1931
- - **Subject:** "New in [Release]: [Feature Name]"
1932
- - **Content:** Feature benefits, How to use, Link to try
1933
- - **Metrics:** Open rate, Click rate, Feature trial rate
1934
-
1935
- #### Dormant User Winback
1936
-
1937
- - **Timeline:** Week 1-2
1938
- - **Target:** Inactive 30+ days
1939
- - **Subject:** "We've been busy. Here's what's new."
1940
- - **Content:** New features summary, Usage tips, Success stories
1941
- - **CTA:** "See What's New" → App with feature highlights
1942
- - **Metrics:** Open rate, Return rate, Reactivation rate
1943
-
1944
- #### Usage Nudges
1945
-
1946
- - **Timeline:** Week 1-4
1947
- - **Triggers:** No upload 7 days, No search 14 days, No AI query 30 days
1948
- - **Format:** In-app prompt + Email
1949
- - **Messaging:** "Haven't uploaded in a while? [Benefit of uploading]"
1950
- - **Metrics:** Response rate, Action completion rate
1951
-
1952
- ---
1953
-
1954
- ## Dependency Graph Algorithm
1955
-
1956
- ```typescript
1957
- interface FUNode {
1958
- id: string;
1959
- dependencies: string[];
1960
- status: "not_started" | "in_progress" | "completed";
1961
- }
1962
-
1963
- function generateExecutionSchedule(fus: FUNode[]): Batch[] {
1964
- const batches: Batch[] = [];
1965
- const remaining = new Set(fus.map((fu) => fu.id));
1966
- const completed = new Set<string>();
1967
-
1968
- while (remaining.size > 0) {
1969
- // Find FUs whose dependencies are all completed
1970
- const readyFUs = Array.from(remaining).filter((fuId) => {
1971
- const fu = fus.find((f) => f.id === fuId);
1972
- return fu.dependencies.every((dep) => completed.has(dep));
1973
- });
1974
-
1975
- if (readyFUs.length === 0 && remaining.size > 0) {
1976
- throw new Error("Circular dependency detected or missing dependencies");
1977
- }
1978
-
1979
- // Create batch with all ready FUs (can execute in parallel)
1980
- batches.push({
1981
- batch_id: batches.length,
1982
- feature_units: readyFUs,
1983
- dependencies: [...completed],
1984
- });
1985
-
1986
- // Mark as completed and remove from remaining
1987
- readyFUs.forEach((fuId) => {
1988
- completed.add(fuId);
1989
- remaining.delete(fuId);
1990
- });
1991
- }
1992
-
1993
- return batches;
1994
- }
1995
- ```
1996
-
1997
- ---
1998
-
1999
- ## Agent Instructions
2000
-
2001
- ### When to Load This Document
2002
-
2003
- Load when:
2004
-
2005
- - User requests creation of a new Release
2006
- - Planning multi-FU work
2007
- - Understanding Release orchestration
2008
- - Setting up Release-level integration tests
2009
-
2010
- ### Required Co-Loaded Documents
2011
-
2012
- - `foundation/development/release_workflow.md` — This document (Release workflow)
2013
- - `docs/feature_units/standards/creating_feature_units.md` — FU creation workflow
2014
- - `docs/feature_units/standards/execution_instructions.md` — FU execution flow
2015
- - `docs/feature_units/standards/multi_agent_orchestration.md` — Multi-agent execution (if `execution_strategy.type: "multi_agent"` in manifest)
2016
- - `docs/feature_units/standards/discovery_process.md` — Discovery process (for Step 0.5)
2017
- - `docs/specs/MVP_FEATURE_UNITS.md` — For MVP Release (first release)
2018
-
2019
- ### Constraints Agents Must Enforce
2020
-
2021
- 1. **NEVER start Release without complete Release plan**
2022
- 2. **ALWAYS validate FU dependencies before generating schedule**
2023
- 3. **REJECT Release if circular dependencies detected**
2024
- 4. **RECOMMEND discovery for all releases** (especially early releases like MVP)
2025
- 5. **ALWAYS get user approval at Checkpoints 0, 0.5 (if discovery conducted), 1 (if configured), 2**
2026
- 6. **ALWAYS run cross-FU integration tests after each batch**
2027
- 7. **NEVER deploy without passing integration tests**
2028
- 8. **REQUIRE test coverage thresholds met** - Critical path services must have 100% coverage, general coverage ≥80% before proceeding to architectural validation
2029
- 9. **REQUIRE architectural completeness validation** - Step 3.5 validation MUST pass before Step 3.6 (database schema, service persistence, endpoint integration, MCP actions, graph integrity, documentation consistency)
2030
- 10. **REQUIRE pre-release validation checklist** - Step 3.6 validation MUST pass before Checkpoint 2 (TypeScript compilation, migrations, schema advisor, MCP startup)
2031
- 11. **BLOCK Checkpoint 2 if architectural gaps found** - Do not proceed to Checkpoint 2 until all architectural completeness validations pass
2032
- 12. **ALWAYS generate release report after build** - Complete release report MUST be generated immediately after all batches complete (Step 1.4), before transitioning to `in_testing` status. Report must include Section 9 (Testing Guidance) with all manual test cases.
2033
- 13. **REQUIRE manual test execution before deployment** - All manual test cases from `release_report.md` Section 9 (Testing Guidance) MUST be executed and all must pass before deployment approval
2034
- 14. **BLOCK deployment if manual tests not executed** - Do not proceed to Step 5 (Deployment) until all manual test cases are executed and documented
2035
- 15. **BLOCK deployment if any manual test fails** - Fix issues and re-execute tests before deployment approval
2036
- 16. **ALWAYS define Release type (marketed/not_marketed) during planning**
2037
- 17. **SKIP marketing activities for not_marketed releases** (Step 4.5 and Step 6 marketing sections)
2038
- 18. **REQUIRE marketing plan for marketed releases** before proceeding to deployment
2039
- 19. **ALL releases deploy to production at neotoma.io** - distinction is marketing, not deployment location
2040
-
2041
- ### Forbidden Patterns
2042
-
2043
- - Starting FUs out of dependency order
2044
- - Skipping cross-FU integration tests
2045
- - Proceeding past checkpoints without user approval
2046
- - Deploying with failing acceptance criteria
2047
- - **Skipping test coverage validation** - Coverage thresholds must be validated in Step 3 before architectural validation
2048
- - **Skipping architectural completeness validation** - Step 3.5 validation must pass before Step 3.6
2049
- - **Skipping pre-release validation checklist** - Step 3.6 validation must pass before Checkpoint 2
2050
- - **Proceeding to Checkpoint 2 with architectural gaps** - Database schema, service persistence, endpoint integration, MCP actions, graph integrity, and documentation consistency must all be validated
2051
- - **Proceeding to Checkpoint 2 with validation failures** - TypeScript compilation, migrations, schema advisor, and MCP startup must all pass
2052
- - **Deploying without executing manual test cases** - All manual test cases from `release_report.md` Section 9 (Testing Guidance) must be executed before deployment
2053
- - **Deploying with failed manual test cases** - All manual test cases must pass before deployment approval
2054
- - **Skipping manual test validation** - Manual test execution and results documentation is required at Checkpoint 2
2055
-
2056
- ---
2057
-
2058
- ## Quick Reference
2059
-
2060
- ### Command Sequence
2061
-
2062
- 1. **Create Release:** Use `Create New Release` command with `release_id` (e.g., `v1.0.0`)
2063
- 2. **Interactive Release planning:** Answer questions at Checkpoint 0 (includes release type, discovery planning, marketing planning for marketed releases)
2064
- 3. **Pre-release discovery (recommended):** Validate assumptions before building at Checkpoint 0.5
2065
- 4. **Review execution schedule:** Approve batch plan and parallelization
2066
- 5. **Autonomous FU execution:** Agent runs FUs in batch order with parallelization (includes continuous discovery)
2067
- 6. **Mid-release review (optional):** Checkpoint 1 after critical-path FUs
2068
- 7. **Integration testing:** Run full test suite, validate coverage thresholds (Step 3)
2069
- 8. **Architectural completeness validation:** Validate database schema, service persistence, endpoint integration, MCP actions, graph integrity, documentation consistency (Step 3.5)
2070
- 9. **Pre-release validation:** Run comprehensive validation checklist - TypeScript compilation, migrations, schema advisor, MCP startup (Step 3.6 - see `docs/developer/pre_release_checklist.md`)
2071
- 10. **Generate release report (REQUIRED):** Create complete release report with Section 9 (Testing Guidance) containing all manual test cases (see Step 1.4)
2072
- 11. **Pre-release sign-off:** Approve deployment at Checkpoint 2
2073
- 10. **Pre-release marketing (marketed only):** Execute pre-launch acquisition and reengagement at Step 4.5
2074
- 11. **Deployment:** Follow deployment plan, deploy to production (neotoma.io), setup monitoring
2075
- 12. **Post-release marketing (marketed only):** Execute post-launch acquisition and reengagement at Step 6
2076
-
2077
- ### Status Flow
2078
-
2079
- **Marketed Release:**
2080
-
2081
- ```
2082
- Planning → Discovery → In Progress → In Testing → Ready for Deployment → Pre-Launch Marketing → Deployed → Post-Launch Marketing → Completed
2083
- ```
2084
-
2085
- **Not Marketed Release:**
2086
-
2087
- ```
2088
- Planning → Discovery → In Progress → In Testing → Ready for Deployment → Deployed → Completed
2089
- ```
2090
-
2091
- - **Planning:** Release plan being defined (includes marketing plan for marketed releases)
2092
- - **Discovery:** Pre-release discovery validating assumptions (if conducted)
2093
- - **In Progress:** FUs being executed in batches (with continuous discovery)
2094
- - **In Testing:** All FUs complete, build successful, manual test execution in progress
2095
- - **Ready for Deployment:** All tests passed (automated + manual), user approved for deployment
2096
- - **Pre-Launch Marketing (marketed only):** Execute pre-launch acquisition and reengagement
2097
- - **Deployed:** Release deployed to production at neotoma.io (all releases)
2098
- - **Post-Launch Marketing (marketed only):** Execute post-launch acquisition and reengagement
2099
- - **Completed:** Release shipped and monitored
2100
-
2101
- **Note:** All releases deploy to production at neotoma.io. The distinction between marketed and not_marketed is whether marketing activities accompany the release.
2102
-
2103
- ---
2104
-
2105
- ## Integration with Existing Workflows
2106
-
2107
- **MVP as First Release:**
2108
-
2109
- The MVP is treated as Release `v1.0.0`. The existing `docs/specs/MVP_EXECUTION_PLAN.md` and `docs/specs/MVP_FEATURE_UNITS.md` serve as the Release plan and FU inventory for `v1.0.0`.
2110
-
2111
- **Future Releases:**
2112
-
2113
- Subsequent releases (v1.1.0, v2.0.0) follow this same Release workflow pattern, each with their own:
2114
-
2115
- - Release plan
2116
- - FU inventory
2117
- - Execution schedule
2118
- - Integration tests
2119
- - Acceptance criteria
2120
-
2121
- **Relationship to Feature Units:**
2122
-
2123
- - Release workflow orchestrates **multiple** Feature Units
2124
- - Feature Unit workflow (`creating_feature_units.md`) handles **individual** FUs
2125
- - Release workflow calls Feature Unit workflow for each FU in the schedule
2126
-
2127
- ---
2128
-
2129
- ## Example: MVP Release Execution (Marketed Release)
2130
-
2131
- ```
2132
- Release: v1.0.0 (MVP) - Marketed Release
2133
- FUs: FU-100, FU-101, FU-102, FU-103, FU-300, FU-700, FU-701
2134
-
2135
- Checkpoint 0: Release Planning
2136
- → User defines scope, FUs, acceptance criteria, discovery plan
2137
- → User defines Release type: marketed
2138
- → User defines marketing strategy: hybrid (pre-launch + post-launch)
2139
- → User defines user acquisition tactics (waitlist, early access, launch announcement)
2140
- → User defines reengagement tactics (feature teasers, winback campaigns)
2141
- → Agent generates dependency graph
2142
- → Agent generates execution schedule:
2143
- Batch 0: FU-100
2144
- Batch 1: FU-101, FU-102 (parallel)
2145
- Batch 2: FU-103
2146
- Batch 3: FU-300, FU-700 (parallel)
2147
- Batch 4: FU-701
2148
- → User approves schedule
2149
-
2150
- Checkpoint 0.5: Pre-Release Discovery (optional but recommended)
2151
- → Value discovery: ICP interviews (Week 1-2)
2152
- → Usability discovery: Prototype user testing (Week 1-2)
2153
- → Business viability discovery: Pricing validation (Week 2)
2154
- → Discovery synthesis: Analyze findings, make go/no-go decision
2155
- → Update Release plan based on learnings
2156
-
2157
- Step 1: Execute Batches (with continuous discovery)
2158
- → Batch 0: FU-100 (File Analysis) executes
2159
- → Cross-FU integration tests pass
2160
- → Batch 1: FU-101 (Entity Resolution) and FU-102 (Event Generation) execute in parallel
2161
- → Cross-FU integration tests pass
2162
- → Batch 2: FU-103 (Graph Builder) executes
2163
- → Cross-FU integration tests pass
2164
- → [Optional] Checkpoint 1: Mid-Release Review
2165
- → Batch 3: FU-300 (Design System) and FU-700 (Auth) execute in parallel
2166
- → Cross-FU integration tests pass
2167
- → Batch 4: FU-701 (RLS) executes
2168
- → Cross-FU integration tests pass
2169
-
2170
- Step 3: Cross-Release Integration Testing
2171
- → Full integration test suite runs
2172
- → All tests pass
2173
- → Test coverage validation: Critical path services ≥100%, general ≥80%
2174
- → Coverage thresholds met
2175
-
2176
- Step 3.5: Architectural Completeness Validation
2177
- → Database schema validation: All required tables exist
2178
- → Service persistence validation: All services persist data
2179
- → Endpoint integration validation: All endpoints call full pipeline
2180
- → MCP action completeness validation: All specified actions implemented
2181
- → Graph integrity validation: All node types validated
2182
- → Documentation consistency validation: status.md and release_report.md consistent
2183
- → All validations pass
2184
-
2185
- Checkpoint 2: Pre-Release Sign-Off
2186
- → User reviews completion status
2187
- → **REQUIRED: User executes all manual test cases from release_report.md Section 9 (Testing Guidance)**
2188
- → **REQUIRED: User documents test results (all must pass)**
2189
- → User approves deployment (only after manual tests executed and passed)
2190
-
2191
- Step 4.5: Pre-Release Marketing (Marketed Release)
2192
- → Launch waitlist building campaigns (Week -4 to Week 0)
2193
- → Open early access beta signups (Week -2)
2194
- → Publish content teasers (Week -2 to Week 0)
2195
- → Send feature teaser emails to existing users
2196
- → Track pre-launch metrics: waitlist signups, beta participants, email opens
2197
- → Generate pre-launch marketing report
2198
-
2199
- Step 5: Deployment
2200
- → Deploy to staging
2201
- → Smoke tests pass
2202
- → Deploy to production
2203
- → Setup monitoring
2204
-
2205
- Step 6: Post-Release Marketing & Validation (Marketed Release)
2206
- → Launch announcement (Product Hunt, social, email, blog) - Day 0
2207
- → Convert waitlist to signups - Day 0
2208
- → Send feature announcement to all existing users - Day 0
2209
- → Launch paid acquisition campaigns - Week 1-4
2210
- → Execute dormant user winback campaigns - Week 1-2
2211
- → Deploy usage nudges - Week 1-4
2212
- → Track post-launch metrics: signups, activation rates, reactivation rates
2213
- → Generate marketing efficacy report (pre vs post comparison)
2214
- → Post-release validation: user interviews, feedback analysis
2215
- → Mark Release as completed
2216
- ```
2217
-
2218
- ## Example: Not Marketed Release Execution
2219
-
2220
- ```
2221
- Release: v0.1.0 (Internal MCP Release) - Not Marketed Release
2222
- FUs: FU-200, FU-201
2223
-
2224
- Checkpoint 0: Release Planning
2225
- → User defines scope, FUs, acceptance criteria
2226
- → User defines Release type: not_marketed
2227
- → Marketing planning skipped (not_marketed release)
2228
- → Agent generates dependency graph
2229
- → Agent generates execution schedule:
2230
- Batch 0: FU-200, FU-201 (parallel)
2231
- → User approves schedule
2232
-
2233
- Step 1: Execute Batches
2234
- → Batch 0: FU-200, FU-201 execute in parallel
2235
- → Cross-FU integration tests pass
2236
-
2237
- Step 3: Cross-Release Integration Testing
2238
- → Full integration test suite runs
2239
- → All tests pass
2240
- → Test coverage validation: Critical path services ≥100%, general ≥80%
2241
- → Coverage thresholds met
2242
-
2243
- Step 3.5: Architectural Completeness Validation
2244
- → Database schema validation: All required tables exist
2245
- → Service persistence validation: All services persist data
2246
- → Endpoint integration validation: All endpoints call full pipeline
2247
- → MCP action completeness validation: All specified actions implemented
2248
- → Graph integrity validation: All node types validated
2249
- → Documentation consistency validation: status.md and release_report.md consistent
2250
- → All validations pass
2251
-
2252
- Checkpoint 2: Pre-Release Sign-Off
2253
- → User reviews completion status
2254
- → **REQUIRED: User executes all manual test cases from release_report.md Section 9 (Testing Guidance)**
2255
- → **REQUIRED: User documents test results (all must pass)**
2256
- → User approves deployment (only after manual tests executed and passed)
2257
-
2258
- Step 5: Deployment
2259
- → Verify manual test execution completed and all passed (pre-deployment check)
2260
- → Deploy to staging
2261
- → Smoke tests pass
2262
- → Deploy to production at neotoma.io
2263
- → Setup monitoring
2264
- → Mark Release as completed
2265
-
2266
- (Step 4.5 and Step 6 marketing steps skipped for not_marketed release)
2267
- ```
2268
-
2269
- ---
2270
-
2271
- ## Troubleshooting
2272
-
2273
- ### "Circular dependency detected" error
2274
-
2275
- **Solution:**
2276
-
2277
- - Review FU dependency graph
2278
- - Identify cycle: FU-A → FU-B → FU-C → FU-A
2279
- - Break cycle by removing one dependency or refactoring FUs
2280
-
2281
- ### Integration tests failing after batch
2282
-
2283
- **Solution:**
2284
-
2285
- - Review integration test failure report
2286
- - Identify which FUs caused regression
2287
- - Fix FU implementation and re-run batch
2288
- - Option: Skip failing FU and continue (if non-critical)
2289
-
2290
- ### Release taking longer than estimated
2291
-
2292
- **Solution:**
2293
-
2294
- - Review execution schedule and batch progress
2295
- - Identify bottlenecks (FUs taking longer than expected)
2296
- - Consider: Adding more parallel capacity, descoping P2 FUs, adjusting timeline