strray-ai 1.13.4 → 1.14.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/.opencode/AGENTS-consumer.md +13 -11
- package/.opencode/codex.codex +1 -1
- package/.opencode/enforcer-config.json +2 -2
- package/.opencode/package.json +1 -1
- package/.opencode/plugins/strray-codex-injection.js +187 -66
- package/.opencode/skills/inference-improve/SKILL.md +90 -0
- package/.opencode/strray/agents_template.md +14 -10
- package/.opencode/strray/codex.json +1 -1
- package/.opencode/strray/config.json +1 -1
- package/.opencode/strray/features.json +14 -1
- package/.opencode/strray/inference/workflow-1774264530024.json +119 -0
- package/.opencode/strray/inference/workflow-1774264540177.json +119 -0
- package/.opencode/strray/inference/workflow-1774264541187.json +119 -0
- package/.opencode/strray/inference/workflow-1774264544776.json +119 -0
- package/.opencode/strray/inference/workflow-1774264546321.json +119 -0
- package/.opencode/strray/inference/workflow-1774264548274.json +119 -0
- package/.opencode/strray/inference/workflow-1774264548504.json +119 -0
- package/.opencode/strray/inference/workflow-1774264564505.json +119 -0
- package/.opencode/strray/inference/workflow-1774264565482.json +119 -0
- package/.opencode/strray/inference/workflow-1774264570622.json +119 -0
- package/.opencode/strray/inference/workflow-1774264571826.json +119 -0
- package/.opencode/strray/inference/workflow-1774264579504.json +119 -0
- package/.opencode/strray/inference/workflow-1774264590028.json +119 -0
- package/.opencode/strray/inference/workflow-1774264594094.json +119 -0
- package/.opencode/strray/inference/workflow-1774264594907.json +119 -0
- package/.opencode/strray/inference/workflow-1774264595371.json +119 -0
- package/.opencode/strray/inference/workflow-1774264595719.json +119 -0
- package/.opencode/strray/inference/workflow-1774264596037.json +119 -0
- package/.opencode/strray/inference/workflow-1774264596142.json +119 -0
- package/.opencode/strray/inference/workflow-1774264596280.json +119 -0
- package/.opencode/strray/inference/workflow-1774264599389.json +119 -0
- package/.opencode/strray/inference/workflow-1774264600775.json +119 -0
- package/.opencode/strray/inference/workflow-1774264632159.json +119 -0
- package/.opencode/strray/inference/workflow-1774264635046.json +119 -0
- package/.opencode/strray/inference/workflow-1774264635296.json +119 -0
- package/.opencode/strray/inference/workflow-1774264636125.json +119 -0
- package/.opencode/strray/inference/workflow-1774264658874.json +119 -0
- package/.opencode/strray/inference/workflow-1774264662587.json +119 -0
- package/.opencode/strray/inference/workflow-1774264663551.json +119 -0
- package/.opencode/strray/inference/workflow-1774264663749.json +119 -0
- package/.opencode/strray/inference/workflow-1774264664437.json +119 -0
- package/.opencode/strray/inference/workflow-1774264664860.json +119 -0
- package/.opencode/strray/inference/workflow-1774264665046.json +119 -0
- package/.opencode/strray/inference/workflow-1774264665693.json +119 -0
- package/.opencode/strray/inference/workflow-1774264668437.json +119 -0
- package/.opencode/strray/inference/workflow-1774264689018.json +119 -0
- package/.opencode/strray/inference/workflow-1774264690852.json +119 -0
- package/.opencode/strray/inference/workflow-1774264694841.json +119 -0
- package/.opencode/strray/inference/workflow-1774264697971.json +119 -0
- package/.opencode/strray/inference/workflow-1774264717793.json +119 -0
- package/.opencode/strray/inference/workflow-1774264720852.json +119 -0
- package/.opencode/strray/inference/workflow-1774264721534.json +119 -0
- package/.opencode/strray/inference/workflow-1774264722443.json +119 -0
- package/.opencode/strray/inference/workflow-1774264725283.json +119 -0
- package/.opencode/strray/inference/workflow-1774264725484.json +119 -0
- package/.opencode/strray/inference/workflow-1774264727777.json +119 -0
- package/.opencode/strray/inference/workflow-1774264729159.json +119 -0
- package/.opencode/strray/inference/workflow-1774264741797.json +119 -0
- package/.opencode/strray/inference/workflow-1774264742153.json +119 -0
- package/.opencode/strray/inference/workflow-1774264766224.json +119 -0
- package/.opencode/strray/inference/workflow-1774264766957.json +119 -0
- package/.opencode/strray/inference/workflow-1774264768051.json +119 -0
- package/.opencode/strray/inference/workflow-1774264771724.json +119 -0
- package/.opencode/strray/inference/workflow-1774264772000.json +119 -0
- package/.opencode/strray/inference/workflow-1774264772822.json +119 -0
- package/.opencode/strray/inference/workflow-1774264774260.json +119 -0
- package/.opencode/strray/inference/workflow-1774264780003.json +119 -0
- package/.opencode/strray/inference/workflow-1774264780641.json +119 -0
- package/.opencode/strray/inference/workflow-1774264801712.json +119 -0
- package/.opencode/strray/inference/workflow-1774264801836.json +119 -0
- package/.opencode/strray/inference/workflow-1774264816377.json +119 -0
- package/.opencode/strray/inference/workflow-1774264817493.json +119 -0
- package/.opencode/strray/inference/workflow-1774264817590.json +119 -0
- package/.opencode/strray/inference/workflow-1774264817790.json +119 -0
- package/.opencode/strray/inference/workflow-1774264820927.json +119 -0
- package/.opencode/strray/inference/workflow-1774264821936.json +119 -0
- package/.opencode/strray/inference/workflow-1774264829694.json +119 -0
- package/.opencode/strray/inference/workflow-1774264837518.json +119 -0
- package/.opencode/strray/inference/workflow-1774264844318.json +119 -0
- package/.opencode/strray/inference/workflow-1774264845898.json +119 -0
- package/.opencode/strray/inference/workflow-1774264867825.json +119 -0
- package/.opencode/strray/inference/workflow-1774264868528.json +119 -0
- package/.opencode/strray/inference/workflow-1774264868945.json +119 -0
- package/.opencode/strray/inference/workflow-1774264869646.json +119 -0
- package/.opencode/strray/inference/workflow-1774264869665.json +119 -0
- package/.opencode/strray/inference/workflow-1774264871711.json +119 -0
- package/.opencode/strray/inference/workflow-1774264873427.json +119 -0
- package/.opencode/strray/inference/workflow-1774264877848.json +119 -0
- package/.opencode/strray/inference/workflow-1774264890964.json +119 -0
- package/.opencode/strray/inference/workflow-1774264977202.json +119 -0
- package/.opencode/strray/inference/workflow-1774264981382.json +119 -0
- package/.opencode/strray/inference/workflow-1774264985329.json +119 -0
- package/.opencode/strray/inference/workflow-1774264989804.json +119 -0
- package/.opencode/strray/inference/workflow-1774264999277.json +119 -0
- package/.opencode/strray/inference/workflow-1774264999981.json +119 -0
- package/.opencode/strray/inference/workflow-1774265000242.json +119 -0
- package/.opencode/strray/inference/workflow-1774265005715.json +119 -0
- package/.opencode/strray/inference/workflow-1774265005906.json +119 -0
- package/.opencode/strray/inference/workflow-1774265007828.json +119 -0
- package/.opencode/strray/inference/workflow-1774265010186.json +119 -0
- package/.opencode/strray/inference/workflow-1774265021904.json +119 -0
- package/.opencode/strray/inference/workflow-1774265021982.json +119 -0
- package/.opencode/strray/inference/workflow-1774265023790.json +119 -0
- package/.opencode/strray/inference/workflow-1774265024727.json +119 -0
- package/.opencode/strray/inference/workflow-1774265027327.json +119 -0
- package/.opencode/strray/inference/workflow-1774265038082.json +119 -0
- package/.opencode/strray/inference/workflow-1774265039370.json +119 -0
- package/.opencode/strray/inference/workflow-1774265039594.json +119 -0
- package/.opencode/strray/inference/workflow-1774265054975.json +119 -0
- package/.opencode/strray/inference/workflow-1774265057663.json +119 -0
- package/.opencode/strray/inference/workflow-1774265058690.json +119 -0
- package/.opencode/strray/inference/workflow-1774265064045.json +119 -0
- package/.opencode/strray/inference/workflow-1774265065281.json +119 -0
- package/.opencode/strray/inference/workflow-1774265068116.json +119 -0
- package/.opencode/strray/inference/workflow-1774265155842.json +119 -0
- package/.opencode/strray/inference/workflow-1774265159971.json +119 -0
- package/.opencode/strray/inference/workflow-1774265164028.json +119 -0
- package/.opencode/strray/inference/workflow-1774265166851.json +119 -0
- package/.opencode/strray/inference/workflow-1774265177550.json +119 -0
- package/.opencode/strray/inference/workflow-1774265178351.json +119 -0
- package/.opencode/strray/inference/workflow-1774265178493.json +119 -0
- package/.opencode/strray/inference/workflow-1774265180516.json +119 -0
- package/.opencode/strray/inference/workflow-1774265188724.json +119 -0
- package/.opencode/strray/inference/workflow-1774265189784.json +119 -0
- package/.opencode/strray/inference/workflow-1774265191522.json +119 -0
- package/.opencode/strray/inference/workflow-1774265192088.json +119 -0
- package/.opencode/strray/inference/workflow-1774265199380.json +119 -0
- package/.opencode/strray/inference/workflow-1774265201097.json +119 -0
- package/.opencode/strray/inference/workflow-1774265202113.json +119 -0
- package/.opencode/strray/inference/workflow-1774265203745.json +119 -0
- package/.opencode/strray/inference/workflow-1774265204604.json +119 -0
- package/.opencode/strray/inference/workflow-1774265218347.json +119 -0
- package/.opencode/strray/inference/workflow-1774265219679.json +119 -0
- package/.opencode/strray/inference/workflow-1774265220975.json +119 -0
- package/.opencode/strray/inference/workflow-1774265221268.json +119 -0
- package/.opencode/strray/inference/workflow-1774265391328.json +119 -0
- package/.opencode/strray/inference/workflow-1774265392371.json +119 -0
- package/.opencode/strray/integrations.json +3 -3
- package/.opencode/strray/routing-mappings.json +496 -57
- package/AGENTS.md +488 -277
- package/README.md +6 -3
- package/dist/analytics/index.d.ts +23 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +18 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +9 -0
- package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -1
- package/dist/analytics/pattern-performance-tracker.js +46 -0
- package/dist/analytics/pattern-performance-tracker.js.map +1 -1
- package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -1
- package/dist/analytics/routing-performance-analyzer.js +20 -7
- package/dist/analytics/routing-performance-analyzer.js.map +1 -1
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/analytics/simple-pattern-analyzer.d.ts +1 -0
- package/dist/analytics/simple-pattern-analyzer.d.ts.map +1 -1
- package/dist/analytics/simple-pattern-analyzer.js +66 -15
- package/dist/analytics/simple-pattern-analyzer.js.map +1 -1
- package/dist/cli/index.js +156 -17
- package/dist/cli/index.js.map +1 -1
- package/dist/config/default-agents.d.ts +22 -0
- package/dist/config/default-agents.d.ts.map +1 -0
- package/dist/config/default-agents.js +294 -0
- package/dist/config/default-agents.js.map +1 -0
- package/dist/core/boot-orchestrator.d.ts +9 -2
- package/dist/core/boot-orchestrator.d.ts.map +1 -1
- package/dist/core/boot-orchestrator.js +76 -156
- package/dist/core/boot-orchestrator.js.map +1 -1
- package/dist/core/boot-phases.d.ts +19 -0
- package/dist/core/boot-phases.d.ts.map +1 -0
- package/dist/core/boot-phases.js +60 -0
- package/dist/core/boot-phases.js.map +1 -0
- package/dist/core/features-config.js +1 -1
- package/dist/core/memory-monitor-setup.d.ts +26 -0
- package/dist/core/memory-monitor-setup.d.ts.map +1 -0
- package/dist/core/memory-monitor-setup.js +79 -0
- package/dist/core/memory-monitor-setup.js.map +1 -0
- package/dist/core/system-prompt-generator.d.ts.map +1 -1
- package/dist/core/system-prompt-generator.js +28 -0
- package/dist/core/system-prompt-generator.js.map +1 -1
- package/dist/delegation/agent-delegator.d.ts.map +1 -1
- package/dist/delegation/agent-delegator.js +2 -279
- package/dist/delegation/agent-delegator.js.map +1 -1
- package/dist/delegation/analytics/learning-engine.d.ts +9 -25
- package/dist/delegation/analytics/learning-engine.d.ts.map +1 -1
- package/dist/delegation/analytics/learning-engine.js +182 -69
- package/dist/delegation/analytics/learning-engine.js.map +1 -1
- package/dist/delegation/analytics/outcome-tracker.d.ts +8 -1
- package/dist/delegation/analytics/outcome-tracker.d.ts.map +1 -1
- package/dist/delegation/analytics/outcome-tracker.js +27 -6
- package/dist/delegation/analytics/outcome-tracker.js.map +1 -1
- package/dist/delegation/ast-code-parser.d.ts +8 -0
- package/dist/delegation/ast-code-parser.d.ts.map +1 -1
- package/dist/delegation/ast-code-parser.js +180 -12
- package/dist/delegation/ast-code-parser.js.map +1 -1
- package/dist/delegation/complexity-analyzer.d.ts +29 -2
- package/dist/delegation/complexity-analyzer.d.ts.map +1 -1
- package/dist/delegation/complexity-analyzer.js +79 -5
- package/dist/delegation/complexity-analyzer.js.map +1 -1
- package/dist/delegation/complexity-calibrator.d.ts +2 -1
- package/dist/delegation/complexity-calibrator.d.ts.map +1 -1
- package/dist/delegation/complexity-calibrator.js +77 -25
- package/dist/delegation/complexity-calibrator.js.map +1 -1
- package/dist/delegation/config/types.d.ts +4 -0
- package/dist/delegation/config/types.d.ts.map +1 -1
- package/dist/delegation/routing/router-core.d.ts +21 -1
- package/dist/delegation/routing/router-core.d.ts.map +1 -1
- package/dist/delegation/routing/router-core.js +142 -2
- package/dist/delegation/routing/router-core.js.map +1 -1
- package/dist/delegation/task-skill-router.d.ts +1 -0
- package/dist/delegation/task-skill-router.d.ts.map +1 -1
- package/dist/delegation/task-skill-router.js +7 -12
- package/dist/delegation/task-skill-router.js.map +1 -1
- package/dist/mcps/architect-tools.server.d.ts.map +1 -1
- package/dist/mcps/architect-tools.server.js +16 -15
- package/dist/mcps/architect-tools.server.js.map +1 -1
- package/dist/mcps/auto-format.server.d.ts.map +1 -1
- package/dist/mcps/auto-format.server.js +8 -7
- package/dist/mcps/auto-format.server.js.map +1 -1
- package/dist/mcps/boot-orchestrator.server.js +2 -2
- package/dist/mcps/boot-orchestrator.server.js.map +1 -1
- package/dist/mcps/enforcer-tools.server.d.ts.map +1 -1
- package/dist/mcps/enforcer-tools.server.js +10 -9
- package/dist/mcps/enforcer-tools.server.js.map +1 -1
- package/dist/mcps/estimation.server.js +2 -2
- package/dist/mcps/estimation.server.js.map +1 -1
- package/dist/mcps/framework-compliance-audit.server.js +3 -3
- package/dist/mcps/framework-compliance-audit.server.js.map +1 -1
- package/dist/mcps/framework-help.server.d.ts.map +1 -1
- package/dist/mcps/framework-help.server.js +4 -3
- package/dist/mcps/framework-help.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/api-design.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/api-design.server.js +6 -51
- package/dist/mcps/knowledge-skills/api-design.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js +6 -51
- package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/code-analyzer.server.js +7 -26
- package/dist/mcps/knowledge-skills/code-analyzer.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/code-review.server.js +6 -51
- package/dist/mcps/knowledge-skills/code-review.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/database-design.server.js +6 -54
- package/dist/mcps/knowledge-skills/database-design.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/devops-deployment.server.js +6 -54
- package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/git-workflow.server.js +6 -51
- package/dist/mcps/knowledge-skills/git-workflow.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
- package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
- package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
- package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
- package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/performance-optimization.server.js +6 -51
- package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/project-analysis.server.js +12 -12
- package/dist/mcps/knowledge-skills/project-analysis.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +6 -54
- package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/security-audit.server.js +6 -51
- package/dist/mcps/knowledge-skills/security-audit.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
- package/dist/mcps/knowledge-skills/session-management.server.js +9 -9
- package/dist/mcps/knowledge-skills/session-management.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
- package/dist/mcps/knowledge-skills/strategist.server.js +2 -2
- package/dist/mcps/knowledge-skills/strategist.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.js +7 -52
- package/dist/mcps/knowledge-skills/tech-writer.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js +6 -54
- package/dist/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -1
- package/dist/mcps/knowledge-skills/testing-strategy.server.js +7 -54
- package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +1 -1
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
- package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -1
- package/dist/mcps/lint.server.js +3 -3
- package/dist/mcps/lint.server.js.map +1 -1
- package/dist/mcps/model-health-check.server.d.ts.map +1 -1
- package/dist/mcps/model-health-check.server.js +5 -4
- package/dist/mcps/model-health-check.server.js.map +1 -1
- package/dist/mcps/orchestrator.server.d.ts.map +1 -1
- package/dist/mcps/orchestrator.server.js +2 -1
- package/dist/mcps/orchestrator.server.js.map +1 -1
- package/dist/mcps/performance-analysis.server.js +3 -3
- package/dist/mcps/performance-analysis.server.js.map +1 -1
- package/dist/mcps/processor-pipeline.server.d.ts.map +1 -1
- package/dist/mcps/processor-pipeline.server.js +3 -2
- package/dist/mcps/processor-pipeline.server.js.map +1 -1
- package/dist/mcps/researcher.server.d.ts.map +1 -1
- package/dist/mcps/researcher.server.js +7 -6
- package/dist/mcps/researcher.server.js.map +1 -1
- package/dist/mcps/security-scan.server.d.ts.map +1 -1
- package/dist/mcps/security-scan.server.js +6 -5
- package/dist/mcps/security-scan.server.js.map +1 -1
- package/dist/mcps/state-manager.server.js +2 -2
- package/dist/mcps/state-manager.server.js.map +1 -1
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +32 -2
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +9 -10
- package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -1
- package/dist/orchestrator/orchestrator.d.ts +23 -1
- package/dist/orchestrator/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/orchestrator.js +2 -1
- package/dist/orchestrator/orchestrator.js.map +1 -1
- package/dist/orchestrator/universal-registry-bridge.js +1 -1
- package/dist/plugin/strray-codex-injection.d.ts +21 -6
- package/dist/plugin/strray-codex-injection.d.ts.map +1 -1
- package/dist/plugin/strray-codex-injection.js +187 -66
- package/dist/plugin/strray-codex-injection.js.map +1 -1
- package/dist/postprocessor/PostProcessor.js +1 -1
- package/dist/postprocessor/escalation/EscalationEngine.d.ts +82 -0
- package/dist/postprocessor/escalation/EscalationEngine.d.ts.map +1 -1
- package/dist/postprocessor/escalation/EscalationEngine.js +253 -2
- package/dist/postprocessor/escalation/EscalationEngine.js.map +1 -1
- package/dist/processors/implementations/index.d.ts +2 -0
- package/dist/processors/implementations/index.d.ts.map +1 -1
- package/dist/processors/implementations/index.js +2 -0
- package/dist/processors/implementations/index.js.map +1 -1
- package/dist/processors/implementations/inference-improvement-processor.d.ts +32 -0
- package/dist/processors/implementations/inference-improvement-processor.d.ts.map +1 -0
- package/dist/processors/implementations/inference-improvement-processor.js +229 -0
- package/dist/processors/implementations/inference-improvement-processor.js.map +1 -0
- package/dist/processors/implementations/log-protection-processor.d.ts +31 -0
- package/dist/processors/implementations/log-protection-processor.d.ts.map +1 -0
- package/dist/processors/implementations/log-protection-processor.js +119 -0
- package/dist/processors/implementations/log-protection-processor.js.map +1 -0
- package/dist/processors/processor-manager.d.ts +52 -38
- package/dist/processors/processor-manager.d.ts.map +1 -1
- package/dist/processors/processor-manager.js +22 -118
- package/dist/processors/processor-manager.js.map +1 -1
- package/dist/reporting/autonomous-report-generator.d.ts +171 -0
- package/dist/reporting/autonomous-report-generator.d.ts.map +1 -0
- package/dist/reporting/autonomous-report-generator.js +425 -0
- package/dist/reporting/autonomous-report-generator.js.map +1 -0
- package/dist/reporting/orchestration-flow-reporter.d.ts +35 -0
- package/dist/reporting/orchestration-flow-reporter.d.ts.map +1 -0
- package/dist/reporting/orchestration-flow-reporter.js +169 -0
- package/dist/reporting/orchestration-flow-reporter.js.map +1 -0
- package/dist/services/inference-tuner.d.ts +61 -0
- package/dist/services/inference-tuner.d.ts.map +1 -0
- package/dist/services/inference-tuner.js +204 -0
- package/dist/services/inference-tuner.js.map +1 -0
- package/dist/session/session-monitor.d.ts +35 -0
- package/dist/session/session-monitor.d.ts.map +1 -1
- package/dist/session/session-monitor.js +142 -17
- package/dist/session/session-monitor.js.map +1 -1
- package/dist/utils/shutdown-handler.d.ts +28 -0
- package/dist/utils/shutdown-handler.d.ts.map +1 -0
- package/dist/utils/shutdown-handler.js +76 -0
- package/dist/utils/shutdown-handler.js.map +1 -0
- package/package.json +2 -1
- package/scripts/integrations/install-claude-seo.js +2 -2
- package/scripts/node/universal-version-manager.js +13 -10
- package/AGENTS-consumer.md +0 -459
|
@@ -108,12 +108,13 @@ StringRay uses **two reflection folders** for different purposes:
|
|
|
108
108
|
|
|
109
109
|
The `@storyteller` agent supports multiple story types:
|
|
110
110
|
|
|
111
|
-
| Type | Description | Invoke |
|
|
112
|
-
|
|
113
|
-
| `reflection` | Technical deep reflections on development process | `@storyteller write a reflection about X` |
|
|
114
|
-
| `saga` | Long-form technical saga spanning multiple sessions | `@storyteller write a saga about X` |
|
|
115
|
-
| `journey` | Investigation/learning journey | `@storyteller write a journey about X` |
|
|
116
|
-
| `narrative` | Technical narrative - telling the story of code | `@storyteller write a narrative about X` |
|
|
111
|
+
| Type | Description | Template Path | Invoke |
|
|
112
|
+
|------|-------------|---------------|--------|
|
|
113
|
+
| `reflection` | Technical deep reflections on development process | `docs/reflections/TEMPLATE.md` | `@storyteller write a reflection about X` |
|
|
114
|
+
| `saga` | Long-form technical saga spanning multiple sessions | `docs/reflections/deep/SAGA_TEMPLATE.md` | `@storyteller write a saga about X` |
|
|
115
|
+
| `journey` | Investigation/learning journey | `docs/reflections/JOURNEY_TEMPLATE.md` | `@storyteller write a journey about X` |
|
|
116
|
+
| `narrative` | Technical narrative - telling the story of code | `docs/reflections/NARRATIVE_TEMPLATE.md` | `@storyteller write a narrative about X` |
|
|
117
|
+
| `deep reflection` | Extended narrative with emotional journey | `docs/reflections/deep/TEMPLATE.md` | `@storyteller write a deep reflection about X` |
|
|
117
118
|
|
|
118
119
|
**Example:**
|
|
119
120
|
```
|
|
@@ -139,10 +140,10 @@ The `@storyteller` agent supports multiple story types:
|
|
|
139
140
|
|
|
140
141
|
StringRay automatically routes tasks based on complexity:
|
|
141
142
|
|
|
142
|
-
- **Simple (≤
|
|
143
|
-
- **Moderate (
|
|
144
|
-
- **Complex (
|
|
145
|
-
- **Enterprise (>
|
|
143
|
+
- **Simple (≤15)**: Single agent
|
|
144
|
+
- **Moderate (≤25)**: Single agent with tools
|
|
145
|
+
- **Complex (≤50)**: Multi-agent coordination
|
|
146
|
+
- **Enterprise (>50)**: Orchestrator-led team
|
|
146
147
|
|
|
147
148
|
## CLI Commands
|
|
148
149
|
|
|
@@ -155,6 +156,7 @@ npx strray-ai capabilities # Show all features
|
|
|
155
156
|
npx strray-ai report # Generate reports
|
|
156
157
|
npx strray-ai analytics # Pattern analytics
|
|
157
158
|
npx strray-ai calibrate # Calibrate complexity
|
|
159
|
+
npm run test:pipelines # Pipeline integration tests
|
|
158
160
|
```
|
|
159
161
|
|
|
160
162
|
## Features.json Configuration
|
|
@@ -649,4 +651,4 @@ npx strray-ai --version
|
|
|
649
651
|
- [Troubleshooting](https://github.com/htafolla/stringray/blob/master/docs/TROUBLESHOOTING.md)
|
|
650
652
|
|
|
651
653
|
---
|
|
652
|
-
**Version**: 1.
|
|
654
|
+
**Version**: 1.14.0 | [GitHub](https://github.com/htafolla/stringray)
|
package/.opencode/codex.codex
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.14.0",
|
|
3
3
|
"terms": [
|
|
4
4
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
|
|
5
5
|
],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "StringRay 1.0.0",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"codex": {
|
|
223
|
-
"version": "1.
|
|
223
|
+
"version": "1.14.0",
|
|
224
224
|
"terms": [
|
|
225
225
|
1,
|
|
226
226
|
2,
|
package/.opencode/package.json
CHANGED
|
@@ -146,6 +146,88 @@ function extractTaskDescription(input) {
|
|
|
146
146
|
}
|
|
147
147
|
return null;
|
|
148
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Extract action words from command for better routing
|
|
151
|
+
* Maps verbs/intents to skill categories
|
|
152
|
+
*/
|
|
153
|
+
function extractActionWords(command) {
|
|
154
|
+
if (!command || command.length < 3)
|
|
155
|
+
return null;
|
|
156
|
+
// Strip quotes and escape sequences for cleaner matching
|
|
157
|
+
const cleanCommand = command.replace(/["']/g, ' ').replace(/\\./g, ' ');
|
|
158
|
+
// Action word -> skill mapping (ordered by priority)
|
|
159
|
+
const actionMap = [
|
|
160
|
+
// Review patterns - check first since user likely wants to review content
|
|
161
|
+
{ pattern: /\b(review|check|audit|examine|inspect|assess|evaluate)\b/i, skill: "code-review" },
|
|
162
|
+
// Analyze patterns
|
|
163
|
+
{ pattern: /\b(analyze|investigate|study)\b/i, skill: "code-analyzer" },
|
|
164
|
+
// Fix patterns
|
|
165
|
+
{ pattern: /\b(fix|debug|resolve|troubleshoot|repair)\b/i, skill: "bug-triage" },
|
|
166
|
+
// Create patterns
|
|
167
|
+
{ pattern: /\b(create|write|generate|build|make|add)\b/i, skill: "content-creator" },
|
|
168
|
+
// Test patterns
|
|
169
|
+
{ pattern: /\b(test|validate|verify)\b/i, skill: "testing" },
|
|
170
|
+
// Design patterns
|
|
171
|
+
{ pattern: /\b(design|plan|architect)\b/i, skill: "architecture" },
|
|
172
|
+
// Optimize patterns
|
|
173
|
+
{ pattern: /\b(optimize|improve|enhance|speed)\b/i, skill: "performance" },
|
|
174
|
+
// Security patterns
|
|
175
|
+
{ pattern: /\b(scan|secure|vulnerability)\b/i, skill: "security" },
|
|
176
|
+
// Refactor patterns
|
|
177
|
+
{ pattern: /\b(refactor|clean|restructure)\b/i, skill: "refactoring" },
|
|
178
|
+
];
|
|
179
|
+
// Search for action words anywhere in the command
|
|
180
|
+
for (const { pattern } of actionMap) {
|
|
181
|
+
const match = cleanCommand.match(pattern);
|
|
182
|
+
if (match) {
|
|
183
|
+
// Return the matched word plus context after it
|
|
184
|
+
const word = match[0];
|
|
185
|
+
const idx = cleanCommand.toLowerCase().indexOf(word.toLowerCase());
|
|
186
|
+
const after = cleanCommand.slice(idx + word.length, Math.min(idx + word.length + 25, cleanCommand.length)).trim();
|
|
187
|
+
return `${word} ${after}`.trim().slice(0, 40);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// If no action word found, return null to use default routing
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Estimate complexity score based on message content
|
|
195
|
+
* Higher complexity = orchestrator routing
|
|
196
|
+
* Lower complexity = code-reviewer routing
|
|
197
|
+
*/
|
|
198
|
+
function estimateComplexity(message) {
|
|
199
|
+
const text = message.toLowerCase();
|
|
200
|
+
// High complexity indicators
|
|
201
|
+
const highComplexityKeywords = [
|
|
202
|
+
"architecture", "system", "design", "complex", "multiple",
|
|
203
|
+
"integrate", "database", "migration", "refactor",
|
|
204
|
+
"performance", "optimize", "security", "audit",
|
|
205
|
+
"orchestrate", "coordinate", "workflow"
|
|
206
|
+
];
|
|
207
|
+
// Low complexity indicators
|
|
208
|
+
const lowComplexityKeywords = [
|
|
209
|
+
"review", "check", "simple", "quick", "fix",
|
|
210
|
+
"small", "typo", "format", "lint", "test"
|
|
211
|
+
];
|
|
212
|
+
let score = 50; // default medium
|
|
213
|
+
// Check message length
|
|
214
|
+
if (message.length > 200)
|
|
215
|
+
score += 10;
|
|
216
|
+
if (message.length > 500)
|
|
217
|
+
score += 15;
|
|
218
|
+
// Check for high complexity keywords
|
|
219
|
+
for (const keyword of highComplexityKeywords) {
|
|
220
|
+
if (text.includes(keyword))
|
|
221
|
+
score += 8;
|
|
222
|
+
}
|
|
223
|
+
// Check for low complexity keywords
|
|
224
|
+
for (const keyword of lowComplexityKeywords) {
|
|
225
|
+
if (text.includes(keyword))
|
|
226
|
+
score -= 5;
|
|
227
|
+
}
|
|
228
|
+
// Clamp to 0-100
|
|
229
|
+
return Math.max(0, Math.min(100, score));
|
|
230
|
+
}
|
|
149
231
|
async function loadTaskSkillRouter() {
|
|
150
232
|
if (taskSkillRouterInstance) {
|
|
151
233
|
return; // Already loaded
|
|
@@ -402,34 +484,7 @@ export default async function strrayCodexPlugin(input) {
|
|
|
402
484
|
showEssentialLinks: true
|
|
403
485
|
});
|
|
404
486
|
}
|
|
405
|
-
//
|
|
406
|
-
// PROMPT-LEVEL ROUTING: Route user prompts to best agent
|
|
407
|
-
// ============================================================
|
|
408
|
-
const userPrompt = String(_input.prompt || _input.message || _input.content || "");
|
|
409
|
-
if (userPrompt && userPrompt.length > 0) {
|
|
410
|
-
try {
|
|
411
|
-
await loadTaskSkillRouter();
|
|
412
|
-
if (taskSkillRouterInstance) {
|
|
413
|
-
const routingResult = taskSkillRouterInstance.routeTask(userPrompt, {
|
|
414
|
-
source: "prompt",
|
|
415
|
-
});
|
|
416
|
-
if (routingResult && routingResult.agent) {
|
|
417
|
-
const logger = await getOrCreateLogger(directory);
|
|
418
|
-
logger.log(`🎯 Prompt routed: "${userPrompt.slice(0, 50)}${userPrompt.length > 50 ? "..." : ""}" → ${routingResult.agent} (confidence: ${routingResult.confidence})`);
|
|
419
|
-
// Add routing context to system prompt
|
|
420
|
-
leanPrompt += `\n\n🎯 Recommended Agent: @${routingResult.agent}\n`;
|
|
421
|
-
leanPrompt += `📊 Confidence: ${Math.round(routingResult.confidence * 100)}%\n`;
|
|
422
|
-
if (routingResult.context?.complexity > 50) {
|
|
423
|
-
leanPrompt += `⚠️ High complexity detected - consider using @orchestrator\n`;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
catch (e) {
|
|
429
|
-
const logger = await getOrCreateLogger(directory);
|
|
430
|
-
logger.error("Prompt routing error:", e);
|
|
431
|
-
}
|
|
432
|
-
}
|
|
487
|
+
// Routing is handled in chat.message hook - this hook only does system prompt injection
|
|
433
488
|
if (output.system && Array.isArray(output.system)) {
|
|
434
489
|
output.system = [leanPrompt];
|
|
435
490
|
}
|
|
@@ -465,31 +520,43 @@ export default async function strrayCodexPlugin(input) {
|
|
|
465
520
|
}
|
|
466
521
|
}
|
|
467
522
|
const { tool, args } = input;
|
|
468
|
-
//
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
523
|
+
// Extract action words from command for better tool routing
|
|
524
|
+
const command = args?.command ? String(args.command) : "";
|
|
525
|
+
let taskDescription = null;
|
|
526
|
+
if (command) {
|
|
527
|
+
const actionWords = extractActionWords(command);
|
|
528
|
+
if (actionWords) {
|
|
529
|
+
taskDescription = actionWords;
|
|
530
|
+
logger.log(`📝 Action words extracted: "${actionWords}"`);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
// Also try to extract from content if no command
|
|
534
|
+
if (!taskDescription) {
|
|
535
|
+
taskDescription = extractTaskDescription(input);
|
|
536
|
+
}
|
|
537
|
+
// Route tool commands based on extracted action words
|
|
538
|
+
if (taskDescription) {
|
|
474
539
|
try {
|
|
475
540
|
await loadTaskSkillRouter();
|
|
476
541
|
if (taskSkillRouterInstance) {
|
|
477
542
|
const routingResult = taskSkillRouterInstance.routeTask(taskDescription, {
|
|
478
|
-
|
|
543
|
+
source: "tool_command",
|
|
544
|
+
complexity: estimateComplexity(taskDescription),
|
|
479
545
|
});
|
|
480
546
|
if (routingResult && routingResult.agent) {
|
|
481
|
-
logger.log(`🎯
|
|
482
|
-
//
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
}
|
|
547
|
+
logger.log(`🎯 Tool routed: ${tool} → @${routingResult.agent} (${Math.round(routingResult.confidence * 100)}%)`);
|
|
548
|
+
// Log routing for analytics
|
|
549
|
+
logToolActivity(directory, "routing", tool, {
|
|
550
|
+
taskDescription,
|
|
551
|
+
agent: routingResult.agent,
|
|
552
|
+
confidence: routingResult.confidence
|
|
553
|
+
});
|
|
488
554
|
}
|
|
489
555
|
}
|
|
490
556
|
}
|
|
491
557
|
catch (e) {
|
|
492
|
-
|
|
558
|
+
// Silent fail - routing should not break tool execution
|
|
559
|
+
logger.log(`📝 Tool routing skipped: ${e}`);
|
|
493
560
|
}
|
|
494
561
|
}
|
|
495
562
|
// ENFORCER QUALITY GATE CHECK - Block on violations
|
|
@@ -715,46 +782,100 @@ export default async function strrayCodexPlugin(input) {
|
|
|
715
782
|
},
|
|
716
783
|
/**
|
|
717
784
|
* chat.message - Intercept user messages for routing
|
|
718
|
-
*
|
|
785
|
+
* Output contains message and parts with user content
|
|
719
786
|
*/
|
|
720
787
|
"chat.message": async (input, output) => {
|
|
721
788
|
const logger = await getOrCreateLogger(directory);
|
|
722
|
-
//
|
|
723
|
-
const
|
|
724
|
-
|
|
789
|
+
// DEBUG: Log ALL output
|
|
790
|
+
const debugLogPath = path.join(process.cwd(), "logs", "framework", "routing-debug.log");
|
|
791
|
+
fs.appendFileSync(debugLogPath, `\n[${new Date().toISOString()}] === chat.message HOOK FIRED ===\n`);
|
|
792
|
+
fs.appendFileSync(debugLogPath, `OUTPUT KEYS: ${JSON.stringify(Object.keys(output || {}))}\n`);
|
|
793
|
+
fs.appendFileSync(debugLogPath, `MESSAGE: ${JSON.stringify(output?.message)}\n`);
|
|
794
|
+
fs.appendFileSync(debugLogPath, `PARTS: ${JSON.stringify(output?.parts)}\n`);
|
|
795
|
+
// Extract user message from parts (TextPart has type="text" and text field)
|
|
796
|
+
let userMessage = "";
|
|
797
|
+
if (output?.parts && Array.isArray(output.parts)) {
|
|
798
|
+
for (const part of output.parts) {
|
|
799
|
+
if (part?.type === "text" && part?.text) {
|
|
800
|
+
userMessage = part.text;
|
|
801
|
+
break;
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
fs.appendFileSync(debugLogPath, `userMessage: "${userMessage.slice(0, 100)}"\n`);
|
|
806
|
+
if (!userMessage || userMessage.length === 0) {
|
|
807
|
+
fs.appendFileSync(debugLogPath, `SKIP: No user text found\n`);
|
|
725
808
|
return;
|
|
726
809
|
}
|
|
727
|
-
logger.log(`👤 User message
|
|
810
|
+
logger.log(`👤 User message: "${userMessage.slice(0, 50)}..."`);
|
|
728
811
|
try {
|
|
729
812
|
await loadTaskSkillRouter();
|
|
730
813
|
if (taskSkillRouterInstance) {
|
|
731
|
-
//
|
|
732
|
-
|
|
733
|
-
|
|
814
|
+
// Get complexity score for tiebreaking
|
|
815
|
+
let complexityScore = 50; // default medium
|
|
816
|
+
try {
|
|
817
|
+
if (featuresConfigLoader) {
|
|
818
|
+
const config = featuresConfigLoader.loadConfig();
|
|
819
|
+
if (config.model_routing?.complexity?.enabled) {
|
|
820
|
+
// Estimate complexity based on message length and keywords
|
|
821
|
+
complexityScore = estimateComplexity(userMessage);
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
catch (e) {
|
|
826
|
+
// Silent fail for complexity estimation
|
|
827
|
+
}
|
|
828
|
+
fs.appendFileSync(debugLogPath, `Complexity estimated: ${complexityScore}\n`);
|
|
829
|
+
// Route with complexity context
|
|
830
|
+
const routingResult = taskSkillRouterInstance.routeTask(userMessage, {
|
|
831
|
+
source: "chat_message",
|
|
832
|
+
complexity: complexityScore,
|
|
734
833
|
});
|
|
834
|
+
fs.appendFileSync(debugLogPath, `Routing result: ${JSON.stringify(routingResult)}\n`);
|
|
735
835
|
if (routingResult && routingResult.agent) {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
//
|
|
740
|
-
if (
|
|
741
|
-
|
|
836
|
+
// Apply weighted confidence scoring
|
|
837
|
+
let finalConfidence = routingResult.confidence;
|
|
838
|
+
let routingMethod = "keyword";
|
|
839
|
+
// If keyword confidence is low, use complexity-based routing
|
|
840
|
+
if (routingResult.confidence < 0.7 && complexityScore > 50) {
|
|
841
|
+
// High complexity tasks get orchestrator boost
|
|
842
|
+
if (complexityScore > 70) {
|
|
843
|
+
routingResult.agent = "orchestrator";
|
|
844
|
+
finalConfidence = Math.min(0.85, routingResult.confidence + 0.15);
|
|
845
|
+
routingMethod = "complexity";
|
|
846
|
+
}
|
|
742
847
|
}
|
|
743
|
-
|
|
744
|
-
|
|
848
|
+
// If low complexity and low confidence, boost code-reviewer
|
|
849
|
+
if (routingResult.confidence < 0.6 && complexityScore < 30) {
|
|
850
|
+
routingResult.agent = "code-reviewer";
|
|
851
|
+
finalConfidence = Math.min(0.75, routingResult.confidence + 0.15);
|
|
852
|
+
routingMethod = "complexity";
|
|
853
|
+
}
|
|
854
|
+
logger.log(`🎯 Routed to: @${routingResult.agent} (${Math.round(finalConfidence * 100)}%) via ${routingMethod}`);
|
|
855
|
+
fs.appendFileSync(debugLogPath, `Final agent: ${routingResult.agent}, confidence: ${finalConfidence}, method: ${routingMethod}\n`);
|
|
856
|
+
// Store routing in session for later use
|
|
857
|
+
const sessionRoutingPath = path.join(process.cwd(), "logs", "framework", "session-routing.json");
|
|
858
|
+
try {
|
|
859
|
+
fs.appendFileSync(sessionRoutingPath, JSON.stringify({
|
|
860
|
+
timestamp: new Date().toISOString(),
|
|
861
|
+
message: userMessage.slice(0, 100),
|
|
862
|
+
agent: routingResult.agent,
|
|
863
|
+
confidence: finalConfidence,
|
|
864
|
+
method: routingMethod,
|
|
865
|
+
complexity: complexityScore,
|
|
866
|
+
}) + "\n");
|
|
867
|
+
}
|
|
868
|
+
catch (e) {
|
|
869
|
+
// Silent fail for session routing logging
|
|
745
870
|
}
|
|
746
|
-
// Log routing outcome
|
|
747
|
-
logToolActivity(directory, "routing", "user_message", {
|
|
748
|
-
agent: routingResult.agent,
|
|
749
|
-
confidence: routingResult.confidence,
|
|
750
|
-
skill: routingResult.skill,
|
|
751
|
-
});
|
|
752
871
|
}
|
|
753
872
|
}
|
|
754
873
|
}
|
|
755
874
|
catch (e) {
|
|
756
|
-
logger.error("
|
|
875
|
+
logger.error("Chat message routing error:", e);
|
|
876
|
+
fs.appendFileSync(debugLogPath, `ERROR: ${e}\n`);
|
|
757
877
|
}
|
|
878
|
+
fs.appendFileSync(debugLogPath, `=== END chat.message ===\n`);
|
|
758
879
|
},
|
|
759
880
|
config: async (_config) => {
|
|
760
881
|
const logger = await getOrCreateLogger(directory);
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: inference-improve
|
|
3
|
+
description: Autonomous inference improvement through collaborative agent analysis
|
|
4
|
+
author: StrRay Framework
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
tags: [inference, improvement, autonomous, learning]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Inference Improvement Skill
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Coordinates a collaborative agent workflow to improve routing inference by analyzing logs, reflections, and reports.
|
|
14
|
+
|
|
15
|
+
## Trigger Phrases
|
|
16
|
+
|
|
17
|
+
- "improve inference"
|
|
18
|
+
- "analyze routing patterns"
|
|
19
|
+
- "autonomous improvement"
|
|
20
|
+
- "learn from logs"
|
|
21
|
+
- "coalesce insights"
|
|
22
|
+
|
|
23
|
+
## Agent Workflow
|
|
24
|
+
|
|
25
|
+
### Phase 1: Data Gathering (Researcher)
|
|
26
|
+
```
|
|
27
|
+
@researcher gather all recent logs, reflections, and reports
|
|
28
|
+
- Read logs/framework/activity.log
|
|
29
|
+
- Read logs/framework/routing-outcomes.json
|
|
30
|
+
- Read docs/reflections/*.md
|
|
31
|
+
- Read logs/reports/session-*.md
|
|
32
|
+
- Read logs/reports/job-*.md
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Phase 2: Pattern Analysis (Code-Analyzer)
|
|
36
|
+
```
|
|
37
|
+
@code-analyzer analyze gathered data
|
|
38
|
+
- Identify routing success/failure patterns
|
|
39
|
+
- Detect weak keyword matches
|
|
40
|
+
- Find confidence distribution issues
|
|
41
|
+
- Locate emerging patterns
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Phase 3: Design Improvements (Architect)
|
|
45
|
+
```
|
|
46
|
+
@architect design routing improvements
|
|
47
|
+
- Propose new keyword mappings
|
|
48
|
+
- Suggest confidence adjustments
|
|
49
|
+
- Recommend complexity thresholds
|
|
50
|
+
- Design new routing patterns
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Phase 4: Review & Refine (Code-Reviewer)
|
|
54
|
+
```
|
|
55
|
+
@code-reviewer review proposed changes
|
|
56
|
+
- Validate quality of proposals
|
|
57
|
+
- Refine suggestions
|
|
58
|
+
- Ensure no regressions
|
|
59
|
+
- Prioritize changes
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Phase 5: Validate & Apply (Enforcer)
|
|
63
|
+
```
|
|
64
|
+
@enforcer validate and apply changes
|
|
65
|
+
- Codex compliance check
|
|
66
|
+
- Verify changes are safe
|
|
67
|
+
- Apply to routing-mappings.json
|
|
68
|
+
- Log improvements
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Output
|
|
72
|
+
|
|
73
|
+
Produces actionable improvements:
|
|
74
|
+
1. Updated `routing-mappings.json`
|
|
75
|
+
2. New insights report
|
|
76
|
+
3. Confidence adjustments
|
|
77
|
+
4. Pattern additions/removals
|
|
78
|
+
|
|
79
|
+
## Configuration
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"inference_improvement": {
|
|
84
|
+
"enabled": true,
|
|
85
|
+
"autonomous": true,
|
|
86
|
+
"interval_hours": 24,
|
|
87
|
+
"min_confidence": 0.7
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# StringRay AI v1.
|
|
1
|
+
# StringRay AI v1.14.0 – Agent Context & Universal Development Codex
|
|
2
2
|
|
|
3
|
-
**Framework Version**: 1.
|
|
4
|
-
**Codex Version**: 1.
|
|
5
|
-
**Last Updated**: 2026-
|
|
3
|
+
**Framework Version**: 1.14.0
|
|
4
|
+
**Codex Version**: 1.7.5 (condensed)
|
|
5
|
+
**Last Updated**: 2026-03-23
|
|
6
6
|
**Purpose**: Systematic error prevention and production-ready AI-assisted development
|
|
7
7
|
|
|
8
8
|
## 🎯 CRITICAL RULES – ZERO TOLERANCE (MANDATORY)
|
|
@@ -75,13 +75,15 @@
|
|
|
75
75
|
| Agent | Role | Complexity | Key Tools | Strategy |
|
|
76
76
|
|---------------------------|-----------------------------------|------------|----------------------------------------|-------------------|
|
|
77
77
|
| enforcer | Codex & error prevention | All | read, grep, lsp_*, bash | Block violations |
|
|
78
|
-
| architect | Design & decisions | High | read, grep, lsp_*, background_task | Expert priority |
|
|
79
78
|
| orchestrator | Workflow coordination | Enterprise | read, grep, call_omo_agent, session_* | Consensus |
|
|
79
|
+
| architect | Design & decisions | High | read, grep, lsp_*, background_task | Expert priority |
|
|
80
80
|
| bug-triage-specialist | Error investigation & fixes | Debug | read, grep, ast_grep_* | Majority vote |
|
|
81
81
|
| code-reviewer | Quality & standards | Changes | read, grep, lsp_diagnostics | Expert priority |
|
|
82
82
|
| security-auditor | Vulnerabilities & compliance | Security | read, grep, grep_app_searchGitHub | Block critical |
|
|
83
83
|
| refactorer | Debt & consolidation | Refactor | read, grep, lsp_rename, ast_grep_* | Majority vote |
|
|
84
|
-
|
|
|
84
|
+
| testing-lead | Testing strategy & coverage | Tests | read, grep, lsp_* | Expert priority |
|
|
85
|
+
| storyteller | Narrative deep reflections | Narrative | read, grep, write | Expert priority |
|
|
86
|
+
| researcher | Codebase exploration | Research | read, grep, codesearch, websearch | Expert priority |
|
|
85
87
|
|
|
86
88
|
## Complexity Routing Summary
|
|
87
89
|
|
|
@@ -89,9 +91,9 @@ Score = (files×2 + change/10 + deps×3 + duration/10) × operation_weight × ri
|
|
|
89
91
|
- Operation weights: debug 2.0, refactor 1.8, analyze 1.5, modify 1.2, others 1.0
|
|
90
92
|
- Risk multipliers: critical 1.6, high 1.3, medium 1.0, low 0.8
|
|
91
93
|
Thresholds:
|
|
92
|
-
- ≤
|
|
93
|
-
-
|
|
94
|
-
-
|
|
94
|
+
- ≤15 → single agent
|
|
95
|
+
- 16–50 → multi-agent possible
|
|
96
|
+
- 51+ → orchestrator-led
|
|
95
97
|
|
|
96
98
|
## Operational Guidelines
|
|
97
99
|
|
|
@@ -102,4 +104,6 @@ Thresholds:
|
|
|
102
104
|
- Enforce codex compliance on every operation
|
|
103
105
|
|
|
104
106
|
**Codex Enforcement**: All actions validated against these rules. Violations block progress until resolved.
|
|
105
|
-
**Target**: 99.6% systematic error prevention through verification-first behavior.
|
|
107
|
+
**Target**: 99.6% systematic error prevention through verification-first behavior.
|
|
108
|
+
|
|
109
|
+
(End of file - total 105 lines)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./features.schema.json",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "StringRay Framework - Unified Feature Configuration",
|
|
5
5
|
"token_optimization": {
|
|
6
6
|
"enabled": true,
|
|
@@ -115,5 +115,18 @@
|
|
|
115
115
|
"moderate": 25,
|
|
116
116
|
"complex": 50,
|
|
117
117
|
"enterprise": 100
|
|
118
|
+
},
|
|
119
|
+
"analytics": {
|
|
120
|
+
"enabled": true,
|
|
121
|
+
"default_limit": 500,
|
|
122
|
+
"min_samples_for_calibration": 3,
|
|
123
|
+
"track_complexity_accuracy": true,
|
|
124
|
+
"track_agent_performance": true
|
|
125
|
+
},
|
|
126
|
+
"pattern_learning": {
|
|
127
|
+
"enabled": true,
|
|
128
|
+
"learning_interval_ms": 300000,
|
|
129
|
+
"auto_apply_threshold": 0.9,
|
|
130
|
+
"min_success_rate": 0.7
|
|
118
131
|
}
|
|
119
132
|
}
|