aios-core 4.2.15 → 4.4.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/.aios-core/cli/commands/validate/index.js +1 -1
- package/.aios-core/core/code-intel/code-intel-client.js +19 -5
- package/.aios-core/core/code-intel/helpers/creation-helper.js +183 -0
- package/.aios-core/core/code-intel/helpers/devops-helper.js +166 -0
- package/.aios-core/core/code-intel/helpers/planning-helper.js +248 -0
- package/.aios-core/core/code-intel/helpers/qa-helper.js +187 -0
- package/.aios-core/core/code-intel/helpers/story-helper.js +146 -0
- package/.aios-core/core/code-intel/hook-runtime.js +186 -0
- package/.aios-core/core/code-intel/index.js +2 -0
- package/.aios-core/core/code-intel/providers/code-graph-provider.js +8 -0
- package/.aios-core/core/code-intel/providers/provider-interface.js +9 -0
- package/.aios-core/core/code-intel/providers/registry-provider.js +515 -0
- package/.aios-core/core/config/schemas/framework-config.schema.json +155 -7
- package/.aios-core/core/config/schemas/project-config.schema.json +329 -15
- package/.aios-core/core/config/template-overrides.js +84 -0
- package/.aios-core/core/docs/troubleshooting-guide.md +1 -1
- package/.aios-core/core/doctor/checks/agent-memory.js +63 -0
- package/.aios-core/core/doctor/checks/claude-md.js +56 -0
- package/.aios-core/core/doctor/checks/code-intel.js +131 -0
- package/.aios-core/core/doctor/checks/commands-count.js +81 -0
- package/.aios-core/core/doctor/checks/core-config.js +53 -0
- package/.aios-core/core/doctor/checks/entity-registry.js +53 -0
- package/.aios-core/core/doctor/checks/git-hooks.js +50 -0
- package/.aios-core/core/doctor/checks/graph-dashboard.js +48 -0
- package/.aios-core/core/doctor/checks/hooks-claude-count.js +118 -0
- package/.aios-core/core/doctor/checks/ide-sync.js +85 -0
- package/.aios-core/core/doctor/checks/index.js +46 -0
- package/.aios-core/core/doctor/checks/node-version.js +33 -0
- package/.aios-core/core/doctor/checks/npm-packages.js +35 -0
- package/.aios-core/core/doctor/checks/rules-files.js +61 -0
- package/.aios-core/core/doctor/checks/settings-json.js +121 -0
- package/.aios-core/core/doctor/checks/skills-count.js +72 -0
- package/.aios-core/core/doctor/fix-handler.js +165 -0
- package/.aios-core/core/doctor/formatters/json.js +14 -0
- package/.aios-core/core/doctor/formatters/text.js +59 -0
- package/.aios-core/core/doctor/index.js +94 -0
- package/.aios-core/core/graph-dashboard/cli.js +361 -0
- package/.aios-core/core/graph-dashboard/data-sources/code-intel-source.js +234 -0
- package/.aios-core/core/graph-dashboard/data-sources/metrics-source.js +95 -0
- package/.aios-core/core/graph-dashboard/data-sources/registry-source.js +106 -0
- package/.aios-core/core/graph-dashboard/formatters/dot-formatter.js +45 -0
- package/.aios-core/core/graph-dashboard/formatters/html-formatter.js +1437 -0
- package/.aios-core/core/graph-dashboard/formatters/json-formatter.js +13 -0
- package/.aios-core/core/graph-dashboard/formatters/mermaid-formatter.js +59 -0
- package/.aios-core/core/graph-dashboard/index.js +21 -0
- package/.aios-core/core/graph-dashboard/renderers/stats-renderer.js +217 -0
- package/.aios-core/core/graph-dashboard/renderers/status-renderer.js +125 -0
- package/.aios-core/core/graph-dashboard/renderers/tree-renderer.js +119 -0
- package/.aios-core/core/health-check/base-check.js +1 -1
- package/.aios-core/core/health-check/check-registry.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/build-config.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/ci-config.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/deployment-readiness.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/docker-config.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/env-file.js +1 -1
- package/.aios-core/core/health-check/checks/deployment/index.js +1 -1
- package/.aios-core/core/health-check/checks/index.js +1 -1
- package/.aios-core/core/health-check/checks/local/disk-space.js +1 -1
- package/.aios-core/core/health-check/checks/local/environment-vars.js +1 -1
- package/.aios-core/core/health-check/checks/local/git-install.js +1 -1
- package/.aios-core/core/health-check/checks/local/ide-detection.js +1 -1
- package/.aios-core/core/health-check/checks/local/index.js +1 -1
- package/.aios-core/core/health-check/checks/local/memory.js +1 -1
- package/.aios-core/core/health-check/checks/local/network.js +1 -1
- package/.aios-core/core/health-check/checks/local/npm-install.js +1 -1
- package/.aios-core/core/health-check/checks/local/shell-environment.js +1 -1
- package/.aios-core/core/health-check/checks/project/agent-config.js +1 -1
- package/.aios-core/core/health-check/checks/project/aios-directory.js +1 -1
- package/.aios-core/core/health-check/checks/project/dependencies.js +1 -1
- package/.aios-core/core/health-check/checks/project/framework-config.js +1 -1
- package/.aios-core/core/health-check/checks/project/index.js +1 -1
- package/.aios-core/core/health-check/checks/project/node-version.js +1 -1
- package/.aios-core/core/health-check/checks/project/package-json.js +1 -1
- package/.aios-core/core/health-check/checks/project/task-definitions.js +1 -1
- package/.aios-core/core/health-check/checks/project/workflow-dependencies.js +1 -1
- package/.aios-core/core/health-check/checks/repository/branch-protection.js +1 -1
- package/.aios-core/core/health-check/checks/repository/commit-history.js +1 -1
- package/.aios-core/core/health-check/checks/repository/conflicts.js +1 -1
- package/.aios-core/core/health-check/checks/repository/git-repo.js +1 -1
- package/.aios-core/core/health-check/checks/repository/git-status.js +1 -1
- package/.aios-core/core/health-check/checks/repository/gitignore.js +1 -1
- package/.aios-core/core/health-check/checks/repository/index.js +1 -1
- package/.aios-core/core/health-check/checks/repository/large-files.js +1 -1
- package/.aios-core/core/health-check/checks/repository/lockfile-integrity.js +1 -1
- package/.aios-core/core/health-check/checks/services/api-endpoints.js +1 -1
- package/.aios-core/core/health-check/checks/services/claude-code.js +1 -1
- package/.aios-core/core/health-check/checks/services/gemini-cli.js +1 -1
- package/.aios-core/core/health-check/checks/services/github-cli.js +1 -1
- package/.aios-core/core/health-check/checks/services/index.js +1 -1
- package/.aios-core/core/health-check/checks/services/mcp-integration.js +1 -1
- package/.aios-core/core/health-check/engine.js +1 -1
- package/.aios-core/core/health-check/healers/backup-manager.js +1 -1
- package/.aios-core/core/health-check/healers/index.js +1 -1
- package/.aios-core/core/health-check/index.js +9 -2
- package/.aios-core/core/health-check/reporters/console.js +1 -1
- package/.aios-core/core/health-check/reporters/index.js +1 -1
- package/.aios-core/core/health-check/reporters/json.js +1 -1
- package/.aios-core/core/health-check/reporters/markdown.js +1 -1
- package/.aios-core/core/ids/layer-classifier.js +65 -0
- package/.aios-core/core/ids/registry-updater.js +49 -0
- package/.aios-core/core/index.esm.js +1 -1
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/session/context-detector.js +2 -7
- package/.aios-core/core/synapse/context/context-tracker.js +9 -1
- package/.aios-core/core/synapse/engine.js +33 -13
- package/.aios-core/core/synapse/memory/memory-bridge.js +17 -43
- package/.aios-core/core/synapse/memory/synapse-memory-provider.js +201 -0
- package/.aios-core/core/synapse/runtime/hook-runtime.js +40 -2
- package/.aios-core/core/synapse/session/session-manager.js +3 -2
- package/.aios-core/core/synapse/utils/atomic-write.js +79 -0
- package/.aios-core/core-config.yaml +34 -1
- package/.aios-core/data/aios-kb.md +2 -2
- package/.aios-core/data/capability-detection.js +290 -0
- package/.aios-core/data/entity-registry.yaml +10450 -2129
- package/.aios-core/data/mcp-discipline.js +166 -0
- package/.aios-core/data/mcp-tool-examples.yaml +215 -0
- package/.aios-core/data/tok2-validation.js +168 -0
- package/.aios-core/data/tok3-token-comparison.js +123 -0
- package/.aios-core/data/tool-registry.yaml +648 -0
- package/.aios-core/data/tool-search-validation.js +174 -0
- package/.aios-core/data/workflow-chains.yaml +156 -0
- package/.aios-core/development/agents/aios-master.md +17 -10
- package/.aios-core/development/agents/analyst/MEMORY.md +33 -0
- package/.aios-core/development/agents/analyst.md +17 -10
- package/.aios-core/development/agents/architect/MEMORY.md +39 -0
- package/.aios-core/development/agents/architect.md +17 -10
- package/.aios-core/development/agents/data-engineer/MEMORY.md +32 -0
- package/.aios-core/development/agents/data-engineer.md +17 -10
- package/.aios-core/development/agents/dev/MEMORY.md +46 -0
- package/.aios-core/development/agents/dev.md +18 -11
- package/.aios-core/development/agents/devops/MEMORY.md +39 -0
- package/.aios-core/development/agents/devops.md +44 -10
- package/.aios-core/development/agents/pm/MEMORY.md +38 -0
- package/.aios-core/development/agents/pm.md +17 -10
- package/.aios-core/development/agents/po/MEMORY.md +45 -0
- package/.aios-core/development/agents/po.md +17 -10
- package/.aios-core/development/agents/qa/MEMORY.md +42 -0
- package/.aios-core/development/agents/qa.md +18 -11
- package/.aios-core/development/agents/sm/MEMORY.md +31 -0
- package/.aios-core/development/agents/sm.md +17 -10
- package/.aios-core/development/agents/squad-creator.md +18 -9
- package/.aios-core/development/agents/ux/MEMORY.md +31 -0
- package/.aios-core/development/agents/ux-design-expert.md +16 -9
- package/.aios-core/development/checklists/issue-triage-checklist.md +35 -0
- package/.aios-core/development/checklists/memory-audit-checklist.md +53 -0
- package/.aios-core/development/scripts/issue-triage.js +171 -0
- package/.aios-core/development/scripts/populate-entity-registry.js +412 -19
- package/.aios-core/development/scripts/unified-activation-pipeline.js +31 -10
- package/.aios-core/development/tasks/analyze-project-structure.md +48 -0
- package/.aios-core/development/tasks/apply-qa-fixes.md +7 -0
- package/.aios-core/development/tasks/architect-analyze-impact.md +8 -1
- package/.aios-core/development/tasks/brownfield-create-epic.md +41 -0
- package/.aios-core/development/tasks/brownfield-create-story.md +7 -0
- package/.aios-core/development/tasks/build-autonomous.md +7 -0
- package/.aios-core/development/tasks/create-deep-research-prompt.md +7 -0
- package/.aios-core/development/tasks/create-doc.md +44 -0
- package/.aios-core/development/tasks/create-next-story.md +17 -0
- package/.aios-core/development/tasks/create-suite.md +7 -0
- package/.aios-core/development/tasks/dev-develop-story.md +9 -1
- package/.aios-core/development/tasks/execute-checklist.md +7 -0
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +56 -0
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +70 -0
- package/.aios-core/development/tasks/github-issue-triage.md +118 -0
- package/.aios-core/development/tasks/health-check.yaml +206 -171
- package/.aios-core/development/tasks/kb-mode-interaction.md +3 -3
- package/.aios-core/development/tasks/plan-create-context.md +47 -1
- package/.aios-core/development/tasks/plan-create-implementation.md +55 -0
- package/.aios-core/development/tasks/po-close-story.md +7 -0
- package/.aios-core/development/tasks/pr-automation.md +5 -5
- package/.aios-core/development/tasks/qa-create-fix-request.md +7 -0
- package/.aios-core/development/tasks/qa-fix-issues.md +7 -0
- package/.aios-core/development/tasks/qa-gate.md +56 -0
- package/.aios-core/development/tasks/qa-review-story.md +32 -1
- package/.aios-core/development/tasks/release-management.md +7 -0
- package/.aios-core/development/tasks/resolve-github-issue.md +608 -0
- package/.aios-core/development/tasks/review-contributor-pr.md +152 -0
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/spec-critique.md +8 -0
- package/.aios-core/development/tasks/spec-gather-requirements.md +7 -0
- package/.aios-core/development/tasks/spec-research-dependencies.md +4 -0
- package/.aios-core/development/tasks/spec-write-spec.md +5 -0
- package/.aios-core/development/tasks/triage-github-issues.md +356 -0
- package/.aios-core/development/tasks/validate-agents.md +4 -0
- package/.aios-core/development/tasks/validate-next-story.md +17 -0
- package/.aios-core/development/templates/agent-handoff-tmpl.yaml +48 -0
- package/.aios-core/development/templates/code-intel-integration-pattern.md +199 -0
- package/.aios-core/development/templates/ptc-entity-validation.md +113 -0
- package/.aios-core/development/templates/ptc-qa-gate.md +100 -0
- package/.aios-core/development/templates/ptc-research-aggregation.md +94 -0
- package/.aios-core/development/templates/service-template/README.md.hbs +158 -158
- package/.aios-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
- package/.aios-core/development/templates/service-template/client.ts.hbs +403 -403
- package/.aios-core/development/templates/service-template/errors.ts.hbs +182 -182
- package/.aios-core/development/templates/service-template/index.ts.hbs +120 -120
- package/.aios-core/development/templates/service-template/package.json.hbs +87 -87
- package/.aios-core/development/templates/service-template/types.ts.hbs +145 -145
- package/.aios-core/development/templates/squad/agent-template.md +11 -0
- package/.aios-core/development/templates/squad/task-template.md +21 -0
- package/.aios-core/development/templates/squad-template/LICENSE +21 -21
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +1 -1
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1 -1
- package/.aios-core/framework-config.yaml +8 -0
- package/.aios-core/index.esm.js +1 -1
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/integrations/ai-providers/index.js +1 -1
- package/.aios-core/infrastructure/schemas/task-v3-schema.json +6 -0
- package/.aios-core/infrastructure/scripts/collect-tool-usage.js +311 -0
- package/.aios-core/infrastructure/scripts/generate-optimization-report.js +497 -0
- package/.aios-core/infrastructure/scripts/generate-settings-json.js +300 -0
- package/.aios-core/infrastructure/scripts/git-config-detector.js +65 -9
- package/.aios-core/infrastructure/scripts/ide-sync/index.js +3 -1
- package/.aios-core/infrastructure/scripts/ide-sync/transformers/github-copilot.js +184 -0
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/templates/aios-sync.yaml.template +182 -182
- package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -279
- package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
- package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
- package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -63
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
- package/.aios-core/install-manifest.yaml +613 -305
- package/.aios-core/lib/build.json +1 -0
- package/.aios-core/local-config.yaml.template +71 -71
- package/.aios-core/monitor/hooks/lib/__init__.py +1 -1
- package/.aios-core/monitor/hooks/lib/enrich.py +58 -58
- package/.aios-core/monitor/hooks/lib/send_event.py +47 -47
- package/.aios-core/monitor/hooks/notification.py +29 -29
- package/.aios-core/monitor/hooks/post_tool_use.py +45 -45
- package/.aios-core/monitor/hooks/pre_compact.py +29 -29
- package/.aios-core/monitor/hooks/pre_tool_use.py +40 -40
- package/.aios-core/monitor/hooks/stop.py +29 -29
- package/.aios-core/monitor/hooks/subagent_stop.py +29 -29
- package/.aios-core/monitor/hooks/user_prompt_submit.py +38 -38
- package/.aios-core/product/templates/adr.hbs +125 -125
- package/.aios-core/product/templates/dbdr.hbs +241 -241
- package/.aios-core/product/templates/epic.hbs +212 -212
- package/.aios-core/product/templates/ide-rules/claude-rules.md +125 -0
- package/.aios-core/product/templates/pmdr.hbs +186 -186
- package/.aios-core/product/templates/prd-v2.0.hbs +216 -216
- package/.aios-core/product/templates/prd.hbs +201 -201
- package/.aios-core/product/templates/story.hbs +263 -263
- package/.aios-core/product/templates/task.hbs +170 -170
- package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -158
- package/.aios-core/product/templates/tmpl-migration-script.sql +91 -91
- package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
- package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
- package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -135
- package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -77
- package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -152
- package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -77
- package/.aios-core/product/templates/tmpl-seed-data.sql +140 -140
- package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -16
- package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
- package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -140
- package/.aios-core/product/templates/tmpl-trigger.sql +152 -152
- package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -133
- package/.aios-core/product/templates/tmpl-view.sql +177 -177
- package/.aios-core/scripts/pm.sh +0 -0
- package/.aios-core/user-guide.md +15 -15
- package/.aios-core/utils/filters/constants.js +10 -0
- package/.aios-core/utils/filters/content-filter.js +223 -0
- package/.aios-core/utils/filters/field-filter.js +126 -0
- package/.aios-core/utils/filters/index.js +180 -0
- package/.aios-core/utils/filters/schema-filter.js +157 -0
- package/.claude/CLAUDE.md +62 -0
- package/.claude/hooks/enforce-architecture-first.py +196 -196
- package/.claude/hooks/enforce-git-push-authority.sh +33 -0
- package/.claude/hooks/mind-clone-governance.py +192 -192
- package/.claude/hooks/read-protection.py +151 -151
- package/.claude/hooks/slug-validation.py +176 -176
- package/.claude/hooks/sql-governance.py +182 -182
- package/.claude/hooks/synapse-engine.cjs +28 -5
- package/.claude/hooks/write-path-validation.py +194 -194
- package/.claude/rules/agent-authority.md +105 -0
- package/.claude/rules/agent-handoff.md +97 -0
- package/.claude/rules/agent-memory-imports.md +15 -0
- package/.claude/rules/coderabbit-integration.md +101 -0
- package/.claude/rules/ids-principles.md +119 -0
- package/.claude/rules/story-lifecycle.md +145 -0
- package/.claude/rules/tool-examples.md +64 -0
- package/.claude/rules/tool-response-filtering.md +57 -0
- package/.claude/rules/workflow-execution.md +150 -0
- package/LICENSE +33 -33
- package/bin/aios-graph.js +9 -0
- package/bin/aios-init.js +2 -2
- package/bin/aios-minimal.js +0 -0
- package/bin/aios.js +17 -221
- package/bin/utils/detect-fsmonitor.js +70 -0
- package/bin/utils/framework-guard.js +238 -0
- package/bin/utils/validate-publish.js +108 -0
- package/package.json +6 -3
- package/packages/aios-install/bin/aios-install.js +0 -0
- package/packages/aios-install/bin/edmcp.js +0 -0
- package/packages/aios-pro-cli/bin/aios-pro.js +2 -0
- package/packages/installer/src/config/templates/core-config-template.js +25 -0
- package/packages/installer/src/installer/brownfield-upgrader.js +68 -5
- package/packages/installer/src/merger/index.js +3 -0
- package/packages/installer/src/merger/strategies/index.js +6 -0
- package/packages/installer/src/merger/strategies/yaml-merger.js +181 -0
- package/packages/installer/src/updater/index.js +4 -4
- package/packages/installer/src/wizard/i18n.js +321 -3
- package/packages/installer/src/wizard/ide-config-generator.js +173 -25
- package/packages/installer/src/wizard/index.js +119 -1
- package/packages/installer/src/wizard/pro-setup.js +137 -121
- package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +271 -0
- package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +192 -0
- package/packages/installer/tests/unit/doctor/doctor-checks.test.js +610 -0
- package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +134 -0
- package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +186 -0
- package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +309 -0
- package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +230 -0
- package/packages/installer/tests/unit/merger/strategies.test.js +2 -2
- package/packages/installer/tests/unit/merger/yaml-merger.test.js +327 -0
- package/scripts/check-markdown-links.py +352 -352
- package/scripts/dashboard-parallel-dev.sh +0 -0
- package/scripts/dashboard-parallel-phase3.sh +0 -0
- package/scripts/dashboard-parallel-phase4.sh +0 -0
- package/scripts/install-monitor-hooks.sh +0 -0
- package/scripts/package-synapse.js +2 -1
- package/pro/README.md +0 -66
- package/pro/license/degradation.js +0 -220
- package/pro/license/errors.js +0 -450
- package/pro/license/feature-gate.js +0 -354
- package/pro/license/index.js +0 -181
- package/pro/license/license-api.js +0 -651
- package/pro/license/license-cache.js +0 -523
- package/pro/license/license-crypto.js +0 -303
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies shell environment is properly configured.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/local/shell-environment
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies agent configuration files are valid YAML.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/agent-config
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies .aios/ directory structure and permissions.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/aios-directory
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies that required dependencies are present and installed.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/dependencies
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies that AIOS framework configuration files are present.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/framework-config
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Checks for project configuration coherence and structure.
|
|
5
5
|
* Domain: project
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/checks/project
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies Node.js version compatibility with project requirements.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/node-version
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies that package.json exists and is valid JSON.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/package-json
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies task definition files are valid.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/task-definitions
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies workflow files have valid dependencies.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/project/workflow-dependencies
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies branch protection best practices.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/branch-protection
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies commit history quality and patterns.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/commit-history
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Checks for merge conflicts in the repository.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/conflicts
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies the project is a valid Git repository.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/git-repo
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies working directory status and uncommitted changes.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/git-status
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Checks for git repository health and configuration.
|
|
5
5
|
* Domain: repository
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/checks/repository
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Checks for large files that shouldn't be in git.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/large-files
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies package-lock.json integrity and sync with package.json.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/repository/lockfile-integrity
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies external API endpoint connectivity.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/services/api-endpoints
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies Claude Code CLI installation and configuration.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/services/claude-code
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Verifies Gemini CLI installation, authentication, and configuration.
|
|
5
5
|
* Detects available features including Preview features, Extensions, and Hooks.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/checks/services/gemini-cli
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story GEMINI-INT Story 1 - Gemini CLI Health Check & Detection
|
|
10
10
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Verifies MCP (Model Context Protocol) server integration.
|
|
5
5
|
*
|
|
6
|
-
* @module
|
|
6
|
+
* @module aios-core/health-check/checks/services/mcp-integration
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
* @story HCS-2 - Health Check System Implementation
|
|
9
9
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Core execution engine for health checks. Handles parallel execution,
|
|
5
5
|
* caching, timeout management, and result aggregation.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/engine
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Manages file backups for self-healing operations.
|
|
5
5
|
* Ensures safe rollback capability before any modifications.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/healers/backup-manager
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Manages self-healing operations for health check failures.
|
|
5
5
|
* Implements three-tier safety model for auto-fixes.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/healers
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Health Check System - Main Entry Point
|
|
2
|
+
* Health Check System - Main Entry Point (HCS-2)
|
|
3
3
|
*
|
|
4
4
|
* Provides comprehensive health checking capabilities for AIOS projects.
|
|
5
5
|
* Supports 5 domains: Project Coherence, Local Environment, Repository Health,
|
|
6
6
|
* Deployment Environment, and Service Integration.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* NOTE (INS-4.8): This is a SEPARATE system from `core/doctor/` (INS-4.1).
|
|
9
|
+
* The primary diagnostic interface is `aios doctor` (bin/aios.js → core/doctor/).
|
|
10
|
+
* The agent-facing task `*health-check` now delegates to `aios doctor --json`
|
|
11
|
+
* and no longer calls this module. This module is preserved for potential
|
|
12
|
+
* programmatic use but is NOT the primary health check mechanism.
|
|
13
|
+
*
|
|
14
|
+
* @module aios-core/health-check
|
|
9
15
|
* @version 1.0.0
|
|
10
16
|
* @story HCS-2 - Health Check System Implementation
|
|
17
|
+
* @see core/doctor/ for the primary diagnostic system (15 checks)
|
|
11
18
|
*/
|
|
12
19
|
|
|
13
20
|
const HealthCheckEngine = require('./engine');
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates formatted console output for health check results.
|
|
5
5
|
* Supports colors and various verbosity levels.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/reporters/console
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Manages report generation for health check results.
|
|
5
5
|
* Supports multiple output formats: Console, Markdown, JSON.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/reporters
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates JSON-formatted health check reports.
|
|
5
5
|
* Suitable for CI/CD integration, dashboards, and programmatic consumption.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/reporters/json
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Generates Markdown-formatted health check reports.
|
|
5
5
|
* Suitable for documentation, GitHub, and static site hosting.
|
|
6
6
|
*
|
|
7
|
-
* @module
|
|
7
|
+
* @module aios-core/health-check/reporters/markdown
|
|
8
8
|
* @version 1.0.0
|
|
9
9
|
* @story HCS-2 - Health Check System Implementation
|
|
10
10
|
*/
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Layer Classifier — Entity Registry Layer Classification (L1-L4)
|
|
3
|
+
*
|
|
4
|
+
* Pure function module that classifies entity paths into boundary layers.
|
|
5
|
+
* Used by: populate-entity-registry.js, registry-updater.js
|
|
6
|
+
*
|
|
7
|
+
* Layer Model:
|
|
8
|
+
* L1 (Framework Core) — .aios-core/core/, bin/, constitution.md
|
|
9
|
+
* L2 (Framework Templates) — .aios-core/development/, infrastructure/, product/
|
|
10
|
+
* L3 (Project Config) — .aios-core/data/, MEMORY.md, .claude/, *-config.yaml
|
|
11
|
+
* L4 (Project Runtime) — docs/, tests/, packages/, everything else (fallback)
|
|
12
|
+
*
|
|
13
|
+
* Rule ordering: most specific first. First match wins.
|
|
14
|
+
*
|
|
15
|
+
* @module layer-classifier
|
|
16
|
+
* @see Story BM-5
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const LAYER_RULES = [
|
|
20
|
+
// --- L1: Framework Core ---
|
|
21
|
+
{ layer: 'L1', test: (p) => p.startsWith('.aios-core/core/') },
|
|
22
|
+
{ layer: 'L1', test: (p) => p.startsWith('bin/') },
|
|
23
|
+
{ layer: 'L1', test: (p) => p === '.aios-core/constitution.md' },
|
|
24
|
+
|
|
25
|
+
// --- L3: Project Config (before L2 to catch MEMORY.md inside agents/) ---
|
|
26
|
+
{ layer: 'L3', test: (p) => p.startsWith('.aios-core/data/') },
|
|
27
|
+
{ layer: 'L3', test: (p) => p.endsWith('/MEMORY.md') || p === 'MEMORY.md' },
|
|
28
|
+
{ layer: 'L3', test: (p) => p.startsWith('.claude/') },
|
|
29
|
+
{ layer: 'L3', test: (p) => p === 'core-config.yaml' || p === 'project-config.yaml' },
|
|
30
|
+
{ layer: 'L3', test: (p) => p.endsWith('-config.yaml') && !p.includes('/') },
|
|
31
|
+
|
|
32
|
+
// --- L2: Framework Templates ---
|
|
33
|
+
{ layer: 'L2', test: (p) => p.startsWith('.aios-core/development/') },
|
|
34
|
+
{ layer: 'L2', test: (p) => p.startsWith('.aios-core/infrastructure/') },
|
|
35
|
+
{ layer: 'L2', test: (p) => p.startsWith('.aios-core/product/') },
|
|
36
|
+
|
|
37
|
+
// --- L4: Project Runtime (fallback — safest default for unknown files) ---
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Classify an entity path into a boundary layer (L1-L4).
|
|
42
|
+
*
|
|
43
|
+
* @param {string} entityPath — Relative path from repo root (forward slashes)
|
|
44
|
+
* @returns {'L1' | 'L2' | 'L3' | 'L4'} The boundary layer
|
|
45
|
+
*/
|
|
46
|
+
function classifyLayer(entityPath) {
|
|
47
|
+
if (typeof entityPath !== "string") return "L4";
|
|
48
|
+
|
|
49
|
+
// Normalize: forward slashes, no leading ./ or /
|
|
50
|
+
const normalized = entityPath
|
|
51
|
+
.replace(/\\/g, '/')
|
|
52
|
+
.replace(/^\.\//,'')
|
|
53
|
+
.replace(/^\//,'');
|
|
54
|
+
|
|
55
|
+
for (const rule of LAYER_RULES) {
|
|
56
|
+
if (rule.test(normalized)) {
|
|
57
|
+
return rule.layer;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Fallback: L4 (Project Runtime)
|
|
62
|
+
return 'L4';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
module.exports = { classifyLayer, LAYER_RULES };
|
|
@@ -18,6 +18,8 @@ const {
|
|
|
18
18
|
REPO_ROOT,
|
|
19
19
|
REGISTRY_PATH,
|
|
20
20
|
} = require(path.resolve(__dirname, '../../development/scripts/populate-entity-registry.js'));
|
|
21
|
+
const { enrichRegistryEntry } = require(path.resolve(__dirname, '../code-intel/helpers/creation-helper'));
|
|
22
|
+
const { classifyLayer } = require(path.resolve(__dirname, 'layer-classifier'));
|
|
21
23
|
|
|
22
24
|
const LOCK_FILE = path.resolve(REPO_ROOT, '.aios-core/data/.entity-registry.lock');
|
|
23
25
|
const BACKUP_DIR = path.resolve(REPO_ROOT, '.aios-core/data/registry-backups');
|
|
@@ -278,6 +280,10 @@ class RegistryUpdater {
|
|
|
278
280
|
|
|
279
281
|
if (updated > 0) {
|
|
280
282
|
this._resolveAllUsedBy(registry);
|
|
283
|
+
|
|
284
|
+
// NOG-8: Apply code intelligence enrichment AFTER resolveAllUsedBy
|
|
285
|
+
// so that code-intel usedBy data is merged on top of static graph
|
|
286
|
+
await this._applyCodeIntelEnrichments(registry);
|
|
281
287
|
registry.metadata.lastUpdated = new Date().toISOString();
|
|
282
288
|
registry.metadata.entityCount = this._countEntities(registry);
|
|
283
289
|
this._writeRegistry(registry);
|
|
@@ -327,6 +333,7 @@ class RegistryUpdater {
|
|
|
327
333
|
|
|
328
334
|
registry.entities[category][entityId] = {
|
|
329
335
|
path: relPath,
|
|
336
|
+
layer: classifyLayer(relPath),
|
|
330
337
|
type: config.type,
|
|
331
338
|
purpose,
|
|
332
339
|
keywords,
|
|
@@ -340,6 +347,11 @@ class RegistryUpdater {
|
|
|
340
347
|
checksum,
|
|
341
348
|
lastVerified: new Date().toISOString(),
|
|
342
349
|
};
|
|
350
|
+
|
|
351
|
+
// NOG-8: Enrich with code intelligence data (advisory, never blocks registration)
|
|
352
|
+
this._pendingEnrichments = this._pendingEnrichments || [];
|
|
353
|
+
this._pendingEnrichments.push({ entityId, category, relPath });
|
|
354
|
+
|
|
343
355
|
return true;
|
|
344
356
|
}
|
|
345
357
|
|
|
@@ -426,6 +438,43 @@ class RegistryUpdater {
|
|
|
426
438
|
return found;
|
|
427
439
|
}
|
|
428
440
|
|
|
441
|
+
// ─── Internal: Code Intelligence Enrichment (NOG-8) ────────────
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Apply code intelligence enrichment to newly created entities.
|
|
445
|
+
* Advisory only — never blocks registration. Falls back gracefully.
|
|
446
|
+
* @param {Object} registry - Registry data
|
|
447
|
+
* @private
|
|
448
|
+
*/
|
|
449
|
+
async _applyCodeIntelEnrichments(registry) {
|
|
450
|
+
const pending = this._pendingEnrichments || [];
|
|
451
|
+
this._pendingEnrichments = [];
|
|
452
|
+
|
|
453
|
+
for (const { entityId, category, relPath } of pending) {
|
|
454
|
+
try {
|
|
455
|
+
const entity = registry.entities[category]?.[entityId];
|
|
456
|
+
if (!entity) continue;
|
|
457
|
+
|
|
458
|
+
const enrichment = await enrichRegistryEntry(entityId, relPath);
|
|
459
|
+
if (!enrichment) continue;
|
|
460
|
+
|
|
461
|
+
// Pre-populate usedBy if code intel found references
|
|
462
|
+
if (enrichment.usedBy && enrichment.usedBy.length > 0) {
|
|
463
|
+
entity.usedBy = [...new Set([...(entity.usedBy || []), ...enrichment.usedBy])];
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// Pre-populate dependencies if code intel found them
|
|
467
|
+
if (enrichment.dependencies && enrichment.dependencies.nodes && enrichment.dependencies.nodes.length > 0) {
|
|
468
|
+
const existingDeps = Array.isArray(entity.dependencies) ? entity.dependencies : [];
|
|
469
|
+
const newDeps = enrichment.dependencies.nodes.filter((n) => typeof n === 'string');
|
|
470
|
+
entity.dependencies = [...new Set([...existingDeps, ...newDeps])];
|
|
471
|
+
}
|
|
472
|
+
} catch {
|
|
473
|
+
// NOG-8 AC5: Fallback — enrichment failure never blocks registration
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
|
|
429
478
|
// ─── Internal: Registry I/O ──────────────────────────────────────
|
|
430
479
|
|
|
431
480
|
_loadRegistry() {
|
package/.aios-core/core/index.js
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
const fs = require('fs');
|
|
17
17
|
const path = require('path');
|
|
18
|
+
const { atomicWriteSync } = require('../synapse/utils/atomic-write');
|
|
18
19
|
|
|
19
20
|
const SESSION_STATE_PATH = path.join(process.cwd(), '.aios', 'session-state.json');
|
|
20
21
|
const SESSION_TTL = 60 * 60 * 1000; // 1 hour
|
|
@@ -173,12 +174,6 @@ class ContextDetector {
|
|
|
173
174
|
*/
|
|
174
175
|
updateSessionState(state, sessionFilePath = SESSION_STATE_PATH) {
|
|
175
176
|
try {
|
|
176
|
-
// Ensure directory exists
|
|
177
|
-
const dir = path.dirname(sessionFilePath);
|
|
178
|
-
if (!fs.existsSync(dir)) {
|
|
179
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
180
|
-
}
|
|
181
|
-
|
|
182
177
|
const sessionData = {
|
|
183
178
|
sessionId: state.sessionId || this._generateSessionId(),
|
|
184
179
|
startTime: state.startTime || Date.now(),
|
|
@@ -191,7 +186,7 @@ class ContextDetector {
|
|
|
191
186
|
currentStory: state.currentStory || null,
|
|
192
187
|
};
|
|
193
188
|
|
|
194
|
-
|
|
189
|
+
atomicWriteSync(sessionFilePath, JSON.stringify(sessionData, null, 2));
|
|
195
190
|
} catch (error) {
|
|
196
191
|
console.warn('[ContextDetector] Failed to update session state:', error.message);
|
|
197
192
|
}
|
|
@@ -42,6 +42,13 @@ const TOKEN_BUDGETS = {
|
|
|
42
42
|
CRITICAL: 2500,
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* Safety multiplier for XML-heavy output (SYNAPSE rules).
|
|
47
|
+
* chars/4 underestimates by 15-25% on XML; 1.2x corrects this.
|
|
48
|
+
* @see NOG-9 research C6-token-budget.md
|
|
49
|
+
*/
|
|
50
|
+
const XML_SAFETY_MULTIPLIER = 1.2;
|
|
51
|
+
|
|
45
52
|
/**
|
|
46
53
|
* Default configuration values.
|
|
47
54
|
*/
|
|
@@ -114,7 +121,7 @@ function estimateContextPercent(promptCount, options = {}) {
|
|
|
114
121
|
return 0;
|
|
115
122
|
}
|
|
116
123
|
|
|
117
|
-
const usedTokens = promptCount * avgTokensPerPrompt;
|
|
124
|
+
const usedTokens = promptCount * avgTokensPerPrompt * XML_SAFETY_MULTIPLIER;
|
|
118
125
|
const percent = 100 - (usedTokens / maxContext * 100);
|
|
119
126
|
return Math.max(0, Math.min(100, percent));
|
|
120
127
|
}
|
|
@@ -187,4 +194,5 @@ module.exports = {
|
|
|
187
194
|
BRACKETS,
|
|
188
195
|
TOKEN_BUDGETS,
|
|
189
196
|
DEFAULTS,
|
|
197
|
+
XML_SAFETY_MULTIPLIER,
|
|
190
198
|
};
|