@rbalchii/anchor-engine 4.7.0
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/LICENSE +609 -0
- package/README.md +317 -0
- package/anchor.bat +5 -0
- package/docs/API.md +314 -0
- package/docs/DEPLOYMENT.md +448 -0
- package/docs/INDEX.md +226 -0
- package/docs/STAR_Whitepaper_Executive.md +216 -0
- package/docs/TROUBLESHOOTING.md +535 -0
- package/docs/archive/GIT_BACKUP_VERIFICATION.md +297 -0
- package/docs/archive/adoption-guide.md +264 -0
- package/docs/archive/adoption-preparation.md +179 -0
- package/docs/archive/agent-harness-integration.md +227 -0
- package/docs/archive/api-reference.md +106 -0
- package/docs/archive/api_flows_diagram.md +118 -0
- package/docs/archive/architecture.md +410 -0
- package/docs/archive/architecture_diagram.md +174 -0
- package/docs/archive/broader-adoption-preparation.md +175 -0
- package/docs/archive/browser-paradigm-architecture.md +163 -0
- package/docs/archive/chat-integration.md +124 -0
- package/docs/archive/community-adoption-materials.md +103 -0
- package/docs/archive/community-adoption.md +147 -0
- package/docs/archive/comparison-with-siloed-solutions.md +192 -0
- package/docs/archive/comprehensive-docs.md +156 -0
- package/docs/archive/data_flow_diagram.md +251 -0
- package/docs/archive/enhancement-implementation-summary.md +146 -0
- package/docs/archive/evolution-summary.md +141 -0
- package/docs/archive/ingestion_pipeline_diagram.md +198 -0
- package/docs/archive/native-module-profiling-results.md +135 -0
- package/docs/archive/positioning-document.md +158 -0
- package/docs/archive/positioning.md +175 -0
- package/docs/archive/query-builder-documentation.md +218 -0
- package/docs/archive/quick-reference.md +40 -0
- package/docs/archive/quickstart.md +63 -0
- package/docs/archive/relationship-narrative-discovery.md +141 -0
- package/docs/archive/search-logic-improvement-plan.md +336 -0
- package/docs/archive/search_architecture_diagram.md +212 -0
- package/docs/archive/semantic-architecture-guide.md +97 -0
- package/docs/archive/sequence-diagrams.md +128 -0
- package/docs/archive/system_components_diagram.md +296 -0
- package/docs/archive/test-framework-integration.md +109 -0
- package/docs/archive/testing-framework-documentation.md +397 -0
- package/docs/archive/testing-framework-summary.md +121 -0
- package/docs/archive/testing-framework.md +377 -0
- package/docs/archive/ui-architecture.md +75 -0
- package/docs/arxiv/BIBLIOGRAPHY.bib +145 -0
- package/docs/arxiv/RELATED_WORK.tex +39 -0
- package/docs/arxiv/compile.bat +48 -0
- package/docs/arxiv/joss_response.md +33 -0
- package/docs/arxiv/prepare-submission.bat +46 -0
- package/docs/arxiv/review.md +128 -0
- package/docs/arxiv/star-whitepaper.tex +657 -0
- package/docs/code-patterns.md +289 -0
- package/docs/whitepaper.md +445 -0
- package/engine/dist/agent/runtime.d.ts +41 -0
- package/engine/dist/agent/runtime.d.ts.map +1 -0
- package/engine/dist/agent/runtime.js +73 -0
- package/engine/dist/agent/runtime.js.map +1 -0
- package/engine/dist/commands/audit-tags.d.ts +14 -0
- package/engine/dist/commands/audit-tags.d.ts.map +1 -0
- package/engine/dist/commands/audit-tags.js +180 -0
- package/engine/dist/commands/audit-tags.js.map +1 -0
- package/engine/dist/commands/distill.d.ts +19 -0
- package/engine/dist/commands/distill.d.ts.map +1 -0
- package/engine/dist/commands/distill.js +114 -0
- package/engine/dist/commands/distill.js.map +1 -0
- package/engine/dist/commands/generate-synonyms.d.ts +14 -0
- package/engine/dist/commands/generate-synonyms.d.ts.map +1 -0
- package/engine/dist/commands/generate-synonyms.js +91 -0
- package/engine/dist/commands/generate-synonyms.js.map +1 -0
- package/engine/dist/config/index.d.ts +115 -0
- package/engine/dist/config/index.d.ts.map +1 -0
- package/engine/dist/config/index.js +326 -0
- package/engine/dist/config/index.js.map +1 -0
- package/engine/dist/config/max-recall-config.d.ts +102 -0
- package/engine/dist/config/max-recall-config.d.ts.map +1 -0
- package/engine/dist/config/max-recall-config.js +102 -0
- package/engine/dist/config/max-recall-config.js.map +1 -0
- package/engine/dist/config/paths.d.ts +40 -0
- package/engine/dist/config/paths.d.ts.map +1 -0
- package/engine/dist/config/paths.js +49 -0
- package/engine/dist/config/paths.js.map +1 -0
- package/engine/dist/core/batch.d.ts +19 -0
- package/engine/dist/core/batch.d.ts.map +1 -0
- package/engine/dist/core/batch.js +37 -0
- package/engine/dist/core/batch.js.map +1 -0
- package/engine/dist/core/db.d.ts +58 -0
- package/engine/dist/core/db.d.ts.map +1 -0
- package/engine/dist/core/db.js +563 -0
- package/engine/dist/core/db.js.map +1 -0
- package/engine/dist/core/inference/ChatWorker.d.ts +2 -0
- package/engine/dist/core/inference/ChatWorker.d.ts.map +1 -0
- package/engine/dist/core/inference/ChatWorker.js +28 -0
- package/engine/dist/core/inference/ChatWorker.js.map +1 -0
- package/engine/dist/core/inference/context_manager.d.ts +49 -0
- package/engine/dist/core/inference/context_manager.d.ts.map +1 -0
- package/engine/dist/core/inference/context_manager.js +199 -0
- package/engine/dist/core/inference/context_manager.js.map +1 -0
- package/engine/dist/core/inference/llamaLoaderWorker.d.ts +2 -0
- package/engine/dist/core/inference/llamaLoaderWorker.d.ts.map +1 -0
- package/engine/dist/core/inference/llamaLoaderWorker.js +23 -0
- package/engine/dist/core/inference/llamaLoaderWorker.js.map +1 -0
- package/engine/dist/core/vector.d.ts +40 -0
- package/engine/dist/core/vector.d.ts.map +1 -0
- package/engine/dist/core/vector.js +167 -0
- package/engine/dist/core/vector.js.map +1 -0
- package/engine/dist/index.d.ts +4 -0
- package/engine/dist/index.d.ts.map +1 -0
- package/engine/dist/index.js +400 -0
- package/engine/dist/index.js.map +1 -0
- package/engine/dist/middleware/auth.d.ts +14 -0
- package/engine/dist/middleware/auth.d.ts.map +1 -0
- package/engine/dist/middleware/auth.js +44 -0
- package/engine/dist/middleware/auth.js.map +1 -0
- package/engine/dist/middleware/request-tracing.d.ts +29 -0
- package/engine/dist/middleware/request-tracing.d.ts.map +1 -0
- package/engine/dist/middleware/request-tracing.js +115 -0
- package/engine/dist/middleware/request-tracing.js.map +1 -0
- package/engine/dist/middleware/validate.d.ts +30 -0
- package/engine/dist/middleware/validate.d.ts.map +1 -0
- package/engine/dist/middleware/validate.js +117 -0
- package/engine/dist/middleware/validate.js.map +1 -0
- package/engine/dist/native/index.d.ts +106 -0
- package/engine/dist/native/index.d.ts.map +1 -0
- package/engine/dist/native/index.js +230 -0
- package/engine/dist/native/index.js.map +1 -0
- package/engine/dist/native/types.d.ts +45 -0
- package/engine/dist/native/types.d.ts.map +1 -0
- package/engine/dist/native/types.js +6 -0
- package/engine/dist/native/types.js.map +1 -0
- package/engine/dist/profiling/atomization-profiling.d.ts +8 -0
- package/engine/dist/profiling/atomization-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/atomization-profiling.js +108 -0
- package/engine/dist/profiling/atomization-profiling.js.map +1 -0
- package/engine/dist/profiling/bottleneck-identification.d.ts +8 -0
- package/engine/dist/profiling/bottleneck-identification.d.ts.map +1 -0
- package/engine/dist/profiling/bottleneck-identification.js +249 -0
- package/engine/dist/profiling/bottleneck-identification.js.map +1 -0
- package/engine/dist/profiling/content-sanitization-profiling.d.ts +12 -0
- package/engine/dist/profiling/content-sanitization-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/content-sanitization-profiling.js +266 -0
- package/engine/dist/profiling/content-sanitization-profiling.js.map +1 -0
- package/engine/dist/profiling/simhash-profiling.d.ts +11 -0
- package/engine/dist/profiling/simhash-profiling.d.ts.map +1 -0
- package/engine/dist/profiling/simhash-profiling.js +168 -0
- package/engine/dist/profiling/simhash-profiling.js.map +1 -0
- package/engine/dist/routes/api.d.ts +9 -0
- package/engine/dist/routes/api.d.ts.map +1 -0
- package/engine/dist/routes/api.js +37 -0
- package/engine/dist/routes/api.js.map +1 -0
- package/engine/dist/routes/enhanced-api.d.ts +9 -0
- package/engine/dist/routes/enhanced-api.d.ts.map +1 -0
- package/engine/dist/routes/enhanced-api.js +139 -0
- package/engine/dist/routes/enhanced-api.js.map +1 -0
- package/engine/dist/routes/health.d.ts +8 -0
- package/engine/dist/routes/health.d.ts.map +1 -0
- package/engine/dist/routes/health.js +89 -0
- package/engine/dist/routes/health.js.map +1 -0
- package/engine/dist/routes/monitoring.d.ts +8 -0
- package/engine/dist/routes/monitoring.d.ts.map +1 -0
- package/engine/dist/routes/monitoring.js +509 -0
- package/engine/dist/routes/monitoring.js.map +1 -0
- package/engine/dist/routes/v1/admin.d.ts +3 -0
- package/engine/dist/routes/v1/admin.d.ts.map +1 -0
- package/engine/dist/routes/v1/admin.js +261 -0
- package/engine/dist/routes/v1/admin.js.map +1 -0
- package/engine/dist/routes/v1/atoms.d.ts +3 -0
- package/engine/dist/routes/v1/atoms.d.ts.map +1 -0
- package/engine/dist/routes/v1/atoms.js +172 -0
- package/engine/dist/routes/v1/atoms.js.map +1 -0
- package/engine/dist/routes/v1/backup.d.ts +3 -0
- package/engine/dist/routes/v1/backup.d.ts.map +1 -0
- package/engine/dist/routes/v1/backup.js +100 -0
- package/engine/dist/routes/v1/backup.js.map +1 -0
- package/engine/dist/routes/v1/git.d.ts +3 -0
- package/engine/dist/routes/v1/git.d.ts.map +1 -0
- package/engine/dist/routes/v1/git.js +316 -0
- package/engine/dist/routes/v1/git.js.map +1 -0
- package/engine/dist/routes/v1/ingest.d.ts +3 -0
- package/engine/dist/routes/v1/ingest.d.ts.map +1 -0
- package/engine/dist/routes/v1/ingest.js +66 -0
- package/engine/dist/routes/v1/ingest.js.map +1 -0
- package/engine/dist/routes/v1/memory.d.ts +14 -0
- package/engine/dist/routes/v1/memory.d.ts.map +1 -0
- package/engine/dist/routes/v1/memory.js +87 -0
- package/engine/dist/routes/v1/memory.js.map +1 -0
- package/engine/dist/routes/v1/research.d.ts +3 -0
- package/engine/dist/routes/v1/research.d.ts.map +1 -0
- package/engine/dist/routes/v1/research.js +109 -0
- package/engine/dist/routes/v1/research.js.map +1 -0
- package/engine/dist/routes/v1/search.d.ts +3 -0
- package/engine/dist/routes/v1/search.d.ts.map +1 -0
- package/engine/dist/routes/v1/search.js +180 -0
- package/engine/dist/routes/v1/search.js.map +1 -0
- package/engine/dist/routes/v1/settings.d.ts +8 -0
- package/engine/dist/routes/v1/settings.d.ts.map +1 -0
- package/engine/dist/routes/v1/settings.js +211 -0
- package/engine/dist/routes/v1/settings.js.map +1 -0
- package/engine/dist/routes/v1/system.d.ts +3 -0
- package/engine/dist/routes/v1/system.d.ts.map +1 -0
- package/engine/dist/routes/v1/system.js +326 -0
- package/engine/dist/routes/v1/system.js.map +1 -0
- package/engine/dist/routes/v1/tags.d.ts +3 -0
- package/engine/dist/routes/v1/tags.d.ts.map +1 -0
- package/engine/dist/routes/v1/tags.js +102 -0
- package/engine/dist/routes/v1/tags.js.map +1 -0
- package/engine/dist/server-8080.d.ts +2 -0
- package/engine/dist/server-8080.d.ts.map +1 -0
- package/engine/dist/server-8080.js +74 -0
- package/engine/dist/server-8080.js.map +1 -0
- package/engine/dist/services/backup/backup-restore.d.ts +37 -0
- package/engine/dist/services/backup/backup-restore.d.ts.map +1 -0
- package/engine/dist/services/backup/backup-restore.js +385 -0
- package/engine/dist/services/backup/backup-restore.js.map +1 -0
- package/engine/dist/services/backup/backup.d.ts +14 -0
- package/engine/dist/services/backup/backup.d.ts.map +1 -0
- package/engine/dist/services/backup/backup.js +442 -0
- package/engine/dist/services/backup/backup.js.map +1 -0
- package/engine/dist/services/distillation/radial-distiller-v2.d.ts +127 -0
- package/engine/dist/services/distillation/radial-distiller-v2.d.ts.map +1 -0
- package/engine/dist/services/distillation/radial-distiller-v2.js +503 -0
- package/engine/dist/services/distillation/radial-distiller-v2.js.map +1 -0
- package/engine/dist/services/distillation/radial-distiller.d.ts +63 -0
- package/engine/dist/services/distillation/radial-distiller.d.ts.map +1 -0
- package/engine/dist/services/distillation/radial-distiller.js +394 -0
- package/engine/dist/services/distillation/radial-distiller.js.map +1 -0
- package/engine/dist/services/health-check-enhanced.d.ts +89 -0
- package/engine/dist/services/health-check-enhanced.d.ts.map +1 -0
- package/engine/dist/services/health-check-enhanced.js +417 -0
- package/engine/dist/services/health-check-enhanced.js.map +1 -0
- package/engine/dist/services/idle-manager.d.ts +56 -0
- package/engine/dist/services/idle-manager.d.ts.map +1 -0
- package/engine/dist/services/idle-manager.js +210 -0
- package/engine/dist/services/idle-manager.js.map +1 -0
- package/engine/dist/services/inference/inference-service.d.ts +27 -0
- package/engine/dist/services/inference/inference-service.d.ts.map +1 -0
- package/engine/dist/services/inference/inference-service.js +89 -0
- package/engine/dist/services/inference/inference-service.js.map +1 -0
- package/engine/dist/services/inference/inference.d.ts +59 -0
- package/engine/dist/services/inference/inference.d.ts.map +1 -0
- package/engine/dist/services/inference/inference.js +131 -0
- package/engine/dist/services/inference/inference.js.map +1 -0
- package/engine/dist/services/ingest/atomizer-service.d.ts +74 -0
- package/engine/dist/services/ingest/atomizer-service.d.ts.map +1 -0
- package/engine/dist/services/ingest/atomizer-service.js +982 -0
- package/engine/dist/services/ingest/atomizer-service.js.map +1 -0
- package/engine/dist/services/ingest/content-cleaner.d.ts +43 -0
- package/engine/dist/services/ingest/content-cleaner.d.ts.map +1 -0
- package/engine/dist/services/ingest/content-cleaner.js +166 -0
- package/engine/dist/services/ingest/content-cleaner.js.map +1 -0
- package/engine/dist/services/ingest/github-ingest-service.d.ts +103 -0
- package/engine/dist/services/ingest/github-ingest-service.d.ts.map +1 -0
- package/engine/dist/services/ingest/github-ingest-service.js +537 -0
- package/engine/dist/services/ingest/github-ingest-service.js.map +1 -0
- package/engine/dist/services/ingest/ingest-atomic.d.ts +16 -0
- package/engine/dist/services/ingest/ingest-atomic.d.ts.map +1 -0
- package/engine/dist/services/ingest/ingest-atomic.js +437 -0
- package/engine/dist/services/ingest/ingest-atomic.js.map +1 -0
- package/engine/dist/services/ingest/ingest.d.ts +50 -0
- package/engine/dist/services/ingest/ingest.d.ts.map +1 -0
- package/engine/dist/services/ingest/ingest.js +230 -0
- package/engine/dist/services/ingest/ingest.js.map +1 -0
- package/engine/dist/services/ingest/watchdog.d.ts +31 -0
- package/engine/dist/services/ingest/watchdog.d.ts.map +1 -0
- package/engine/dist/services/ingest/watchdog.js +400 -0
- package/engine/dist/services/ingest/watchdog.js.map +1 -0
- package/engine/dist/services/llm/context.d.ts +6 -0
- package/engine/dist/services/llm/context.d.ts.map +1 -0
- package/engine/dist/services/llm/context.js +80 -0
- package/engine/dist/services/llm/context.js.map +1 -0
- package/engine/dist/services/llm/provider.d.ts +23 -0
- package/engine/dist/services/llm/provider.d.ts.map +1 -0
- package/engine/dist/services/llm/provider.js +338 -0
- package/engine/dist/services/llm/provider.js.map +1 -0
- package/engine/dist/services/llm/reader.d.ts +12 -0
- package/engine/dist/services/llm/reader.d.ts.map +1 -0
- package/engine/dist/services/llm/reader.js +40 -0
- package/engine/dist/services/llm/reader.js.map +1 -0
- package/engine/dist/services/mirror/mirror.d.ts +28 -0
- package/engine/dist/services/mirror/mirror.d.ts.map +1 -0
- package/engine/dist/services/mirror/mirror.js +208 -0
- package/engine/dist/services/mirror/mirror.js.map +1 -0
- package/engine/dist/services/nlp/nlp-service.d.ts +70 -0
- package/engine/dist/services/nlp/nlp-service.d.ts.map +1 -0
- package/engine/dist/services/nlp/nlp-service.js +151 -0
- package/engine/dist/services/nlp/nlp-service.js.map +1 -0
- package/engine/dist/services/nlp/query-parser.d.ts +9 -0
- package/engine/dist/services/nlp/query-parser.d.ts.map +1 -0
- package/engine/dist/services/nlp/query-parser.js +29 -0
- package/engine/dist/services/nlp/query-parser.js.map +1 -0
- package/engine/dist/services/query-builder/DataFrame.d.ts +95 -0
- package/engine/dist/services/query-builder/DataFrame.d.ts.map +1 -0
- package/engine/dist/services/query-builder/DataFrame.js +263 -0
- package/engine/dist/services/query-builder/DataFrame.js.map +1 -0
- package/engine/dist/services/query-builder/QueryBuilder.d.ts +106 -0
- package/engine/dist/services/query-builder/QueryBuilder.d.ts.map +1 -0
- package/engine/dist/services/query-builder/QueryBuilder.js +235 -0
- package/engine/dist/services/query-builder/QueryBuilder.js.map +1 -0
- package/engine/dist/services/query-builder/utils/export.d.ts +11 -0
- package/engine/dist/services/query-builder/utils/export.d.ts.map +1 -0
- package/engine/dist/services/query-builder/utils/export.js +130 -0
- package/engine/dist/services/query-builder/utils/export.js.map +1 -0
- package/engine/dist/services/research/researcher.d.ts +15 -0
- package/engine/dist/services/research/researcher.d.ts.map +1 -0
- package/engine/dist/services/research/researcher.js +123 -0
- package/engine/dist/services/research/researcher.js.map +1 -0
- package/engine/dist/services/scribe/scribe.d.ts +43 -0
- package/engine/dist/services/scribe/scribe.d.ts.map +1 -0
- package/engine/dist/services/scribe/scribe.js +135 -0
- package/engine/dist/services/scribe/scribe.js.map +1 -0
- package/engine/dist/services/search/bright-nodes.d.ts +41 -0
- package/engine/dist/services/search/bright-nodes.d.ts.map +1 -0
- package/engine/dist/services/search/bright-nodes.js +117 -0
- package/engine/dist/services/search/bright-nodes.js.map +1 -0
- package/engine/dist/services/search/context-inflator.d.ts +63 -0
- package/engine/dist/services/search/context-inflator.d.ts.map +1 -0
- package/engine/dist/services/search/context-inflator.js +649 -0
- package/engine/dist/services/search/context-inflator.js.map +1 -0
- package/engine/dist/services/search/context-manager.d.ts +34 -0
- package/engine/dist/services/search/context-manager.d.ts.map +1 -0
- package/engine/dist/services/search/context-manager.js +124 -0
- package/engine/dist/services/search/context-manager.js.map +1 -0
- package/engine/dist/services/search/distributed-query.d.ts +38 -0
- package/engine/dist/services/search/distributed-query.d.ts.map +1 -0
- package/engine/dist/services/search/distributed-query.js +105 -0
- package/engine/dist/services/search/distributed-query.js.map +1 -0
- package/engine/dist/services/search/explore.d.ts +73 -0
- package/engine/dist/services/search/explore.d.ts.map +1 -0
- package/engine/dist/services/search/explore.js +388 -0
- package/engine/dist/services/search/explore.js.map +1 -0
- package/engine/dist/services/search/graph-context-serializer.d.ts +76 -0
- package/engine/dist/services/search/graph-context-serializer.d.ts.map +1 -0
- package/engine/dist/services/search/graph-context-serializer.js +435 -0
- package/engine/dist/services/search/graph-context-serializer.js.map +1 -0
- package/engine/dist/services/search/llm-context-formatter.d.ts +122 -0
- package/engine/dist/services/search/llm-context-formatter.d.ts.map +1 -0
- package/engine/dist/services/search/llm-context-formatter.js +394 -0
- package/engine/dist/services/search/llm-context-formatter.js.map +1 -0
- package/engine/dist/services/search/physics-tag-walker.d.ts +115 -0
- package/engine/dist/services/search/physics-tag-walker.d.ts.map +1 -0
- package/engine/dist/services/search/physics-tag-walker.js +611 -0
- package/engine/dist/services/search/physics-tag-walker.js.map +1 -0
- package/engine/dist/services/search/query-parser.d.ts +66 -0
- package/engine/dist/services/search/query-parser.d.ts.map +1 -0
- package/engine/dist/services/search/query-parser.js +346 -0
- package/engine/dist/services/search/query-parser.js.map +1 -0
- package/engine/dist/services/search/search-utils.d.ts +100 -0
- package/engine/dist/services/search/search-utils.d.ts.map +1 -0
- package/engine/dist/services/search/search-utils.js +473 -0
- package/engine/dist/services/search/search-utils.js.map +1 -0
- package/engine/dist/services/search/search.d.ts +116 -0
- package/engine/dist/services/search/search.d.ts.map +1 -0
- package/engine/dist/services/search/search.js +1286 -0
- package/engine/dist/services/search/search.js.map +1 -0
- package/engine/dist/services/search/sovereign-system-prompt.d.ts +48 -0
- package/engine/dist/services/search/sovereign-system-prompt.d.ts.map +1 -0
- package/engine/dist/services/search/sovereign-system-prompt.js +101 -0
- package/engine/dist/services/search/sovereign-system-prompt.js.map +1 -0
- package/engine/dist/services/search/streaming-search.d.ts +51 -0
- package/engine/dist/services/search/streaming-search.d.ts.map +1 -0
- package/engine/dist/services/search/streaming-search.js +94 -0
- package/engine/dist/services/search/streaming-search.js.map +1 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.d.ts +53 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.js +625 -0
- package/engine/dist/services/semantic/semantic-ingestion-service.js.map +1 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.d.ts +68 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.js +176 -0
- package/engine/dist/services/semantic/semantic-molecule-processor.js.map +1 -0
- package/engine/dist/services/semantic/semantic-search.d.ts +52 -0
- package/engine/dist/services/semantic/semantic-search.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-search.js +649 -0
- package/engine/dist/services/semantic/semantic-search.js.map +1 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.d.ts +64 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.d.ts.map +1 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.js +191 -0
- package/engine/dist/services/semantic/semantic-tag-deriver.js.map +1 -0
- package/engine/dist/services/semantic/types/semantic.d.ts +26 -0
- package/engine/dist/services/semantic/types/semantic.d.ts.map +1 -0
- package/engine/dist/services/semantic/types/semantic.js +7 -0
- package/engine/dist/services/semantic/types/semantic.js.map +1 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.d.ts +79 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.d.ts.map +1 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.js +415 -0
- package/engine/dist/services/synonyms/auto-synonym-generator.js.map +1 -0
- package/engine/dist/services/system-status.d.ts +68 -0
- package/engine/dist/services/system-status.d.ts.map +1 -0
- package/engine/dist/services/system-status.js +107 -0
- package/engine/dist/services/system-status.js.map +1 -0
- package/engine/dist/services/tags/discovery.d.ts +16 -0
- package/engine/dist/services/tags/discovery.d.ts.map +1 -0
- package/engine/dist/services/tags/discovery.js +206 -0
- package/engine/dist/services/tags/discovery.js.map +1 -0
- package/engine/dist/services/tags/gliner.d.ts +18 -0
- package/engine/dist/services/tags/gliner.d.ts.map +1 -0
- package/engine/dist/services/tags/gliner.js +119 -0
- package/engine/dist/services/tags/gliner.js.map +1 -0
- package/engine/dist/services/tags/infector.d.ts +21 -0
- package/engine/dist/services/tags/infector.d.ts.map +1 -0
- package/engine/dist/services/tags/infector.js +168 -0
- package/engine/dist/services/tags/infector.js.map +1 -0
- package/engine/dist/services/tags/tag-auditor.d.ts +77 -0
- package/engine/dist/services/tags/tag-auditor.d.ts.map +1 -0
- package/engine/dist/services/tags/tag-auditor.js +283 -0
- package/engine/dist/services/tags/tag-auditor.js.map +1 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.d.ts +50 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.d.ts.map +1 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.js +291 -0
- package/engine/dist/services/taxonomy/taxonomy-manager.js.map +1 -0
- package/engine/dist/services/vision/vision_service.d.ts +4 -0
- package/engine/dist/services/vision/vision_service.d.ts.map +1 -0
- package/engine/dist/services/vision/vision_service.js +197 -0
- package/engine/dist/services/vision/vision_service.js.map +1 -0
- package/engine/dist/test-framework/core.d.ts +133 -0
- package/engine/dist/test-framework/core.d.ts.map +1 -0
- package/engine/dist/test-framework/core.js +313 -0
- package/engine/dist/test-framework/core.js.map +1 -0
- package/engine/dist/test-framework/dataset-runner.d.ts +78 -0
- package/engine/dist/test-framework/dataset-runner.d.ts.map +1 -0
- package/engine/dist/test-framework/dataset-runner.js +223 -0
- package/engine/dist/test-framework/dataset-runner.js.map +1 -0
- package/engine/dist/test-framework/diagnostic-tests.d.ts +38 -0
- package/engine/dist/test-framework/diagnostic-tests.d.ts.map +1 -0
- package/engine/dist/test-framework/diagnostic-tests.js +283 -0
- package/engine/dist/test-framework/diagnostic-tests.js.map +1 -0
- package/engine/dist/test-framework/performance-regression-tests.d.ts +30 -0
- package/engine/dist/test-framework/performance-regression-tests.d.ts.map +1 -0
- package/engine/dist/test-framework/performance-regression-tests.js +331 -0
- package/engine/dist/test-framework/performance-regression-tests.js.map +1 -0
- package/engine/dist/types/api.d.ts +53 -0
- package/engine/dist/types/api.d.ts.map +1 -0
- package/engine/dist/types/api.js +2 -0
- package/engine/dist/types/api.js.map +1 -0
- package/engine/dist/types/atomic.d.ts +42 -0
- package/engine/dist/types/atomic.d.ts.map +1 -0
- package/engine/dist/types/atomic.js +10 -0
- package/engine/dist/types/atomic.js.map +1 -0
- package/engine/dist/types/context-protocol.d.ts +137 -0
- package/engine/dist/types/context-protocol.d.ts.map +1 -0
- package/engine/dist/types/context-protocol.js +28 -0
- package/engine/dist/types/context-protocol.js.map +1 -0
- package/engine/dist/types/context.d.ts +2 -0
- package/engine/dist/types/context.d.ts.map +1 -0
- package/engine/dist/types/context.js +2 -0
- package/engine/dist/types/context.js.map +1 -0
- package/engine/dist/types/index.d.ts +20 -0
- package/engine/dist/types/index.d.ts.map +1 -0
- package/engine/dist/types/index.js +18 -0
- package/engine/dist/types/index.js.map +1 -0
- package/engine/dist/types/search.d.ts +31 -0
- package/engine/dist/types/search.d.ts.map +1 -0
- package/engine/dist/types/search.js +2 -0
- package/engine/dist/types/search.js.map +1 -0
- package/engine/dist/types/taxonomy.d.ts +137 -0
- package/engine/dist/types/taxonomy.d.ts.map +1 -0
- package/engine/dist/types/taxonomy.js +138 -0
- package/engine/dist/types/taxonomy.js.map +1 -0
- package/engine/dist/types/taxonomy.simple.d.ts +131 -0
- package/engine/dist/types/taxonomy.simple.d.ts.map +1 -0
- package/engine/dist/types/taxonomy.simple.js +132 -0
- package/engine/dist/types/taxonomy.simple.js.map +1 -0
- package/engine/dist/types/tool-call.d.ts +16 -0
- package/engine/dist/types/tool-call.d.ts.map +1 -0
- package/engine/dist/types/tool-call.js +6 -0
- package/engine/dist/types/tool-call.js.map +1 -0
- package/engine/dist/types/trace.d.ts +25 -0
- package/engine/dist/types/trace.d.ts.map +1 -0
- package/engine/dist/types/trace.js +5 -0
- package/engine/dist/types/trace.js.map +1 -0
- package/engine/dist/utils/adaptive-concurrency.d.ts +81 -0
- package/engine/dist/utils/adaptive-concurrency.d.ts.map +1 -0
- package/engine/dist/utils/adaptive-concurrency.js +266 -0
- package/engine/dist/utils/adaptive-concurrency.js.map +1 -0
- package/engine/dist/utils/date_extractor.d.ts +2 -0
- package/engine/dist/utils/date_extractor.d.ts.map +1 -0
- package/engine/dist/utils/date_extractor.js +32 -0
- package/engine/dist/utils/date_extractor.js.map +1 -0
- package/engine/dist/utils/native-module-manager.d.ts +48 -0
- package/engine/dist/utils/native-module-manager.d.ts.map +1 -0
- package/engine/dist/utils/native-module-manager.js +265 -0
- package/engine/dist/utils/native-module-manager.js.map +1 -0
- package/engine/dist/utils/native-module-profiler.d.ts +66 -0
- package/engine/dist/utils/native-module-profiler.d.ts.map +1 -0
- package/engine/dist/utils/native-module-profiler.js +182 -0
- package/engine/dist/utils/native-module-profiler.js.map +1 -0
- package/engine/dist/utils/path-manager.d.ts +59 -0
- package/engine/dist/utils/path-manager.d.ts.map +1 -0
- package/engine/dist/utils/path-manager.js +154 -0
- package/engine/dist/utils/path-manager.js.map +1 -0
- package/engine/dist/utils/performance-monitor.d.ts +92 -0
- package/engine/dist/utils/performance-monitor.d.ts.map +1 -0
- package/engine/dist/utils/performance-monitor.js +221 -0
- package/engine/dist/utils/performance-monitor.js.map +1 -0
- package/engine/dist/utils/process-manager.d.ts +18 -0
- package/engine/dist/utils/process-manager.d.ts.map +1 -0
- package/engine/dist/utils/process-manager.js +100 -0
- package/engine/dist/utils/process-manager.js.map +1 -0
- package/engine/dist/utils/request-tracer.d.ts +131 -0
- package/engine/dist/utils/request-tracer.d.ts.map +1 -0
- package/engine/dist/utils/request-tracer.js +414 -0
- package/engine/dist/utils/request-tracer.js.map +1 -0
- package/engine/dist/utils/resource-manager.d.ts +108 -0
- package/engine/dist/utils/resource-manager.d.ts.map +1 -0
- package/engine/dist/utils/resource-manager.js +235 -0
- package/engine/dist/utils/resource-manager.js.map +1 -0
- package/engine/dist/utils/safe-dns.d.ts +14 -0
- package/engine/dist/utils/safe-dns.d.ts.map +1 -0
- package/engine/dist/utils/safe-dns.js +105 -0
- package/engine/dist/utils/safe-dns.js.map +1 -0
- package/engine/dist/utils/structured-logger.d.ts +124 -0
- package/engine/dist/utils/structured-logger.d.ts.map +1 -0
- package/engine/dist/utils/structured-logger.js +332 -0
- package/engine/dist/utils/structured-logger.js.map +1 -0
- package/engine/dist/utils/tag-cleanup.d.ts +11 -0
- package/engine/dist/utils/tag-cleanup.d.ts.map +1 -0
- package/engine/dist/utils/tag-cleanup.js +111 -0
- package/engine/dist/utils/tag-cleanup.js.map +1 -0
- package/engine/dist/utils/tag-filter.d.ts +19 -0
- package/engine/dist/utils/tag-filter.d.ts.map +1 -0
- package/engine/dist/utils/tag-filter.js +147 -0
- package/engine/dist/utils/tag-filter.js.map +1 -0
- package/engine/dist/utils/tag-modulation.d.ts +80 -0
- package/engine/dist/utils/tag-modulation.d.ts.map +1 -0
- package/engine/dist/utils/tag-modulation.js +284 -0
- package/engine/dist/utils/tag-modulation.js.map +1 -0
- package/engine/dist/utils/timer.d.ts +40 -0
- package/engine/dist/utils/timer.d.ts.map +1 -0
- package/engine/dist/utils/timer.js +76 -0
- package/engine/dist/utils/timer.js.map +1 -0
- package/engine/dist/utils/token-utils.d.ts +19 -0
- package/engine/dist/utils/token-utils.d.ts.map +1 -0
- package/engine/dist/utils/token-utils.js +71 -0
- package/engine/dist/utils/token-utils.js.map +1 -0
- package/engine/dist/utils/wasm-module-loader.d.ts +50 -0
- package/engine/dist/utils/wasm-module-loader.d.ts.map +1 -0
- package/engine/dist/utils/wasm-module-loader.js +136 -0
- package/engine/dist/utils/wasm-module-loader.js.map +1 -0
- package/engine/package.json +105 -0
- package/package.json +106 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
# Search Logic Improvement Plan for ECE_Core
|
|
2
|
+
|
|
3
|
+
## Problem Statement
|
|
4
|
+
|
|
5
|
+
The Tag-Walker protocol shows brittleness in natural language query processing:
|
|
6
|
+
- Query "What is the latest state of the ECE" returned 0 results
|
|
7
|
+
- Fallback query "state ECE" returned 42 relevant results
|
|
8
|
+
- NLP parser over-optimizes or filters are too strict
|
|
9
|
+
- System relies on fallback strategies instead of primary semantic matching
|
|
10
|
+
|
|
11
|
+
## Root Cause Analysis
|
|
12
|
+
|
|
13
|
+
### 1. Query Intent Mapping Issue
|
|
14
|
+
The system fails to map natural language intent to semantic categories effectively.
|
|
15
|
+
|
|
16
|
+
### 2. Overly Restrictive Filtering
|
|
17
|
+
First-pass filtering eliminates potentially relevant results too aggressively.
|
|
18
|
+
|
|
19
|
+
### 3. Semantic Category Matching
|
|
20
|
+
The system doesn't properly recognize semantic relationships in conversational queries.
|
|
21
|
+
|
|
22
|
+
## Implementation Plan
|
|
23
|
+
|
|
24
|
+
### Phase 1: Immediate Fixes (Week 1)
|
|
25
|
+
|
|
26
|
+
#### 1.1 Relax First-Pass Filtering
|
|
27
|
+
**File**: `engine/src/services/search/tag-walker.ts`
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
// Current implementation may be too restrictive
|
|
31
|
+
const strictFilters = {
|
|
32
|
+
minRelevance: 0.8, // TOO HIGH
|
|
33
|
+
bucketMatchRequired: true, // TOO RESTRICTIVE
|
|
34
|
+
tagMatchThreshold: 0.9 // TOO HIGH
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// Updated implementation
|
|
38
|
+
const relaxedFilters = {
|
|
39
|
+
minRelevance: 0.3, // MORE PERMISSIVE
|
|
40
|
+
bucketMatchRequired: false, // ALLOW FLEXIBILITY
|
|
41
|
+
tagMatchThreshold: 0.5 // MORE INCLUSIVE
|
|
42
|
+
};
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
#### 1.2 Enhance Natural Language Processing
|
|
46
|
+
**File**: `engine/src/services/nlp/query-parser.ts`
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
// Add conversational query expansion
|
|
50
|
+
function expandConversationalQuery(query: string): string[] {
|
|
51
|
+
const expansions: string[] = [];
|
|
52
|
+
|
|
53
|
+
// Common conversational patterns
|
|
54
|
+
const patterns = [
|
|
55
|
+
{ pattern: /what is the (latest|current|recent) (.+)/i, expansion: "$2" },
|
|
56
|
+
{ pattern: /tell me about (.+)/i, expansion: "$1" },
|
|
57
|
+
{ pattern: /how is (.+) doing/i, expansion: "$1" },
|
|
58
|
+
{ pattern: /what's happening with (.+)/i, expansion: "$1" }
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
for (const p of patterns) {
|
|
62
|
+
const match = query.match(p.pattern);
|
|
63
|
+
if (match) {
|
|
64
|
+
expansions.push(query.replace(p.pattern, p.expansion));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return expansions;
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### 1.3 Improve Query Confidence Scoring
|
|
73
|
+
**File**: `engine/src/services/search/search-service.ts`
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// Add confidence-based fallback mechanism
|
|
77
|
+
interface QueryResult {
|
|
78
|
+
content: string;
|
|
79
|
+
score: number;
|
|
80
|
+
confidence: number; // NEW FIELD
|
|
81
|
+
strategy: string;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function executeSearch(query: string): QueryResult[] {
|
|
85
|
+
// Primary search with relaxed filters
|
|
86
|
+
const primaryResults = executeTagWalkerSearch(query, {
|
|
87
|
+
strictness: 'relaxed',
|
|
88
|
+
minConfidence: 0.3 // LOWER THRESHOLD
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// If primary search yields insufficient results, try expansions
|
|
92
|
+
if (primaryResults.length < 3) {
|
|
93
|
+
const expandedQueries = expandConversationalQuery(query);
|
|
94
|
+
for (const expQuery of expandedQueries) {
|
|
95
|
+
const expansionResults = executeTagWalkerSearch(expQuery, {
|
|
96
|
+
strictness: 'balanced',
|
|
97
|
+
minConfidence: 0.5
|
|
98
|
+
});
|
|
99
|
+
primaryResults.push(...expansionResults);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return primaryResults;
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Phase 2: Semantic Enhancement (Week 2)
|
|
108
|
+
|
|
109
|
+
#### 2.1 Entity Co-occurrence Detection Improvement
|
|
110
|
+
**File**: `engine/src/services/semantic/entity-cooccurrence.ts`
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
// Enhanced entity co-occurrence detection
|
|
114
|
+
class EntityCooccurrenceDetector {
|
|
115
|
+
detectRelationships(content: string, entities: string[]): SemanticRelationship[] {
|
|
116
|
+
const relationships: SemanticRelationship[] = [];
|
|
117
|
+
|
|
118
|
+
// Look for relationship indicators between entities
|
|
119
|
+
const relationshipIndicators = [
|
|
120
|
+
'and', 'with', 'met', 'told', 'said', 'visited', 'called',
|
|
121
|
+
'texted', 'about', 'relationship', 'connection', 'interaction'
|
|
122
|
+
];
|
|
123
|
+
|
|
124
|
+
// Enhanced detection logic
|
|
125
|
+
for (let i = 0; i < entities.length; i++) {
|
|
126
|
+
for (let j = i + 1; j < entities.length; j++) {
|
|
127
|
+
const entity1 = entities[i];
|
|
128
|
+
const entity2 = entities[j];
|
|
129
|
+
|
|
130
|
+
// Check for relationship indicators between entities
|
|
131
|
+
const pattern = new RegExp(`${entity1}[^.!?]{0,100}${relationshipIndicators.join('|')}[^.!?]{0,100}${entity2}|${entity2}[^.!?]{0,100}${relationshipIndicators.join('|')}[^.!?]{0,100}${entity1}`, 'gi');
|
|
132
|
+
|
|
133
|
+
if (content.match(pattern)) {
|
|
134
|
+
relationships.push({
|
|
135
|
+
entity1,
|
|
136
|
+
entity2,
|
|
137
|
+
type: 'relationship',
|
|
138
|
+
strength: 0.8
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
return relationships;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### 2.2 Semantic Category Mapping
|
|
150
|
+
**File**: `engine/src/services/semantic/category-mapper.ts`
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
// Enhanced semantic category mapping
|
|
154
|
+
class SemanticCategoryMapper {
|
|
155
|
+
mapQueryToCategories(query: string): SemanticCategory[] {
|
|
156
|
+
const categories: SemanticCategory[] = [];
|
|
157
|
+
|
|
158
|
+
// Enhanced mapping logic
|
|
159
|
+
if (this.containsSemanticIndicators(query, ['state', 'status', 'current', 'latest', 'recent'])) {
|
|
160
|
+
categories.push(SemanticCategory.STATUS);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (this.containsSemanticIndicators(query, ['relationship', 'connection', 'interaction', 'with', 'and'])) {
|
|
164
|
+
categories.push(SemanticCategory.RELATIONSHIP);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
if (this.containsSemanticIndicators(query, ['technical', 'code', 'architecture', 'system', 'implementation'])) {
|
|
168
|
+
categories.push(SemanticCategory.TECHNICAL);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// Add context-specific mappings
|
|
172
|
+
if (query.toLowerCase().includes('ece') || query.toLowerCase().includes('engine')) {
|
|
173
|
+
categories.push(SemanticCategory.PROJECT);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return categories;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
private containsSemanticIndicators(text: string, indicators: string[]): boolean {
|
|
180
|
+
const lowerText = text.toLowerCase();
|
|
181
|
+
return indicators.some(indicator => lowerText.includes(indicator));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Phase 3: Adaptive Filtering (Week 3)
|
|
187
|
+
|
|
188
|
+
#### 3.1 Query-Type Adaptive Filtering
|
|
189
|
+
**File**: `engine/src/services/search/adaptative-filter.ts`
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
// Adaptive filtering based on query type
|
|
193
|
+
class AdaptiveFilter {
|
|
194
|
+
applyFilter(query: string, results: SearchMolecule[], queryType: QueryType): SearchMolecule[] {
|
|
195
|
+
switch (queryType) {
|
|
196
|
+
case 'conversational':
|
|
197
|
+
// More permissive for conversational queries
|
|
198
|
+
return results.filter(r => r.score >= 0.2);
|
|
199
|
+
|
|
200
|
+
case 'precise':
|
|
201
|
+
// More restrictive for precise queries
|
|
202
|
+
return results.filter(r => r.score >= 0.7);
|
|
203
|
+
|
|
204
|
+
case 'exploratory':
|
|
205
|
+
// Medium restrictiveness for exploratory queries
|
|
206
|
+
return results.filter(r => r.score >= 0.4);
|
|
207
|
+
|
|
208
|
+
default:
|
|
209
|
+
// Default to balanced filtering
|
|
210
|
+
return results.filter(r => r.score >= 0.5);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
classifyQueryType(query: string): QueryType {
|
|
215
|
+
// Classify based on linguistic patterns
|
|
216
|
+
if (query.toLowerCase().startsWith('what') ||
|
|
217
|
+
query.toLowerCase().startsWith('how') ||
|
|
218
|
+
query.toLowerCase().startsWith('tell me')) {
|
|
219
|
+
return 'conversational';
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (query.split(' ').length <= 3) {
|
|
223
|
+
return 'precise';
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
return 'exploratory';
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Phase 4: Monitoring and Feedback (Week 4)
|
|
232
|
+
|
|
233
|
+
#### 4.1 Query Success Rate Tracking
|
|
234
|
+
**File**: `engine/src/services/monitoring/query-analytics.ts`
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
// Query analytics for continuous improvement
|
|
238
|
+
class QueryAnalytics {
|
|
239
|
+
private successRateTracker: Map<string, { successes: number, failures: number }> = new Map();
|
|
240
|
+
|
|
241
|
+
recordQueryOutcome(query: string, resultsCount: number, strategy: string): void {
|
|
242
|
+
const key = `${strategy}_${query.substring(0, 20)}`;
|
|
243
|
+
const stats = this.successRateTracker.get(key) || { successes: 0, failures: 0 };
|
|
244
|
+
|
|
245
|
+
if (resultsCount > 0) {
|
|
246
|
+
stats.successes++;
|
|
247
|
+
} else {
|
|
248
|
+
stats.failures++;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
this.successRateTracker.set(key, stats);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
getSuccessRates(): Map<string, number> {
|
|
255
|
+
const rates = new Map<string, number>();
|
|
256
|
+
|
|
257
|
+
for (const [key, stats] of this.successRateTracker.entries()) {
|
|
258
|
+
const total = stats.successes + stats.failures;
|
|
259
|
+
if (total > 0) {
|
|
260
|
+
rates.set(key, stats.successes / total);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return rates;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Implementation Timeline
|
|
270
|
+
|
|
271
|
+
### Week 1: Immediate Fixes
|
|
272
|
+
- [ ] Relax first-pass filtering parameters
|
|
273
|
+
- [ ] Implement conversational query expansion
|
|
274
|
+
- [ ] Add confidence-based fallback mechanism
|
|
275
|
+
- [ ] Test with sample queries including "What is the latest state of the ECE"
|
|
276
|
+
|
|
277
|
+
### Week 2: Semantic Enhancement
|
|
278
|
+
- [ ] Improve entity co-occurrence detection
|
|
279
|
+
- [ ] Enhance semantic category mapping
|
|
280
|
+
- [ ] Test relationship narrative discovery
|
|
281
|
+
- [ ] Validate with diverse query types
|
|
282
|
+
|
|
283
|
+
### Week 3: Adaptive Filtering
|
|
284
|
+
- [ ] Implement query-type classification
|
|
285
|
+
- [ ] Apply adaptive filtering based on query type
|
|
286
|
+
- [ ] Fine-tune thresholds for different query types
|
|
287
|
+
- [ ] Test performance impact
|
|
288
|
+
|
|
289
|
+
### Week 4: Monitoring and Optimization
|
|
290
|
+
- [ ] Deploy query analytics
|
|
291
|
+
- [ ] Monitor success rates
|
|
292
|
+
- [ ] Iterate based on real-world usage
|
|
293
|
+
- [ ] Document improvements
|
|
294
|
+
|
|
295
|
+
## Success Metrics
|
|
296
|
+
|
|
297
|
+
### Primary Metrics
|
|
298
|
+
- **Query Success Rate**: Increase from current rate to >95%
|
|
299
|
+
- **Zero-Result Queries**: Reduce to <2% of total queries
|
|
300
|
+
- **Fallback Usage**: Reduce reliance on fallback strategies by 50%
|
|
301
|
+
|
|
302
|
+
### Secondary Metrics
|
|
303
|
+
- **Response Time**: Maintain <100ms average response time
|
|
304
|
+
- **Precision/Recall Balance**: Optimize for user satisfaction
|
|
305
|
+
- **User Engagement**: Track query frequency and session duration
|
|
306
|
+
|
|
307
|
+
## Rollout Strategy
|
|
308
|
+
|
|
309
|
+
### Phase 1: Internal Testing
|
|
310
|
+
- Deploy changes to development environment
|
|
311
|
+
- Run comprehensive test suite
|
|
312
|
+
- Validate with sample queries including the problematic "What is the latest state of the ECE"
|
|
313
|
+
|
|
314
|
+
### Phase 2: Staged Rollout
|
|
315
|
+
- Deploy to subset of users
|
|
316
|
+
- Monitor query analytics
|
|
317
|
+
- Collect feedback on search quality
|
|
318
|
+
|
|
319
|
+
### Phase 3: Full Deployment
|
|
320
|
+
- Deploy to all users
|
|
321
|
+
- Monitor system-wide metrics
|
|
322
|
+
- Continue optimization based on usage patterns
|
|
323
|
+
|
|
324
|
+
## Risk Mitigation
|
|
325
|
+
|
|
326
|
+
### Performance Risks
|
|
327
|
+
- Monitor system performance during rollout
|
|
328
|
+
- Maintain performance benchmarks
|
|
329
|
+
- Rollback plan if performance degrades
|
|
330
|
+
|
|
331
|
+
### Quality Risks
|
|
332
|
+
- Implement A/B testing for search quality
|
|
333
|
+
- Monitor user feedback
|
|
334
|
+
- Maintain fallback mechanisms during transition
|
|
335
|
+
|
|
336
|
+
This plan addresses the specific issue where natural language queries fail to return results despite relevant content existing in the system. The improvements will make the search more robust while maintaining the high performance achieved through the native module optimizations.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# Search Architecture Diagram for ECE_Core
|
|
2
|
+
|
|
3
|
+
## Tag-Walker Protocol Overview
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
graph TD
|
|
7
|
+
subgraph "Query Processing"
|
|
8
|
+
A[User Query<br/>Natural Language]
|
|
9
|
+
B[Query Parser<br/>NLP Processing]
|
|
10
|
+
C[Query Expander<br/>Synonym Mapping]
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
subgraph "Search Phases"
|
|
14
|
+
D[Phase 1: FTS Search<br/>PGlite GIN Index]
|
|
15
|
+
E[Phase 2: Tag-Walker<br/>Graph Traversal]
|
|
16
|
+
F[Phase 3: Context Inflation<br/>Molecular Coordinates]
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
subgraph "Database Layer"
|
|
20
|
+
G[(PGlite Database)]
|
|
21
|
+
H[Atoms Table<br/>Content + FTS Index]
|
|
22
|
+
I[Tags Table<br/>Semantic Relationships]
|
|
23
|
+
J[Edges Table<br/>Atom Connections]
|
|
24
|
+
K[Engrams Table<br/>Lexical Sidecar]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
subgraph "Results Processing"
|
|
28
|
+
L[Result Scoring<br/>Relevance Ranking]
|
|
29
|
+
M[Duplicate Filtering<br/>SimHash Deduplication]
|
|
30
|
+
N[Response Assembly<br/>Context Window Formation]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
A --> B
|
|
34
|
+
B --> C
|
|
35
|
+
C --> D
|
|
36
|
+
C --> E
|
|
37
|
+
C --> F
|
|
38
|
+
|
|
39
|
+
D --> G
|
|
40
|
+
E --> G
|
|
41
|
+
F --> G
|
|
42
|
+
|
|
43
|
+
G --> H
|
|
44
|
+
G --> I
|
|
45
|
+
G --> J
|
|
46
|
+
G --> K
|
|
47
|
+
G --> AP
|
|
48
|
+
|
|
49
|
+
H --> L
|
|
50
|
+
I --> L
|
|
51
|
+
J --> L
|
|
52
|
+
K --> L
|
|
53
|
+
AP --> L
|
|
54
|
+
|
|
55
|
+
L --> M
|
|
56
|
+
M --> N
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Detailed Search Flow
|
|
60
|
+
|
|
61
|
+
```mermaid
|
|
62
|
+
sequenceDiagram
|
|
63
|
+
participant UI as User Interface
|
|
64
|
+
participant API as API Service
|
|
65
|
+
participant SS as Search Service
|
|
66
|
+
participant TW as Tag-Walker Protocol
|
|
67
|
+
participant DB as PGlite Database
|
|
68
|
+
participant NS as Native Services
|
|
69
|
+
|
|
70
|
+
UI->>API: POST /v1/memory/search {query: "revenue optimization", buckets: ["inbox"], max_chars: 20000}
|
|
71
|
+
API->>SS: executeSearch(query, buckets, maxChars)
|
|
72
|
+
SS->>TW: processQuery(query)
|
|
73
|
+
TW->>DB: Execute FTS search on content
|
|
74
|
+
DB-->>TW: Initial results from GIN index
|
|
75
|
+
alt No Results Found
|
|
76
|
+
TW->>DB: Execute fuzzy fallback (OR logic)
|
|
77
|
+
DB-->>TW: Fallback results
|
|
78
|
+
end
|
|
79
|
+
TW->>TW: Apply Tag-Walker graph traversal
|
|
80
|
+
TW->>DB: Query related atoms via tags/edges
|
|
81
|
+
DB-->>TW: Graph traversal results
|
|
82
|
+
TW->>SS: Curated results with provenance
|
|
83
|
+
SS->>SS: Apply context inflation (Radial Inflation form Disk)
|
|
84
|
+
SS->>DB: Query atom_positions for byte offsets
|
|
85
|
+
SS->>NS: Partial file read (fs.readSync)
|
|
86
|
+
NS-->>SS: Processed results
|
|
87
|
+
SS-->>API: Formatted response with context window
|
|
88
|
+
API-->>UI: Search results (limited by token budget)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Smart Search Protocol (Standard 094)
|
|
92
|
+
|
|
93
|
+
```mermaid
|
|
94
|
+
graph TD
|
|
95
|
+
subgraph "Phase 1: Intelligent Parsing"
|
|
96
|
+
A[Input: "What do we know about revenue optimization summary"]
|
|
97
|
+
B[POS Tagging & Stopword Removal]
|
|
98
|
+
C[Output: "revenue optimization summary"]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
subgraph "Phase 2: Strict Anchor Search"
|
|
102
|
+
D[GIN Index Query<br/>All terms must match]
|
|
103
|
+
E[PGlite FTS with 'simple' dictionary]
|
|
104
|
+
F[Strict AND logic: revenue & optimization & summary]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
subgraph "Phase 3: Fuzzy Fallback"
|
|
108
|
+
G[Trigger: Zero results from Phase 2]
|
|
109
|
+
H[Logical OR query: revenue | optimization | summary]
|
|
110
|
+
I[Retrieve partial matches]
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
subgraph "Phase 4: Semantic Walk"
|
|
114
|
+
J[Use seed results as graph nodes]
|
|
115
|
+
K[Traverse related atoms via shared tags]
|
|
116
|
+
L[Pull in associated content]
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
A --> B
|
|
120
|
+
B --> C
|
|
121
|
+
C --> D
|
|
122
|
+
D --> E
|
|
123
|
+
E --> F
|
|
124
|
+
F -->|Zero Results| G
|
|
125
|
+
G --> H
|
|
126
|
+
H --> I
|
|
127
|
+
F -->|Results Found| J
|
|
128
|
+
I -->|Results Found| J
|
|
129
|
+
J --> K
|
|
130
|
+
K --> L
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Performance Optimization Layers
|
|
134
|
+
|
|
135
|
+
```mermaid
|
|
136
|
+
graph LR
|
|
137
|
+
subgraph "Caching Layer"
|
|
138
|
+
CA[Query Cache<br/>Recent search results]
|
|
139
|
+
CB[Atom Cache<br/>Frequently accessed atoms]
|
|
140
|
+
CC[Embedding Cache<br/>Computed embeddings]
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
subgraph "Indexing Layer"
|
|
144
|
+
DA[GIN Index<br/>Full-Text Search]
|
|
145
|
+
DB[B-tree Indices<br/>Tags, Buckets, Timestamps]
|
|
146
|
+
DC[Hash Indices<br/>SimHash for deduplication]
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
subgraph "Processing Layer"
|
|
150
|
+
EA[Native Modules<br/>C++ Performance]
|
|
151
|
+
EB[Batch Processing<br/>SIMD Operations]
|
|
152
|
+
EC[Zero-Copy Operations<br/>std::string_view]
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
CA --> DA
|
|
156
|
+
CB --> DB
|
|
157
|
+
CC --> DC
|
|
158
|
+
DA --> EA
|
|
159
|
+
DB --> EB
|
|
160
|
+
DC --> EC
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## Agent Integration Search Flow
|
|
164
|
+
|
|
165
|
+
```mermaid
|
|
166
|
+
sequenceDiagram
|
|
167
|
+
participant AH as Agent Harness
|
|
168
|
+
participant API as REST API
|
|
169
|
+
participant SS as Search Service
|
|
170
|
+
participant TW as Tag-Walker
|
|
171
|
+
participant DB as PGlite
|
|
172
|
+
participant AG as Agent Runtime
|
|
173
|
+
|
|
174
|
+
AH->>API: Query with context requirement
|
|
175
|
+
API->>SS: Retrieve relevant context
|
|
176
|
+
SS->>TW: Execute Tag-Walker search
|
|
177
|
+
TW->>DB: Query atoms with semantic matching
|
|
178
|
+
DB-->>TW: Retrieved context atoms
|
|
179
|
+
TW-->>SS: Curated results
|
|
180
|
+
SS-->>API: Formatted context
|
|
181
|
+
API->>AG: Combine context + agent logic
|
|
182
|
+
AG-->>API: Processed response
|
|
183
|
+
API-->>AH: Final response with agent reasoning
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Database Schema for Search
|
|
187
|
+
|
|
188
|
+
```mermaid
|
|
189
|
+
graph BT
|
|
190
|
+
subgraph "PGlite Tables"
|
|
191
|
+
AT[Atoms Table<br/>- id (TEXT)<br/>- content (TEXT)<br/>- source_path (TEXT)<br/>- timestamp (REAL)<br/>- buckets (TEXT[])<br/>- tags (TEXT[])<br/>- epochs (TEXT[])<br/>- simhash (TEXT)<br/>- embedding (TEXT)<br/>- provenance (TEXT)<br/>- payload (JSONB)]
|
|
192
|
+
|
|
193
|
+
TT[Tags Table<br/>- atom_id (TEXT)<br/>- tag (TEXT)<br/>- bucket (TEXT)<br/>PRIMARY KEY (atom_id, tag)]
|
|
194
|
+
|
|
195
|
+
ET[Edges Table<br/>- source_id (TEXT)<br/>- target_id (TEXT)<br/>- relation (TEXT)<br/>- weight (REAL)<br/>PRIMARY KEY (source_id, target_id, relation)]
|
|
196
|
+
|
|
197
|
+
ST[Sources Table<br/>- path (TEXT)<br/>- hash (TEXT)<br/>- total_atoms (INTEGER)<br/>- last_ingest (REAL)<br/>PRIMARY KEY (path)]
|
|
198
|
+
|
|
199
|
+
MT[Molecules Table<br/>- id (TEXT)<br/>- content (TEXT)<br/>- compound_id (TEXT)<br/>- sequence (INTEGER)<br/>- start_byte (INTEGER)<br/>- end_byte (INTEGER)<br/>- type (TEXT)<br/>- numeric_value (REAL)<br/>- numeric_unit (TEXT)<br/>- molecular_signature (TEXT)<br/>- embedding (TEXT)<br/>- timestamp (REAL)]
|
|
200
|
+
|
|
201
|
+
CT[Compounds Table<br/>- id (TEXT)<br/>- compound_body (TEXT)<br/>- path (TEXT)<br/>- timestamp (REAL)<br/>- provenance (TEXT)<br/>- molecular_signature (TEXT)<br/>- atoms (TEXT)<br/>- molecules (TEXT)<br/>- embedding (TEXT)<br/>PRIMARY KEY (id)]
|
|
202
|
+
|
|
203
|
+
AP[Atom Positions Table<br/>- compound_id (TEXT)<br/>- atom_label (TEXT)<br/>- byte_offset (INTEGER)<br/>PRIMARY KEY (compound_id, atom_label, byte_offset)]
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
AT -.-> TT
|
|
207
|
+
AT -.-> ET
|
|
208
|
+
AT -.-> ST
|
|
209
|
+
AT -.-> MT
|
|
210
|
+
AT -.-> CT
|
|
211
|
+
AT -.-> AP
|
|
212
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Semantic Shift Architecture Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
The ECE Core now implements the Semantic Shift Architecture (Standard 084) that transforms the system from a keyword indexer to a semantic graph with relationship narrative discovery capabilities.
|
|
5
|
+
|
|
6
|
+
## Key Features
|
|
7
|
+
|
|
8
|
+
### 1. Semantic Categories
|
|
9
|
+
Instead of granular tags, the system now uses high-level semantic categories:
|
|
10
|
+
- `#Relationship` - Personal and professional connections
|
|
11
|
+
- `#Narrative` - Stories, timelines, and memory sequences
|
|
12
|
+
- `#Technical` - Code, architecture, and system documentation
|
|
13
|
+
- `#Industry` - External market and domain-specific data
|
|
14
|
+
- `#Location` - Geographic and spatial references
|
|
15
|
+
- `#Emotional` - High sentiment variance content
|
|
16
|
+
- `#Temporal` - Time-based sequences and chronology
|
|
17
|
+
- `#Causal` - Cause-effect relationships
|
|
18
|
+
|
|
19
|
+
### 2. Entity Co-occurrence Detection
|
|
20
|
+
The system automatically detects when entities appear together in the same semantic molecule:
|
|
21
|
+
- When "Rob" and "Jade" appear together → `#Relationship` tag
|
|
22
|
+
- When person and time reference appear → `#Narrative` tag
|
|
23
|
+
- When technical terms appear → `#Technical` tag
|
|
24
|
+
|
|
25
|
+
### 3. Relationship Narrative Discovery
|
|
26
|
+
The system can extract relationship narratives by finding entity co-occurrence patterns across your data.
|
|
27
|
+
|
|
28
|
+
## How to Use
|
|
29
|
+
|
|
30
|
+
### Search for Relationships
|
|
31
|
+
To search for relationship content, include multiple entities in your query:
|
|
32
|
+
- "Rob and Jade" - Finds content where both entities appear together
|
|
33
|
+
- "Tell me about Rob and Dory" - Returns relationship narratives between these entities
|
|
34
|
+
|
|
35
|
+
### Use Semantic Categories in Queries
|
|
36
|
+
You can filter by semantic categories using hashtags:
|
|
37
|
+
- "Jade #Relationship" - Find relationship content about Jade
|
|
38
|
+
- "CO2 #Industry" - Find industrial content about CO2
|
|
39
|
+
- "Albuquerque #Location" - Find location-based content about Albuquerque
|
|
40
|
+
|
|
41
|
+
### Toggle Features
|
|
42
|
+
The UI includes two important toggles:
|
|
43
|
+
- **Save to Graph**: When enabled, saves conversations to the knowledge graph
|
|
44
|
+
- **Use Port 8080**: When enabled, routes API requests to port 8080 for Qwen Code CLI integration
|
|
45
|
+
|
|
46
|
+
## Architecture Benefits
|
|
47
|
+
|
|
48
|
+
### Improved Search Relevance
|
|
49
|
+
- Relationship queries return only relationship content
|
|
50
|
+
- Technical queries return only technical content
|
|
51
|
+
- Narrative queries return only story content
|
|
52
|
+
|
|
53
|
+
### Reduced Noise
|
|
54
|
+
- No more irrelevant matches mixing domains
|
|
55
|
+
- Semantic filtering keeps content types separate
|
|
56
|
+
- Context-first approach eliminates session memory baggage
|
|
57
|
+
|
|
58
|
+
### Universal Application
|
|
59
|
+
- Same architecture works for personal relationships
|
|
60
|
+
- Same architecture works for industrial data
|
|
61
|
+
- Same architecture works for technical documentation
|
|
62
|
+
|
|
63
|
+
## Implementation Details
|
|
64
|
+
|
|
65
|
+
### Semantic Molecule Processing
|
|
66
|
+
Text chunks are processed as semantic molecules with high-level tags instead of granular entity tagging.
|
|
67
|
+
|
|
68
|
+
### Stateless Contextual Chat
|
|
69
|
+
Each query gets fresh context from ECE search results instead of relying on chat session history.
|
|
70
|
+
|
|
71
|
+
### Dynamic Taxonomy
|
|
72
|
+
The system can adapt to different domains while maintaining semantic category consistency.
|
|
73
|
+
|
|
74
|
+
## Examples
|
|
75
|
+
|
|
76
|
+
### Personal Domain
|
|
77
|
+
```
|
|
78
|
+
Query: "What happened between Rob and Jade?"
|
|
79
|
+
Result: Finds all content where "Rob" and "Jade" appear together, highlighting their relationship narrative.
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Industrial Domain
|
|
83
|
+
```
|
|
84
|
+
Query: "How is CO2 related to sequestration?"
|
|
85
|
+
Result: Finds content where "CO2" and "sequestration" appear together, highlighting industrial relationships.
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Technical Domain
|
|
89
|
+
```
|
|
90
|
+
Query: "Explain the relationship between CozoDB and ECE?"
|
|
91
|
+
Result: Finds technical content where these concepts appear together, highlighting system architecture relationships.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Standards Compliance
|
|
95
|
+
- Implements Standard 084: Semantic Shift Architecture
|
|
96
|
+
- Maintains backward compatibility with existing functionality
|
|
97
|
+
- Preserves the "Sovereign" nature of the context engine
|