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.
- package/README.md +9 -9
- package/dist/actions.js +2 -2
- package/dist/actions.js.map +1 -1
- package/dist/cli/bootstrap.js +0 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +158 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/crypto/auth.js +1 -1
- package/dist/crypto/auth.js.map +1 -1
- package/dist/mcp_ws_bridge.js +1 -1
- package/dist/mcp_ws_bridge.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/services/field_converters.js +3 -3
- package/dist/services/field_converters.js.map +1 -1
- package/dist/services/field_validation.js +1 -1
- package/dist/services/field_validation.js.map +1 -1
- package/dist/services/mcp_auth.js +1 -1
- package/dist/services/mcp_auth.js.map +1 -1
- package/dist/services/mcp_oauth.js +1 -1
- package/dist/services/mcp_oauth.js.map +1 -1
- package/dist/services/parquet_reader.js +1 -1
- package/dist/services/parquet_reader.js.map +1 -1
- package/dist/services/public_key_registry.js +2 -2
- package/dist/services/public_key_registry.js.map +1 -1
- package/package.json +27 -7
- package/.claude/CLAUDE.md +0 -81
- package/.claude/rules/agent_constraints.md +0 -201
- package/.claude/rules/agent_instructions_sync_rules.md +0 -100
- package/.claude/rules/agent_test_execution.md +0 -358
- package/.claude/rules/autonomous_execution.md +0 -119
- package/.claude/rules/bug_fix_detection.md +0 -145
- package/.claude/rules/bug_learning.md +0 -154
- package/.claude/rules/checkpoint_management.md +0 -194
- package/.claude/rules/configuration_management.md +0 -159
- package/.claude/rules/content_style_enforcement.md +0 -141
- package/.claude/rules/dependency_installation.md +0 -148
- package/.claude/rules/document_loading_order.md +0 -197
- package/.claude/rules/documentation_rules.md +0 -169
- package/.claude/rules/downstream_doc_updates.md +0 -269
- package/.claude/rules/env_check.md +0 -55
- package/.claude/rules/environment_variables_1password.md +0 -315
- package/.claude/rules/environment_variables_env_file.md +0 -124
- package/.claude/rules/feature_unit_detection.md +0 -132
- package/.claude/rules/file_naming.md +0 -34
- package/.claude/rules/git_remote_sync.md +0 -242
- package/.claude/rules/instruction_documentation.md +0 -287
- package/.claude/rules/native_browser_debugging.md +0 -68
- package/.claude/rules/plan_execution_testing.md +0 -101
- package/.claude/rules/plan_format.md +0 -38
- package/.claude/rules/post_build_testing.md +0 -162
- package/.claude/rules/prefer_cli_tools.md +0 -233
- package/.claude/rules/readme_maintenance.md +0 -156
- package/.claude/rules/release_detection.md +0 -95
- package/.claude/rules/release_status_readme_update.md +0 -62
- package/.claude/rules/risk_management.md +0 -170
- package/.claude/rules/security.md +0 -168
- package/.claude/rules/social_media_conventions.md +0 -42
- package/.claude/rules/test_first_workflow.md +0 -344
- package/.claude/rules/worktree_env.md +0 -56
- package/.claude/settings.json +0 -5
- package/.claude/skills/commit.md +0 -762
- package/.claude/skills/create_feature_unit.md +0 -176
- package/.claude/skills/create_release.md +0 -428
- package/.claude/skills/fix_feature_bug.md +0 -93
- package/.claude/skills/pull.md +0 -314
- package/.claude/skills/setup_symlinks.md +0 -228
- package/.codex/config.toml +0 -92
- package/.cursor/commands/analyze.md +0 -574
- package/.cursor/commands/commit.md +0 -768
- package/.cursor/commands/create_feature_unit.md +0 -182
- package/.cursor/commands/create_prototype.md +0 -95
- package/.cursor/commands/create_release.md +0 -434
- package/.cursor/commands/create_rule.md +0 -296
- package/.cursor/commands/debug.md +0 -985
- package/.cursor/commands/final_review.md +0 -97
- package/.cursor/commands/fix_feature_bug.md +0 -99
- package/.cursor/commands/manage_error_debugging.md +0 -186
- package/.cursor/commands/migrate_plans.md +0 -499
- package/.cursor/commands/publish.md +0 -559
- package/.cursor/commands/pull.md +0 -320
- package/.cursor/commands/push.md +0 -259
- package/.cursor/commands/report.md +0 -1506
- package/.cursor/commands/report_error.md +0 -1505
- package/.cursor/commands/run_feature_workflow.md +0 -83
- package/.cursor/commands/setup_commands.md +0 -87
- package/.cursor/commands/setup_symlinks.md +0 -234
- package/.cursor/commands/sync_env_from_1password.md +0 -321
- package/.cursor/commands.json +0 -100
- package/.cursor/environment.json +0 -5
- package/.cursor/mcp.json.template +0 -16
- package/.cursor/plans/agent_skills_analysis_aac0f1b6.plan.md +0 -949
- package/.cursor/plans/agent_trust_framework_eb38ca7d.plan.md +0 -634
- package/.cursor/plans/all-storage-unstructured_provenance_df0b7a8f.plan.md +0 -112
- package/.cursor/plans/automated_error_debugging_cloud_agents.plan.md +0 -526
- package/.cursor/plans/automated_error_debugging_cursor_cli.plan.md +0 -599
- package/.cursor/plans/automated_error_debugging_localhost_clarified.plan.md +0 -510
- package/.cursor/plans/bug_report_and_contribution_client_guidance.plan.md +0 -143
- package/.cursor/plans/convert_1password_sync_to_mcp_343ca61c.plan.md +0 -282
- package/.cursor/plans/debug_pending_errors_command.plan.md +0 -531
- package/.cursor/plans/error_reporting_command_8868f27b.plan.md +0 -255
- package/.cursor/plans/mcp-cli-action-item-01-openapi-core.plan.md +0 -30
- package/.cursor/plans/mcp-cli-action-item-02-openapi-mcp-cli-mapping.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-03-cli-equivalent-logging.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-06-error-taxonomy.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-07-fixture-replay-graphs.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-08-cli-reference-executor.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-09-mcp-tools-atomic.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-10-canonical-walkthrough.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-11-fixtures-expected-outputs.plan.md +0 -18
- package/.cursor/plans/mcp-cli-action-item-12-failure-gallery.plan.md +0 -18
- package/.cursor/plans/mcp_source-path_documentation_5ce48609.plan.md +0 -83
- package/.cursor/plans/me_and_get_authenticated_user_response_updates.plan.md +0 -125
- package/.cursor/plans/multi-llm_provider_support_3fdeb361.plan.md +0 -120
- package/.cursor/plans/plan_migration_command_integrated.plan.md +0 -393
- package/.cursor/plans/schema_icon_enhancements_plan.md +0 -533
- package/.cursor/plans/site-react-tailwind-parity.plan.md +0 -82
- package/.cursor/plans/sources-first-ingestion-v8.plan.md +0 -0
- package/.cursor/plans/sources-first_ingestion_v10_baef2ba2.plan.md +0 -363
- package/.cursor/plans/test_coverage_gap_analysis_9cb70022.plan.md +0 -39
- package/.cursor/port_to_foundation_analysis.md +0 -217
- package/.cursor/rules/agent_constraints.mdc +0 -210
- package/.cursor/rules/autonomous_execution.mdc +0 -128
- package/.cursor/rules/configuration_management.mdc +0 -168
- package/.cursor/rules/cursor_rules_editing.mdc +0 -99
- package/.cursor/rules/cursor_rules_sync.mdc +0 -74
- package/.cursor/rules/cursor_rules_sync_requirement.mdc +0 -156
- package/.cursor/rules/developer_agent_instructions_sync_rules.mdc +0 -109
- package/.cursor/rules/document_loading_order.mdc +0 -206
- package/.cursor/rules/instruction_documentation.mdc +0 -296
- package/.cursor/rules/risk_management.mdc +0 -179
- package/.cursor/rules/security.mdc +0 -177
- package/.cursor/skipped_records/companies_skipped.json +0 -27
- package/.cursor/skipped_records/contacts_skipped.json +0 -23
- package/.cursor/skipped_records/goals_skipped.json +0 -7
- package/.cursor/skipped_records/people_skipped.json +0 -14
- package/.cursor/skipped_records/projects_skipped.json +0 -39
- package/.cursor/worktrees.json +0 -12
- package/.dockerignore +0 -9
- package/.env.example +0 -84
- package/.eslintrc.json +0 -11
- package/.github/workflows/deploy-pages-site.yml +0 -55
- package/.gitmodules +0 -12
- package/.husky/pre-commit +0 -42
- package/.mcp.json +0 -13
- package/.nvmrc +0 -1
- package/.prettierrc.json +0 -7
- package/.vscode/extensions.json +0 -5
- package/.vscode/settings.json +0 -47
- package/CONTRIBUTING.md +0 -23
- package/Dockerfile +0 -28
- package/SECURITY.md +0 -41
- package/components.json +0 -21
- package/cursor_rules_manifest.json +0 -28
- package/dist/__fixtures__/helpers.d.ts +0 -91
- package/dist/__fixtures__/helpers.d.ts.map +0 -1
- package/dist/__fixtures__/helpers.js +0 -384
- package/dist/__fixtures__/helpers.js.map +0 -1
- package/dist/__fixtures__/types.d.ts +0 -285
- package/dist/__fixtures__/types.d.ts.map +0 -1
- package/dist/__fixtures__/types.js +0 -7
- package/dist/__fixtures__/types.js.map +0 -1
- package/dist/__fixtures__/validation.d.ts +0 -45
- package/dist/__fixtures__/validation.d.ts.map +0 -1
- package/dist/__fixtures__/validation.js +0 -311
- package/dist/__fixtures__/validation.js.map +0 -1
- package/dist/config/plaid.d.ts +0 -21
- package/dist/config/plaid.d.ts.map +0 -1
- package/dist/config/plaid.js +0 -38
- package/dist/config/plaid.js.map +0 -1
- package/dist/events/event_emitter.d.ts +0 -24
- package/dist/events/event_emitter.d.ts.map +0 -1
- package/dist/events/event_emitter.js +0 -85
- package/dist/events/event_emitter.js.map +0 -1
- package/dist/events/event_log.d.ts +0 -23
- package/dist/events/event_log.d.ts.map +0 -1
- package/dist/events/event_log.js +0 -77
- package/dist/events/event_log.js.map +0 -1
- package/dist/events/event_schema.d.ts +0 -58
- package/dist/events/event_schema.d.ts.map +0 -1
- package/dist/events/event_schema.js +0 -43
- package/dist/events/event_schema.js.map +0 -1
- package/dist/events/event_validator.d.ts +0 -23
- package/dist/events/event_validator.d.ts.map +0 -1
- package/dist/events/event_validator.js +0 -90
- package/dist/events/event_validator.js.map +0 -1
- package/dist/events/index.d.ts +0 -9
- package/dist/events/index.d.ts.map +0 -1
- package/dist/events/index.js +0 -9
- package/dist/events/index.js.map +0 -1
- package/dist/events/replay.d.ts +0 -27
- package/dist/events/replay.d.ts.map +0 -1
- package/dist/events/replay.js +0 -62
- package/dist/events/replay.js.map +0 -1
- package/dist/hashing/hash_chain.d.ts +0 -31
- package/dist/hashing/hash_chain.d.ts.map +0 -1
- package/dist/hashing/hash_chain.js +0 -52
- package/dist/hashing/hash_chain.js.map +0 -1
- package/dist/integrations/plaid/client.d.ts +0 -53
- package/dist/integrations/plaid/client.d.ts.map +0 -1
- package/dist/integrations/plaid/client.js +0 -224
- package/dist/integrations/plaid/client.js.map +0 -1
- package/dist/integrations/plaid/normalizers.d.ts +0 -26
- package/dist/integrations/plaid/normalizers.d.ts.map +0 -1
- package/dist/integrations/plaid/normalizers.js +0 -166
- package/dist/integrations/plaid/normalizers.js.map +0 -1
- package/dist/integrations/providers/asana.d.ts +0 -9
- package/dist/integrations/providers/asana.d.ts.map +0 -1
- package/dist/integrations/providers/asana.js +0 -62
- package/dist/integrations/providers/asana.js.map +0 -1
- package/dist/integrations/providers/base.d.ts +0 -17
- package/dist/integrations/providers/base.d.ts.map +0 -1
- package/dist/integrations/providers/base.js +0 -64
- package/dist/integrations/providers/base.js.map +0 -1
- package/dist/integrations/providers/facebook.d.ts +0 -9
- package/dist/integrations/providers/facebook.d.ts.map +0 -1
- package/dist/integrations/providers/facebook.js +0 -58
- package/dist/integrations/providers/facebook.js.map +0 -1
- package/dist/integrations/providers/gmail.d.ts +0 -10
- package/dist/integrations/providers/gmail.d.ts.map +0 -1
- package/dist/integrations/providers/gmail.js +0 -67
- package/dist/integrations/providers/gmail.js.map +0 -1
- package/dist/integrations/providers/index.d.ts +0 -6
- package/dist/integrations/providers/index.d.ts.map +0 -1
- package/dist/integrations/providers/index.js +0 -25
- package/dist/integrations/providers/index.js.map +0 -1
- package/dist/integrations/providers/instagram.d.ts +0 -9
- package/dist/integrations/providers/instagram.d.ts.map +0 -1
- package/dist/integrations/providers/instagram.js +0 -47
- package/dist/integrations/providers/instagram.js.map +0 -1
- package/dist/integrations/providers/metadata.d.ts +0 -25
- package/dist/integrations/providers/metadata.d.ts.map +0 -1
- package/dist/integrations/providers/metadata.js +0 -407
- package/dist/integrations/providers/metadata.js.map +0 -1
- package/dist/integrations/providers/types.d.ts +0 -39
- package/dist/integrations/providers/types.d.ts.map +0 -1
- package/dist/integrations/providers/types.js +0 -2
- package/dist/integrations/providers/types.js.map +0 -1
- package/dist/integrations/providers/x.d.ts +0 -9
- package/dist/integrations/providers/x.d.ts.map +0 -1
- package/dist/integrations/providers/x.js +0 -78
- package/dist/integrations/providers/x.js.map +0 -1
- package/dist/reducers/record_reducer.d.ts +0 -25
- package/dist/reducers/record_reducer.d.ts.map +0 -1
- package/dist/reducers/record_reducer.js +0 -93
- package/dist/reducers/record_reducer.js.map +0 -1
- package/dist/reducers/reducer_registry.d.ts +0 -47
- package/dist/reducers/reducer_registry.d.ts.map +0 -1
- package/dist/reducers/reducer_registry.js +0 -82
- package/dist/reducers/reducer_registry.js.map +0 -1
- package/dist/repositories/db/event_repo.d.ts +0 -14
- package/dist/repositories/db/event_repo.d.ts.map +0 -1
- package/dist/repositories/db/event_repo.js +0 -67
- package/dist/repositories/db/event_repo.js.map +0 -1
- package/dist/repositories/db/state_repo.d.ts +0 -14
- package/dist/repositories/db/state_repo.d.ts.map +0 -1
- package/dist/repositories/db/state_repo.js +0 -61
- package/dist/repositories/db/state_repo.js.map +0 -1
- package/dist/repositories/file/event_repo.d.ts +0 -18
- package/dist/repositories/file/event_repo.d.ts.map +0 -1
- package/dist/repositories/file/event_repo.js +0 -148
- package/dist/repositories/file/event_repo.js.map +0 -1
- package/dist/repositories/file/state_repo.d.ts +0 -21
- package/dist/repositories/file/state_repo.d.ts.map +0 -1
- package/dist/repositories/file/state_repo.js +0 -89
- package/dist/repositories/file/state_repo.js.map +0 -1
- package/dist/repositories/sqlite/supabase_adapter.d.ts +0 -135
- package/dist/repositories/sqlite/supabase_adapter.d.ts.map +0 -1
- package/dist/repositories/sqlite/supabase_adapter.js +0 -810
- package/dist/repositories/sqlite/supabase_adapter.js.map +0 -1
- package/dist/services/connectors.d.ts +0 -89
- package/dist/services/connectors.d.ts.map +0 -1
- package/dist/services/connectors.js +0 -248
- package/dist/services/connectors.js.map +0 -1
- package/dist/services/event_generation.d.ts +0 -37
- package/dist/services/event_generation.d.ts.map +0 -1
- package/dist/services/event_generation.js +0 -236
- package/dist/services/event_generation.js.map +0 -1
- package/dist/services/extraction/rules.d.ts +0 -26
- package/dist/services/extraction/rules.d.ts.map +0 -1
- package/dist/services/extraction/rules.js +0 -691
- package/dist/services/extraction/rules.js.map +0 -1
- package/dist/services/file_analysis.d.ts +0 -38
- package/dist/services/file_analysis.d.ts.map +0 -1
- package/dist/services/file_analysis.js +0 -325
- package/dist/services/file_analysis.js.map +0 -1
- package/dist/services/graph_builder.d.ts +0 -51
- package/dist/services/graph_builder.d.ts.map +0 -1
- package/dist/services/graph_builder.js +0 -279
- package/dist/services/graph_builder.js.map +0 -1
- package/dist/services/importers.d.ts +0 -28
- package/dist/services/importers.d.ts.map +0 -1
- package/dist/services/importers.js +0 -174
- package/dist/services/importers.js.map +0 -1
- package/dist/services/observation_ingestion.d.ts +0 -26
- package/dist/services/observation_ingestion.d.ts.map +0 -1
- package/dist/services/observation_ingestion.js +0 -364
- package/dist/services/observation_ingestion.js.map +0 -1
- package/dist/services/payload_compiler.d.ts +0 -36
- package/dist/services/payload_compiler.d.ts.map +0 -1
- package/dist/services/payload_compiler.js +0 -121
- package/dist/services/payload_compiler.js.map +0 -1
- package/dist/services/payload_identity.d.ts +0 -35
- package/dist/services/payload_identity.d.ts.map +0 -1
- package/dist/services/payload_identity.js +0 -101
- package/dist/services/payload_identity.js.map +0 -1
- package/dist/services/payload_schema.d.ts +0 -104
- package/dist/services/payload_schema.d.ts.map +0 -1
- package/dist/services/payload_schema.js +0 -46
- package/dist/services/payload_schema.js.map +0 -1
- package/dist/services/plaid_sync.d.ts +0 -77
- package/dist/services/plaid_sync.d.ts.map +0 -1
- package/dist/services/plaid_sync.js +0 -273
- package/dist/services/plaid_sync.js.map +0 -1
- package/dist/services/record_comparison.d.ts +0 -29
- package/dist/services/record_comparison.d.ts.map +0 -1
- package/dist/services/record_comparison.js +0 -84
- package/dist/services/record_comparison.js.map +0 -1
- package/dist/services/records.d.ts +0 -31
- package/dist/services/records.d.ts.map +0 -1
- package/dist/services/records.js +0 -184
- package/dist/services/records.js.map +0 -1
- package/dist/services/search.d.ts +0 -15
- package/dist/services/search.d.ts.map +0 -1
- package/dist/services/search.js +0 -81
- package/dist/services/search.js.map +0 -1
- package/dist/services/summary.d.ts +0 -5
- package/dist/services/summary.d.ts.map +0 -1
- package/dist/services/summary.js +0 -118
- package/dist/services/summary.js.map +0 -1
- package/docs/NEOTOMA_MANIFEST.md +0 -152
- package/docs/api/rest_api.md +0 -466
- package/docs/architecture/agentic_portfolio_overview.md +0 -99
- package/docs/architecture/agentic_wallet_overview.md +0 -93
- package/docs/architecture/architectural_decisions.md +0 -462
- package/docs/architecture/architecture.md +0 -842
- package/docs/architecture/blockchain_readiness_assessment.md +0 -248
- package/docs/architecture/consistency.md +0 -539
- package/docs/architecture/conversational_ux_architecture.md +0 -240
- package/docs/architecture/determinism.md +0 -762
- package/docs/architecture/idempotence_pattern.md +0 -139
- package/docs/architecture/mcp_actions_assessment.md +0 -182
- package/docs/architecture/ner_vs_schema_first_extraction.md +0 -280
- package/docs/architecture/schema_expansion.md +0 -260
- package/docs/architecture/schema_handling.md +0 -209
- package/docs/architecture/source_material_model.md +0 -281
- package/docs/assets/neotoma_banner.png +0 -0
- package/docs/conventions/TEST_EXECUTION_IMPROVEMENTS.md +0 -205
- package/docs/conventions/always_on_rules_review.md +0 -66
- package/docs/conventions/code_conventions_implementation.md +0 -111
- package/docs/conventions/code_conventions_plan.md +0 -124
- package/docs/conventions/code_review_summary.md +0 -96
- package/docs/conventions/documentation_standards.md +0 -104
- package/docs/conventions/estimation_methodology.md +0 -146
- package/docs/conventions/file_naming_migration_status.md +0 -94
- package/docs/conventions/readme_generation_framework.md +0 -230
- package/docs/conventions/time_tracking_template.md +0 -60
- package/docs/conventions/writing_style_guide.md +0 -252
- package/docs/developer/agent_cli_configuration.md +0 -140
- package/docs/developer/agent_instructions_sync_rules.mdc +0 -97
- package/docs/developer/canonical_walkthrough.md +0 -137
- package/docs/developer/cli_agent_instructions.md +0 -141
- package/docs/developer/cli_overview.md +0 -207
- package/docs/developer/cli_reference.md +0 -518
- package/docs/developer/developer_preview_launch_checklist.md +0 -128
- package/docs/developer/developer_preview_storage.md +0 -35
- package/docs/developer/developer_release_manual_test_checklist.md +0 -209
- package/docs/developer/development_workflow.md +0 -308
- package/docs/developer/environment/CONNECTOR_SECRET_KEY_SETUP.md +0 -96
- package/docs/developer/environment/DEV_CONNECTOR_SECRET_KEY_EXPLANATION.md +0 -80
- package/docs/developer/environment/ENV_MAPPINGS_STATUS.md +0 -86
- package/docs/developer/environment/ENV_VAR_NAMING_STRATEGY.md +0 -145
- package/docs/developer/environment/MIGRATION_TO_SINGLE_VAR_NAMES.md +0 -89
- package/docs/developer/environment/QUICK_START_1PASSWORD.md +0 -126
- package/docs/developer/environment/README.md +0 -27
- package/docs/developer/environment/SETUP_ENV_MAPPINGS.md +0 -256
- package/docs/developer/environment_distinction_audit.md +0 -43
- package/docs/developer/fix_doc_inconsistencies_plan.md +0 -63
- package/docs/developer/getting_started.md +0 -100
- package/docs/developer/import_interpretation_debug.md +0 -69
- package/docs/developer/launchd_dev_servers.md +0 -51
- package/docs/developer/launchd_watch_build.md +0 -37
- package/docs/developer/mcp/instructions.md +0 -71
- package/docs/developer/mcp/invalid_connection_id_handling.md +0 -181
- package/docs/developer/mcp/tool_descriptions.yaml +0 -41
- package/docs/developer/mcp/unauthenticated.md +0 -30
- package/docs/developer/mcp_chatgpt_setup.md +0 -159
- package/docs/developer/mcp_claude_code_setup.md +0 -519
- package/docs/developer/mcp_https_testing.md +0 -178
- package/docs/developer/mcp_https_testing_status.md +0 -130
- package/docs/developer/mcp_https_tunnel_status.md +0 -147
- package/docs/developer/mcp_oauth_migration_guide.md +0 -196
- package/docs/developer/mcp_overview.md +0 -145
- package/docs/developer/mcp_server_examples_from_cursor_docs.md +0 -485
- package/docs/developer/observation_architecture_documentation_integration.md +0 -368
- package/docs/developer/release_orchestrator.md +0 -197
- package/docs/developer/repository_cleanup_plan.md +0 -87
- package/docs/developer/resolved_blockers.md +0 -49
- package/docs/developer/schema_initialization.md +0 -182
- package/docs/developer/secrets/README.md +0 -15
- package/docs/developer/secrets/secrets_architecture.md +0 -95
- package/docs/developer/secrets/secrets_manager_value.md +0 -53
- package/docs/developer/secrets/secrets_secure_approach.md +0 -103
- package/docs/developer/secrets/secrets_setup.md +0 -116
- package/docs/developer/shared_components_submodule_setup.md +0 -273
- package/docs/developer/spec_compliance_validation_system.md +0 -261
- package/docs/developer/test_coverage_gap_analysis_plan.md +0 -36
- package/docs/developer/tunnels.md +0 -327
- package/docs/developer/vite_troubleshooting.md +0 -111
- package/docs/doc_dependencies.yaml +0 -497
- package/docs/examples/schema_breaking_change_reconciliation.md +0 -515
- package/docs/feature_units/completed/FU-050/FU-050_spec.md +0 -341
- package/docs/feature_units/completed/FU-050/manifest.yaml +0 -330
- package/docs/feature_units/completed/FU-051/FU-051_spec.md +0 -173
- package/docs/feature_units/completed/FU-051/manifest.yaml +0 -229
- package/docs/feature_units/completed/FU-052/FU-052_spec.md +0 -158
- package/docs/feature_units/completed/FU-052/manifest.yaml +0 -188
- package/docs/feature_units/completed/FU-053/FU-053_spec.md +0 -144
- package/docs/feature_units/completed/FU-053/manifest.yaml +0 -145
- package/docs/feature_units/completed/FU-054/FU-054_spec.md +0 -144
- package/docs/feature_units/completed/FU-054/manifest.yaml +0 -139
- package/docs/feature_units/completed/FU-702/billing_spec.md +0 -413
- package/docs/feature_units/completed/FU-702/manifest.yaml +0 -418
- package/docs/feature_units/standards/DISCOVERY_CAGAN_ALIGNMENT.md +0 -214
- package/docs/feature_units/standards/creating_feature_units.md +0 -385
- package/docs/feature_units/standards/discovery_process.md +0 -821
- package/docs/feature_units/standards/error_protocol.md +0 -60
- package/docs/feature_units/standards/execution_instructions.md +0 -87
- package/docs/feature_units/standards/feature_unit_spec.md +0 -325
- package/docs/feature_units/standards/integration_test_execution.md +0 -127
- package/docs/feature_units/standards/manifest_template.yaml +0 -370
- package/docs/feature_units/standards/model_selection.md +0 -207
- package/docs/feature_units/standards/multi_agent_orchestration.md +0 -411
- package/docs/feature_units/standards/release_report_generation.md +0 -448
- package/docs/feature_units/standards/release_report_spec.md +0 -444
- package/docs/feature_units/standards/release_report_template.md +0 -76
- package/docs/feature_units/standards/spec_compliance_validation.md +0 -147
- package/docs/feature_units/standards/worker_agent_template.md +0 -191
- package/docs/foundation/ai_safety.md +0 -10
- package/docs/foundation/composability_analysis.md +0 -308
- package/docs/foundation/core_identity.md +0 -50
- package/docs/foundation/documentation_design_system.md +0 -505
- package/docs/foundation/entity_resolution.md +0 -34
- package/docs/foundation/layered_architecture.md +0 -99
- package/docs/foundation/mmry_comparison.md +0 -176
- package/docs/foundation/philosophy.md +0 -103
- package/docs/foundation/problem_statement.md +0 -41
- package/docs/foundation/product_positioning.md +0 -69
- package/docs/foundation/product_principles.md +0 -18
- package/docs/foundation/quality_requirements.md +0 -68
- package/docs/foundation/timeline_events.md +0 -19
- package/docs/foundation/user_workflows.md +0 -38
- package/docs/implementation/PARQUET_MCP_SERVER_FIXES.md +0 -373
- package/docs/implementation/PARQUET_SUPPORT_IMPLEMENTATION.md +0 -207
- package/docs/infrastructure/deployment.md +0 -372
- package/docs/legal/README.md +0 -51
- package/docs/legal/compliance.md +0 -854
- package/docs/legal/privacy_policy.md +0 -114
- package/docs/legal/privacy_policy_changelog.md +0 -49
- package/docs/legal/terms_of_service.md +0 -185
- package/docs/legal/terms_of_service_changelog.md +0 -62
- package/docs/migration/llm_extraction_removal.md +0 -387
- package/docs/migration/llm_interpretation_docs_update.md +0 -130
- package/docs/observability/logging.md +0 -50
- package/docs/observability/metrics_standard.md +0 -38
- package/docs/observability/tracing.md +0 -41
- package/docs/operations/debugging/README.md +0 -11
- package/docs/operations/debugging/error_debug_instructions.md +0 -55
- package/docs/operations/health_check.md +0 -73
- package/docs/operations/runbook.md +0 -88
- package/docs/prompts/llm_extraction_system_prompt.md +0 -31
- package/docs/proposals/IMPLEMENTATION_SUMMARY.md +0 -198
- package/docs/proposals/MIGRATION_REPORT.md +0 -65
- package/docs/proposals/PROPOSAL_TEMPLATE.md +0 -58
- package/docs/proposals/README.md +0 -57
- package/docs/proposals/agent-trust-framework.md +0 -621
- package/docs/proposals/conversation_turn_identity_reverts_forks.md +0 -144
- package/docs/proposals/document-v023-release.md +0 -898
- package/docs/proposals/iterative_chat_store_mcp_instructions.md +0 -155
- package/docs/proposals/llm_sampling_parameters_interpretation_config.md +0 -196
- package/docs/proposals/mcp-cli-action-items.md +0 -207
- package/docs/proposals/plan-migration-command-integrated-with-commit.md +0 -386
- package/docs/proposals/sources-first-ingestion-v10.md +0 -348
- package/docs/proposals/test-coverage-gap-analysis.md +0 -26
- package/docs/prototypes/PROTOTYPE_QUICKSTART.md +0 -56
- package/docs/prototypes/README.md +0 -74
- package/docs/reference/error_codes.md +0 -223
- package/docs/releases/archived/aspirational/README.md +0 -57
- package/docs/releases/archived/aspirational/v0.4.0/manifest.yaml +0 -94
- package/docs/releases/archived/aspirational/v0.4.0/release_plan.md +0 -51
- package/docs/releases/archived/aspirational/v0.5.0/manifest.yaml +0 -152
- package/docs/releases/archived/aspirational/v0.5.0/release_plan.md +0 -236
- package/docs/releases/archived/aspirational/v0.9.0/README.md +0 -78
- package/docs/releases/archived/aspirational/v0.9.0/manifest.yaml +0 -111
- package/docs/releases/archived/aspirational/v0.9.0/release_plan.md +0 -238
- package/docs/releases/archived/aspirational/v0.9.0/status.md +0 -89
- package/docs/releases/archived/aspirational/v1.0.0/UI_REFACTORING_PLAN.md +0 -239
- package/docs/releases/archived/aspirational/v1.0.0/acceptance_criteria.md +0 -88
- package/docs/releases/archived/aspirational/v1.0.0/approach_comparison.md +0 -558
- package/docs/releases/archived/aspirational/v1.0.0/architectural_impact_chat_ui.md +0 -195
- package/docs/releases/archived/aspirational/v1.0.0/blog_post_update_directives.md +0 -491
- package/docs/releases/archived/aspirational/v1.0.0/business_viability_discovery_plan.md +0 -135
- package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-100_compliance.md +0 -23
- package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-101_compliance.md +0 -23
- package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-102_compliance.md +0 -23
- package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-103_compliance.md +0 -23
- package/docs/releases/archived/aspirational/v1.0.0/compliance_reports/FU-105_compliance.md +0 -23
- package/docs/releases/archived/aspirational/v1.0.0/continuous_discovery_log.md +0 -77
- package/docs/releases/archived/aspirational/v1.0.0/continuous_discovery_plan.md +0 -145
- package/docs/releases/archived/aspirational/v1.0.0/cross_platform_signal_detection.md +0 -181
- package/docs/releases/archived/aspirational/v1.0.0/deployment_strategy.md +0 -115
- package/docs/releases/archived/aspirational/v1.0.0/discovery_checklist.md +0 -195
- package/docs/releases/archived/aspirational/v1.0.0/discovery_filtering_criteria.md +0 -197
- package/docs/releases/archived/aspirational/v1.0.0/discovery_filtering_keywords.md +0 -143
- package/docs/releases/archived/aspirational/v1.0.0/discovery_lead_sourcing_tools.md +0 -438
- package/docs/releases/archived/aspirational/v1.0.0/discovery_plan.md +0 -185
- package/docs/releases/archived/aspirational/v1.0.0/execution_schedule.md +0 -130
- package/docs/releases/archived/aspirational/v1.0.0/feasibility_validation_plan.md +0 -116
- package/docs/releases/archived/aspirational/v1.0.0/handle_registration.md +0 -263
- package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-100_implementation_log.md +0 -51
- package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-101_implementation_log.md +0 -51
- package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-102_implementation_log.md +0 -51
- package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-103_implementation_log.md +0 -51
- package/docs/releases/archived/aspirational/v1.0.0/implementation_logs/FU-105_implementation_log.md +0 -51
- package/docs/releases/archived/aspirational/v1.0.0/manifest.yaml +0 -160
- package/docs/releases/archived/aspirational/v1.0.0/marketing_agent_instructions.md +0 -209
- package/docs/releases/archived/aspirational/v1.0.0/marketing_automation_implementation.md +0 -996
- package/docs/releases/archived/aspirational/v1.0.0/marketing_automation_plan.md +0 -291
- package/docs/releases/archived/aspirational/v1.0.0/marketing_dogfooding_analysis.md +0 -295
- package/docs/releases/archived/aspirational/v1.0.0/marketing_metrics_plan.md +0 -120
- package/docs/releases/archived/aspirational/v1.0.0/marketing_plan.md +0 -280
- package/docs/releases/archived/aspirational/v1.0.0/marketing_segments_plan.md +0 -128
- package/docs/releases/archived/aspirational/v1.0.0/participant_recruitment_log.md +0 -392
- package/docs/releases/archived/aspirational/v1.0.0/post_launch_marketing_plan.md +0 -252
- package/docs/releases/archived/aspirational/v1.0.0/pre_launch_marketing_plan.md +0 -748
- package/docs/releases/archived/aspirational/v1.0.0/pre_mortem.md +0 -122
- package/docs/releases/archived/aspirational/v1.0.0/subscription_detection_strategy.md +0 -160
- package/docs/releases/archived/aspirational/v1.0.0/usability_discovery_plan.md +0 -115
- package/docs/releases/archived/aspirational/v1.0.0/value_discovery_plan.md +0 -279
- package/docs/releases/archived/aspirational/v1.0.0/visibility_timing_analysis.md +0 -402
- package/docs/releases/archived/aspirational/v2.0.0/status.md +0 -120
- package/docs/releases/archived/aspirational/v2.1.0/manifest.yaml +0 -469
- package/docs/releases/archived/aspirational/v2.2.0/manifest.yaml +0 -165
- package/docs/releases/archived/aspirational/v2.2.0/status.md +0 -283
- package/docs/releases/compliance_reports/all_fus_compliance_summary.md +0 -112
- package/docs/releases/in_progress/v0.2.0/agent_status.json +0 -420
- package/docs/releases/in_progress/v0.2.0/status.md +0 -90
- package/docs/releases/v0.1.0/agent_status.json +0 -242
- package/docs/releases/v0.1.0/agent_status.json.example +0 -76
- package/docs/releases/v0.1.0/compliance_reports/FU-000_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-002_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-050_compliance.md +0 -59
- package/docs/releases/v0.1.0/compliance_reports/FU-051_compliance.md +0 -39
- package/docs/releases/v0.1.0/compliance_reports/FU-052_compliance.md +0 -44
- package/docs/releases/v0.1.0/compliance_reports/FU-053_compliance.md +0 -25
- package/docs/releases/v0.1.0/compliance_reports/FU-054_compliance.md +0 -31
- package/docs/releases/v0.1.0/compliance_reports/FU-055_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-056_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-057_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-058_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-059_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-061_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-100_compliance.md +0 -97
- package/docs/releases/v0.1.0/compliance_reports/FU-104_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-200_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-201_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-202_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-203_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-204_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-205_compliance.md +0 -23
- package/docs/releases/v0.1.0/compliance_reports/FU-206_compliance.md +0 -23
- package/docs/releases/v0.1.0/execution_schedule.md +0 -174
- package/docs/releases/v0.1.0/fu_spec_status.md +0 -83
- package/docs/releases/v0.1.0/implementation_logs/FU-000_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-002_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-050_implementation_log.md +0 -111
- package/docs/releases/v0.1.0/implementation_logs/FU-051_implementation_log.md +0 -91
- package/docs/releases/v0.1.0/implementation_logs/FU-052_implementation_log.md +0 -81
- package/docs/releases/v0.1.0/implementation_logs/FU-053_implementation_log.md +0 -71
- package/docs/releases/v0.1.0/implementation_logs/FU-054_implementation_log.md +0 -71
- package/docs/releases/v0.1.0/implementation_logs/FU-055_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-056_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-057_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-058_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-059_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-061_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-100_implementation_log.md +0 -251
- package/docs/releases/v0.1.0/implementation_logs/FU-104_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-200_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-201_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-202_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-203_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-204_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-205_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/implementation_logs/FU-206_implementation_log.md +0 -51
- package/docs/releases/v0.1.0/integration_tests.md +0 -316
- package/docs/releases/v0.1.0/manifest.yaml +0 -291
- package/docs/releases/v0.1.0/mcp_actions_status.md +0 -101
- package/docs/releases/v0.1.0/release_plan.md +0 -196
- package/docs/releases/v0.1.0/status.md +0 -148
- package/docs/releases/v0.1.0/test_coverage_setup_notes.md +0 -39
- package/docs/releases/v0.1.1/manifest.yaml +0 -153
- package/docs/releases/v0.2.0/status.md +0 -167
- package/docs/releases/v0.2.1/acceptance_criteria.md +0 -200
- package/docs/releases/v0.2.1/execution_schedule.md +0 -114
- package/docs/releases/v0.2.1/feature_unit_overview.md +0 -246
- package/docs/releases/v0.2.1/integration_tests.md +0 -281
- package/docs/releases/v0.2.1/manifest.yaml +0 -141
- package/docs/releases/v0.2.1/release_plan.md +0 -211
- package/docs/releases/v0.2.1/status.md +0 -106
- package/docs/releases/v0.2.15/README.md +0 -79
- package/docs/releases/v0.2.15/migrations/01_add_source_graph_edges.sql +0 -109
- package/docs/releases/v0.2.15/migrations/02_drop_legacy_tables.sql +0 -130
- package/docs/releases/v0.2.2/execution_schedule.md +0 -123
- package/docs/releases/v0.2.2/integration_tests.md +0 -258
- package/docs/releases/v0.2.2/manifest.yaml +0 -108
- package/docs/releases/v0.2.2/release_plan.md +0 -246
- package/docs/releases/v0.2.2/status.md +0 -113
- package/docs/releases/v0.2.3/agent_skills_alignment.md +0 -738
- package/docs/releases/v0.2.3/enhancements_summary.md +0 -309
- package/docs/releases/v0.2.3/integration_guide.md +0 -3400
- package/docs/releases/v0.2.3/manifest.yaml +0 -212
- package/docs/releases/v0.2.3/mcp_actions.md +0 -491
- package/docs/releases/v0.2.3/plan_completion_review.md +0 -410
- package/docs/releases/v0.2.3/release_overview.md +0 -13
- package/docs/releases/v0.2.3/schema_extensions/agent_decision.md +0 -311
- package/docs/releases/v0.2.3/schema_extensions/agent_session.md +0 -464
- package/docs/releases/v0.2.3/schema_extensions/architectural_decision.md +0 -390
- package/docs/releases/v0.2.3/schema_extensions/codebase_entity.md +0 -404
- package/docs/releases/v0.2.3/schema_extensions/feature_unit.md +0 -307
- package/docs/releases/v0.2.3/schema_extensions/release.md +0 -338
- package/docs/releases/v0.2.3/schema_extensions/validation_result.md +0 -377
- package/docs/releases/v0.2.3/spec.md +0 -569
- package/docs/releases/v0.3.0/manifest.yaml +0 -77
- package/docs/releases/v0.3.0/migrations/01_add_source_graph_edges.sql +0 -110
- package/docs/releases/v0.3.0/migrations/02_drop_legacy_tables.sql +0 -131
- package/docs/releases/v0.3.0/status.md +0 -193
- package/docs/reports/AUTO_ENHANCEMENT_TEST_RESULTS.md +0 -51
- package/docs/reports/AUTO_ENHANCEMENT_TEST_SUMMARY.md +0 -64
- package/docs/reports/BIGINT_SERIALIZATION_DEBUG.md +0 -75
- package/docs/reports/BUG_LEARNING_PROTOCOL_ESTABLISHED.md +0 -179
- package/docs/reports/CONSOLE_LOG_MCP_PROTOCOL_FIX.md +0 -58
- package/docs/reports/CRYPTO_TRANSACTION_DISCREPANCY_RESOLUTION.md +0 -108
- package/docs/reports/CRYPTO_TRANSACTION_SIDE_BY_SIDE_COMPARISON.md +0 -165
- package/docs/reports/FAILING_TESTS_ANALYSIS.md +0 -140
- package/docs/reports/FAILING_TESTS_SUMMARY.md +0 -106
- package/docs/reports/FINAL_PARQUET_COMPARISON.md +0 -226
- package/docs/reports/FINAL_TEST_STATUS.md +0 -145
- package/docs/reports/LEGACY_REMOVAL_SUMMARY.md +0 -108
- package/docs/reports/MCP_ACTIONS_SUMMARY.md +0 -329
- package/docs/reports/MCP_ACTION_TEST_COVERAGE.md +0 -132
- package/docs/reports/MCP_SPEC_COMPARISON.md +0 -306
- package/docs/reports/MCP_SPEC_COMPARISON_UPDATED.md +0 -247
- package/docs/reports/MCP_SPEC_VOCABULARY_CONFORMANCE.md +0 -220
- package/docs/reports/MCP_TEST_SUITE_IMPLEMENTATION.md +0 -180
- package/docs/reports/MCP_TEST_SUITE_RESULTS.md +0 -182
- package/docs/reports/PARQUET_MCP_BUG_REPORT.md +0 -70
- package/docs/reports/PARQUET_MCP_STORAGE_COMPLETE.md +0 -214
- package/docs/reports/PARQUET_SAMPLE_FILES_CREATED.md +0 -49
- package/docs/reports/PARQUET_STORAGE_SUCCESS.md +0 -263
- package/docs/reports/PARQUET_VS_NEOTOMA_COMPARISON.md +0 -241
- package/docs/reports/REIMPORT_TASKS_BLOCKER.md +0 -50
- package/docs/reports/SAMPLE_FILE_STRUCTURE_UPDATE.md +0 -68
- package/docs/reports/SAMPLE_PARQUET_IMPORT_TEST_RESULTS.md +0 -91
- package/docs/reports/SCHEMA_ENHANCEMENT_STATUS.md +0 -84
- package/docs/reports/SCHEMA_ENHANCEMENT_TEST_RESULTS.md +0 -78
- package/docs/reports/TASK_RELOAD_BLOCKER.md +0 -40
- package/docs/reports/TEST_FIXES_SUMMARY.md +0 -96
- package/docs/reports/VOCABULARY_CONFORMANCE_REVIEW.md +0 -177
- package/docs/reports/WHY_TESTS_MISSED_BIGINT_ISSUE.md +0 -144
- package/docs/reports/beyond_rag_agent_memory_neotoma_architecture_report.md +0 -103
- package/docs/reports/dhh_clankers_with_claws_neotoma_report.md +0 -102
- package/docs/reports/dr_cintas_pageindex_structure_over_embeddings_report.md +0 -77
- package/docs/reports/failure_gallery.md +0 -97
- package/docs/reports/fixture_expansion_summary.md +0 -204
- package/docs/reports/mcp_action_names_review.md +0 -131
- package/docs/reports/mcp_cli_action_items_fidelity_report.md +0 -189
- package/docs/reports/neotoma_pdf_interpreted_as_note_investigation_2026_02_23.md +0 -89
- package/docs/reports/plan_execution_changes_report.md +0 -122
- package/docs/reports/schema_distinctions.md +0 -210
- package/docs/reports/schema_redundancy_analysis.md +0 -304
- package/docs/specs/FUNCTIONAL_REQUIREMENTS.md +0 -160
- package/docs/specs/GENERAL_REQUIREMENTS.md +0 -30
- package/docs/specs/ICP_PRIORITY_TIERS.md +0 -132
- package/docs/specs/ICP_PROFILES.md +0 -2345
- package/docs/specs/INTERNAL_MCP_RELEASE.md +0 -300
- package/docs/specs/MANIFEST_ALIGNMENT_SUMMARY.md +0 -162
- package/docs/specs/MCP_SPEC.md +0 -2275
- package/docs/specs/METRICS_REQUIREMENTS.md +0 -386
- package/docs/specs/MVP_EXECUTION_PLAN.md +0 -956
- package/docs/specs/MVP_FEATURE_UNITS.md +0 -1821
- package/docs/specs/MVP_OVERVIEW.md +0 -184
- package/docs/specs/NONFUNCTIONAL_REQUIREMENTS.md +0 -98
- package/docs/specs/ONBOARDING_SPEC.md +0 -591
- package/docs/specs/PARQUET_MCP_RESOURCES_SPEC.md +0 -328
- package/docs/specs/TEST_PLAN.md +0 -116
- package/docs/specs/UI_SPEC.md +0 -93
- package/docs/subsystems/accessibility.md +0 -48
- package/docs/subsystems/auth.md +0 -170
- package/docs/subsystems/deletion.md +0 -494
- package/docs/subsystems/entity_merge.md +0 -300
- package/docs/subsystems/errors.md +0 -82
- package/docs/subsystems/events.md +0 -50
- package/docs/subsystems/i18n.md +0 -42
- package/docs/subsystems/ingestion/ingestion.md +0 -772
- package/docs/subsystems/ingestion/state_machines.md +0 -49
- package/docs/subsystems/observation_architecture.md +0 -379
- package/docs/subsystems/privacy.md +0 -71
- package/docs/subsystems/record_types.md +0 -753
- package/docs/subsystems/reducer.md +0 -436
- package/docs/subsystems/relationships.md +0 -455
- package/docs/subsystems/schema.md +0 -1213
- package/docs/subsystems/schema_registry.md +0 -588
- package/docs/subsystems/schema_snapshots/.gitkeep +0 -6
- package/docs/subsystems/schema_snapshots/README.md +0 -209
- package/docs/subsystems/schema_snapshots/account/v1.0.json +0 -52
- package/docs/subsystems/schema_snapshots/address/v1.0.json +0 -79
- package/docs/subsystems/schema_snapshots/agent_message/v1.0.json +0 -96
- package/docs/subsystems/schema_snapshots/balance/v1.0.json +0 -64
- package/docs/subsystems/schema_snapshots/company/v1.0.json +0 -86
- package/docs/subsystems/schema_snapshots/contact/v1.0.json +0 -68
- package/docs/subsystems/schema_snapshots/contact/v1.1.json +0 -112
- package/docs/subsystems/schema_snapshots/contract/v1.0.json +0 -48
- package/docs/subsystems/schema_snapshots/conversation/v1.0.json +0 -102
- package/docs/subsystems/schema_snapshots/crypto_transaction/v1.0.json +0 -76
- package/docs/subsystems/schema_snapshots/email/v1.0.json +0 -87
- package/docs/subsystems/schema_snapshots/event/v1.0.json +0 -79
- package/docs/subsystems/schema_snapshots/exercise/v1.0.json +0 -72
- package/docs/subsystems/schema_snapshots/fixed_cost/v1.0.json +0 -112
- package/docs/subsystems/schema_snapshots/flow/v1.0.json +0 -84
- package/docs/subsystems/schema_snapshots/goal/v1.0.json +0 -71
- package/docs/subsystems/schema_snapshots/holding/v1.0.json +0 -75
- package/docs/subsystems/schema_snapshots/income/v1.0.json +0 -68
- package/docs/subsystems/schema_snapshots/liability/v1.0.json +0 -60
- package/docs/subsystems/schema_snapshots/location/v1.0.json +0 -79
- package/docs/subsystems/schema_snapshots/meal/v1.0.json +0 -68
- package/docs/subsystems/schema_snapshots/message/v1.0.json +0 -72
- package/docs/subsystems/schema_snapshots/note/v1.0.json +0 -64
- package/docs/subsystems/schema_snapshots/order/v1.0.json +0 -72
- package/docs/subsystems/schema_snapshots/person/v1.0.json +0 -86
- package/docs/subsystems/schema_snapshots/project/v1.0.json +0 -75
- package/docs/subsystems/schema_snapshots/property/v1.0.json +0 -64
- package/docs/subsystems/schema_snapshots/purchase/v1.0.json +0 -75
- package/docs/subsystems/schema_snapshots/relationship/v1.0.json +0 -63
- package/docs/subsystems/schema_snapshots/task/v1.0.json +0 -91
- package/docs/subsystems/schema_snapshots/tax_event/v1.0.json +0 -72
- package/docs/subsystems/schema_snapshots/tax_filing/v1.0.json +0 -83
- package/docs/subsystems/schema_snapshots/transaction/v1.0.json +0 -40
- package/docs/subsystems/schema_snapshots/transfer/v1.0.json +0 -76
- package/docs/subsystems/schema_snapshots/wallet/v1.0.json +0 -68
- package/docs/subsystems/search/search.md +0 -63
- package/docs/subsystems/sources.md +0 -493
- package/docs/subsystems/vector_ops.md +0 -72
- package/docs/templates/issue_template.md +0 -36
- package/docs/templates/pr_template.md +0 -74
- package/docs/testing/ROUTE_COVERAGE_MATRIX.md +0 -104
- package/docs/testing/WHY_PARTIAL_ROUTE_COVERAGE.md +0 -183
- package/docs/testing/automated_test_catalog.md +0 -353
- package/docs/testing/cli_command_coverage_review.md +0 -130
- package/docs/testing/fixtures_standard.md +0 -202
- package/docs/testing/test_coverage_audit_summary.md +0 -571
- package/docs/testing/testing_standard.md +0 -146
- package/docs/ui/DESIGN_SYSTEM_UPDATE_SUMMARY.md +0 -152
- package/docs/ui/SHADCN_INTEGRATION_COMPLETE.md +0 -255
- package/docs/ui/design_constraints_template.yaml +0 -228
- package/docs/ui/design_system/accessibility.md +0 -38
- package/docs/ui/design_system/authentication_components.md +0 -38
- package/docs/ui/design_system/billing_components.md +0 -36
- package/docs/ui/design_system/brand_alignment.md +0 -35
- package/docs/ui/design_system/color_palette.md +0 -95
- package/docs/ui/design_system/component_styles.md +0 -241
- package/docs/ui/design_system/dark_mode.md +0 -30
- package/docs/ui/design_system/empty_states.md +0 -47
- package/docs/ui/design_system/error_states.md +0 -35
- package/docs/ui/design_system/file_upload_components.md +0 -60
- package/docs/ui/design_system/future_considerations.md +0 -19
- package/docs/ui/design_system/iconography.md +0 -21
- package/docs/ui/design_system/icp_aesthetic_analysis.md +0 -35
- package/docs/ui/design_system/icp_preference_alignment.md +0 -33
- package/docs/ui/design_system/implementation_notes.md +0 -119
- package/docs/ui/design_system/loading_states.md +0 -40
- package/docs/ui/design_system/motion_and_animation.md +0 -45
- package/docs/ui/design_system/navigation_components.md +0 -63
- package/docs/ui/design_system/onboarding_components.md +0 -48
- package/docs/ui/design_system/responsive_design.md +0 -26
- package/docs/ui/design_system/search_components.md +0 -32
- package/docs/ui/design_system/settings_components.md +0 -29
- package/docs/ui/design_system/spacing_and_layout.md +0 -67
- package/docs/ui/design_system/style_guide.md +0 -395
- package/docs/ui/design_system/typography.md +0 -88
- package/docs/ui/design_system/visual_hierarchy.md +0 -64
- package/docs/ui/design_system.md +0 -124
- package/docs/ui/dsl_spec.md +0 -97
- package/docs/ui/patterns/dashboard.md +0 -58
- package/docs/ui/patterns/detail.md +0 -68
- package/docs/ui/patterns/list.md +0 -72
- package/docs/ui/patterns/navigation.md +0 -314
- package/docs/ui/patterns/settings.md +0 -52
- package/docs/ui/patterns/wizard.md +0 -53
- package/docs/ui/prototype_guide.md +0 -300
- package/docs/ui/shadcn_components.md +0 -189
- package/docs/ui/style_guide_updates.md +0 -74
- package/docs/vocabulary/canonical_terms.md +0 -318
- package/fly.toml +0 -29
- package/foundation/.cursor/rules/agent_constraints.mdc +0 -198
- package/foundation/.cursor/rules/agent_test_execution.mdc +0 -356
- package/foundation/.cursor/rules/autonomous_execution.mdc +0 -117
- package/foundation/.cursor/rules/behavioral_self_adaptation.mdc +0 -531
- package/foundation/.cursor/rules/bug_fix_detection.mdc +0 -142
- package/foundation/.cursor/rules/checkpoint_management.mdc +0 -191
- package/foundation/.cursor/rules/configuration_management.mdc +0 -156
- package/foundation/.cursor/rules/content_style_enforcement.mdc +0 -138
- package/foundation/.cursor/rules/dependency_installation.mdc +0 -146
- package/foundation/.cursor/rules/document_loading_order.mdc +0 -194
- package/foundation/.cursor/rules/documentation_rules.mdc +0 -166
- package/foundation/.cursor/rules/downstream_doc_updates.mdc +0 -266
- package/foundation/.cursor/rules/environment_variables_1password.mdc +0 -307
- package/foundation/.cursor/rules/environment_variables_env_file.mdc +0 -121
- package/foundation/.cursor/rules/feature_unit_detection.mdc +0 -129
- package/foundation/.cursor/rules/file_naming.mdc +0 -31
- package/foundation/.cursor/rules/git_remote_sync.mdc +0 -240
- package/foundation/.cursor/rules/instruction_documentation.mdc +0 -302
- package/foundation/.cursor/rules/native_browser_debugging.mdc +0 -65
- package/foundation/.cursor/rules/plan_execution_testing.mdc +0 -98
- package/foundation/.cursor/rules/post_build_testing.mdc +0 -159
- package/foundation/.cursor/rules/prefer_cli_tools.mdc +0 -234
- package/foundation/.cursor/rules/readme_maintenance.mdc +0 -153
- package/foundation/.cursor/rules/release_detection.mdc +0 -92
- package/foundation/.cursor/rules/release_status_readme_update.mdc +0 -64
- package/foundation/.cursor/rules/risk_management.mdc +0 -167
- package/foundation/.cursor/rules/security.mdc +0 -158
- package/foundation/.cursor/rules/test_first_workflow.mdc +0 -341
- package/foundation/.cursor/rules/worktree_env.mdc +0 -53
- package/foundation/.cursor/skills/analyze/SKILL.md +0 -566
- package/foundation/.cursor/skills/commit/SKILL.md +0 -782
- package/foundation/.cursor/skills/create-feature-unit/SKILL.md +0 -180
- package/foundation/.cursor/skills/create-prototype/SKILL.md +0 -91
- package/foundation/.cursor/skills/create-release/SKILL.md +0 -432
- package/foundation/.cursor/skills/create-rule/SKILL.md +0 -292
- package/foundation/.cursor/skills/debug/SKILL.md +0 -980
- package/foundation/.cursor/skills/final-review/SKILL.md +0 -93
- package/foundation/.cursor/skills/fix-feature-bug/SKILL.md +0 -100
- package/foundation/.cursor/skills/manage-error-debugging/SKILL.md +0 -182
- package/foundation/.cursor/skills/publish/SKILL.md +0 -554
- package/foundation/.cursor/skills/pull/SKILL.md +0 -315
- package/foundation/.cursor/skills/push/SKILL.md +0 -254
- package/foundation/.cursor/skills/report/SKILL.md +0 -1501
- package/foundation/.cursor/skills/report-error/SKILL.md +0 -1501
- package/foundation/.cursor/skills/run-feature-workflow/SKILL.md +0 -79
- package/foundation/.cursor/skills/setup-commands/SKILL.md +0 -28
- package/foundation/.cursor/skills/setup-cursor-copies/SKILL.md +0 -233
- package/foundation/.cursor/skills/sync-env-from-1password/SKILL.md +0 -302
- package/foundation/CONTRIBUTING.md +0 -202
- package/foundation/LICENSE +0 -22
- package/foundation/MIGRATION.md +0 -396
- package/foundation/README.md +0 -391
- package/foundation/agent_instructions/README.md +0 -559
- package/foundation/config/foundation-config.yaml +0 -498
- package/foundation/config/foundation_config.yaml +0 -475
- package/foundation/config/repo_adapters/personal.yaml +0 -40
- package/foundation/config/repo_adapters/template.yaml +0 -45
- package/foundation/conventions/code_conventions.md +0 -908
- package/foundation/conventions/documentation_standards.md +0 -459
- package/foundation/conventions/naming_patterns.yaml +0 -139
- package/foundation/conventions/testing_conventions.md +0 -374
- package/foundation/conventions/writing_style_guide.md +0 -221
- package/foundation/development/branch_strategy.md +0 -266
- package/foundation/development/feature_unit_workflow.md +0 -423
- package/foundation/development/pr_process.md +0 -385
- package/foundation/development/release_workflow.md +0 -2296
- package/foundation/development/templates/feature_unit_spec_template.md +0 -312
- package/foundation/development/templates/manifest_template_extended.yaml +0 -303
- package/foundation/development/templates/manifest_template_simple.yaml +0 -148
- package/foundation/development/workflow.md +0 -509
- package/foundation/development/worktree_setup.sh +0 -207
- package/foundation/scripts/README.md +0 -230
- package/foundation/scripts/__pycache__/op_sync_env_from_1password.cpython-314.pyc +0 -0
- package/foundation/scripts/install-foundation.sh +0 -232
- package/foundation/scripts/install_foundation.sh +0 -232
- package/foundation/scripts/op_sync_env_from_1password.py +0 -1007
- package/foundation/scripts/report_error_create_dirs.sh +0 -14
- package/foundation/scripts/report_error_generate_id.sh +0 -10
- package/foundation/scripts/report_error_update_queue.sh +0 -24
- package/foundation/scripts/report_error_validate_target.sh +0 -34
- package/foundation/scripts/report_error_wait_resolution.sh +0 -69
- package/foundation/scripts/validate_setup.sh +0 -147
- package/foundation/security/credential_management.md +0 -263
- package/foundation/security/pre_commit_audit.sh +0 -78
- package/foundation/security/security_rules.md +0 -163
- package/foundation/strategy/README.md +0 -279
- package/foundation/strategy/competitive_analysis_template.md +0 -271
- package/foundation/strategy/partnership_analysis_template.md +0 -423
- package/foundation/strategy/project_assessment_framework.md +0 -485
- package/foundation/strategy/relevance_analysis_template.md +0 -297
- package/foundation/tooling/README.md +0 -198
- package/foundation/validation/README.md +0 -120
- package/foundation-config.yaml +0 -543
- package/frontend/docs.html +0 -43
- package/frontend/frontend/.vite-prototype/deps/@noble_curves_ed25519__js.js +0 -2859
- package/frontend/frontend/.vite-prototype/deps/@noble_curves_ed25519__js.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@noble_hashes_utils__js.js +0 -62
- package/frontend/frontend/.vite-prototype/deps/@noble_hashes_utils__js.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dialog.js +0 -464
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dialog.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dropdown-menu.js +0 -1488
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-dropdown-menu.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-label.js +0 -84
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-label.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-scroll-area.js +0 -757
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-scroll-area.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-select.js +0 -1351
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-select.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-slot.js +0 -18
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-slot.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-toast.js +0 -675
- package/frontend/frontend/.vite-prototype/deps/@radix-ui_react-toast.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/@tanstack_react-table.js +0 -3254
- package/frontend/frontend/.vite-prototype/deps/@tanstack_react-table.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/_metadata.json +0 -187
- package/frontend/frontend/.vite-prototype/deps/chunk-557GXNYU.js +0 -23
- package/frontend/frontend/.vite-prototype/deps/chunk-557GXNYU.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-6FYWT56J.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-C7HFWHWH.js +0 -271
- package/frontend/frontend/.vite-prototype/deps/chunk-C7HFWHWH.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-CJDTXCAB.js +0 -49
- package/frontend/frontend/.vite-prototype/deps/chunk-CJDTXCAB.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-DC5AMYBS.js +0 -39
- package/frontend/frontend/.vite-prototype/deps/chunk-DC5AMYBS.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-F4FBYZZO.js +0 -2258
- package/frontend/frontend/.vite-prototype/deps/chunk-F4FBYZZO.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-GIBJ3MQP.js +0 -129
- package/frontend/frontend/.vite-prototype/deps/chunk-GIBJ3MQP.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-IMIZXM4S.js +0 -218
- package/frontend/frontend/.vite-prototype/deps/chunk-IMIZXM4S.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-K236IVZX.js +0 -21628
- package/frontend/frontend/.vite-prototype/deps/chunk-K236IVZX.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-LPO6FEV6.js +0 -21
- package/frontend/frontend/.vite-prototype/deps/chunk-LPO6FEV6.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-PZJDTVNM.js +0 -144
- package/frontend/frontend/.vite-prototype/deps/chunk-PZJDTVNM.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-RGYP7AMI.js +0 -1116
- package/frontend/frontend/.vite-prototype/deps/chunk-RGYP7AMI.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-SMVRXQSC.js +0 -928
- package/frontend/frontend/.vite-prototype/deps/chunk-SMVRXQSC.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-SPBFJIQZ.js +0 -49
- package/frontend/frontend/.vite-prototype/deps/chunk-SPBFJIQZ.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-UQF5EARV.js +0 -9
- package/frontend/frontend/.vite-prototype/deps/chunk-UQF5EARV.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-VEFHXNY4.js +0 -186
- package/frontend/frontend/.vite-prototype/deps/chunk-VEFHXNY4.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/chunk-Z55WIHBM.js +0 -349
- package/frontend/frontend/.vite-prototype/deps/chunk-Z55WIHBM.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/class-variance-authority.js +0 -51
- package/frontend/frontend/.vite-prototype/deps/class-variance-authority.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/clsx.js +0 -10
- package/frontend/frontend/.vite-prototype/deps/clsx.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/lucide-react.js +0 -31586
- package/frontend/frontend/.vite-prototype/deps/lucide-react.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/package.json +0 -3
- package/frontend/frontend/.vite-prototype/deps/papaparse.js +0 -431
- package/frontend/frontend/.vite-prototype/deps/papaparse.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/react-dom.js +0 -7
- package/frontend/frontend/.vite-prototype/deps/react-dom.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/react-dom_client.js +0 -39
- package/frontend/frontend/.vite-prototype/deps/react-dom_client.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/react.js +0 -6
- package/frontend/frontend/.vite-prototype/deps/react.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/react_jsx-dev-runtime.js +0 -913
- package/frontend/frontend/.vite-prototype/deps/react_jsx-dev-runtime.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/react_jsx-runtime.js +0 -7
- package/frontend/frontend/.vite-prototype/deps/react_jsx-runtime.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/sonner.js +0 -1139
- package/frontend/frontend/.vite-prototype/deps/sonner.js.map +0 -7
- package/frontend/frontend/.vite-prototype/deps/tailwind-merge.js +0 -2534
- package/frontend/frontend/.vite-prototype/deps/tailwind-merge.js.map +0 -7
- package/frontend/index.html +0 -38
- package/frontend/src/App.tsx +0 -15
- package/frontend/src/bridge/discovery.ts +0 -126
- package/frontend/src/bridge/index.ts +0 -9
- package/frontend/src/bridge/mcp.ts +0 -85
- package/frontend/src/bridge/types.ts +0 -24
- package/frontend/src/bridge/websocket.ts +0 -349
- package/frontend/src/components/AIAgentBridge.tsx +0 -75
- package/frontend/src/components/AboutPage.tsx +0 -102
- package/frontend/src/components/AppNavigationSidebar.tsx +0 -181
- package/frontend/src/components/AppSidebar.tsx +0 -206
- package/frontend/src/components/AuthErrorHandler.tsx +0 -23
- package/frontend/src/components/Dashboard.tsx +0 -303
- package/frontend/src/components/DashboardPage.tsx +0 -78
- package/frontend/src/components/EmptyPlaceholder.tsx +0 -58
- package/frontend/src/components/EntityDetail.tsx +0 -801
- package/frontend/src/components/EntityList.tsx +0 -409
- package/frontend/src/components/ErrorBoundary.tsx +0 -131
- package/frontend/src/components/FileUploadView.tsx +0 -246
- package/frontend/src/components/FloatingSettingsButton.tsx +0 -46
- package/frontend/src/components/Header.tsx +0 -43
- package/frontend/src/components/IntegrationsPage.tsx +0 -46
- package/frontend/src/components/InterpretationList.tsx +0 -246
- package/frontend/src/components/KeyManagementDialog.tsx +0 -227
- package/frontend/src/components/Layout.tsx +0 -67
- package/frontend/src/components/MCPChatGPTPage.tsx +0 -128
- package/frontend/src/components/MCPClaudePage.tsx +0 -112
- package/frontend/src/components/MCPCodeiumPage.tsx +0 -100
- package/frontend/src/components/MCPConfigurationPage.tsx +0 -624
- package/frontend/src/components/MCPConnectionDialog.tsx +0 -177
- package/frontend/src/components/MCPConnectionsList.tsx +0 -197
- package/frontend/src/components/MCPContinuePage.tsx +0 -90
- package/frontend/src/components/MCPCursorPage.tsx +0 -379
- package/frontend/src/components/MCPGeminiPage.tsx +0 -102
- package/frontend/src/components/MCPGitHubCopilotPage.tsx +0 -100
- package/frontend/src/components/MCPGrokPage.tsx +0 -99
- package/frontend/src/components/MCPJetBrainsPage.tsx +0 -107
- package/frontend/src/components/MCPManusPage.tsx +0 -104
- package/frontend/src/components/MCPSetupDialog.tsx +0 -268
- package/frontend/src/components/MCPVSCodePage.tsx +0 -100
- package/frontend/src/components/MCPWindsurfPage.tsx +0 -99
- package/frontend/src/components/MainApp.tsx +0 -19
- package/frontend/src/components/NotFound.tsx +0 -46
- package/frontend/src/components/OAuthPage.tsx +0 -426
- package/frontend/src/components/ObservationList.tsx +0 -277
- package/frontend/src/components/ProtectedRoute.tsx +0 -38
- package/frontend/src/components/QuickEntryPanel.tsx +0 -99
- package/frontend/src/components/RealtimeStatusIndicator.tsx +0 -32
- package/frontend/src/components/RecentActivityFeed.tsx +0 -198
- package/frontend/src/components/RelationshipDetail.tsx +0 -232
- package/frontend/src/components/RelationshipList.tsx +0 -269
- package/frontend/src/components/SchemaDetail.test.tsx +0 -53
- package/frontend/src/components/SchemaDetail.tsx +0 -230
- package/frontend/src/components/SchemaList.tsx +0 -228
- package/frontend/src/components/SearchResults.tsx +0 -318
- package/frontend/src/components/SeoHead.tsx +0 -40
- package/frontend/src/components/SitePage.tsx +0 -654
- package/frontend/src/components/SourceDetail.tsx +0 -382
- package/frontend/src/components/SourceTable.tsx +0 -243
- package/frontend/src/components/StyleGuide.md +0 -48
- package/frontend/src/components/StyleGuide.tsx +0 -2316
- package/frontend/src/components/TimelineView.tsx +0 -321
- package/frontend/src/components/UniversalSearch.tsx +0 -518
- package/frontend/src/components/design-system/BadgesPage.tsx +0 -47
- package/frontend/src/components/design-system/ButtonsPage.tsx +0 -67
- package/frontend/src/components/design-system/CardsPage.tsx +0 -31
- package/frontend/src/components/design-system/CollapsiblePage.tsx +0 -84
- package/frontend/src/components/design-system/ColorsPage.tsx +0 -125
- package/frontend/src/components/design-system/DesignSystemIndex.tsx +0 -73
- package/frontend/src/components/design-system/DesignSystemLayout.tsx +0 -22
- package/frontend/src/components/design-system/DesignSystemRouter.tsx +0 -43
- package/frontend/src/components/design-system/InputsPage.tsx +0 -40
- package/frontend/src/components/design-system/PageFormatsPage.tsx +0 -263
- package/frontend/src/components/design-system/ProgressPage.tsx +0 -54
- package/frontend/src/components/design-system/SkeletonPage.tsx +0 -68
- package/frontend/src/components/design-system/SpacingPage.tsx +0 -45
- package/frontend/src/components/design-system/StyleGuidePage.tsx +0 -313
- package/frontend/src/components/design-system/SwitchPage.tsx +0 -60
- package/frontend/src/components/design-system/TablesPage.tsx +0 -206
- package/frontend/src/components/design-system/TabsPage.tsx +0 -88
- package/frontend/src/components/design-system/TooltipPage.tsx +0 -94
- package/frontend/src/components/design-system/TypographyPage.tsx +0 -81
- package/frontend/src/components/icons/CursorIcon.tsx +0 -26
- package/frontend/src/components/quick-entry/ContactDialog.tsx +0 -177
- package/frontend/src/components/quick-entry/EventDialog.tsx +0 -204
- package/frontend/src/components/quick-entry/TaskDialog.tsx +0 -204
- package/frontend/src/components/quick-entry/TransactionDialog.tsx +0 -188
- package/frontend/src/components/ui/alert.tsx +0 -59
- package/frontend/src/components/ui/badge.tsx +0 -36
- package/frontend/src/components/ui/breadcrumb.tsx +0 -120
- package/frontend/src/components/ui/button.tsx +0 -56
- package/frontend/src/components/ui/card.tsx +0 -68
- package/frontend/src/components/ui/collapsible.tsx +0 -9
- package/frontend/src/components/ui/dialog.tsx +0 -81
- package/frontend/src/components/ui/dropdown-menu.tsx +0 -195
- package/frontend/src/components/ui/input-group.tsx +0 -26
- package/frontend/src/components/ui/input.tsx +0 -24
- package/frontend/src/components/ui/label.tsx +0 -19
- package/frontend/src/components/ui/progress.tsx +0 -26
- package/frontend/src/components/ui/scroll-area.tsx +0 -35
- package/frontend/src/components/ui/select.tsx +0 -173
- package/frontend/src/components/ui/separator.tsx +0 -31
- package/frontend/src/components/ui/sheet.tsx +0 -139
- package/frontend/src/components/ui/sidebar.tsx +0 -851
- package/frontend/src/components/ui/skeleton.tsx +0 -15
- package/frontend/src/components/ui/switch.tsx +0 -35
- package/frontend/src/components/ui/table-scroll-wrapper.tsx +0 -96
- package/frontend/src/components/ui/table.tsx +0 -127
- package/frontend/src/components/ui/tabs.tsx +0 -53
- package/frontend/src/components/ui/textarea.tsx +0 -23
- package/frontend/src/components/ui/toast.tsx +0 -122
- package/frontend/src/components/ui/toaster.tsx +0 -32
- package/frontend/src/components/ui/tooltip.tsx +0 -28
- package/frontend/src/components/ui/use-toast.ts +0 -194
- package/frontend/src/constants/integrations.ts +0 -51
- package/frontend/src/contexts/AuthContext.tsx +0 -205
- package/frontend/src/contexts/RealtimeContext.tsx +0 -119
- package/frontend/src/docs/DocumentationApp.tsx +0 -104
- package/frontend/src/docs/DocumentationDirectory.tsx +0 -159
- package/frontend/src/docs/DocumentationLayout.tsx +0 -31
- package/frontend/src/docs/DocumentationPage.tsx +0 -38
- package/frontend/src/docs/DocumentationSidebar.tsx +0 -15
- package/frontend/src/docs/MarkdownContent.tsx +0 -212
- package/frontend/src/docs/README.md +0 -198
- package/frontend/src/docs/main.tsx +0 -12
- package/frontend/src/hooks/use-mobile.tsx +0 -19
- package/frontend/src/hooks/useKeys.ts +0 -202
- package/frontend/src/hooks/useMCPConfig.ts +0 -175
- package/frontend/src/hooks/useRealtimeEntities.ts +0 -56
- package/frontend/src/hooks/useRealtimeObservations.ts +0 -56
- package/frontend/src/hooks/useRealtimeRelationships.ts +0 -56
- package/frontend/src/hooks/useRealtimeSources.ts +0 -53
- package/frontend/src/hooks/useRealtimeTimeline.ts +0 -53
- package/frontend/src/hooks/useSettings.ts +0 -95
- package/frontend/src/hooks/useStorageQuota.ts +0 -65
- package/frontend/src/hooks/useTheme.tsx +0 -42
- package/frontend/src/index.css +0 -247
- package/frontend/src/lib/api_client.ts +0 -8
- package/frontend/src/lib/auth.ts +0 -100
- package/frontend/src/lib/idempotency.ts +0 -25
- package/frontend/src/lib/utils.ts +0 -7
- package/frontend/src/main.tsx +0 -40
- package/frontend/src/sample-data/sets-medium.csv +0 -55
- package/frontend/src/sample-data/sets-medium.ts +0 -45
- package/frontend/src/shared/.eslintrc.json +0 -35
- package/frontend/src/shared/.github/README.md +0 -55
- package/frontend/src/shared/.github/workflows/ci.yml +0 -88
- package/frontend/src/shared/.github/workflows/release.yml +0 -34
- package/frontend/src/shared/.github/workflows/setup.yml +0 -56
- package/frontend/src/shared/README.md +0 -163
- package/frontend/src/shared/SETUP.md +0 -121
- package/frontend/src/shared/components.json +0 -20
- package/frontend/src/shared/package-lock.json +0 -4508
- package/frontend/src/shared/package.json +0 -78
- package/frontend/src/shared/src/components/AppSidebar.tsx +0 -77
- package/frontend/src/shared/src/components/ErrorBoundary.tsx +0 -87
- package/frontend/src/shared/src/components/Layout.tsx +0 -262
- package/frontend/src/shared/src/components/ui/breadcrumb.tsx +0 -115
- package/frontend/src/shared/src/components/ui/button.tsx +0 -56
- package/frontend/src/shared/src/components/ui/calendar.tsx +0 -211
- package/frontend/src/shared/src/components/ui/input.tsx +0 -22
- package/frontend/src/shared/src/components/ui/popover.tsx +0 -29
- package/frontend/src/shared/src/components/ui/separator.tsx +0 -29
- package/frontend/src/shared/src/components/ui/sheet.tsx +0 -140
- package/frontend/src/shared/src/components/ui/sidebar.tsx +0 -519
- package/frontend/src/shared/src/components/ui/skeleton.tsx +0 -15
- package/frontend/src/shared/src/components/ui/tooltip.tsx +0 -28
- package/frontend/src/shared/src/hooks/use-mobile.tsx +0 -19
- package/frontend/src/shared/src/index.css +0 -75
- package/frontend/src/shared/src/index.ts +0 -34
- package/frontend/src/shared/src/lib/utils.ts +0 -6
- package/frontend/src/shared/tailwind.config.mjs +0 -67
- package/frontend/src/shared/tsconfig.json +0 -29
- package/frontend/src/site/seo_metadata.ts +0 -133
- package/frontend/src/site/site_data.test.ts +0 -36
- package/frontend/src/site/site_data.ts +0 -575
- package/frontend/src/store/README.md +0 -10
- package/frontend/src/utils/api_access.ts +0 -24
- package/frontend/src/utils/csv.test.ts +0 -42
- package/frontend/src/utils/csv.ts +0 -45
- package/frontend/src/utils/csv_summary.ts +0 -139
- package/frontend/src/utils/debounce.ts +0 -24
- package/frontend/src/utils/entity_display.test.ts +0 -334
- package/frontend/src/utils/entity_display.ts +0 -23
- package/frontend/src/utils/entity_type_formatter.ts +0 -56
- package/frontend/src/utils/error_utils.ts +0 -137
- package/frontend/src/utils/property_keys.ts +0 -36
- package/frontend/src/utils/schema_icons.test.ts +0 -59
- package/frontend/src/utils/schema_icons.ts +0 -229
- package/frontend/src/utils/time.ts +0 -37
- package/frontend/src/vite-env.d.ts +0 -14
- package/frontend/tsconfig.json +0 -27
- package/frontend/tsconfig.node.json +0 -11
- package/mcp/web-scraper/README.md +0 -475
- package/mcp/web-scraper/SETUP.md +0 -150
- package/mcp/web-scraper/__init__.py +0 -3
- package/mcp/web-scraper/chatgpt_scraper_mcp_server.py +0 -435
- package/mcp/web-scraper/create_repo.sh +0 -50
- package/mcp/web-scraper/imports/spotify/playlist_3i0FY58V7n8XIUyWDm3AYA.json +0 -1052
- package/mcp/web-scraper/nytimes_article.json +0 -7
- package/mcp/web-scraper/plugins/__init__.py +0 -3
- package/mcp/web-scraper/plugins/chatgpt_scraper.py +0 -105
- package/mcp/web-scraper/plugins/metacast_scraper.py +0 -828
- package/mcp/web-scraper/plugins/nyt_podcast_scraper.py +0 -538
- package/mcp/web-scraper/plugins/spotify_scraper.py +0 -618
- package/mcp/web-scraper/plugins/twitter_scraper.py +0 -576
- package/mcp/web-scraper/plugins/url_body_fetcher.py +0 -172
- package/mcp/web-scraper/pytest.ini +0 -11
- package/mcp/web-scraper/requirements-test.txt +0 -6
- package/mcp/web-scraper/requirements.txt +0 -6
- package/mcp/web-scraper/run-web-scraper-mcp.sh +0 -38
- package/mcp/web-scraper/scrape_spotify_playlist.py +0 -77
- package/mcp/web-scraper/scraper.py +0 -819
- package/mcp/web-scraper/scraper_base.py +0 -88
- package/mcp/web-scraper/scraper_registry.py +0 -32
- package/mcp/web-scraper/scripts/scrape_tweet_and_verify_referenced.py +0 -65
- package/mcp/web-scraper/store_songs_to_parquet.py +0 -120
- package/mcp/web-scraper/tests/__init__.py +0 -0
- package/mcp/web-scraper/tests/conftest.py +0 -40
- package/mcp/web-scraper/tests/integration/__init__.py +0 -0
- package/mcp/web-scraper/tests/unit/__init__.py +0 -0
- package/mcp/web-scraper/tests/unit/test_source_detection.py +0 -60
- package/mcp/web-scraper/web_scraper_mcp_server.py +0 -639
- package/openapi.yaml +0 -2071
- package/playwright/fixtures/servers.ts +0 -180
- package/playwright/global_setup.ts +0 -3
- package/playwright/tests/auto-enhancement.spec.ts +0 -370
- package/playwright/tests/coverage-map.json +0 -135
- package/playwright/tests/design-system.spec.ts +0 -216
- package/playwright/tests/entity-detail.spec.ts +0 -268
- package/playwright/tests/entity-list.spec.ts +0 -266
- package/playwright/tests/floating-settings-button.spec.ts +0 -95
- package/playwright/tests/graph-integrity.spec.ts +0 -344
- package/playwright/tests/helpers.ts +0 -560
- package/playwright/tests/interpretations.spec.ts +0 -285
- package/playwright/tests/mcp-configuration.spec.ts +0 -208
- package/playwright/tests/mcp-relationships.spec.ts +0 -631
- package/playwright/tests/mcp-store-retrieve.spec.ts +0 -288
- package/playwright/tests/not-found.spec.ts +0 -30
- package/playwright/tests/oauth-flow.spec.ts +0 -790
- package/playwright/tests/observations.spec.ts +0 -295
- package/playwright/tests/relationship-detail.spec.ts +0 -305
- package/playwright/tests/relationships-list.spec.ts +0 -275
- package/playwright/tests/schema-detail.spec.ts +0 -300
- package/playwright/tests/schemas-list.spec.ts +0 -262
- package/playwright/tests/search-flow.spec.ts +0 -216
- package/playwright/tests/site-page.spec.ts +0 -23
- package/playwright/tests/source-detail.spec.ts +0 -300
- package/playwright/tests/sources-list.spec.ts +0 -254
- package/playwright/tests/upload-flow.spec.ts +0 -279
- package/playwright/tsconfig.json +0 -17
- package/playwright/types.d.ts +0 -14
- package/playwright/utils/servers.ts +0 -435
- package/playwright.config.ts +0 -77
- package/postcss.config.mjs +0 -7
- package/scripts/add_ngrok_mapping.py +0 -99
- package/scripts/add_required_observation_fields.js +0 -96
- package/scripts/add_required_source_fields.js +0 -95
- package/scripts/analyze-data-dir-schemas.js +0 -256
- package/scripts/analyze_data_dir_for_schemas.ts +0 -378
- package/scripts/analyze_low_confidence_fields.ts +0 -235
- package/scripts/analyze_schema_redundancies.ts +0 -228
- package/scripts/apply_documentation_rules.sh +0 -81
- package/scripts/apply_file_naming_convention.sh +0 -75
- package/scripts/backfill_entity_embeddings.ts +0 -95
- package/scripts/branch.js +0 -47
- package/scripts/build_github_pages_site.tsx +0 -65
- package/scripts/check-playwright-coverage.ts +0 -159
- package/scripts/check_agent_conversations.js +0 -72
- package/scripts/check_agent_status.js +0 -156
- package/scripts/check_auto_enhancement_status.ts +0 -215
- package/scripts/check_auto_test_schemas.ts +0 -43
- package/scripts/check_claude_sync.sh +0 -35
- package/scripts/check_raw_fragments.ts +0 -46
- package/scripts/check_remaining_eligibility.ts +0 -46
- package/scripts/check_remaining_fields.ts +0 -58
- package/scripts/check_sendgrid_credits.sh +0 -122
- package/scripts/check_sendgrid_email_logs.sh +0 -150
- package/scripts/check_snapshot_schema.ts +0 -18
- package/scripts/check_sources.ts +0 -34
- package/scripts/check_stale_snapshots.ts +0 -80
- package/scripts/cleanup-auto-test-schemas.ts +0 -80
- package/scripts/cleanup_test_schemas.ts +0 -275
- package/scripts/com.neotoma.dev-servers.plist.template +0 -27
- package/scripts/com.neotoma.watch-build.plist.template +0 -27
- package/scripts/complete_submodule_setup.sh +0 -101
- package/scripts/configure_sendgrid_dns.sh +0 -162
- package/scripts/copy-env-to-worktree.js +0 -109
- package/scripts/copy_pdf_worker_wrapper.js +0 -19
- package/scripts/create_sample_parquet_files.py +0 -120
- package/scripts/create_sample_parquet_files.ts +0 -146
- package/scripts/create_sample_parquet_files_mcp.ts +0 -196
- package/scripts/create_sample_parquet_files_simple.sh +0 -132
- package/scripts/cursor-worktree-init.sh +0 -24
- package/scripts/debug-ssl.sh +0 -86
- package/scripts/debug_pdf_extraction.ts +0 -69
- package/scripts/debug_vec_knn.ts +0 -69
- package/scripts/dev-proxy.js +0 -406
- package/scripts/dev-serve.js +0 -349
- package/scripts/disable-dns.sh +0 -47
- package/scripts/doctor.ts +0 -97
- package/scripts/export_schema_snapshots.ts +0 -253
- package/scripts/fix-ssl-cert.sh +0 -72
- package/scripts/fix_mcp_phase1_tests.sh +0 -51
- package/scripts/fix_observation_column_names.js +0 -51
- package/scripts/fix_observation_priority_ordering.js +0 -45
- package/scripts/fix_observation_properties_to_fields.js +0 -48
- package/scripts/fix_sqlite_schema_mismatch.js +0 -75
- package/scripts/generate-dev-cert.sh +0 -69
- package/scripts/generate_pdf_fixtures.ts +0 -330
- package/scripts/generate_schema_icons.ts +0 -216
- package/scripts/get_branch_ports.js +0 -56
- package/scripts/get_mcp_token.sh +0 -47
- package/scripts/get_secrets_for_agents.js +0 -45
- package/scripts/ingest_data_dir.ts +0 -215
- package/scripts/ingest_finances_data.ts +0 -255
- package/scripts/initialize-schemas.ts +0 -350
- package/scripts/install_launchd_dev_servers.js +0 -54
- package/scripts/install_launchd_watch_build.js +0 -53
- package/scripts/instruct_agents_credential_setup.js +0 -130
- package/scripts/instruct_agents_env_check.js +0 -99
- package/scripts/instruct_agents_run_tests_until_passing.js +0 -128
- package/scripts/kill_port.js +0 -174
- package/scripts/linters/sync_agent_instructions_pre_commit.sh +0 -34
- package/scripts/manage_error_debugging.sh +0 -228
- package/scripts/manually_queue_enhancements.ts +0 -156
- package/scripts/merge-dev.js +0 -319
- package/scripts/migrate_auto_enhanced_fields.ts +0 -83
- package/scripts/migrate_env_to_secrets.js +0 -69
- package/scripts/migrate_plans.ts +0 -870
- package/scripts/monitor_and_fix_snapshots.ts +0 -165
- package/scripts/move_docs_rules_to_cursor.js +0 -54
- package/scripts/move_docs_rules_to_cursor.sh +0 -24
- package/scripts/neotoma-npm-reserve/README.md +0 -8
- package/scripts/neotoma-npm-reserve/package.json +0 -10
- package/scripts/notify_agents_env_vars.js +0 -109
- package/scripts/notify_agents_setup_script.js +0 -148
- package/scripts/notify_running_agents_credentials.js +0 -177
- package/scripts/pdf_worker_polyfill.mjs +0 -27
- package/scripts/pick-port.js +0 -108
- package/scripts/postinstall.js +0 -84
- package/scripts/process_remaining_eligible.ts +0 -70
- package/scripts/prototypes/run-prototype.sh +0 -40
- package/scripts/prune-merged-branches.js +0 -115
- package/scripts/recompute_bob.ts +0 -64
- package/scripts/recompute_snapshots.ts +0 -72
- package/scripts/release_orchestrator.js +0 -1995
- package/scripts/remove_duplicate_source_fields.js +0 -61
- package/scripts/rename-branch-from-commit.js +0 -111
- package/scripts/respawn_agents_with_credentials.js +0 -358
- package/scripts/respawn_single_agent.js +0 -324
- package/scripts/run-dev-server-with-tunnel-url.sh +0 -16
- package/scripts/run-dev-task.js +0 -160
- package/scripts/run_dev_servers_launchd.sh +0 -14
- package/scripts/run_integration_tests.js +0 -523
- package/scripts/run_migrations.js +0 -55
- package/scripts/run_neotoma_mcp_stdio.sh +0 -11
- package/scripts/run_neotoma_mcp_stdio_dev_watch.sh +0 -10
- package/scripts/run_neotoma_mcp_stdio_prod.sh +0 -11
- package/scripts/run_neotoma_mcp_stdio_prod_watch.sh +0 -12
- package/scripts/run_watch_build_launchd.sh +0 -18
- package/scripts/scrape_nytimes_article.py +0 -182
- package/scripts/scrape_nytimes_simple.py +0 -152
- package/scripts/secrets_manager.js +0 -232
- package/scripts/send_agent_followup.js +0 -136
- package/scripts/setup-data-symlink.js +0 -88
- package/scripts/setup-dns.sh +0 -54
- package/scripts/setup-env-copy-hook.sh +0 -67
- package/scripts/setup-foundation-symlink.js +0 -45
- package/scripts/setup-https-tunnel.sh +0 -409
- package/scripts/setup-test-env.sh +0 -18
- package/scripts/setup_agent_credentials.sh +0 -27
- package/scripts/setup_agent_environment.sh +0 -39
- package/scripts/setup_claude_instructions.sh +0 -437
- package/scripts/setup_cloudflare_email_routing.sh +0 -158
- package/scripts/setup_shared_submodule.sh +0 -100
- package/scripts/simulate_npm_install.js +0 -70
- package/scripts/spec_compliance_patterns.js +0 -260
- package/scripts/sync-env-from-1password.sh +0 -100
- package/scripts/sync_mcp_configs.js +0 -106
- package/scripts/test-base64-store.ts +0 -53
- package/scripts/test-error-handling.ts +0 -44
- package/scripts/test-file-path-store.ts +0 -142
- package/scripts/test-raw-fragments-idempotence.ts +0 -157
- package/scripts/test-raw-fragments-insert.ts +0 -88
- package/scripts/test-store-response-structure.ts +0 -125
- package/scripts/test-store-structured-response.ts +0 -126
- package/scripts/test_agent_env_spawn.js +0 -82
- package/scripts/test_confidence.ts +0 -36
- package/scripts/test_dsnp_parquet_reading.ts +0 -72
- package/scripts/test_mcp_semantic_search.ts +0 -36
- package/scripts/test_parquet_ingestion.ts +0 -52
- package/scripts/test_raw_fragments_in_response.ts +0 -31
- package/scripts/test_sendgrid_smtp.sh +0 -45
- package/scripts/test_store_parquet_via_mcp.ts +0 -66
- package/scripts/trigger_error_debug_cli.js +0 -271
- package/scripts/unblock_agents.js +0 -208
- package/scripts/validate-coverage-map.ts +0 -187
- package/scripts/validate-doc-dependencies.js +0 -410
- package/scripts/validate_all_fu_compliance.js +0 -752
- package/scripts/validate_schema_sync.ts +0 -135
- package/scripts/validate_spec_compliance.js +0 -669
- package/scripts/watch_site.js +0 -68
- package/scripts/wipe-local-database.js +0 -191
- package/scripts/with_branch_ports.js +0 -496
- package/site_pages/.nojekyll +0 -0
- package/site_pages/FAVICON_CANDIDATES.md +0 -22
- package/site_pages/favicon-1-diamond.svg +0 -3
- package/site_pages/favicon-2-n-box.svg +0 -10
- package/site_pages/favicon-3-waves.svg +0 -3
- package/site_pages/favicon-4-n-minimal.svg +0 -3
- package/site_pages/favicon-5-bars.svg +0 -5
- package/site_pages/favicon.svg +0 -10
- package/site_pages/index.html +0 -40
- package/site_pages/robots.txt +0 -4
- package/site_pages/sitemap.xml +0 -5
- package/src/actions.ts +0 -4468
- package/src/cli/agent_instructions_scan.ts +0 -793
- package/src/cli/bootstrap.ts +0 -35
- package/src/cli/config.ts +0 -338
- package/src/cli/format.ts +0 -337
- package/src/cli/index.ts +0 -11417
- package/src/cli/init_abort.ts +0 -7
- package/src/cli/mcp_config_scan.ts +0 -1359
- package/src/cli/pack_rat.ts +0 -134
- package/src/config/record_types.ts +0 -562
- package/src/config.ts +0 -164
- package/src/crypto/agent_identity.ts +0 -46
- package/src/crypto/auth.ts +0 -110
- package/src/crypto/column_encryption.ts +0 -109
- package/src/crypto/crypto.test.ts +0 -311
- package/src/crypto/envelope.ts +0 -240
- package/src/crypto/export.ts +0 -131
- package/src/crypto/index.ts +0 -13
- package/src/crypto/key_derivation.ts +0 -176
- package/src/crypto/keys.ts +0 -85
- package/src/crypto/mcp_auth_token.ts +0 -35
- package/src/crypto/signature.ts +0 -50
- package/src/crypto/types.ts +0 -48
- package/src/db.ts +0 -66
- package/src/embeddings.ts +0 -76
- package/src/index.ts +0 -25
- package/src/mcp_ws_bridge.ts +0 -222
- package/src/middleware/encrypt_response.ts +0 -39
- package/src/normalize.ts +0 -351
- package/src/record_types.test.ts +0 -36
- package/src/reducers/index.ts +0 -5
- package/src/reducers/observation_reducer.ts +0 -458
- package/src/reducers/relationship_reducer.ts +0 -291
- package/src/repositories/db/capability_repo.ts +0 -29
- package/src/repositories/file/capability_repo.ts +0 -29
- package/src/repositories/index.ts +0 -7
- package/src/repositories/interfaces.ts +0 -112
- package/src/repositories/sqlite/__tests__/local_db_adapter.test.ts +0 -138
- package/src/repositories/sqlite/local_db_adapter.ts +0 -961
- package/src/repositories/sqlite/sqlite_client.ts +0 -378
- package/src/server.ts +0 -6157
- package/src/services/__tests__/csv_chunking.test.ts +0 -125
- package/src/services/__tests__/deletion.test.ts +0 -358
- package/src/services/__tests__/entity_semantic_search.test.ts +0 -45
- package/src/services/__tests__/local_auth.test.ts +0 -52
- package/src/services/__tests__/local_entity_embedding.test.ts +0 -108
- package/src/services/__tests__/mcp_oauth.test.ts +0 -407
- package/src/services/__tests__/oauth_key_gate.test.ts +0 -50
- package/src/services/__tests__/oauth_state.test.ts +0 -40
- package/src/services/__tests__/schema_icon_service.test.ts +0 -151
- package/src/services/auto_enhancement_processor.ts +0 -237
- package/src/services/capability_registry.ts +0 -202
- package/src/services/correction.ts +0 -87
- package/src/services/csv_chunking.ts +0 -128
- package/src/services/csv_row_extraction.ts +0 -124
- package/src/services/dashboard_stats.ts +0 -115
- package/src/services/deletion.ts +0 -482
- package/src/services/deletion_monitor.ts +0 -314
- package/src/services/encryption_service.ts +0 -110
- package/src/services/entity_merge.ts +0 -100
- package/src/services/entity_queries.ts +0 -518
- package/src/services/entity_resolution.ts +0 -367
- package/src/services/entity_semantic_search.ts +0 -64
- package/src/services/entity_snapshot_embedding.ts +0 -115
- package/src/services/field_canonicalization.ts +0 -393
- package/src/services/field_converters.ts +0 -173
- package/src/services/field_validation.ts +0 -173
- package/src/services/file_text_extraction.ts +0 -213
- package/src/services/finances_field_mapping.ts +0 -473
- package/src/services/gdpr_deletion.ts +0 -497
- package/src/services/interpretation.ts +0 -939
- package/src/services/llm_extraction.ts +0 -548
- package/src/services/local_auth.ts +0 -154
- package/src/services/local_entity_embedding.ts +0 -196
- package/src/services/mcp_auth.ts +0 -75
- package/src/services/mcp_oauth.ts +0 -1625
- package/src/services/mcp_oauth_errors.ts +0 -139
- package/src/services/oauth_key_gate.ts +0 -116
- package/src/services/oauth_state.ts +0 -70
- package/src/services/observation_identity.ts +0 -161
- package/src/services/observation_storage.ts +0 -162
- package/src/services/parquet_reader.ts +0 -375
- package/src/services/public_key_registry.ts +0 -103
- package/src/services/raw_fragments.ts +0 -217
- package/src/services/raw_storage.ts +0 -267
- package/src/services/relationships.ts +0 -495
- package/src/services/schema_definitions.ts +0 -2041
- package/src/services/schema_icon_service.ts +0 -260
- package/src/services/schema_inference.ts +0 -401
- package/src/services/schema_recommendation.ts +0 -1475
- package/src/services/schema_registry.ts +0 -1403
- package/src/services/snapshot_computation.ts +0 -92
- package/src/services/source_identity.ts +0 -22
- package/src/services/timeline_events.ts +0 -198
- package/src/shared/action_handlers/entity_handlers.ts +0 -115
- package/src/shared/action_schemas.test.ts +0 -59
- package/src/shared/action_schemas.ts +0 -317
- package/src/shared/api_client.ts +0 -86
- package/src/shared/contract_mappings.ts +0 -646
- package/src/shared/entity_display_name.ts +0 -64
- package/src/shared/local_transport.ts +0 -126
- package/src/shared/openapi_schema.ts +0 -175
- package/src/shared/openapi_types.ts +0 -2810
- package/src/shared/record_display_summary.ts +0 -133
- package/src/utils/__tests__/csv_summary.test.ts +0 -53
- package/src/utils/__tests__/lucide_icons.test.ts +0 -133
- package/src/utils/chat.test.ts +0 -42
- package/src/utils/chat.ts +0 -35
- package/src/utils/csv.test.ts +0 -41
- package/src/utils/csv.ts +0 -77
- package/src/utils/csv_summary.ts +0 -195
- package/src/utils/log_encrypt.ts +0 -144
- package/src/utils/logger.ts +0 -94
- package/src/utils/lucide_icons.ts +0 -279
- package/src/utils/property_keys.test.ts +0 -109
- package/src/utils/property_keys.ts +0 -66
- package/src/utils/property_sanitizer.test.ts +0 -105
- package/src/utils/property_sanitizer.ts +0 -135
- package/src/version_check.test.ts +0 -107
- package/src/version_check.ts +0 -58
- package/supabase/.temp/cli-latest +0 -0
- package/tailwind.config.mjs +0 -134
- package/tests/TEST_ACTION_MATRIX.md +0 -387
- package/tests/agent/mcp_instruction_behavior.test.ts +0 -72
- package/tests/agent/runner/agent_runner.ts +0 -27
- package/tests/agent/runner/claude_code_runner.ts +0 -128
- package/tests/agent/runner/cursor_cli_runner.ts +0 -7
- package/tests/cli/api_client_offline_fallback.test.ts +0 -89
- package/tests/cli/cli_admin_commands.test.ts +0 -268
- package/tests/cli/cli_api_commands.test.ts +0 -75
- package/tests/cli/cli_auth_commands.test.ts +0 -67
- package/tests/cli/cli_command_coverage_guard.test.ts +0 -50
- package/tests/cli/cli_correction_commands.test.ts +0 -277
- package/tests/cli/cli_direct_invocation_parity.test.ts +0 -46
- package/tests/cli/cli_entity_commands.test.ts +0 -324
- package/tests/cli/cli_entity_subcommands.test.ts +0 -422
- package/tests/cli/cli_infra_commands.test.ts +0 -475
- package/tests/cli/cli_mcp_commands.test.ts +0 -51
- package/tests/cli/cli_observation_commands.test.ts +0 -232
- package/tests/cli/cli_query_commands.test.ts +0 -369
- package/tests/cli/cli_relationship_commands.test.ts +0 -410
- package/tests/cli/cli_schema_commands.test.ts +0 -296
- package/tests/cli/cli_session_startup_ux.test.ts +0 -112
- package/tests/cli/cli_smoke.test.ts +0 -456
- package/tests/cli/cli_source_commands.test.ts +0 -214
- package/tests/cli/cli_stats_commands.test.ts +0 -51
- package/tests/cli/cli_store_commands.test.ts +0 -339
- package/tests/cli/cli_timeline_commands.test.ts +0 -294
- package/tests/cli/config.test.ts +0 -36
- package/tests/cli/config_api_discovery.test.ts +0 -91
- package/tests/cli/test_command_detection.test.ts +0 -128
- package/tests/cli/test_debug_tty.test.ts +0 -32
- package/tests/contract/contract_mapping.test.ts +0 -131
- package/tests/contract/contract_mcp_cli_parity.test.ts +0 -223
- package/tests/contract/openapi_schema.test.ts +0 -15
- package/tests/fixtures/README.md +0 -22
- package/tests/fixtures/agent_mcp/insurance_policy.txt +0 -5
- package/tests/fixtures/agent_mcp_cases.json +0 -137
- package/tests/fixtures/csv/sample_balances.csv +0 -7
- package/tests/fixtures/csv/sample_contacts.csv +0 -6
- package/tests/fixtures/csv/sample_crypto_transactions.csv +0 -6
- package/tests/fixtures/csv/sample_flows.csv +0 -7
- package/tests/fixtures/csv/sample_holdings.csv +0 -7
- package/tests/fixtures/csv/sample_income.csv +0 -7
- package/tests/fixtures/csv/sample_purchases.csv +0 -7
- package/tests/fixtures/csv/sample_tax_events.csv +0 -7
- package/tests/fixtures/csv/sample_transactions.csv +0 -7
- package/tests/fixtures/csv/sample_transfers.csv +0 -6
- package/tests/fixtures/expected/contact_snapshot.json +0 -19
- package/tests/fixtures/expected/transaction_snapshot.json +0 -21
- package/tests/fixtures/helpers.ts +0 -522
- package/tests/fixtures/json/account.json +0 -63
- package/tests/fixtures/json/argument.json +0 -39
- package/tests/fixtures/json/balance.json +0 -56
- package/tests/fixtures/json/belief.json +0 -44
- package/tests/fixtures/json/contact.json +0 -83
- package/tests/fixtures/json/contract.json +0 -62
- package/tests/fixtures/json/crypto_transaction.json +0 -67
- package/tests/fixtures/json/domain.json +0 -41
- package/tests/fixtures/json/emotion.json +0 -31
- package/tests/fixtures/json/fixed_cost.json +0 -75
- package/tests/fixtures/json/flow.json +0 -71
- package/tests/fixtures/json/habit.json +0 -54
- package/tests/fixtures/json/habit_completion.json +0 -31
- package/tests/fixtures/json/habit_objective.json +0 -40
- package/tests/fixtures/json/holding.json +0 -65
- package/tests/fixtures/json/income.json +0 -59
- package/tests/fixtures/json/liability.json +0 -50
- package/tests/fixtures/json/order.json +0 -62
- package/tests/fixtures/json/outcome.json +0 -56
- package/tests/fixtures/json/process.json +0 -43
- package/tests/fixtures/json/property.json +0 -52
- package/tests/fixtures/json/purchase.json +0 -66
- package/tests/fixtures/json/research.json +0 -53
- package/tests/fixtures/json/strategy.json +0 -68
- package/tests/fixtures/json/task_attachment.json +0 -62
- package/tests/fixtures/json/task_comment.json +0 -54
- package/tests/fixtures/json/task_dependency.json +0 -51
- package/tests/fixtures/json/task_story.json +0 -53
- package/tests/fixtures/json/tax_event.json +0 -60
- package/tests/fixtures/json/tax_filing.json +0 -61
- package/tests/fixtures/json/transaction.json +0 -62
- package/tests/fixtures/json/transfer.json +0 -60
- package/tests/fixtures/json/wallet.json +0 -51
- package/tests/fixtures/json/workout.json +0 -45
- package/tests/fixtures/pdf/sample-upload.txt +0 -2
- package/tests/fixtures/pdf/sample_bank_statement.md +0 -32
- package/tests/fixtures/pdf/sample_bank_statement.pdf +0 -0
- package/tests/fixtures/pdf/sample_contract.md +0 -27
- package/tests/fixtures/pdf/sample_contract.pdf +0 -0
- package/tests/fixtures/pdf/sample_exercise.md +0 -31
- package/tests/fixtures/pdf/sample_exercise.pdf +0 -0
- package/tests/fixtures/pdf/sample_holding_statement.md +0 -29
- package/tests/fixtures/pdf/sample_holding_statement.pdf +0 -0
- package/tests/fixtures/pdf/sample_invoice.md +0 -27
- package/tests/fixtures/pdf/sample_invoice.pdf +0 -108
- package/tests/fixtures/pdf/sample_meal.md +0 -28
- package/tests/fixtures/pdf/sample_meal.pdf +0 -111
- package/tests/fixtures/pdf/sample_note.md +0 -28
- package/tests/fixtures/pdf/sample_note.pdf +0 -0
- package/tests/fixtures/pdf/sample_receipt.md +0 -28
- package/tests/fixtures/pdf/sample_receipt.pdf +0 -0
- package/tests/fixtures/pdf/sample_research.md +0 -31
- package/tests/fixtures/pdf/sample_research.pdf +0 -0
- package/tests/fixtures/pdf/sample_tax_form.md +0 -38
- package/tests/fixtures/pdf/sample_tax_form.pdf +0 -0
- package/tests/fixtures/pdf/sample_transaction_receipt.md +0 -28
- package/tests/fixtures/pdf/sample_transaction_receipt.pdf +0 -0
- package/tests/fixtures/replay_graph.test.ts +0 -125
- package/tests/fixtures/sample_invoice.pdf +0 -1
- package/tests/fixtures/types.ts +0 -321
- package/tests/fixtures/validation.ts +0 -333
- package/tests/helpers/cleanup_helpers.ts +0 -550
- package/tests/helpers/create_test_parquet.ts +0 -187
- package/tests/helpers/cross_layer_helpers.ts +0 -130
- package/tests/helpers/mcp_action_helper.ts +0 -55
- package/tests/helpers/mcp_spec_validators.ts +0 -433
- package/tests/helpers/test_data_helpers.ts +0 -226
- package/tests/helpers/test_schema_helpers.ts +0 -264
- package/tests/integration/cli_to_mcp_entities.test.ts +0 -211
- package/tests/integration/cli_to_mcp_relationships.test.ts +0 -196
- package/tests/integration/cli_to_mcp_schemas.test.ts +0 -232
- package/tests/integration/cli_to_mcp_stats_snapshots.test.ts +0 -67
- package/tests/integration/cli_to_mcp_store.test.ts +0 -249
- package/tests/integration/dashboard_stats.test.ts +0 -180
- package/tests/integration/entity_queries.test.ts +0 -666
- package/tests/integration/field_converters.test.ts +0 -266
- package/tests/integration/fixture_mcp_store_replay.test.ts +0 -255
- package/tests/integration/gdpr_deletion.test.ts +0 -433
- package/tests/integration/llm_extraction.test.ts +0 -554
- package/tests/integration/mcp_actions_matrix.test.ts +0 -969
- package/tests/integration/mcp_auto_enhancement.test.ts +0 -659
- package/tests/integration/mcp_auto_schema_creation.test.ts +0 -658
- package/tests/integration/mcp_correction_variations.test.ts +0 -641
- package/tests/integration/mcp_entity_creation.test.ts +0 -333
- package/tests/integration/mcp_entity_variations.test.ts +0 -474
- package/tests/integration/mcp_graph_variations.test.ts +0 -380
- package/tests/integration/mcp_npm_check_update.test.ts +0 -54
- package/tests/integration/mcp_query_variations.test.ts +0 -392
- package/tests/integration/mcp_relationship_variations.test.ts +0 -433
- package/tests/integration/mcp_resource_variations.test.ts +0 -423
- package/tests/integration/mcp_resources.test.ts +0 -452
- package/tests/integration/mcp_schema_actions.test.ts +0 -673
- package/tests/integration/mcp_schema_variations.test.ts +0 -428
- package/tests/integration/mcp_store_parquet.test.ts +0 -466
- package/tests/integration/mcp_store_unstructured.test.ts +0 -413
- package/tests/integration/mcp_store_variations.test.ts +0 -452
- package/tests/integration/nonjson_csv_store_behavior.test.ts +0 -348
- package/tests/integration/nonjson_fixtures_mcp_replay.test.ts +0 -253
- package/tests/integration/observation_ingestion.test.ts +0 -362
- package/tests/integration/payload/payload_submission.test.ts +0 -296
- package/tests/integration/payload_compiler.test.ts +0 -347
- package/tests/integration/public_key_registry.test.ts +0 -204
- package/tests/integration/relationship_snapshots.test.ts +0 -235
- package/tests/integration/schema_recommendation_integration.test.ts +0 -418
- package/tests/integration/setup_v0.2.0_schemas.ts +0 -61
- package/tests/integration/v0.2.0_ingestion.test.ts +0 -527
- package/tests/services/auto_enhancement_converter_detection.test.ts +0 -663
- package/tests/services/auto_enhancement_processor.test.ts +0 -445
- package/tests/services/capability_registry.test.ts +0 -254
- package/tests/services/converter_detection_unit.test.ts +0 -168
- package/tests/services/encryption_service.test.ts +0 -147
- package/tests/services/entity_resolution.test.ts +0 -285
- package/tests/services/field_canonicalization.test.ts +0 -215
- package/tests/services/field_converters.test.ts +0 -211
- package/tests/services/field_validation.test.ts +0 -318
- package/tests/services/finances_field_mapping.test.ts +0 -245
- package/tests/services/interpretation.test.ts +0 -144
- package/tests/services/mcp_auth.test.ts +0 -34
- package/tests/services/observation_identity.test.ts +0 -154
- package/tests/services/payload_identity.test.ts +0 -325
- package/tests/services/payload_schema.test.ts +0 -282
- package/tests/services/raw_storage.test.ts +0 -546
- package/tests/services/schema_definitions.test.ts +0 -119
- package/tests/services/schema_recommendation.test.ts +0 -590
- package/tests/services/schema_registry_incremental.test.ts +0 -882
- package/tests/services/summary.test.ts +0 -26
- package/tests/unit/bigint_serialization.test.ts +0 -220
- package/tests/unit/observation_reducer_converters.test.ts +0 -430
- package/tests/unit/parquet_reader.test.ts +0 -155
- package/tests/unit/relationship_reducer.test.ts +0 -208
- package/tests/unit/schema_inference.test.ts +0 -358
- package/tests/unit/seo_metadata.test.ts +0 -52
- package/tsconfig.json +0 -22
- package/vite.config.ts +0 -165
- package/vitest.config.ts +0 -111
- package/vitest.global_setup.ts +0 -42
- package/vitest.setup.ts +0 -89
|
@@ -1,1506 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
⚠️ DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
-
|
|
4
|
-
This is a copy of: foundation/agent_instructions/cursor_commands/report.md
|
|
5
|
-
Source of truth: foundation/agent_instructions/cursor_commands/report.md
|
|
6
|
-
|
|
7
|
-
To edit this command:
|
|
8
|
-
1. Edit the source file in foundation: foundation/agent_instructions/cursor_commands/report.md
|
|
9
|
-
2. Run '/setup_cursor_copies' to sync changes
|
|
10
|
-
|
|
11
|
-
This file will be overwritten when running setup_cursor_copies.
|
|
12
|
-
-->
|
|
13
|
-
|
|
14
|
-
# Report Error Command
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
Enable agents to report errors for automated resolution by Cursor Cloud Agent. This command detects, classifies, and documents errors in a structured format for systematic resolution.
|
|
19
|
-
|
|
20
|
-
Supports **cross-repo reporting**: Report errors to sibling repositories (repos sharing the same parent directory) by passing the target repo name.
|
|
21
|
-
|
|
22
|
-
## Command Usage
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
/report [target-repo-name] [--wait] [--timeout SECONDS] [--poll-interval SECONDS]
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**Parameters:**
|
|
29
|
-
- `target-repo-name` (optional): Name of sibling repository to report error to
|
|
30
|
-
- Must be a sibling repository (shares same parent directory)
|
|
31
|
-
- Example: If current repo is `/Users/user/Projects/personal`, target `neotoma` resolves to `/Users/user/Projects/neotoma`
|
|
32
|
-
- If omitted: Auto-detect target repository based on error origin (see Auto-Detection below)
|
|
33
|
-
- `--no-wait` (optional): Disable wait-for-resolution mode (default: wait mode is enabled)
|
|
34
|
-
- `--timeout SECONDS` (optional): Maximum time to wait for resolution (default: 300 seconds / 5 minutes)
|
|
35
|
-
- `--poll-interval SECONDS` (optional): How often to check error status (default: 5 seconds)
|
|
36
|
-
|
|
37
|
-
**Default Behavior:**
|
|
38
|
-
- **Wait mode is enabled by default** - Agent will monitor error status until resolved or timeout
|
|
39
|
-
- **Auto-detection is enabled** - If target-repo-name is not provided, automatically detect target repository based on error origin
|
|
40
|
-
|
|
41
|
-
**Examples:**
|
|
42
|
-
```bash
|
|
43
|
-
# Local reporting (current repo)
|
|
44
|
-
/report
|
|
45
|
-
|
|
46
|
-
# Cross-repo reporting to sibling repo
|
|
47
|
-
/report neotoma
|
|
48
|
-
/report personal-project
|
|
49
|
-
|
|
50
|
-
# Report error and wait for resolution
|
|
51
|
-
/report --wait
|
|
52
|
-
|
|
53
|
-
# Report error with custom timeout (10 minutes)
|
|
54
|
-
/report --wait --timeout 600
|
|
55
|
-
|
|
56
|
-
# Report error with custom poll interval (check every 2 seconds)
|
|
57
|
-
/report --wait --poll-interval 2
|
|
58
|
-
|
|
59
|
-
# Cross-repo reporting with wait mode
|
|
60
|
-
/report neotoma --wait --timeout 600
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## When to Use
|
|
64
|
-
|
|
65
|
-
Use this command when you encounter:
|
|
66
|
-
- Build errors (TypeScript compilation, module resolution)
|
|
67
|
-
- Runtime errors (MCP server errors, API failures, database errors)
|
|
68
|
-
- Test failures
|
|
69
|
-
- Dependency issues (missing modules, version conflicts)
|
|
70
|
-
- Configuration errors (missing env vars, invalid config)
|
|
71
|
-
|
|
72
|
-
**Auto-Detection:** The command automatically detects the target repository when errors originate from MCP servers or external modules. For example:
|
|
73
|
-
- Errors from `mcp_neotoma_*` functions → automatically report to `neotoma` repo
|
|
74
|
-
- Errors from `mcp_asana_*` functions → automatically report to `asana` repo (if exists)
|
|
75
|
-
- Errors with file paths containing `/Projects/neotoma/` → automatically report to `neotoma` repo
|
|
76
|
-
|
|
77
|
-
## Workflow
|
|
78
|
-
|
|
79
|
-
### 1. Target Repository Resolution
|
|
80
|
-
|
|
81
|
-
1. **Get Current Repository Path:**
|
|
82
|
-
```bash
|
|
83
|
-
git rev-parse --show-toplevel
|
|
84
|
-
```
|
|
85
|
-
Store as `current_repo_path`
|
|
86
|
-
|
|
87
|
-
2. **Auto-Detect Target Repository (if target-repo-name not provided):**
|
|
88
|
-
|
|
89
|
-
Analyze error context to determine target repository:
|
|
90
|
-
|
|
91
|
-
**MCP Error Detection:**
|
|
92
|
-
- If error message contains `MCP error` or `mcp_` prefix:
|
|
93
|
-
- Extract MCP server name from error context
|
|
94
|
-
- Check `agent_context.command` for MCP function names (e.g., `mcp_neotoma_ingest_structured`)
|
|
95
|
-
- Map MCP server to target repository using configured mapping or default patterns:
|
|
96
|
-
- `mcp_neotoma` → `neotoma`
|
|
97
|
-
- `mcp_asana` → `asana` (if exists)
|
|
98
|
-
- `mcp_gmail` → `gmail` (if exists)
|
|
99
|
-
- `mcp_google-calendar` or `mcp_google_calendar` → `google-calendar` (if exists)
|
|
100
|
-
- Pattern: `mcp_<server-name>` → lookup in `mcp_server_mapping` config or use `<server-name>`
|
|
101
|
-
- Validate target repository exists before using
|
|
102
|
-
|
|
103
|
-
**Module Path Detection:**
|
|
104
|
-
- If error contains file paths:
|
|
105
|
-
- Extract repository name from path patterns:
|
|
106
|
-
- `/Users/user/Projects/neotoma/` → `neotoma`
|
|
107
|
-
- `/Users/user/Projects/foundation/` → `foundation`
|
|
108
|
-
- Check if path matches sibling repository structure
|
|
109
|
-
|
|
110
|
-
**Error Source Detection:**
|
|
111
|
-
- If error originates from MCP call:
|
|
112
|
-
- Check `agent_context.command` for MCP function names
|
|
113
|
-
- Extract server name from command (e.g., `mcp_neotoma_ingest_structured` → `neotoma`)
|
|
114
|
-
|
|
115
|
-
**Fallback:**
|
|
116
|
-
- If auto-detection fails or no match found:
|
|
117
|
-
- Use `current_repo_path` (local reporting)
|
|
118
|
-
- Log warning: "Could not auto-detect target repository, using current repo"
|
|
119
|
-
|
|
120
|
-
3. **Resolve Target Repository Path:**
|
|
121
|
-
- If `target-repo-name` parameter provided:
|
|
122
|
-
- Use explicit target (skip auto-detection)
|
|
123
|
-
- Get parent directory: `dirname(current_repo_path)`
|
|
124
|
-
- Construct target path: `parent_dir/target-repo-name`
|
|
125
|
-
- Example: Current repo at `/Users/user/Projects/personal`, target `neotoma` → `/Users/user/Projects/neotoma`
|
|
126
|
-
- If parameter omitted and auto-detection succeeded:
|
|
127
|
-
- Use auto-detected target repository
|
|
128
|
-
- If parameter omitted and auto-detection failed:
|
|
129
|
-
- Use `current_repo_path` (local reporting)
|
|
130
|
-
|
|
131
|
-
4. **Sanitize Repository Name** (if provided or auto-detected):
|
|
132
|
-
- Ensure repo name doesn't contain path traversal characters (`..`, `/`, `\`)
|
|
133
|
-
- Validate repo name is a valid directory name (alphanumeric, hyphens, underscores, dots)
|
|
134
|
-
- Abort if repo name contains invalid characters
|
|
135
|
-
|
|
136
|
-
5. **Validate Target Repository:**
|
|
137
|
-
- Verify target path exists and is a directory
|
|
138
|
-
- Verify target contains `.git` directory (is a git repository)
|
|
139
|
-
- Verify write permissions to target directory
|
|
140
|
-
- If validation fails: abort with clear error message
|
|
141
|
-
|
|
142
|
-
### 2. Error Detection & Collection
|
|
143
|
-
|
|
144
|
-
Extract the following from context:
|
|
145
|
-
- Error message and stack trace
|
|
146
|
-
- Affected files/modules from error paths
|
|
147
|
-
- Agent context (agent_id, task being performed, command name)
|
|
148
|
-
- Environment details (Node version, OS, etc.)
|
|
149
|
-
- **MCP context**: Function names, server identifiers, module paths
|
|
150
|
-
|
|
151
|
-
**For Auto-Detection:**
|
|
152
|
-
- Extract MCP server name from error message (e.g., "MCP error" from `mcp_neotoma`)
|
|
153
|
-
- Extract command name from agent context (e.g., `mcp_neotoma_ingest_structured`)
|
|
154
|
-
- Extract repository paths from stack traces and affected files
|
|
155
|
-
- Map detected sources to sibling repository names
|
|
156
|
-
|
|
157
|
-
### 3. Error Classification
|
|
158
|
-
|
|
159
|
-
Classify error into one of these categories:
|
|
160
|
-
- **build**: TypeScript compilation, module resolution, missing dependencies
|
|
161
|
-
- **runtime**: MCP server errors, API failures, database errors
|
|
162
|
-
- **test**: Test failures, assertion errors
|
|
163
|
-
- **dependency**: Missing modules, version conflicts
|
|
164
|
-
- **configuration**: Missing env vars, invalid config
|
|
165
|
-
|
|
166
|
-
### 4. Severity Assessment
|
|
167
|
-
|
|
168
|
-
Assign severity based on impact:
|
|
169
|
-
- **critical**: Server crashes, data loss, security issues
|
|
170
|
-
- **high**: Feature breakage, blocking errors
|
|
171
|
-
- **medium**: Non-blocking errors, warnings
|
|
172
|
-
- **low**: Cosmetic issues, deprecation warnings
|
|
173
|
-
|
|
174
|
-
### 5. Generate Error Report
|
|
175
|
-
|
|
176
|
-
Create a structured error report with:
|
|
177
|
-
- Error ID (UUIDv7 or timestamp-based)
|
|
178
|
-
- Timestamp (ISO 8601)
|
|
179
|
-
- Category and severity
|
|
180
|
-
- Sanitized error message (no PII)
|
|
181
|
-
- Truncated stack trace (max 5000 chars)
|
|
182
|
-
- Affected files and modules
|
|
183
|
-
- Agent context
|
|
184
|
-
- Environment details
|
|
185
|
-
- **Repository metadata** (source_repo, target_repo)
|
|
186
|
-
- Resolution status (initially "pending")
|
|
187
|
-
|
|
188
|
-
### 6. Store Error Report in Target Repository
|
|
189
|
-
|
|
190
|
-
1. **Ensure Target Directory Structure:**
|
|
191
|
-
- Create `target_repo/.cursor/error_reports/` if missing
|
|
192
|
-
- Create `target_repo/.cursor/error_reports/pending/` if missing
|
|
193
|
-
- Create `target_repo/.cursor/error_reports/resolved/` if missing
|
|
194
|
-
|
|
195
|
-
2. **Write Error Report Files:**
|
|
196
|
-
- Save JSON: `target_repo/.cursor/error_reports/pending/error_[timestamp]_[category].json`
|
|
197
|
-
- Save Markdown: `target_repo/.cursor/error_reports/pending/error_[timestamp]_[category].md`
|
|
198
|
-
|
|
199
|
-
3. **Update Pending Queue:**
|
|
200
|
-
- Append to `target_repo/.cursor/error_reports/pending.json`
|
|
201
|
-
- Include priority/severity for processing order
|
|
202
|
-
- File paths in pending.json should reference the pending/ subdirectory
|
|
203
|
-
|
|
204
|
-
### 7. Output Summary
|
|
205
|
-
|
|
206
|
-
Present to user:
|
|
207
|
-
- Error ID and category
|
|
208
|
-
- Severity level
|
|
209
|
-
- Target repository path (indicate if auto-detected)
|
|
210
|
-
- Location of report files
|
|
211
|
-
- Queue status
|
|
212
|
-
|
|
213
|
-
### 8. Wait-for-Resolution (Default Behavior)
|
|
214
|
-
|
|
215
|
-
**IMPORTANT**: Wait mode is enabled by default unless `--no-wait` is specified.
|
|
216
|
-
|
|
217
|
-
After creating error report, monitor resolution status:
|
|
218
|
-
|
|
219
|
-
1. **Check Wait Mode:**
|
|
220
|
-
- If `--no-wait` flag provided: Skip wait mode, exit immediately
|
|
221
|
-
- Otherwise: Proceed with wait mode
|
|
222
|
-
|
|
223
|
-
2. **Monitor Resolution:**
|
|
224
|
-
- Poll error report file for status changes
|
|
225
|
-
- **Critical**: Check both `pending/` and `resolved/` directories on each poll
|
|
226
|
-
- Files are moved from `pending/` to `resolved/` by Cursor Cloud Agent upon resolution
|
|
227
|
-
- If file not found in `pending/`, check `resolved/` before assuming file is missing
|
|
228
|
-
- Check `resolution_status` field in JSON report
|
|
229
|
-
- Status values: `pending` → `in_progress` → `resolved` | `failed`
|
|
230
|
-
- Use configured timeout and poll interval
|
|
231
|
-
|
|
232
|
-
3. **Resolution Detection:**
|
|
233
|
-
- **Resolved:** Status changes to `"resolved"`
|
|
234
|
-
- Output resolution notes
|
|
235
|
-
- Exit with success
|
|
236
|
-
- **Failed:** Status changes to `"failed"`
|
|
237
|
-
- Output failure reason
|
|
238
|
-
- Exit with error
|
|
239
|
-
- **Timeout:** Timeout reached while status is `pending` or `in_progress`
|
|
240
|
-
- Output current status
|
|
241
|
-
- Exit with warning (non-fatal)
|
|
242
|
-
|
|
243
|
-
4. **Resume/Retry Logic:**
|
|
244
|
-
- After resolution, agent can:
|
|
245
|
-
- **Retry:** Re-execute the operation that failed
|
|
246
|
-
- **Skip:** If error indicates operation should be skipped
|
|
247
|
-
- **Continue:** Proceed with next operation
|
|
248
|
-
|
|
249
|
-
## Error Report Schema
|
|
250
|
-
|
|
251
|
-
```json
|
|
252
|
-
{
|
|
253
|
-
"error_id": "uuid-v7",
|
|
254
|
-
"timestamp": "ISO-8601",
|
|
255
|
-
"category": "build|runtime|test|dependency|configuration",
|
|
256
|
-
"severity": "critical|high|medium|low",
|
|
257
|
-
"error_message": "sanitized error message",
|
|
258
|
-
"stack_trace": "truncated stack trace",
|
|
259
|
-
"affected_files": ["path/to/file1.ts", "path/to/file2.ts"],
|
|
260
|
-
"affected_modules": ["module_name"],
|
|
261
|
-
"agent_context": {
|
|
262
|
-
"agent_id": "cursor-agent",
|
|
263
|
-
"task": "description of task",
|
|
264
|
-
"command": "command_name if applicable"
|
|
265
|
-
},
|
|
266
|
-
"repositories": {
|
|
267
|
-
"source_repo": {
|
|
268
|
-
"path": "/absolute/path/to/source/repo",
|
|
269
|
-
"name": "repo-name",
|
|
270
|
-
"remote_url": "git@github.com:user/repo.git"
|
|
271
|
-
},
|
|
272
|
-
"target_repo": {
|
|
273
|
-
"path": "/absolute/path/to/target/repo",
|
|
274
|
-
"name": "target-repo-name",
|
|
275
|
-
"remote_url": "git@github.com:user/target.git"
|
|
276
|
-
}
|
|
277
|
-
},
|
|
278
|
-
"environment": {
|
|
279
|
-
"node_version": "v20.x.x",
|
|
280
|
-
"os": "darwin|linux|windows",
|
|
281
|
-
"neotoma_env": "development|production"
|
|
282
|
-
},
|
|
283
|
-
"resolution_status": "pending|in_progress|resolved|failed",
|
|
284
|
-
"resolution_notes": ""
|
|
285
|
-
}
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
## Path Sanitization Rules
|
|
289
|
-
|
|
290
|
-
**Repository Name Validation:**
|
|
291
|
-
- Ensure repo name doesn't contain path traversal: `..`, `/`, `\`
|
|
292
|
-
- Allow only valid directory name characters: alphanumeric, hyphens, underscores, dots
|
|
293
|
-
- Reject repo names that don't match pattern: `^[a-zA-Z0-9._-]+$`
|
|
294
|
-
- Example valid names: `neotoma`, `personal-project`, `my_repo`, `repo.2`
|
|
295
|
-
- Example invalid names: `../other`, `repo/subdir`, `../../secret`
|
|
296
|
-
|
|
297
|
-
**Path Construction:**
|
|
298
|
-
```javascript
|
|
299
|
-
// Get current repo root
|
|
300
|
-
const currentRepoPath = execSync('git rev-parse --show-toplevel').toString().trim();
|
|
301
|
-
|
|
302
|
-
// If target repo name provided
|
|
303
|
-
if (targetRepoName) {
|
|
304
|
-
// Sanitize repo name first
|
|
305
|
-
if (!/^[a-zA-Z0-9._-]+$/.test(targetRepoName)) {
|
|
306
|
-
throw new Error(`Invalid repo name: ${targetRepoName}. Only alphanumeric, hyphens, underscores, and dots allowed.`);
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
// Get parent directory
|
|
310
|
-
const parentDir = path.dirname(currentRepoPath);
|
|
311
|
-
|
|
312
|
-
// Construct target repo path
|
|
313
|
-
const targetPath = path.join(parentDir, targetRepoName);
|
|
314
|
-
|
|
315
|
-
return targetPath;
|
|
316
|
-
} else {
|
|
317
|
-
// Use current repo
|
|
318
|
-
return currentRepoPath;
|
|
319
|
-
}
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
## Target Repository Validation
|
|
323
|
-
|
|
324
|
-
Before writing error report, validate target repository:
|
|
325
|
-
|
|
326
|
-
1. **Path Exists:**
|
|
327
|
-
```javascript
|
|
328
|
-
if (!fs.existsSync(targetPath)) {
|
|
329
|
-
throw new Error(`Target repository not found: ${targetPath}`);
|
|
330
|
-
}
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
2. **Is Directory:**
|
|
334
|
-
```javascript
|
|
335
|
-
if (!fs.statSync(targetPath).isDirectory()) {
|
|
336
|
-
throw new Error(`Target path is not a directory: ${targetPath}`);
|
|
337
|
-
}
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
3. **Is Git Repository:**
|
|
341
|
-
```javascript
|
|
342
|
-
const gitPath = path.join(targetPath, '.git');
|
|
343
|
-
if (!fs.existsSync(gitPath)) {
|
|
344
|
-
throw new Error(`Target path is not a git repository: ${targetPath}`);
|
|
345
|
-
}
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
4. **Is Writable:**
|
|
349
|
-
```javascript
|
|
350
|
-
try {
|
|
351
|
-
fs.accessSync(targetPath, fs.constants.W_OK);
|
|
352
|
-
} catch {
|
|
353
|
-
throw new Error(`No write permission for target repository: ${targetPath}`);
|
|
354
|
-
}
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
If any validation fails, abort with clear error message and do not write error report.
|
|
358
|
-
|
|
359
|
-
## Error Message Sanitization Rules
|
|
360
|
-
|
|
361
|
-
Apply these rules when generating reports:
|
|
362
|
-
1. Remove PII from error messages
|
|
363
|
-
2. Truncate stack traces to max 5000 characters
|
|
364
|
-
3. Replace sensitive paths with placeholders
|
|
365
|
-
4. Redact API keys, tokens, credentials
|
|
366
|
-
5. Remove user-specific data from file paths
|
|
367
|
-
|
|
368
|
-
## Error Handling & User Feedback
|
|
369
|
-
|
|
370
|
-
**Validation Failures:**
|
|
371
|
-
|
|
372
|
-
1. **Invalid Repo Name:**
|
|
373
|
-
```
|
|
374
|
-
Error: Invalid repo name: ../other. Only alphanumeric, hyphens, underscores, and dots allowed.
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
2. **Target Repo Not Found:**
|
|
378
|
-
```
|
|
379
|
-
Error: Target repository not found: /Users/user/Projects/non-existent-repo
|
|
380
|
-
|
|
381
|
-
Available sibling repositories:
|
|
382
|
-
- neotoma
|
|
383
|
-
- personal-project
|
|
384
|
-
- another-repo
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
3. **Not a Git Repository:**
|
|
388
|
-
```
|
|
389
|
-
Error: Target path is not a git repository: /Users/user/Projects/some-dir
|
|
390
|
-
|
|
391
|
-
Target must be a git repository (contains .git directory).
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
4. **No Write Permission:**
|
|
395
|
-
```
|
|
396
|
-
Error: No write permission for target repository: /Users/user/Projects/neotoma
|
|
397
|
-
|
|
398
|
-
Check file permissions and try again.
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
**Success Feedback:**
|
|
402
|
-
```
|
|
403
|
-
Error report created successfully.
|
|
404
|
-
|
|
405
|
-
Error ID: 01JQZ8X9K2M3N4P5Q6R7S8T9U0
|
|
406
|
-
Category: build
|
|
407
|
-
Severity: high
|
|
408
|
-
Target: /Users/user/Projects/neotoma
|
|
409
|
-
|
|
410
|
-
Report saved to:
|
|
411
|
-
- /Users/user/Projects/neotoma/.cursor/error_reports/pending/error_20250131_143022_build.json
|
|
412
|
-
- /Users/user/Projects/neotoma/.cursor/error_reports/pending/error_20250131_143022_build.md
|
|
413
|
-
|
|
414
|
-
Added to pending queue for resolution.
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
## Example Usage
|
|
418
|
-
|
|
419
|
-
### Scenario 1: Auto-Detection from File Path
|
|
420
|
-
|
|
421
|
-
```
|
|
422
|
-
Agent: I encountered a TypeScript compilation error while building the project.
|
|
423
|
-
|
|
424
|
-
Error: Cannot find module '../db'
|
|
425
|
-
at Object.<anonymous> (/Users/user/Projects/neotoma/src/services/raw_storage.ts:1:1)
|
|
426
|
-
...
|
|
427
|
-
|
|
428
|
-
Command: /report
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
Agent will:
|
|
432
|
-
1. Auto-detect target repo: Extract `/Users/user/Projects/neotoma/` from stack trace → target: `neotoma`
|
|
433
|
-
2. Validate target repo exists and is writable
|
|
434
|
-
3. Classify as "build" error with "high" severity
|
|
435
|
-
4. Extract affected files: `src/services/raw_storage.ts`, etc.
|
|
436
|
-
5. Generate error report with sanitized paths
|
|
437
|
-
6. Save to neotoma repo's `.cursor/error_reports/pending/error_20250131_143022_build.json`
|
|
438
|
-
7. Add to neotoma's pending queue
|
|
439
|
-
8. Wait for resolution (default behavior)
|
|
440
|
-
9. Output summary with error ID and auto-detected target
|
|
441
|
-
|
|
442
|
-
### Scenario 2: Auto-Detection from MCP Error
|
|
443
|
-
|
|
444
|
-
```
|
|
445
|
-
Agent: Working in personal-project repo, encountered MCP error.
|
|
446
|
-
|
|
447
|
-
Error: MCP error -32603: Failed to upload to storage: Bucket not found
|
|
448
|
-
Command: mcp_neotoma_ingest_structured
|
|
449
|
-
|
|
450
|
-
Command: /report_error
|
|
451
|
-
```
|
|
452
|
-
|
|
453
|
-
Agent will:
|
|
454
|
-
1. Auto-detect target repo: Extract `mcp_neotoma` from command context → target: `neotoma`
|
|
455
|
-
2. Resolve target repo: `/Users/user/Projects/neotoma` (sibling of personal-project)
|
|
456
|
-
3. Validate target repo exists and is writable
|
|
457
|
-
4. Classify as "runtime" error with "high" severity
|
|
458
|
-
5. Generate error report with repository metadata (source: personal-project, target: neotoma)
|
|
459
|
-
6. Save to neotoma repo's `.cursor/error_reports/pending/`
|
|
460
|
-
7. Add to neotoma's pending queue
|
|
461
|
-
8. Wait for resolution (default behavior)
|
|
462
|
-
9. Output summary showing auto-detected target repo path
|
|
463
|
-
|
|
464
|
-
### Scenario 2b: Explicit Target (Overrides Auto-Detection)
|
|
465
|
-
|
|
466
|
-
```
|
|
467
|
-
Agent: Working in personal-project repo, want to explicitly report to neotoma.
|
|
468
|
-
|
|
469
|
-
Error: MCP error -32603: Failed to upload to storage: Bucket not found
|
|
470
|
-
|
|
471
|
-
Command: /report neotoma
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
Agent will:
|
|
475
|
-
1. Skip auto-detection (explicit target provided)
|
|
476
|
-
2. Resolve target repo: `/Users/user/Projects/neotoma` (sibling of personal-project)
|
|
477
|
-
3. Validate target repo exists and is writable
|
|
478
|
-
4. Classify as "runtime" error with "high" severity
|
|
479
|
-
5. Generate error report with repository metadata (source: personal-project, target: neotoma)
|
|
480
|
-
6. Save to neotoma repo's `.cursor/error_reports/pending/`
|
|
481
|
-
7. Add to neotoma's pending queue
|
|
482
|
-
8. Wait for resolution (default behavior)
|
|
483
|
-
9. Output summary showing target repo path
|
|
484
|
-
|
|
485
|
-
### Scenario 3: Auto-Detection Fallback to Local
|
|
486
|
-
|
|
487
|
-
```
|
|
488
|
-
Agent: Encountered error with no clear repository origin.
|
|
489
|
-
|
|
490
|
-
Error: Generic runtime error
|
|
491
|
-
Command: /report_error
|
|
492
|
-
```
|
|
493
|
-
|
|
494
|
-
Agent will:
|
|
495
|
-
1. Attempt auto-detection: No MCP patterns, no clear repo paths found
|
|
496
|
-
2. Fallback to current repository (local reporting)
|
|
497
|
-
3. Log warning: "Could not auto-detect target repository, using current repo"
|
|
498
|
-
4. Generate error report
|
|
499
|
-
5. Save to current repo's `.cursor/error_reports/pending/`
|
|
500
|
-
6. Wait for resolution (default behavior)
|
|
501
|
-
|
|
502
|
-
### Scenario 4: Invalid Target Repo
|
|
503
|
-
|
|
504
|
-
```
|
|
505
|
-
Command: /report ../secret-repo
|
|
506
|
-
```
|
|
507
|
-
|
|
508
|
-
Agent will:
|
|
509
|
-
1. Detect invalid repo name (contains `..`)
|
|
510
|
-
2. Abort with error: "Invalid repo name: ../secret-repo. Only alphanumeric, hyphens, underscores, and dots allowed."
|
|
511
|
-
3. Do not create error report
|
|
512
|
-
|
|
513
|
-
## Cross-Repo File Writing Logic
|
|
514
|
-
|
|
515
|
-
**Directory Creation:**
|
|
516
|
-
```javascript
|
|
517
|
-
const errorReportsDir = path.join(targetRepoPath, '.cursor', 'error_reports');
|
|
518
|
-
const pendingDir = path.join(errorReportsDir, 'pending');
|
|
519
|
-
const resolvedDir = path.join(errorReportsDir, 'resolved');
|
|
520
|
-
|
|
521
|
-
// Create directories if they don't exist
|
|
522
|
-
fs.mkdirSync(errorReportsDir, { recursive: true });
|
|
523
|
-
fs.mkdirSync(pendingDir, { recursive: true });
|
|
524
|
-
fs.mkdirSync(resolvedDir, { recursive: true });
|
|
525
|
-
```
|
|
526
|
-
|
|
527
|
-
**File Naming:**
|
|
528
|
-
```javascript
|
|
529
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '').slice(0, 15);
|
|
530
|
-
const jsonFilename = `error_${timestamp}_${category}.json`;
|
|
531
|
-
const mdFilename = `error_${timestamp}_${category}.md`;
|
|
532
|
-
|
|
533
|
-
const jsonPath = path.join(pendingDir, jsonFilename);
|
|
534
|
-
const mdPath = path.join(pendingDir, mdFilename);
|
|
535
|
-
```
|
|
536
|
-
|
|
537
|
-
**Write Error Reports:**
|
|
538
|
-
```javascript
|
|
539
|
-
// Write JSON report
|
|
540
|
-
fs.writeFileSync(jsonPath, JSON.stringify(errorReport, null, 2), 'utf8');
|
|
541
|
-
|
|
542
|
-
// Write Markdown summary
|
|
543
|
-
fs.writeFileSync(mdPath, markdownSummary, 'utf8');
|
|
544
|
-
|
|
545
|
-
// Update pending queue
|
|
546
|
-
const pendingPath = path.join(errorReportsDir, 'pending.json');
|
|
547
|
-
let pending = [];
|
|
548
|
-
if (fs.existsSync(pendingPath)) {
|
|
549
|
-
pending = JSON.parse(fs.readFileSync(pendingPath, 'utf8'));
|
|
550
|
-
}
|
|
551
|
-
pending.push({
|
|
552
|
-
error_id: errorReport.error_id,
|
|
553
|
-
timestamp: errorReport.timestamp,
|
|
554
|
-
category: errorReport.category,
|
|
555
|
-
severity: errorReport.severity,
|
|
556
|
-
file_path: jsonPath
|
|
557
|
-
});
|
|
558
|
-
fs.writeFileSync(pendingPath, JSON.stringify(pending, null, 2), 'utf8');
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
## File Structure
|
|
562
|
-
|
|
563
|
-
Error reports are stored in the **target repository's** `.cursor/error_reports/` directory:
|
|
564
|
-
|
|
565
|
-
```
|
|
566
|
-
target_repo/.cursor/
|
|
567
|
-
error_reports/
|
|
568
|
-
pending.json # Queue of errors awaiting resolution
|
|
569
|
-
pending/ # Pending error reports
|
|
570
|
-
error_20250131_143022_build.json # Individual error reports (JSON)
|
|
571
|
-
error_20250131_143022_build.md # Human-readable summaries (Markdown)
|
|
572
|
-
resolved/ # Archived resolved errors
|
|
573
|
-
error_20250131_143022_build.json
|
|
574
|
-
error_20250131_143022_build.md
|
|
575
|
-
```
|
|
576
|
-
|
|
577
|
-
## Integration with Cursor Cloud Agent
|
|
578
|
-
|
|
579
|
-
The Cursor Cloud Agent will:
|
|
580
|
-
1. Monitor `.cursor/error_reports/pending.json`
|
|
581
|
-
2. Process errors in priority order (critical → low)
|
|
582
|
-
3. Update `resolution_status` when working on error
|
|
583
|
-
4. **Move resolved errors from `.cursor/error_reports/pending/` to `.cursor/error_reports/resolved/`**
|
|
584
|
-
5. Add resolution notes to error report
|
|
585
|
-
|
|
586
|
-
**Important for Wait Mode**: When monitoring for resolution, the agent must check both `pending/` and `resolved/` directories, as the Cursor Cloud Agent moves files upon resolution. If a file is not found in `pending/`, check `resolved/` before assuming the file is missing.
|
|
587
|
-
|
|
588
|
-
## Integration with Existing Commands
|
|
589
|
-
|
|
590
|
-
### With `fix_feature_bug`
|
|
591
|
-
|
|
592
|
-
- Errors classified as bugs can trigger the `fix_feature_bug` command
|
|
593
|
-
- Agent can auto-classify certain error types as bugs
|
|
594
|
-
- Bug fix workflow will update error report resolution status
|
|
595
|
-
|
|
596
|
-
### With `analyze`
|
|
597
|
-
|
|
598
|
-
- Can analyze error patterns across multiple reports
|
|
599
|
-
- Identify recurring issues
|
|
600
|
-
- Generate error trend reports
|
|
601
|
-
|
|
602
|
-
## Configuration
|
|
603
|
-
|
|
604
|
-
Error reporting behavior can be configured in `foundation-config.yaml`:
|
|
605
|
-
|
|
606
|
-
```yaml
|
|
607
|
-
development:
|
|
608
|
-
error_reporting:
|
|
609
|
-
enabled: true
|
|
610
|
-
auto_detect: true # Enable automatic target repository detection
|
|
611
|
-
auto_classify_bugs: true
|
|
612
|
-
severity_threshold: "medium"
|
|
613
|
-
max_stack_trace_length: 5000
|
|
614
|
-
retention_days: 30
|
|
615
|
-
output_directory: ".cursor/error_reports"
|
|
616
|
-
wait_by_default: true # Enable wait mode by default (can disable with --no-wait)
|
|
617
|
-
mcp_server_mapping: # Map MCP server names to repository names
|
|
618
|
-
neotoma: "neotoma"
|
|
619
|
-
asana: "asana"
|
|
620
|
-
gmail: "gmail"
|
|
621
|
-
google_calendar: "google-calendar"
|
|
622
|
-
google-calendar: "google-calendar"
|
|
623
|
-
wait_mode:
|
|
624
|
-
default_timeout: 300 # Default timeout in seconds (5 minutes)
|
|
625
|
-
default_poll_interval: 5 # Default poll interval in seconds
|
|
626
|
-
max_timeout: 3600 # Maximum allowed timeout (1 hour)
|
|
627
|
-
min_poll_interval: 1 # Minimum allowed poll interval
|
|
628
|
-
```
|
|
629
|
-
|
|
630
|
-
## Error Detection Patterns
|
|
631
|
-
|
|
632
|
-
Auto-detect errors matching these patterns:
|
|
633
|
-
- MCP error responses: `MCP error -32603`, `UNKNOWN_CAPABILITY`, etc.
|
|
634
|
-
- Build errors: TypeScript compilation failures, `tsc` errors
|
|
635
|
-
- Module resolution: `Cannot find module`, `Module not found`
|
|
636
|
-
- Runtime exceptions: Stack traces with `Error:`, `Exception:`
|
|
637
|
-
- Test failures: `Test failed`, `AssertionError`
|
|
638
|
-
|
|
639
|
-
## Implementation Checklist
|
|
640
|
-
|
|
641
|
-
When reporting an error:
|
|
642
|
-
- [ ] Parse target-repo-name parameter (if provided)
|
|
643
|
-
- [ ] If target-repo-name not provided: Auto-detect target repository from error origin
|
|
644
|
-
- [ ] Check for MCP error patterns (`MCP error`, `mcp_` prefix)
|
|
645
|
-
- [ ] Extract MCP server name from error message/stack trace
|
|
646
|
-
- [ ] Check agent context for MCP command names
|
|
647
|
-
- [ ] Check affected files for repository paths
|
|
648
|
-
- [ ] Map detected source to sibling repository
|
|
649
|
-
- [ ] Fallback to current repo if auto-detection fails
|
|
650
|
-
- [ ] Sanitize repo name (validate pattern)
|
|
651
|
-
- [ ] Resolve target repository path (parent_dir + repo_name or auto-detected)
|
|
652
|
-
- [ ] Validate target repository (exists, is git repo, writable)
|
|
653
|
-
- [ ] Extract error message and stack trace
|
|
654
|
-
- [ ] Classify error category
|
|
655
|
-
- [ ] Assign severity level
|
|
656
|
-
- [ ] Sanitize sensitive data
|
|
657
|
-
- [ ] Collect repository metadata (source and target)
|
|
658
|
-
- [ ] Generate unique error ID
|
|
659
|
-
- [ ] Create target repo directory structure if missing
|
|
660
|
-
- [ ] Create JSON report file in target repo (pending/ subdirectory)
|
|
661
|
-
- [ ] Create Markdown summary file in target repo (pending/ subdirectory)
|
|
662
|
-
- [ ] Update pending queue in target repo
|
|
663
|
-
- [ ] Output summary to user with target repo path (indicate if auto-detected)
|
|
664
|
-
- [ ] If wait mode enabled (default): Monitor error status until resolved or timeout
|
|
665
|
-
|
|
666
|
-
## Example Error Report Files
|
|
667
|
-
|
|
668
|
-
### JSON Report (`error_20250131_143022_build.json`)
|
|
669
|
-
|
|
670
|
-
**Example: Local Reporting**
|
|
671
|
-
```json
|
|
672
|
-
{
|
|
673
|
-
"error_id": "01JQZ8X9K2M3N4P5Q6R7S8T9U0",
|
|
674
|
-
"timestamp": "2025-01-31T14:30:22Z",
|
|
675
|
-
"category": "build",
|
|
676
|
-
"severity": "high",
|
|
677
|
-
"error_message": "Cannot find module '../db'",
|
|
678
|
-
"stack_trace": "Error: Cannot find module '../db'\n at Object.<anonymous> (src/services/raw_storage.ts:1:1)\n at Module._compile (node:internal/modules/cjs/loader:1376:14)\n ...",
|
|
679
|
-
"affected_files": [
|
|
680
|
-
"src/services/raw_storage.ts",
|
|
681
|
-
"src/services/interpretation.ts",
|
|
682
|
-
"src/services/entity_queries.ts"
|
|
683
|
-
],
|
|
684
|
-
"affected_modules": ["db"],
|
|
685
|
-
"agent_context": {
|
|
686
|
-
"agent_id": "cursor-agent",
|
|
687
|
-
"task": "Transfer contacts from Parquet to Neotoma",
|
|
688
|
-
"command": null
|
|
689
|
-
},
|
|
690
|
-
"repositories": {
|
|
691
|
-
"source_repo": {
|
|
692
|
-
"path": "/Users/user/Projects/neotoma",
|
|
693
|
-
"name": "neotoma",
|
|
694
|
-
"remote_url": "git@github.com:user/neotoma.git"
|
|
695
|
-
},
|
|
696
|
-
"target_repo": {
|
|
697
|
-
"path": "/Users/user/Projects/neotoma",
|
|
698
|
-
"name": "neotoma",
|
|
699
|
-
"remote_url": "git@github.com:user/neotoma.git"
|
|
700
|
-
}
|
|
701
|
-
},
|
|
702
|
-
"environment": {
|
|
703
|
-
"node_version": "v20.11.0",
|
|
704
|
-
"os": "darwin",
|
|
705
|
-
"neotoma_env": "development"
|
|
706
|
-
},
|
|
707
|
-
"resolution_status": "pending",
|
|
708
|
-
"resolution_notes": ""
|
|
709
|
-
}
|
|
710
|
-
```
|
|
711
|
-
|
|
712
|
-
**Example: Cross-Repo Reporting**
|
|
713
|
-
```json
|
|
714
|
-
{
|
|
715
|
-
"error_id": "01JQZ8X9K2M3N4P5Q6R7S8T9U1",
|
|
716
|
-
"timestamp": "2025-01-31T14:35:10Z",
|
|
717
|
-
"category": "runtime",
|
|
718
|
-
"severity": "high",
|
|
719
|
-
"error_message": "MCP error -32603: Failed to upload to storage: Bucket not found",
|
|
720
|
-
"stack_trace": "...",
|
|
721
|
-
"affected_files": ["src/actions.ts"],
|
|
722
|
-
"affected_modules": ["mcp_neotoma"],
|
|
723
|
-
"agent_context": {
|
|
724
|
-
"agent_id": "cursor-agent",
|
|
725
|
-
"task": "Ingest structured contact data",
|
|
726
|
-
"command": "ingest_structured"
|
|
727
|
-
},
|
|
728
|
-
"repositories": {
|
|
729
|
-
"source_repo": {
|
|
730
|
-
"path": "/Users/user/Projects/personal-project",
|
|
731
|
-
"name": "personal-project",
|
|
732
|
-
"remote_url": "git@github.com:user/personal-project.git"
|
|
733
|
-
},
|
|
734
|
-
"target_repo": {
|
|
735
|
-
"path": "/Users/user/Projects/neotoma",
|
|
736
|
-
"name": "neotoma",
|
|
737
|
-
"remote_url": "git@github.com:user/neotoma.git"
|
|
738
|
-
}
|
|
739
|
-
},
|
|
740
|
-
"environment": {
|
|
741
|
-
"node_version": "v20.11.0",
|
|
742
|
-
"os": "darwin",
|
|
743
|
-
"neotoma_env": "development"
|
|
744
|
-
},
|
|
745
|
-
"resolution_status": "pending",
|
|
746
|
-
"resolution_notes": ""
|
|
747
|
-
}
|
|
748
|
-
```
|
|
749
|
-
|
|
750
|
-
### Markdown Summary (`error_20250131_143022_build.md`)
|
|
751
|
-
|
|
752
|
-
**Example: Cross-Repo Reporting**
|
|
753
|
-
```markdown
|
|
754
|
-
# Error Report: Runtime Error
|
|
755
|
-
|
|
756
|
-
**Error ID:** `01JQZ8X9K2M3N4P5Q6R7S8T9U1`
|
|
757
|
-
**Timestamp:** 2025-01-31T14:35:10Z
|
|
758
|
-
**Category:** runtime
|
|
759
|
-
**Severity:** high
|
|
760
|
-
**Status:** pending
|
|
761
|
-
|
|
762
|
-
## Error Message
|
|
763
|
-
|
|
764
|
-
MCP error -32603: Failed to upload to storage: Bucket not found
|
|
765
|
-
|
|
766
|
-
## Source Repository
|
|
767
|
-
|
|
768
|
-
- **Name:** personal-project
|
|
769
|
-
- **Path:** /Users/user/Projects/personal-project
|
|
770
|
-
- **Remote:** git@github.com:user/personal-project.git
|
|
771
|
-
|
|
772
|
-
## Target Repository
|
|
773
|
-
|
|
774
|
-
- **Name:** neotoma
|
|
775
|
-
- **Path:** /Users/user/Projects/neotoma
|
|
776
|
-
- **Remote:** git@github.com:user/neotoma.git
|
|
777
|
-
|
|
778
|
-
## Affected Files
|
|
779
|
-
|
|
780
|
-
- `src/actions.ts`
|
|
781
|
-
|
|
782
|
-
## Affected Modules
|
|
783
|
-
|
|
784
|
-
- mcp_neotoma
|
|
785
|
-
|
|
786
|
-
## Stack Trace
|
|
787
|
-
|
|
788
|
-
```
|
|
789
|
-
...
|
|
790
|
-
```
|
|
791
|
-
|
|
792
|
-
## Context
|
|
793
|
-
|
|
794
|
-
Agent was ingesting structured contact data when this runtime error occurred.
|
|
795
|
-
|
|
796
|
-
## Environment
|
|
797
|
-
|
|
798
|
-
- Node: v20.11.0
|
|
799
|
-
- OS: darwin
|
|
800
|
-
- Environment: development
|
|
801
|
-
|
|
802
|
-
## Resolution
|
|
803
|
-
|
|
804
|
-
Awaiting resolution by Cursor Cloud Agent.
|
|
805
|
-
```
|
|
806
|
-
|
|
807
|
-
## Best Practices
|
|
808
|
-
|
|
809
|
-
1. **Always sanitize**: Remove PII and sensitive data before storing
|
|
810
|
-
2. **Be specific**: Include relevant context about the task being performed
|
|
811
|
-
3. **Truncate wisely**: Keep stack traces informative but not excessive
|
|
812
|
-
4. **Update status**: Mark errors as resolved when fixed
|
|
813
|
-
5. **Archive old errors**: Move resolved errors to archive directory
|
|
814
|
-
6. **Review patterns**: Periodically analyze error reports for trends
|
|
815
|
-
7. **Use cross-repo reporting**: Report errors to appropriate repo (e.g., foundation errors to neotoma)
|
|
816
|
-
8. **Validate target repo**: Always validate target exists and is writable before attempting to write
|
|
817
|
-
|
|
818
|
-
## Testing Scenarios
|
|
819
|
-
|
|
820
|
-
### Test 1: Auto-Detection with MCP Error
|
|
821
|
-
```bash
|
|
822
|
-
/report
|
|
823
|
-
```
|
|
824
|
-
Error: "MCP error -32603: Failed to create interpretation run"
|
|
825
|
-
Expected:
|
|
826
|
-
- Auto-detects target as `neotoma` (from `mcp_neotoma` in error context)
|
|
827
|
-
- Error report written to `../neotoma/.cursor/error_reports/pending/`
|
|
828
|
-
- Wait mode enabled by default
|
|
829
|
-
|
|
830
|
-
### Test 2: Explicit Target Repo (Overrides Auto-Detection)
|
|
831
|
-
```bash
|
|
832
|
-
/report neotoma
|
|
833
|
-
```
|
|
834
|
-
Expected:
|
|
835
|
-
- Auto-detection skipped (explicit target provided)
|
|
836
|
-
- Error report written to `../neotoma/.cursor/error_reports/pending/`
|
|
837
|
-
- Wait mode enabled by default
|
|
838
|
-
|
|
839
|
-
### Test 3: Non-Existent Sibling Repo
|
|
840
|
-
```bash
|
|
841
|
-
/report non-existent-repo
|
|
842
|
-
```
|
|
843
|
-
Expected: Error message: "Target repository not found: /Users/user/Projects/non-existent-repo"
|
|
844
|
-
|
|
845
|
-
### Test 4: Invalid Repo Name (Path Traversal)
|
|
846
|
-
```bash
|
|
847
|
-
/report ../other-dir
|
|
848
|
-
```
|
|
849
|
-
Expected: Error message: "Invalid repo name: ../other-dir. Only alphanumeric, hyphens, underscores, and dots allowed."
|
|
850
|
-
|
|
851
|
-
### Test 5: Valid Name but Not Git Repo
|
|
852
|
-
```bash
|
|
853
|
-
/report some-directory
|
|
854
|
-
```
|
|
855
|
-
Expected: Error message: "Target path is not a git repository: /Users/user/Projects/some-directory"
|
|
856
|
-
|
|
857
|
-
### Test 6: Cross-Repo with Directory Creation
|
|
858
|
-
```bash
|
|
859
|
-
/report neotoma
|
|
860
|
-
```
|
|
861
|
-
(Where neotoma repo exists but `.cursor/error_reports/pending/` doesn't exist yet)
|
|
862
|
-
Expected: Directories created automatically, error report written successfully
|
|
863
|
-
|
|
864
|
-
## Wait-for-Resolution Mode
|
|
865
|
-
|
|
866
|
-
**Wait mode is enabled by default.** The agent will automatically monitor the error report status and wait for resolution before continuing, unless `--no-wait` is specified.
|
|
867
|
-
|
|
868
|
-
### Workflow with Wait Mode (Default)
|
|
869
|
-
|
|
870
|
-
1. **Report Error:**
|
|
871
|
-
- Agent executes `/report --wait`
|
|
872
|
-
- Error report created with `resolution_status: "pending"`
|
|
873
|
-
- Error ID returned to agent
|
|
874
|
-
- Auto-detection determines target repository if not specified
|
|
875
|
-
|
|
876
|
-
2. **Monitor Resolution:**
|
|
877
|
-
- Agent polls error report file for status changes
|
|
878
|
-
- **Important**: Check both `pending/` and `resolved/` directories, as resolved errors are moved from `pending/` to `resolved/` by the Cursor Cloud Agent
|
|
879
|
-
- Checks `resolution_status` field in JSON report
|
|
880
|
-
- Status values: `pending` → `in_progress` → `resolved` | `failed`
|
|
881
|
-
|
|
882
|
-
3. **Resolution Detection:**
|
|
883
|
-
- **Resolved:** Status changes to `"resolved"`
|
|
884
|
-
- Agent can resume/retry the operation that failed
|
|
885
|
-
- Check `resolution_notes` for details about the fix
|
|
886
|
-
- **Failed:** Status changes to `"failed"`
|
|
887
|
-
- Agent should handle failure case (log, skip, or escalate)
|
|
888
|
-
- Check `resolution_notes` for failure reason
|
|
889
|
-
|
|
890
|
-
4. **Timeout Handling:**
|
|
891
|
-
- If timeout reached while status is still `pending` or `in_progress`:
|
|
892
|
-
- Agent logs warning and continues (assumes resolution in progress)
|
|
893
|
-
- Agent can check status later or proceed without waiting
|
|
894
|
-
|
|
895
|
-
5. **Resume/Retry Logic:**
|
|
896
|
-
- After resolution, agent can:
|
|
897
|
-
- **Resume:** Continue from where error occurred
|
|
898
|
-
- **Retry:** Re-execute the operation that failed
|
|
899
|
-
- **Skip:** If error indicates operation should be skipped
|
|
900
|
-
|
|
901
|
-
### Configuration
|
|
902
|
-
|
|
903
|
-
Wait mode settings are read from `foundation-config.yaml`:
|
|
904
|
-
- `error_reporting.wait_mode.default_timeout` - Default timeout (overridden by `--timeout`)
|
|
905
|
-
- `error_reporting.wait_mode.default_poll_interval` - Default poll interval (overridden by `--poll-interval`)
|
|
906
|
-
- `error_reporting.wait_mode.max_timeout` - Maximum allowed timeout
|
|
907
|
-
- `error_reporting.wait_mode.min_poll_interval` - Minimum allowed poll interval
|
|
908
|
-
|
|
909
|
-
### Auto-Detection Implementation
|
|
910
|
-
|
|
911
|
-
```javascript
|
|
912
|
-
function autoDetectTargetRepo(error, currentRepoPath) {
|
|
913
|
-
const parentDir = path.dirname(currentRepoPath);
|
|
914
|
-
|
|
915
|
-
// 1. Check for MCP errors
|
|
916
|
-
if (error.message && error.message.includes('MCP error')) {
|
|
917
|
-
// Extract MCP server name from error context
|
|
918
|
-
const mcpMatch = error.message.match(/mcp_(\w+)/i) ||
|
|
919
|
-
error.stack?.match(/mcp_(\w+)/i);
|
|
920
|
-
if (mcpMatch) {
|
|
921
|
-
const serverName = mcpMatch[1];
|
|
922
|
-
// Map common MCP servers to repos
|
|
923
|
-
const repoMap = {
|
|
924
|
-
'neotoma': 'neotoma',
|
|
925
|
-
'asana': 'asana',
|
|
926
|
-
'gmail': 'gmail',
|
|
927
|
-
'google-calendar': 'google-calendar',
|
|
928
|
-
'google_calendar': 'google-calendar'
|
|
929
|
-
};
|
|
930
|
-
const targetRepo = repoMap[serverName] || serverName;
|
|
931
|
-
const targetPath = path.join(parentDir, targetRepo);
|
|
932
|
-
if (fs.existsSync(targetPath) && fs.existsSync(path.join(targetPath, '.git'))) {
|
|
933
|
-
return targetPath;
|
|
934
|
-
}
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
// 2. Check agent context for MCP commands
|
|
939
|
-
if (error.agent_context?.command) {
|
|
940
|
-
const cmd = error.agent_context.command;
|
|
941
|
-
if (cmd.startsWith('mcp_')) {
|
|
942
|
-
const serverName = cmd.split('_')[1];
|
|
943
|
-
const targetPath = path.join(parentDir, serverName);
|
|
944
|
-
if (fs.existsSync(targetPath) && fs.existsSync(path.join(targetPath, '.git'))) {
|
|
945
|
-
return targetPath;
|
|
946
|
-
}
|
|
947
|
-
}
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
// 3. Check affected files/modules for repo paths
|
|
951
|
-
if (error.affected_files) {
|
|
952
|
-
for (const file of error.affected_files) {
|
|
953
|
-
const repoMatch = file.match(/\/Projects\/([^\/]+)\//);
|
|
954
|
-
if (repoMatch) {
|
|
955
|
-
const repoName = repoMatch[1];
|
|
956
|
-
const targetPath = path.join(parentDir, repoName);
|
|
957
|
-
if (fs.existsSync(targetPath) && fs.existsSync(path.join(targetPath, '.git'))) {
|
|
958
|
-
return targetPath;
|
|
959
|
-
}
|
|
960
|
-
}
|
|
961
|
-
}
|
|
962
|
-
}
|
|
963
|
-
|
|
964
|
-
// 4. Fallback to current repo
|
|
965
|
-
return currentRepoPath;
|
|
966
|
-
}
|
|
967
|
-
```
|
|
968
|
-
|
|
969
|
-
### Implementation Example
|
|
970
|
-
|
|
971
|
-
```javascript
|
|
972
|
-
// Agent workflow (wait mode enabled by default)
|
|
973
|
-
try {
|
|
974
|
-
await performOperation();
|
|
975
|
-
} catch (error) {
|
|
976
|
-
// Report error with auto-detection and wait for resolution (default)
|
|
977
|
-
const result = await reportError('--timeout', '600');
|
|
978
|
-
|
|
979
|
-
if (result.resolved) {
|
|
980
|
-
// Retry operation after resolution
|
|
981
|
-
console.log(`Retrying operation after error resolution: ${result.errorId}`);
|
|
982
|
-
await performOperation(); // Retry
|
|
983
|
-
} else if (result.failed) {
|
|
984
|
-
// Handle failure case
|
|
985
|
-
console.log(`Error resolution failed: ${result.resolutionNotes}`);
|
|
986
|
-
throw new Error(`Operation failed and could not be resolved: ${result.errorId}`);
|
|
987
|
-
} else if (result.timeout) {
|
|
988
|
-
// Timeout - proceed or skip
|
|
989
|
-
console.log(`Timeout waiting for resolution, skipping operation`);
|
|
990
|
-
// Agent decides whether to skip or continue
|
|
991
|
-
}
|
|
992
|
-
}
|
|
993
|
-
```
|
|
994
|
-
|
|
995
|
-
### Status Monitoring
|
|
996
|
-
|
|
997
|
-
The agent polls the error report JSON file for status changes. **Important**: When errors are resolved, the Cursor Cloud Agent moves the report files from `pending/` to `resolved/`. The wait logic must check both directories.
|
|
998
|
-
|
|
999
|
-
```javascript
|
|
1000
|
-
async function waitForErrorResolution(errorId, errorReportPath, options = {}) {
|
|
1001
|
-
const {
|
|
1002
|
-
timeout = 300, // 5 minutes default
|
|
1003
|
-
pollInterval = 5, // 5 seconds default
|
|
1004
|
-
} = options;
|
|
1005
|
-
|
|
1006
|
-
const startTime = Date.now();
|
|
1007
|
-
const timeoutMs = timeout * 1000;
|
|
1008
|
-
|
|
1009
|
-
// Normalize error report path - extract base filename
|
|
1010
|
-
let baseFilename = path.basename(errorReportPath);
|
|
1011
|
-
if (!baseFilename.endsWith('.json')) {
|
|
1012
|
-
baseFilename = `${baseFilename}.json`;
|
|
1013
|
-
}
|
|
1014
|
-
|
|
1015
|
-
// Get directory structure
|
|
1016
|
-
const errorReportsDir = path.dirname(path.dirname(errorReportPath)); // Go up from pending/ or resolved/
|
|
1017
|
-
const pendingDir = path.join(errorReportsDir, 'pending');
|
|
1018
|
-
const resolvedDir = path.join(errorReportsDir, 'resolved');
|
|
1019
|
-
|
|
1020
|
-
// Start with pending path
|
|
1021
|
-
let currentPath = path.join(pendingDir, baseFilename);
|
|
1022
|
-
|
|
1023
|
-
while (true) {
|
|
1024
|
-
// Check timeout
|
|
1025
|
-
if (Date.now() - startTime > timeoutMs) {
|
|
1026
|
-
throw new Error(`Timeout waiting for error resolution: ${errorId}`);
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
// Check if file exists in pending/ or resolved/
|
|
1030
|
-
let reportPath = null;
|
|
1031
|
-
if (fs.existsSync(path.join(pendingDir, baseFilename))) {
|
|
1032
|
-
reportPath = path.join(pendingDir, baseFilename);
|
|
1033
|
-
} else if (fs.existsSync(path.join(resolvedDir, baseFilename))) {
|
|
1034
|
-
reportPath = path.join(resolvedDir, baseFilename);
|
|
1035
|
-
} else {
|
|
1036
|
-
// File not found in either location - might have been deleted or moved
|
|
1037
|
-
throw new Error(`Error report file not found: ${baseFilename}`);
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
// Read error report
|
|
1041
|
-
const report = JSON.parse(fs.readFileSync(reportPath, 'utf8'));
|
|
1042
|
-
const status = report.resolution_status;
|
|
1043
|
-
|
|
1044
|
-
// Check if resolved or failed
|
|
1045
|
-
if (status === 'resolved') {
|
|
1046
|
-
return {
|
|
1047
|
-
status: 'resolved',
|
|
1048
|
-
errorId,
|
|
1049
|
-
resolutionNotes: report.resolution_notes || '',
|
|
1050
|
-
report,
|
|
1051
|
-
reportPath // Return actual path (may be in resolved/)
|
|
1052
|
-
};
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
if (status === 'failed') {
|
|
1056
|
-
return {
|
|
1057
|
-
status: 'failed',
|
|
1058
|
-
errorId,
|
|
1059
|
-
resolutionNotes: report.resolution_notes || '',
|
|
1060
|
-
report,
|
|
1061
|
-
reportPath // Return actual path (may be in resolved/)
|
|
1062
|
-
};
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
// Still pending or in_progress, wait and check again
|
|
1066
|
-
console.log(`[WAIT] Error ${errorId} status: ${status}, waiting...`);
|
|
1067
|
-
await new Promise(resolve => setTimeout(resolve, pollInterval * 1000));
|
|
1068
|
-
}
|
|
1069
|
-
}
|
|
1070
|
-
```
|
|
1071
|
-
|
|
1072
|
-
### Shell Script Example
|
|
1073
|
-
|
|
1074
|
-
For shell-based implementations, check both directories:
|
|
1075
|
-
|
|
1076
|
-
```bash
|
|
1077
|
-
ERROR_REPORT_PATH="/path/to/target/.cursor/error_reports/pending/error_TIMESTAMP_runtime.json"
|
|
1078
|
-
ERROR_REPORTS_DIR="/path/to/target/.cursor/error_reports"
|
|
1079
|
-
PENDING_DIR="$ERROR_REPORTS_DIR/pending"
|
|
1080
|
-
RESOLVED_DIR="$ERROR_REPORTS_DIR/resolved"
|
|
1081
|
-
BASE_FILENAME=$(basename "$ERROR_REPORT_PATH")
|
|
1082
|
-
|
|
1083
|
-
TIMEOUT=300
|
|
1084
|
-
POLL_INTERVAL=5
|
|
1085
|
-
START_TIME=$(date +%s)
|
|
1086
|
-
|
|
1087
|
-
while true; do
|
|
1088
|
-
CURRENT_TIME=$(date +%s)
|
|
1089
|
-
ELAPSED=$((CURRENT_TIME - START_TIME))
|
|
1090
|
-
|
|
1091
|
-
# Check timeout
|
|
1092
|
-
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
1093
|
-
echo "⏱️ Timeout reached (${TIMEOUT}s) while waiting for resolution"
|
|
1094
|
-
# Check final status in either directory
|
|
1095
|
-
if [ -f "$RESOLVED_DIR/$BASE_FILENAME" ]; then
|
|
1096
|
-
STATUS=$(cat "$RESOLVED_DIR/$BASE_FILENAME" | jq -r '.resolution_status' || echo "unknown")
|
|
1097
|
-
elif [ -f "$PENDING_DIR/$BASE_FILENAME" ]; then
|
|
1098
|
-
STATUS=$(cat "$PENDING_DIR/$BASE_FILENAME" | jq -r '.resolution_status' || echo "unknown")
|
|
1099
|
-
else
|
|
1100
|
-
STATUS="unknown"
|
|
1101
|
-
fi
|
|
1102
|
-
echo "Final status: $STATUS"
|
|
1103
|
-
exit 0
|
|
1104
|
-
fi
|
|
1105
|
-
|
|
1106
|
-
# Check both pending/ and resolved/ directories
|
|
1107
|
-
REPORT_PATH=""
|
|
1108
|
-
if [ -f "$PENDING_DIR/$BASE_FILENAME" ]; then
|
|
1109
|
-
REPORT_PATH="$PENDING_DIR/$BASE_FILENAME"
|
|
1110
|
-
elif [ -f "$RESOLVED_DIR/$BASE_FILENAME" ]; then
|
|
1111
|
-
REPORT_PATH="$RESOLVED_DIR/$BASE_FILENAME"
|
|
1112
|
-
else
|
|
1113
|
-
echo "⚠️ Error report file not found in pending/ or resolved/: $BASE_FILENAME"
|
|
1114
|
-
exit 1
|
|
1115
|
-
fi
|
|
1116
|
-
|
|
1117
|
-
# Read status
|
|
1118
|
-
STATUS=$(cat "$REPORT_PATH" | jq -r '.resolution_status' 2>/dev/null || echo "pending")
|
|
1119
|
-
echo "[WAIT] Error status: $STATUS (elapsed: ${ELAPSED}s)"
|
|
1120
|
-
|
|
1121
|
-
# Check if resolved or failed
|
|
1122
|
-
if [ "$STATUS" = "resolved" ]; then
|
|
1123
|
-
echo "✅ Error resolved!"
|
|
1124
|
-
cat "$REPORT_PATH" | jq -r '.resolution_notes // "No resolution notes provided."'
|
|
1125
|
-
exit 0
|
|
1126
|
-
fi
|
|
1127
|
-
|
|
1128
|
-
if [ "$STATUS" = "failed" ]; then
|
|
1129
|
-
echo "❌ Error resolution failed"
|
|
1130
|
-
cat "$REPORT_PATH" | jq -r '.resolution_notes // "No failure reason provided."'
|
|
1131
|
-
exit 1
|
|
1132
|
-
fi
|
|
1133
|
-
|
|
1134
|
-
# Still pending or in_progress, wait and check again
|
|
1135
|
-
sleep $POLL_INTERVAL
|
|
1136
|
-
done
|
|
1137
|
-
```
|
|
1138
|
-
|
|
1139
|
-
## Helper Scripts
|
|
1140
|
-
|
|
1141
|
-
The following scripts are provided in `foundation/scripts/` to simplify error reporting implementation. These can be used by agents when implementing the `/report_error` command.
|
|
1142
|
-
|
|
1143
|
-
**Script Location:** `foundation/scripts/report_error_*.sh`
|
|
1144
|
-
|
|
1145
|
-
**Usage:** Scripts can be called directly from the foundation submodule, or copied/referenced as needed.
|
|
1146
|
-
|
|
1147
|
-
### Script: Validate Target Repository
|
|
1148
|
-
|
|
1149
|
-
**File:** `foundation/scripts/report_error_validate_target.sh`
|
|
1150
|
-
|
|
1151
|
-
```bash
|
|
1152
|
-
#!/bin/bash
|
|
1153
|
-
# validate_target_repo.sh
|
|
1154
|
-
# Usage: validate_target_repo.sh <target-repo-path>
|
|
1155
|
-
|
|
1156
|
-
TARGET_REPO="$1"
|
|
1157
|
-
|
|
1158
|
-
if [ -z "$TARGET_REPO" ]; then
|
|
1159
|
-
echo "❌ Error: Target repository path required"
|
|
1160
|
-
exit 1
|
|
1161
|
-
fi
|
|
1162
|
-
|
|
1163
|
-
# Check if path exists
|
|
1164
|
-
if [ ! -d "$TARGET_REPO" ]; then
|
|
1165
|
-
echo "❌ Error: Target repository not found: $TARGET_REPO"
|
|
1166
|
-
exit 1
|
|
1167
|
-
fi
|
|
1168
|
-
|
|
1169
|
-
# Check if it's a git repository
|
|
1170
|
-
if [ ! -d "$TARGET_REPO/.git" ]; then
|
|
1171
|
-
echo "❌ Error: Target path is not a git repository: $TARGET_REPO"
|
|
1172
|
-
exit 1
|
|
1173
|
-
fi
|
|
1174
|
-
|
|
1175
|
-
# Check write permissions
|
|
1176
|
-
if [ ! -w "$TARGET_REPO" ]; then
|
|
1177
|
-
echo "❌ Error: No write permission for target repository: $TARGET_REPO"
|
|
1178
|
-
exit 1
|
|
1179
|
-
fi
|
|
1180
|
-
|
|
1181
|
-
echo "✅ Target repository validated: $TARGET_REPO"
|
|
1182
|
-
exit 0
|
|
1183
|
-
```
|
|
1184
|
-
|
|
1185
|
-
### Script: Generate Error ID and Timestamp
|
|
1186
|
-
|
|
1187
|
-
**File:** `foundation/scripts/report_error_generate_id.sh`
|
|
1188
|
-
|
|
1189
|
-
```bash
|
|
1190
|
-
#!/bin/bash
|
|
1191
|
-
# generate_error_id.sh
|
|
1192
|
-
# Outputs: ERROR_ID|TIMESTAMP
|
|
1193
|
-
|
|
1194
|
-
TIMESTAMP=$(date -u +"%Y%m%dT%H%M%S")
|
|
1195
|
-
ERROR_ID="01JQ$(echo $TIMESTAMP | tr -d 'T' | cut -c1-20)"
|
|
1196
|
-
echo "${ERROR_ID}|${TIMESTAMP}"
|
|
1197
|
-
```
|
|
1198
|
-
|
|
1199
|
-
### Script: Create Error Report Directories
|
|
1200
|
-
|
|
1201
|
-
**File:** `foundation/scripts/report_error_create_dirs.sh`
|
|
1202
|
-
|
|
1203
|
-
```bash
|
|
1204
|
-
#!/bin/bash
|
|
1205
|
-
# create_error_report_dirs.sh
|
|
1206
|
-
# Usage: create_error_report_dirs.sh <target-repo-path>
|
|
1207
|
-
|
|
1208
|
-
TARGET_REPO="$1"
|
|
1209
|
-
ERROR_REPORTS_DIR="$TARGET_REPO/.cursor/error_reports"
|
|
1210
|
-
PENDING_DIR="$ERROR_REPORTS_DIR/pending"
|
|
1211
|
-
RESOLVED_DIR="$ERROR_REPORTS_DIR/resolved"
|
|
1212
|
-
|
|
1213
|
-
mkdir -p "$PENDING_DIR" "$RESOLVED_DIR"
|
|
1214
|
-
echo "✅ Created error report directories in $TARGET_REPO"
|
|
1215
|
-
```
|
|
1216
|
-
|
|
1217
|
-
### Script: Create Error Report Files
|
|
1218
|
-
|
|
1219
|
-
```bash
|
|
1220
|
-
#!/bin/bash
|
|
1221
|
-
# create_error_report.sh
|
|
1222
|
-
# Usage: create_error_report.sh <target-repo-path> <error-id> <timestamp> <category> <severity> <error-message> <json-data>
|
|
1223
|
-
|
|
1224
|
-
TARGET_REPO="$1"
|
|
1225
|
-
ERROR_ID="$2"
|
|
1226
|
-
TIMESTAMP="$3"
|
|
1227
|
-
CATEGORY="$4"
|
|
1228
|
-
SEVERITY="$5"
|
|
1229
|
-
ERROR_MSG="$6"
|
|
1230
|
-
JSON_DATA="$7"
|
|
1231
|
-
|
|
1232
|
-
ERROR_REPORTS_DIR="$TARGET_REPO/.cursor/error_reports"
|
|
1233
|
-
PENDING_DIR="$ERROR_REPORTS_DIR/pending"
|
|
1234
|
-
|
|
1235
|
-
# Generate filenames
|
|
1236
|
-
JSON_FILENAME="error_${TIMESTAMP}_${CATEGORY}.json"
|
|
1237
|
-
MD_FILENAME="error_${TIMESTAMP}_${CATEGORY}.md"
|
|
1238
|
-
JSON_PATH="$PENDING_DIR/$JSON_FILENAME"
|
|
1239
|
-
MD_PATH="$PENDING_DIR/$MD_FILENAME"
|
|
1240
|
-
|
|
1241
|
-
# Write JSON report
|
|
1242
|
-
echo "$JSON_DATA" > "$JSON_PATH"
|
|
1243
|
-
|
|
1244
|
-
# Generate Markdown summary
|
|
1245
|
-
cat > "$MD_PATH" << EOF
|
|
1246
|
-
# Error Report: $(echo $CATEGORY | tr '[:lower:]' '[:upper:]') Error
|
|
1247
|
-
|
|
1248
|
-
**Error ID:** \`$ERROR_ID\`
|
|
1249
|
-
**Timestamp:** $(echo $TIMESTAMP | sed 's/\(....\)\(..\)\(..\)T\(..\)\(..\)\(..\)/\1-\2-\3T\4:\5:\6Z/')
|
|
1250
|
-
**Category:** $CATEGORY
|
|
1251
|
-
**Severity:** $SEVERITY
|
|
1252
|
-
**Status:** pending
|
|
1253
|
-
|
|
1254
|
-
## Error Message
|
|
1255
|
-
|
|
1256
|
-
$ERROR_MSG
|
|
1257
|
-
|
|
1258
|
-
## Resolution
|
|
1259
|
-
|
|
1260
|
-
Awaiting resolution by Cursor Cloud Agent.
|
|
1261
|
-
EOF
|
|
1262
|
-
|
|
1263
|
-
echo "$JSON_PATH|$MD_PATH"
|
|
1264
|
-
```
|
|
1265
|
-
|
|
1266
|
-
### Script: Update Pending Queue
|
|
1267
|
-
|
|
1268
|
-
```bash
|
|
1269
|
-
#!/bin/bash
|
|
1270
|
-
# update_pending_queue.sh
|
|
1271
|
-
# Usage: update_pending_queue.sh <target-repo-path> <error-id> <timestamp> <category> <severity> <json-path>
|
|
1272
|
-
|
|
1273
|
-
TARGET_REPO="$1"
|
|
1274
|
-
ERROR_ID="$2"
|
|
1275
|
-
TIMESTAMP="$3"
|
|
1276
|
-
CATEGORY="$4"
|
|
1277
|
-
SEVERITY="$5"
|
|
1278
|
-
JSON_PATH="$6"
|
|
1279
|
-
|
|
1280
|
-
PENDING_FILE="$TARGET_REPO/.cursor/error_reports/pending.json"
|
|
1281
|
-
NEW_ENTRY="{\"error_id\": \"$ERROR_ID\", \"timestamp\": \"$(echo $TIMESTAMP | sed 's/\(....\)\(..\)\(..\)T\(..\)\(..\)\(..\)/\1-\2-\3T\4:\5:\6Z/')\", \"category\": \"$CATEGORY\", \"severity\": \"$SEVERITY\", \"file_path\": \"$JSON_PATH\"}"
|
|
1282
|
-
|
|
1283
|
-
if [ -f "$PENDING_FILE" ]; then
|
|
1284
|
-
cat "$PENDING_FILE" | jq ". + [$NEW_ENTRY]" > "$PENDING_FILE.tmp" && mv "$PENDING_FILE.tmp" "$PENDING_FILE"
|
|
1285
|
-
else
|
|
1286
|
-
echo "[$NEW_ENTRY]" > "$PENDING_FILE"
|
|
1287
|
-
fi
|
|
1288
|
-
|
|
1289
|
-
echo "✅ Pending queue updated"
|
|
1290
|
-
```
|
|
1291
|
-
|
|
1292
|
-
### Script: Wait for Error Resolution
|
|
1293
|
-
|
|
1294
|
-
**File:** `foundation/scripts/report_error_wait_resolution.sh`
|
|
1295
|
-
|
|
1296
|
-
```bash
|
|
1297
|
-
#!/bin/bash
|
|
1298
|
-
# wait_for_resolution.sh
|
|
1299
|
-
# Usage: wait_for_resolution.sh <target-repo-path> <base-filename> [timeout] [poll-interval]
|
|
1300
|
-
|
|
1301
|
-
TARGET_REPO="$1"
|
|
1302
|
-
BASE_FILENAME="$2"
|
|
1303
|
-
TIMEOUT="${3:-300}"
|
|
1304
|
-
POLL_INTERVAL="${4:-5}"
|
|
1305
|
-
|
|
1306
|
-
ERROR_REPORTS_DIR="$TARGET_REPO/.cursor/error_reports"
|
|
1307
|
-
PENDING_DIR="$ERROR_REPORTS_DIR/pending"
|
|
1308
|
-
RESOLVED_DIR="$ERROR_REPORTS_DIR/resolved"
|
|
1309
|
-
|
|
1310
|
-
START_TIME=$(date +%s)
|
|
1311
|
-
|
|
1312
|
-
while true; do
|
|
1313
|
-
CURRENT_TIME=$(date +%s)
|
|
1314
|
-
ELAPSED=$((CURRENT_TIME - START_TIME))
|
|
1315
|
-
|
|
1316
|
-
# Check timeout
|
|
1317
|
-
if [ $ELAPSED -ge $TIMEOUT ]; then
|
|
1318
|
-
echo "⏱️ Timeout reached (${TIMEOUT}s) while waiting for resolution"
|
|
1319
|
-
# Check final status in either directory
|
|
1320
|
-
if [ -f "$RESOLVED_DIR/$BASE_FILENAME" ]; then
|
|
1321
|
-
STATUS=$(cat "$RESOLVED_DIR/$BASE_FILENAME" | jq -r '.resolution_status' || echo "unknown")
|
|
1322
|
-
elif [ -f "$PENDING_DIR/$BASE_FILENAME" ]; then
|
|
1323
|
-
STATUS=$(cat "$PENDING_DIR/$BASE_FILENAME" | jq -r '.resolution_status' || echo "unknown")
|
|
1324
|
-
else
|
|
1325
|
-
STATUS="unknown"
|
|
1326
|
-
fi
|
|
1327
|
-
echo "Final status: $STATUS"
|
|
1328
|
-
exit 0
|
|
1329
|
-
fi
|
|
1330
|
-
|
|
1331
|
-
# Check both pending/ and resolved/ directories
|
|
1332
|
-
REPORT_PATH=""
|
|
1333
|
-
if [ -f "$PENDING_DIR/$BASE_FILENAME" ]; then
|
|
1334
|
-
REPORT_PATH="$PENDING_DIR/$BASE_FILENAME"
|
|
1335
|
-
elif [ -f "$RESOLVED_DIR/$BASE_FILENAME" ]; then
|
|
1336
|
-
REPORT_PATH="$RESOLVED_DIR/$BASE_FILENAME"
|
|
1337
|
-
else
|
|
1338
|
-
echo "⚠️ Error report file not found in pending/ or resolved/: $BASE_FILENAME"
|
|
1339
|
-
exit 1
|
|
1340
|
-
fi
|
|
1341
|
-
|
|
1342
|
-
# Read status
|
|
1343
|
-
STATUS=$(cat "$REPORT_PATH" | jq -r '.resolution_status' 2>/dev/null || echo "pending")
|
|
1344
|
-
echo "[WAIT] Error status: $STATUS (elapsed: ${ELAPSED}s)"
|
|
1345
|
-
|
|
1346
|
-
# Check if resolved or failed
|
|
1347
|
-
if [ "$STATUS" = "resolved" ]; then
|
|
1348
|
-
echo "✅ Error resolved!"
|
|
1349
|
-
cat "$REPORT_PATH" | jq -r '.resolution_notes // "No resolution notes provided."'
|
|
1350
|
-
exit 0
|
|
1351
|
-
fi
|
|
1352
|
-
|
|
1353
|
-
if [ "$STATUS" = "failed" ]; then
|
|
1354
|
-
echo "❌ Error resolution failed"
|
|
1355
|
-
cat "$REPORT_PATH" | jq -r '.resolution_notes // "No failure reason provided."'
|
|
1356
|
-
exit 1
|
|
1357
|
-
fi
|
|
1358
|
-
|
|
1359
|
-
# Still pending or in_progress, wait and check again
|
|
1360
|
-
sleep $POLL_INTERVAL
|
|
1361
|
-
done
|
|
1362
|
-
```
|
|
1363
|
-
|
|
1364
|
-
### Complete Workflow Script
|
|
1365
|
-
|
|
1366
|
-
```bash
|
|
1367
|
-
#!/bin/bash
|
|
1368
|
-
# report_error_workflow.sh
|
|
1369
|
-
# Complete workflow for reporting an error
|
|
1370
|
-
# Usage: report_error_workflow.sh <target-repo-name> <error-message> <category> <severity> [--no-wait] [--timeout SECONDS]
|
|
1371
|
-
|
|
1372
|
-
set -e
|
|
1373
|
-
|
|
1374
|
-
# Parse arguments
|
|
1375
|
-
TARGET_REPO_NAME="$1"
|
|
1376
|
-
ERROR_MSG="$2"
|
|
1377
|
-
CATEGORY="$3"
|
|
1378
|
-
SEVERITY="$4"
|
|
1379
|
-
NO_WAIT=false
|
|
1380
|
-
TIMEOUT=300
|
|
1381
|
-
|
|
1382
|
-
shift 4
|
|
1383
|
-
while [[ $# -gt 0 ]]; do
|
|
1384
|
-
case $1 in
|
|
1385
|
-
--no-wait)
|
|
1386
|
-
NO_WAIT=true
|
|
1387
|
-
shift
|
|
1388
|
-
;;
|
|
1389
|
-
--timeout)
|
|
1390
|
-
TIMEOUT="$2"
|
|
1391
|
-
shift 2
|
|
1392
|
-
;;
|
|
1393
|
-
*)
|
|
1394
|
-
shift
|
|
1395
|
-
;;
|
|
1396
|
-
esac
|
|
1397
|
-
done
|
|
1398
|
-
|
|
1399
|
-
# Get current repo path
|
|
1400
|
-
CURRENT_REPO=$(git rev-parse --show-toplevel)
|
|
1401
|
-
PARENT_DIR=$(dirname "$CURRENT_REPO")
|
|
1402
|
-
|
|
1403
|
-
# Resolve target repo
|
|
1404
|
-
if [ -n "$TARGET_REPO_NAME" ]; then
|
|
1405
|
-
TARGET_REPO="$PARENT_DIR/$TARGET_REPO_NAME"
|
|
1406
|
-
else
|
|
1407
|
-
# Auto-detect (simplified - would need full MCP detection logic)
|
|
1408
|
-
TARGET_REPO="$CURRENT_REPO"
|
|
1409
|
-
fi
|
|
1410
|
-
|
|
1411
|
-
# Validate target repo
|
|
1412
|
-
if [ ! -d "$TARGET_REPO" ] || [ ! -d "$TARGET_REPO/.git" ]; then
|
|
1413
|
-
echo "❌ Error: Invalid target repository: $TARGET_REPO"
|
|
1414
|
-
exit 1
|
|
1415
|
-
fi
|
|
1416
|
-
|
|
1417
|
-
# Generate error ID and timestamp
|
|
1418
|
-
ID_TIMESTAMP=$(TIMESTAMP=$(date -u +"%Y%m%dT%H%M%S") && ERROR_ID="01JQ$(echo $TIMESTAMP | tr -d 'T' | cut -c1-20)" && echo "${ERROR_ID}|${TIMESTAMP}")
|
|
1419
|
-
ERROR_ID=$(echo "$ID_TIMESTAMP" | cut -d'|' -f1)
|
|
1420
|
-
TIMESTAMP=$(echo "$ID_TIMESTAMP" | cut -d'|' -f2)
|
|
1421
|
-
|
|
1422
|
-
# Create directories
|
|
1423
|
-
mkdir -p "$TARGET_REPO/.cursor/error_reports/pending" "$TARGET_REPO/.cursor/error_reports/resolved"
|
|
1424
|
-
|
|
1425
|
-
# Create error report (simplified - would need full JSON structure)
|
|
1426
|
-
JSON_FILENAME="error_${TIMESTAMP}_${CATEGORY}.json"
|
|
1427
|
-
JSON_PATH="$TARGET_REPO/.cursor/error_reports/pending/$JSON_FILENAME"
|
|
1428
|
-
|
|
1429
|
-
# Generate JSON report (simplified structure)
|
|
1430
|
-
cat > "$JSON_PATH" << EOF
|
|
1431
|
-
{
|
|
1432
|
-
"error_id": "$ERROR_ID",
|
|
1433
|
-
"timestamp": "$(echo $TIMESTAMP | sed 's/\(....\)\(..\)\(..\)T\(..\)\(..\)\(..\)/\1-\2-\3T\4:\5:\6Z/')",
|
|
1434
|
-
"category": "$CATEGORY",
|
|
1435
|
-
"severity": "$SEVERITY",
|
|
1436
|
-
"error_message": "$(echo "$ERROR_MSG" | jq -Rs .)",
|
|
1437
|
-
"resolution_status": "pending",
|
|
1438
|
-
"resolution_notes": ""
|
|
1439
|
-
}
|
|
1440
|
-
EOF
|
|
1441
|
-
|
|
1442
|
-
# Update pending queue
|
|
1443
|
-
PENDING_FILE="$TARGET_REPO/.cursor/error_reports/pending.json"
|
|
1444
|
-
NEW_ENTRY="{\"error_id\": \"$ERROR_ID\", \"timestamp\": \"$(echo $TIMESTAMP | sed 's/\(....\)\(..\)\(..\)T\(..\)\(..\)\(..\)/\1-\2-\3T\4:\5:\6Z/')\", \"category\": \"$CATEGORY\", \"severity\": \"$SEVERITY\", \"file_path\": \"$JSON_PATH\"}"
|
|
1445
|
-
if [ -f "$PENDING_FILE" ]; then
|
|
1446
|
-
cat "$PENDING_FILE" | jq ". + [$NEW_ENTRY]" > "$PENDING_FILE.tmp" && mv "$PENDING_FILE.tmp" "$PENDING_FILE"
|
|
1447
|
-
else
|
|
1448
|
-
echo "[$NEW_ENTRY]" > "$PENDING_FILE"
|
|
1449
|
-
fi
|
|
1450
|
-
|
|
1451
|
-
echo "Error report created successfully."
|
|
1452
|
-
echo "Error ID: $ERROR_ID"
|
|
1453
|
-
echo "Category: $CATEGORY"
|
|
1454
|
-
echo "Severity: $SEVERITY"
|
|
1455
|
-
echo "Target: $TARGET_REPO"
|
|
1456
|
-
echo "Report saved to: $JSON_PATH"
|
|
1457
|
-
|
|
1458
|
-
# Wait for resolution if enabled
|
|
1459
|
-
if [ "$NO_WAIT" = false ]; then
|
|
1460
|
-
echo ""
|
|
1461
|
-
echo "⏳ Waiting for resolution (timeout: ${TIMEOUT}s)..."
|
|
1462
|
-
BASE_FILENAME=$(basename "$JSON_PATH")
|
|
1463
|
-
"$(dirname "$0")/wait_for_resolution.sh" "$TARGET_REPO" "$BASE_FILENAME" "$TIMEOUT"
|
|
1464
|
-
fi
|
|
1465
|
-
```
|
|
1466
|
-
|
|
1467
|
-
### Usage in Agent Implementation
|
|
1468
|
-
|
|
1469
|
-
Agents can use these scripts as building blocks. Scripts are located in `foundation/scripts/`:
|
|
1470
|
-
|
|
1471
|
-
```bash
|
|
1472
|
-
# Example: Report error using helper scripts
|
|
1473
|
-
FOUNDATION_DIR="foundation" # or path to foundation submodule
|
|
1474
|
-
TARGET_REPO_NAME="neotoma"
|
|
1475
|
-
CURRENT_REPO=$(git rev-parse --show-toplevel)
|
|
1476
|
-
PARENT_DIR=$(dirname "$CURRENT_REPO")
|
|
1477
|
-
TARGET_REPO="$PARENT_DIR/$TARGET_REPO_NAME"
|
|
1478
|
-
|
|
1479
|
-
# Validate target repository
|
|
1480
|
-
"$FOUNDATION_DIR/scripts/report_error_validate_target.sh" "$TARGET_REPO"
|
|
1481
|
-
|
|
1482
|
-
# Generate error ID and timestamp
|
|
1483
|
-
ID_TIMESTAMP=$("$FOUNDATION_DIR/scripts/report_error_generate_id.sh")
|
|
1484
|
-
ERROR_ID=$(echo "$ID_TIMESTAMP" | cut -d'|' -f1)
|
|
1485
|
-
TIMESTAMP=$(echo "$ID_TIMESTAMP" | cut -d'|' -f2)
|
|
1486
|
-
|
|
1487
|
-
# Create directories
|
|
1488
|
-
"$FOUNDATION_DIR/scripts/report_error_create_dirs.sh" "$TARGET_REPO"
|
|
1489
|
-
|
|
1490
|
-
# ... create error report files (JSON and Markdown) ...
|
|
1491
|
-
# ... update pending queue ...
|
|
1492
|
-
|
|
1493
|
-
# Wait for resolution (if wait mode enabled)
|
|
1494
|
-
BASE_FILENAME="error_${TIMESTAMP}_runtime.json"
|
|
1495
|
-
"$FOUNDATION_DIR/scripts/report_error_wait_resolution.sh" "$TARGET_REPO" "$BASE_FILENAME" 300 5
|
|
1496
|
-
```
|
|
1497
|
-
|
|
1498
|
-
**Note:** If `foundation` is a submodule, use the relative path from the repository root. If scripts are symlinked or copied, adjust paths accordingly.
|
|
1499
|
-
|
|
1500
|
-
## Related Documentation
|
|
1501
|
-
|
|
1502
|
-
- `.cursor/commands/foundation_fix_feature_bug.md` - Bug fix workflow
|
|
1503
|
-
- `.cursor/commands/foundation_analyze.md` - Analysis command
|
|
1504
|
-
- `.cursor/commands/foundation_debug.md` - Debug workflow
|
|
1505
|
-
- `foundation-config.yaml` - Configuration file (in repository root)
|
|
1506
|
-
|