aios-core 4.2.14 → 4.3.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/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/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 +57 -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 +107 -0
- package/.aios-core/core/doctor/checks/ide-sync.js +68 -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/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 +10424 -2127
- 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/development/agents/analyst/MEMORY.md +33 -0
- package/.aios-core/development/agents/architect/MEMORY.md +39 -0
- package/.aios-core/development/agents/data-engineer/MEMORY.md +32 -0
- package/.aios-core/development/agents/dev/MEMORY.md +46 -0
- package/.aios-core/development/agents/dev.md +1 -1
- package/.aios-core/development/agents/devops/MEMORY.md +39 -0
- package/.aios-core/development/agents/devops.md +22 -0
- package/.aios-core/development/agents/pm/MEMORY.md +38 -0
- package/.aios-core/development/agents/po/MEMORY.md +45 -0
- package/.aios-core/development/agents/qa/MEMORY.md +42 -0
- package/.aios-core/development/agents/qa.md +1 -1
- package/.aios-core/development/agents/sm/MEMORY.md +31 -0
- package/.aios-core/development/agents/ux/MEMORY.md +31 -0
- 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/brownfield-create-epic.md +41 -0
- package/.aios-core/development/tasks/create-doc.md +44 -0
- package/.aios-core/development/tasks/create-next-story.md +10 -0
- package/.aios-core/development/tasks/dev-develop-story.md +1 -1
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +49 -0
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +63 -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/pr-automation.md +5 -5
- package/.aios-core/development/tasks/qa-gate.md +48 -0
- package/.aios-core/development/tasks/qa-review-story.md +24 -1
- 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-research-dependencies.md +4 -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 +10 -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 +541 -249
- 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 +77 -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/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 +152 -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 +261 -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 +551 -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
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// Tool Search Validation Script
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// Validates that tool-registry.yaml keywords align with expected tool search
|
|
6
|
+
// queries. This is a static validation — actual Tool Search latency and accuracy
|
|
7
|
+
// are measured during interactive Claude Code sessions.
|
|
8
|
+
//
|
|
9
|
+
// Story: TOK-2 (AC: 5, 6, 7)
|
|
10
|
+
// =============================================================================
|
|
11
|
+
|
|
12
|
+
const fs = require('fs');
|
|
13
|
+
const path = require('path');
|
|
14
|
+
|
|
15
|
+
const REGISTRY_PATH = path.resolve(__dirname, 'tool-registry.yaml');
|
|
16
|
+
|
|
17
|
+
// Test queries that should find specific tools (AC 7: 5+ test queries)
|
|
18
|
+
const TEST_QUERIES = [
|
|
19
|
+
{ query: 'search the web for information', expectedTool: 'exa', category: 'web-search' },
|
|
20
|
+
{ query: 'browser screenshot automation', expectedTool: 'playwright', category: 'browser-automation' },
|
|
21
|
+
{ query: 'scrape social media data', expectedTool: 'apify', category: 'web-scraping' },
|
|
22
|
+
{ query: 'analyze code dependencies', expectedTool: 'code-graph', category: 'code-intelligence' },
|
|
23
|
+
{ query: 'code analysis intelligence', expectedTool: 'nogic', category: 'code-intelligence' },
|
|
24
|
+
{ query: 'look up library documentation', expectedTool: 'context7', category: 'documentation' },
|
|
25
|
+
{ query: 'database query optimization', expectedTool: 'supabase', category: 'database' }
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
function parseKeywords(content) {
|
|
29
|
+
// Extract tool name → keywords mapping from YAML
|
|
30
|
+
const tools = {};
|
|
31
|
+
let currentTool = null;
|
|
32
|
+
let inKeywords = false;
|
|
33
|
+
|
|
34
|
+
for (const line of content.split('\n')) {
|
|
35
|
+
// Tool name (indented 2 spaces)
|
|
36
|
+
const toolMatch = line.match(/^ {2}([a-zA-Z0-9_-]+):$/);
|
|
37
|
+
if (toolMatch) {
|
|
38
|
+
currentTool = toolMatch[1];
|
|
39
|
+
tools[currentTool] = { keywords: [], category: null, tier: null, essential: null };
|
|
40
|
+
inKeywords = false;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (!currentTool) continue;
|
|
45
|
+
|
|
46
|
+
// Category
|
|
47
|
+
const catMatch = line.match(/^\s+category:\s*(.+)/);
|
|
48
|
+
if (catMatch) {
|
|
49
|
+
tools[currentTool].category = catMatch[1].trim();
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Tier
|
|
54
|
+
const tierMatch = line.match(/^\s+tier:\s*(\d)/);
|
|
55
|
+
if (tierMatch) {
|
|
56
|
+
tools[currentTool].tier = parseInt(tierMatch[1]);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Essential
|
|
61
|
+
const essentialMatch = line.match(/^\s+essential:\s*(true|false)/);
|
|
62
|
+
if (essentialMatch) {
|
|
63
|
+
tools[currentTool].essential = essentialMatch[1] === 'true';
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Keywords section
|
|
68
|
+
if (line.match(/^\s+keywords:/)) {
|
|
69
|
+
inKeywords = true;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Keyword item
|
|
74
|
+
if (inKeywords) {
|
|
75
|
+
const kwMatch = line.match(/^\s+- (.+)/);
|
|
76
|
+
if (kwMatch) {
|
|
77
|
+
tools[currentTool].keywords.push(kwMatch[1].trim());
|
|
78
|
+
} else if (!line.match(/^\s*$/)) {
|
|
79
|
+
inKeywords = false;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return tools;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function matchQuery(query, tool) {
|
|
88
|
+
const queryWords = query.toLowerCase().split(/\s+/);
|
|
89
|
+
const keywords = tool.keywords.map(k => k.toLowerCase());
|
|
90
|
+
const category = (tool.category || '').toLowerCase();
|
|
91
|
+
|
|
92
|
+
let score = 0;
|
|
93
|
+
for (const word of queryWords) {
|
|
94
|
+
for (const keyword of keywords) {
|
|
95
|
+
if (keyword.includes(word) || word.includes(keyword)) {
|
|
96
|
+
score++;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (category.includes(word)) {
|
|
100
|
+
score++;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return score;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function validate() {
|
|
108
|
+
const content = fs.readFileSync(REGISTRY_PATH, 'utf8');
|
|
109
|
+
const tools = parseKeywords(content);
|
|
110
|
+
|
|
111
|
+
console.log('=== Tool Search Validation ===\n');
|
|
112
|
+
|
|
113
|
+
let passed = 0;
|
|
114
|
+
let failed = 0;
|
|
115
|
+
|
|
116
|
+
for (const test of TEST_QUERIES) {
|
|
117
|
+
const scores = {};
|
|
118
|
+
for (const [name, tool] of Object.entries(tools)) {
|
|
119
|
+
if (tool.keywords.length > 0 || tool.category) {
|
|
120
|
+
scores[name] = matchQuery(test.query, tool);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Sort by score descending
|
|
125
|
+
const ranked = Object.entries(scores)
|
|
126
|
+
.filter(([, score]) => score > 0)
|
|
127
|
+
.sort((a, b) => b[1] - a[1]);
|
|
128
|
+
|
|
129
|
+
const top3 = ranked.slice(0, 3).map(([name]) => name);
|
|
130
|
+
const found = top3.includes(test.expectedTool);
|
|
131
|
+
|
|
132
|
+
if (found) {
|
|
133
|
+
console.log(`✅ "${test.query}" → found '${test.expectedTool}' in top-3 [${top3.join(', ')}]`);
|
|
134
|
+
passed++;
|
|
135
|
+
} else {
|
|
136
|
+
console.log(`❌ "${test.query}" → expected '${test.expectedTool}' but got [${top3.join(', ')}]`);
|
|
137
|
+
failed++;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
console.log(`\n--- Results: ${passed}/${TEST_QUERIES.length} passed, ${failed} failed ---`);
|
|
142
|
+
|
|
143
|
+
// Essential server validation
|
|
144
|
+
console.log('\n=== Essential Server Validation ===\n');
|
|
145
|
+
const tier3Tools = Object.entries(tools).filter(([, t]) => t.tier === 3);
|
|
146
|
+
const essential = tier3Tools.filter(([, t]) => t.essential === true);
|
|
147
|
+
const nonEssential = tier3Tools.filter(([, t]) => t.essential === false);
|
|
148
|
+
|
|
149
|
+
console.log(`Tier 3 tools: ${tier3Tools.length}`);
|
|
150
|
+
console.log(` Essential (never disable): ${essential.map(([n]) => n).join(', ')}`);
|
|
151
|
+
console.log(` Non-essential (can disable): ${nonEssential.map(([n]) => n).join(', ')}`);
|
|
152
|
+
|
|
153
|
+
if (essential.length === 0) {
|
|
154
|
+
console.log('⚠️ WARNING: No essential Tier 3 servers defined');
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// 2-search-per-turn validation (AC 6)
|
|
158
|
+
console.log('\n=== Search Limit Guidance ===\n');
|
|
159
|
+
console.log('AC 6: Maximum 2 tool searches per turn');
|
|
160
|
+
console.log('Implementation: CLAUDE.md guidance section (not programmatic hard limit)');
|
|
161
|
+
console.log('Rationale: Claude Code manages Tool Search internally; guidance limits excessive use');
|
|
162
|
+
|
|
163
|
+
const allPassed = failed === 0;
|
|
164
|
+
console.log(`\n${allPassed ? '✅' : '❌'} Overall: ${allPassed ? 'PASS' : 'FAIL'}`);
|
|
165
|
+
|
|
166
|
+
return allPassed;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
if (require.main === module) {
|
|
170
|
+
const result = validate();
|
|
171
|
+
process.exit(result ? 0 : 1);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
module.exports = { validate };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Analyst Agent Memory (Atlas)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Key Patterns
|
|
7
|
+
- CommonJS (`require`/`module.exports`), NOT ES Modules
|
|
8
|
+
- ES2022, Node.js 18+, 2-space indent, single quotes
|
|
9
|
+
- Absolute imports always (never relative `../`)
|
|
10
|
+
- kebab-case for files, PascalCase for components
|
|
11
|
+
|
|
12
|
+
### Project Structure
|
|
13
|
+
- `.aios-core/core/` — Core modules (synapse, session, code-intel, orchestration)
|
|
14
|
+
- `.aios-core/development/` — Agents, tasks, templates, scripts
|
|
15
|
+
- `docs/research/` — Research outputs (YYYY-MM-DD-slug format)
|
|
16
|
+
- `docs/stories/` — Story files (active development)
|
|
17
|
+
|
|
18
|
+
### Git Rules
|
|
19
|
+
- NEVER push — delegate to @devops
|
|
20
|
+
- Conventional commits: `feat:`, `fix:`, `docs:`, `test:`, `chore:`, `refactor:`
|
|
21
|
+
|
|
22
|
+
### Research Conventions
|
|
23
|
+
- Output dir: `docs/research/{YYYY-MM-DD}-{slug}/`
|
|
24
|
+
- Use tech-search skill for deep research
|
|
25
|
+
- Always include sources and methodology
|
|
26
|
+
|
|
27
|
+
## Promotion Candidates
|
|
28
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
29
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
30
|
+
|
|
31
|
+
## Archived
|
|
32
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
33
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Architect Agent Memory (Aria)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Architecture Decisions
|
|
7
|
+
- CLI First > Observability > UI (Constitution Article I)
|
|
8
|
+
- Task-First: Tasks define WHAT, executors are interchangeable
|
|
9
|
+
- Provider-agnostic code-intel layer (Code Graph MCP primary)
|
|
10
|
+
- SYNAPSE 8-layer context engine (L0-L2 active, L3-L7 disabled per NOG-18)
|
|
11
|
+
|
|
12
|
+
### Key Architectural Patterns
|
|
13
|
+
- Tiered loading in UAP: Critical (80ms) → High (120ms) → Best-effort (180ms)
|
|
14
|
+
- Circuit breaker for external providers (code-intel, MCP)
|
|
15
|
+
- Atomic writes for file persistence (`atomicWriteSync`)
|
|
16
|
+
- ideSync for cross-IDE agent distribution
|
|
17
|
+
|
|
18
|
+
### Technology Stack
|
|
19
|
+
- Node.js 18+, CommonJS, ES2022
|
|
20
|
+
- Jest 30.2.0, ESLint, Prettier
|
|
21
|
+
- Supabase (database), Vercel (hosting)
|
|
22
|
+
|
|
23
|
+
### Delegation Rules
|
|
24
|
+
- Database schema design → @data-engineer
|
|
25
|
+
- Git push/PR → @devops
|
|
26
|
+
- Implementation → @dev
|
|
27
|
+
|
|
28
|
+
### Project Structure
|
|
29
|
+
- `.aios-core/core/` — Engine modules
|
|
30
|
+
- `docs/architecture/` — Architecture docs
|
|
31
|
+
- `docs/prd/` — Sharded PRDs
|
|
32
|
+
|
|
33
|
+
## Promotion Candidates
|
|
34
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
35
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
36
|
+
|
|
37
|
+
## Archived
|
|
38
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
39
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Data Engineer Agent Memory (Dara)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Key Patterns
|
|
7
|
+
- CommonJS (`require`/`module.exports`), NOT ES Modules
|
|
8
|
+
- ES2022, Node.js 18+, 2-space indent, single quotes
|
|
9
|
+
- Absolute imports always (never relative `../`)
|
|
10
|
+
- kebab-case for files, PascalCase for components
|
|
11
|
+
|
|
12
|
+
### Project Structure
|
|
13
|
+
- `.aios-core/core/` — Core modules
|
|
14
|
+
- `packages/db/` — Database packages (if applicable)
|
|
15
|
+
- `tests/` — Test suites (mirrors source structure)
|
|
16
|
+
|
|
17
|
+
### Git Rules
|
|
18
|
+
- NEVER push — delegate to @devops
|
|
19
|
+
- Conventional commits: `feat:`, `fix:`, `docs:`, `test:`
|
|
20
|
+
|
|
21
|
+
### Database Conventions
|
|
22
|
+
- Schema design follows architect decisions
|
|
23
|
+
- RLS policies for row-level security
|
|
24
|
+
- Migration scripts with rollback procedures
|
|
25
|
+
|
|
26
|
+
## Promotion Candidates
|
|
27
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
28
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
29
|
+
|
|
30
|
+
## Archived
|
|
31
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
32
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Dev Agent Memory (Dex)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Key Patterns
|
|
7
|
+
- CommonJS (`require`/`module.exports`), NOT ES Modules
|
|
8
|
+
- ES2022, Node.js 18+, 2-space indent, single quotes
|
|
9
|
+
- Absolute imports always (never relative `../`)
|
|
10
|
+
- kebab-case for files, PascalCase for components
|
|
11
|
+
- Jest 30.2.0 for testing, `npm test` to run
|
|
12
|
+
|
|
13
|
+
### Project Structure
|
|
14
|
+
- `.aios-core/core/` — Core modules (synapse, session, code-intel, orchestration)
|
|
15
|
+
- `.aios-core/development/` — Agents, tasks, templates, scripts
|
|
16
|
+
- `.aios-core/infrastructure/` — CI/CD, git detection, project-status
|
|
17
|
+
- `tests/` — Test suites (mirrors source structure)
|
|
18
|
+
- `docs/stories/` — Story files (active development)
|
|
19
|
+
|
|
20
|
+
### Git Rules
|
|
21
|
+
- NEVER push — delegate to @devops
|
|
22
|
+
- Conventional commits: `feat:`, `fix:`, `docs:`, `test:`, `chore:`, `refactor:`
|
|
23
|
+
- Reference story: `feat: implement feature [Story NOG-18]`
|
|
24
|
+
|
|
25
|
+
### Common Gotchas
|
|
26
|
+
- Windows paths: use forward slashes in code, bash shell not cmd
|
|
27
|
+
- `fs.existsSync` for sync checks, `fs.promises` for async
|
|
28
|
+
- atomicWriteSync from `.aios-core/core/synapse/utils/atomic-write` for safe file writes
|
|
29
|
+
- CodeRabbit runs in WSL, not Windows directly
|
|
30
|
+
|
|
31
|
+
### Story Workflow
|
|
32
|
+
- Read task → Implement → Write tests → Validate → Mark checkbox [x]
|
|
33
|
+
- ONLY update: checkboxes, Debug Log, Completion Notes, Change Log, File List
|
|
34
|
+
- NEVER modify: Status, Story, AC, Dev Notes, Testing sections
|
|
35
|
+
|
|
36
|
+
## Promotion Candidates
|
|
37
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
38
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
39
|
+
- **NEVER push — delegate to @devops** | Source: dev, analyst, sm, data-engineer, ux, qa (6 agents) | Detected: 2026-02-22 | Status: Already elevated to `.claude/rules/agent-authority.md`
|
|
40
|
+
- **CommonJS module system (require/module.exports)** | Source: dev, analyst, sm, data-engineer, ux, architect (6 agents) | Detected: 2026-02-22 | Status: Already in CLAUDE.md (Padroes de Codigo)
|
|
41
|
+
- **Conventional commits format** | Source: dev, devops, analyst, sm, data-engineer, ux (6 agents) | Detected: 2026-02-22 | Status: Already in CLAUDE.md (Convencoes Git)
|
|
42
|
+
- **kebab-case for files** | Source: dev, analyst, sm, data-engineer, ux (5 agents) | Detected: 2026-02-22 | Status: Already in CLAUDE.md (Padroes de Codigo)
|
|
43
|
+
|
|
44
|
+
## Archived
|
|
45
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
46
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -319,7 +319,7 @@ dependencies:
|
|
|
319
319
|
max_iterations = 2
|
|
320
320
|
|
|
321
321
|
WHILE iteration < max_iterations:
|
|
322
|
-
1. Run: wsl bash -c 'cd /mnt/c
|
|
322
|
+
1. Run: wsl bash -c 'cd /mnt/c/.../aios-core && ~/.local/bin/coderabbit --prompt-only -t uncommitted'
|
|
323
323
|
2. Parse output for CRITICAL issues
|
|
324
324
|
|
|
325
325
|
IF no CRITICAL issues:
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# DevOps Agent Memory (Gage)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Exclusive Authority
|
|
7
|
+
- ONLY agent authorized for `git push`, `gh pr create`, `gh pr merge`
|
|
8
|
+
- ONLY agent for MCP infrastructure management
|
|
9
|
+
- Pre-push quality gates are MANDATORY
|
|
10
|
+
|
|
11
|
+
### Quality Gates (Pre-Push)
|
|
12
|
+
1. `npm run lint` — ESLint must PASS
|
|
13
|
+
2. `npm test` — Jest must PASS
|
|
14
|
+
3. CodeRabbit review — 0 CRITICAL issues
|
|
15
|
+
4. Story status = "Done" or "Ready for Review"
|
|
16
|
+
5. No uncommitted changes, no merge conflicts
|
|
17
|
+
|
|
18
|
+
### Git Conventions
|
|
19
|
+
- Conventional Commits: `feat:`, `fix:`, `docs:`, `test:`, `chore:`
|
|
20
|
+
- Branch patterns: `feat/*`, `fix/*`, `docs/*`
|
|
21
|
+
- Semantic versioning: MAJOR.MINOR.PATCH
|
|
22
|
+
|
|
23
|
+
### MCP Infrastructure
|
|
24
|
+
- Docker MCP Gateway on port 8080
|
|
25
|
+
- Servers: context7, desktop-commander, playwright, exa
|
|
26
|
+
- Config: `~/.docker/mcp/catalogs/docker-mcp.yaml`
|
|
27
|
+
- Known bug: Docker MCP secrets don't interpolate (use hardcoded values)
|
|
28
|
+
|
|
29
|
+
### Repository Detection
|
|
30
|
+
- Uses `repository-detector.js` for dynamic context
|
|
31
|
+
- Framework-dev vs project-dev mode detection
|
|
32
|
+
|
|
33
|
+
## Promotion Candidates
|
|
34
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
35
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
36
|
+
|
|
37
|
+
## Archived
|
|
38
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
39
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -156,6 +156,13 @@ commands:
|
|
|
156
156
|
- name: cleanup
|
|
157
157
|
visibility: [full, quick]
|
|
158
158
|
description: 'Identify and remove stale branches/files'
|
|
159
|
+
- name: triage-issues
|
|
160
|
+
visibility: [full, quick, key]
|
|
161
|
+
description: 'Analyze open GitHub issues, classify, prioritize, recommend next'
|
|
162
|
+
- name: resolve-issue
|
|
163
|
+
visibility: [full, quick, key]
|
|
164
|
+
args: '{issue_number}'
|
|
165
|
+
description: 'Investigate and resolve a GitHub issue end-to-end'
|
|
159
166
|
- name: init-project-status
|
|
160
167
|
visibility: [full]
|
|
161
168
|
description: 'Initialize dynamic project status tracking (Story 6.1.2.4)'
|
|
@@ -180,6 +187,9 @@ commands:
|
|
|
180
187
|
- name: setup-mcp-docker
|
|
181
188
|
visibility: [full]
|
|
182
189
|
description: 'Initial Docker MCP Toolkit configuration [Story 5.11]'
|
|
190
|
+
- name: health-check
|
|
191
|
+
visibility: [full, quick, key]
|
|
192
|
+
description: 'Run unified health diagnostic (aios doctor --json + governance interpretation)'
|
|
183
193
|
- name: check-docs
|
|
184
194
|
visibility: [full, quick]
|
|
185
195
|
description: 'Verify documentation links integrity (broken, incorrect markings)'
|
|
@@ -239,8 +249,13 @@ dependencies:
|
|
|
239
249
|
- list-mcps.md
|
|
240
250
|
- remove-mcp.md
|
|
241
251
|
- setup-mcp-docker.md
|
|
252
|
+
# Health Diagnostic (INS-4.8)
|
|
253
|
+
- health-check.yaml
|
|
242
254
|
# Documentation Quality
|
|
243
255
|
- check-docs-links.md
|
|
256
|
+
# GitHub Issues Management
|
|
257
|
+
- triage-github-issues.md
|
|
258
|
+
- resolve-github-issue.md
|
|
244
259
|
# Worktree Management (Story 1.3-1.4)
|
|
245
260
|
- create-worktree.md
|
|
246
261
|
- list-worktrees.md
|
|
@@ -426,10 +441,16 @@ autoClaude:
|
|
|
426
441
|
- `*detect-repo` - Detect repository context
|
|
427
442
|
- `*cleanup` - Remove stale branches
|
|
428
443
|
|
|
444
|
+
**GitHub Issues:**
|
|
445
|
+
|
|
446
|
+
- `*triage-issues` - Analyze and prioritize open issues
|
|
447
|
+
- `*resolve-issue {number}` - Investigate and resolve an issue end-to-end
|
|
448
|
+
|
|
429
449
|
**Quality & Push:**
|
|
430
450
|
|
|
431
451
|
- `*pre-push` - Run all quality gates
|
|
432
452
|
- `*push` - Push changes after quality gates
|
|
453
|
+
- `*health-check` - Run health diagnostic (15 checks + governance)
|
|
433
454
|
|
|
434
455
|
**GitHub Operations:**
|
|
435
456
|
|
|
@@ -467,6 +488,7 @@ Type `*help` to see all commands.
|
|
|
467
488
|
- CI/CD configuration (GitHub Actions)
|
|
468
489
|
- Release management and versioning
|
|
469
490
|
- Repository cleanup
|
|
491
|
+
- Environment health diagnostics (`*health-check`)
|
|
470
492
|
|
|
471
493
|
### Prerequisites
|
|
472
494
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# PM Agent Memory (Morgan)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Responsibilities
|
|
7
|
+
- PRD creation (greenfield + brownfield)
|
|
8
|
+
- Epic creation and management
|
|
9
|
+
- Product strategy and roadmap
|
|
10
|
+
- Requirements gathering (spec pipeline)
|
|
11
|
+
|
|
12
|
+
### Epic Orchestration
|
|
13
|
+
- `*execute-epic` with `EPIC-{ID}-EXECUTION.yaml`
|
|
14
|
+
- State tracked in `.aios/epic-{epicId}-state.yaml`
|
|
15
|
+
- Wave-based parallel execution
|
|
16
|
+
|
|
17
|
+
### Delegation
|
|
18
|
+
- Story creation → @sm (`*draft`)
|
|
19
|
+
- Course correction → @aios-master (`*correct-course`)
|
|
20
|
+
- Deep research → @analyst (`*research`)
|
|
21
|
+
|
|
22
|
+
### Bob Mode (user_profile=bob)
|
|
23
|
+
- PM acts as orchestrator when `user_profile: bob`
|
|
24
|
+
- Spawns other agents via TerminalSpawner
|
|
25
|
+
- Session state persistence in `.aios/bob-session/`
|
|
26
|
+
|
|
27
|
+
### Key Locations
|
|
28
|
+
- PRD: `docs/prd/` (sharded)
|
|
29
|
+
- Epics: `docs/stories/epics/`
|
|
30
|
+
- Templates: `.aios-core/development/templates/`
|
|
31
|
+
|
|
32
|
+
## Promotion Candidates
|
|
33
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
34
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
35
|
+
|
|
36
|
+
## Archived
|
|
37
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
38
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# PO Agent Memory (Pax)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Responsibilities
|
|
7
|
+
- Story validation (`*validate-story-draft`) — 10-point checklist
|
|
8
|
+
- Backlog management and prioritization
|
|
9
|
+
- Story lifecycle: Draft → Ready transition (MUST update status)
|
|
10
|
+
- Epic context tracking
|
|
11
|
+
|
|
12
|
+
### Validation Checklist (10 Points)
|
|
13
|
+
1. Clear title
|
|
14
|
+
2. Complete description
|
|
15
|
+
3. Testable AC (Given/When/Then)
|
|
16
|
+
4. Defined scope (IN/OUT)
|
|
17
|
+
5. Dependencies mapped
|
|
18
|
+
6. Complexity estimate
|
|
19
|
+
7. Business value
|
|
20
|
+
8. Risks documented
|
|
21
|
+
9. Criteria of Done
|
|
22
|
+
10. PRD/Epic alignment
|
|
23
|
+
|
|
24
|
+
### Story File Permissions
|
|
25
|
+
- CAN edit: QA Results section (when reviewing)
|
|
26
|
+
- MUST update: Status field (Draft → Ready on GO)
|
|
27
|
+
- CANNOT modify: AC, Scope, Title, Dev Notes, Testing
|
|
28
|
+
|
|
29
|
+
### Delegation
|
|
30
|
+
- Story creation → @sm (`*draft`)
|
|
31
|
+
- Epic creation → @pm (`*create-epic`)
|
|
32
|
+
- Course correction → @aios-master
|
|
33
|
+
|
|
34
|
+
### Key Locations
|
|
35
|
+
- Stories: `docs/stories/`
|
|
36
|
+
- Backlog: `docs/stories/backlog/`
|
|
37
|
+
- Templates: `.aios-core/development/templates/story-tmpl.yaml`
|
|
38
|
+
|
|
39
|
+
## Promotion Candidates
|
|
40
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
41
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
42
|
+
|
|
43
|
+
## Archived
|
|
44
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
45
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# QA Agent Memory (Quinn)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Review Patterns
|
|
7
|
+
- ONLY update "QA Results" section in story files
|
|
8
|
+
- Gate decisions: PASS / CONCERNS / FAIL / WAIVED
|
|
9
|
+
- CodeRabbit self-healing: max 3 iterations, CRITICAL+HIGH auto-fix
|
|
10
|
+
|
|
11
|
+
### Test Infrastructure
|
|
12
|
+
- `npm test` — Jest 30.2.0
|
|
13
|
+
- `npm run lint` — ESLint
|
|
14
|
+
- Tests location: `tests/` directory, mirrors source structure
|
|
15
|
+
- Coverage: `npm run test:coverage`
|
|
16
|
+
|
|
17
|
+
### Quality Checks (7-point)
|
|
18
|
+
1. Code review (patterns, readability)
|
|
19
|
+
2. Unit tests (coverage, passing)
|
|
20
|
+
3. Acceptance criteria met
|
|
21
|
+
4. No regressions
|
|
22
|
+
5. Performance acceptable
|
|
23
|
+
6. Security (OWASP basics)
|
|
24
|
+
7. Documentation updated
|
|
25
|
+
|
|
26
|
+
### Common Issues
|
|
27
|
+
- Windows path separators in test assertions
|
|
28
|
+
- CodeRabbit WSL execution: `wsl bash -c 'cd /mnt/c/... && ~/.local/bin/coderabbit ...'`
|
|
29
|
+
- SYNAPSE metrics at `.synapse/metrics/`
|
|
30
|
+
- Pipeline benchmarks at `tests/synapse/benchmarks/`
|
|
31
|
+
|
|
32
|
+
### Git Rules
|
|
33
|
+
- Read-only: `git status`, `git log`, `git diff`
|
|
34
|
+
- NEVER commit or push
|
|
35
|
+
|
|
36
|
+
## Promotion Candidates
|
|
37
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
38
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
39
|
+
|
|
40
|
+
## Archived
|
|
41
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
42
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -266,7 +266,7 @@ dependencies:
|
|
|
266
266
|
max_iterations = 3
|
|
267
267
|
|
|
268
268
|
WHILE iteration < max_iterations:
|
|
269
|
-
1. Run: wsl bash -c 'cd /mnt/c
|
|
269
|
+
1. Run: wsl bash -c 'cd /mnt/c/.../aios-core && ~/.local/bin/coderabbit --prompt-only -t committed --base main'
|
|
270
270
|
2. Parse output for all severity levels
|
|
271
271
|
|
|
272
272
|
critical_issues = filter(output, severity == "CRITICAL")
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Scrum Master Agent Memory (River)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Key Patterns
|
|
7
|
+
- CommonJS (`require`/`module.exports`), NOT ES Modules
|
|
8
|
+
- ES2022, Node.js 18+, 2-space indent, single quotes
|
|
9
|
+
- kebab-case for files, PascalCase for components
|
|
10
|
+
|
|
11
|
+
### Project Structure
|
|
12
|
+
- `docs/stories/epics/` — Epic directories with INDEX.md + stories
|
|
13
|
+
- `.aios-core/development/templates/` — Story templates
|
|
14
|
+
- `.aios-core/development/checklists/` — Draft checklists
|
|
15
|
+
|
|
16
|
+
### Git Rules
|
|
17
|
+
- NEVER push — delegate to @devops
|
|
18
|
+
- Conventional commits: `docs:` for story creation
|
|
19
|
+
|
|
20
|
+
### Story Conventions
|
|
21
|
+
- Story naming: `story-{PREFIX}-{N}-{slug}.md`
|
|
22
|
+
- Epic INDEX.md tracks all stories with status
|
|
23
|
+
- Stories flow: Draft → Ready → InProgress → InReview → Done
|
|
24
|
+
|
|
25
|
+
## Promotion Candidates
|
|
26
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
27
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
28
|
+
|
|
29
|
+
## Archived
|
|
30
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
31
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# UX Design Expert Agent Memory (Uma)
|
|
2
|
+
|
|
3
|
+
## Active Patterns
|
|
4
|
+
<!-- Current, verified patterns used by this agent -->
|
|
5
|
+
|
|
6
|
+
### Key Patterns
|
|
7
|
+
- CommonJS (`require`/`module.exports`), NOT ES Modules
|
|
8
|
+
- ES2022, Node.js 18+, 2-space indent, single quotes
|
|
9
|
+
- kebab-case for files, PascalCase for components
|
|
10
|
+
|
|
11
|
+
### Project Structure
|
|
12
|
+
- `.aios-core/core/` — Core modules
|
|
13
|
+
- `docs/` — Documentation and design specs
|
|
14
|
+
- `packages/` — Shared packages
|
|
15
|
+
|
|
16
|
+
### Git Rules
|
|
17
|
+
- NEVER push — delegate to @devops
|
|
18
|
+
- Conventional commits: `docs:` for design specs, `feat:` for components
|
|
19
|
+
|
|
20
|
+
### Design Conventions
|
|
21
|
+
- Atomic Design principles (atoms → molecules → organisms → templates → pages)
|
|
22
|
+
- Design tokens for consistent theming
|
|
23
|
+
- WCAG 2.1 AA compliance target
|
|
24
|
+
|
|
25
|
+
## Promotion Candidates
|
|
26
|
+
<!-- Patterns seen across 3+ agents — candidates for CLAUDE.md or .claude/rules/ -->
|
|
27
|
+
<!-- Format: - **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD} -->
|
|
28
|
+
|
|
29
|
+
## Archived
|
|
30
|
+
<!-- Patterns no longer relevant — kept for history -->
|
|
31
|
+
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Issue Triage Checklist
|
|
2
|
+
|
|
3
|
+
## Per-Issue Checklist
|
|
4
|
+
|
|
5
|
+
For each issue being triaged, verify:
|
|
6
|
+
|
|
7
|
+
### Classification
|
|
8
|
+
- [ ] Issue has been read and understood
|
|
9
|
+
- [ ] ONE `type:` label applied (bug/feature/enhancement/docs/test/chore)
|
|
10
|
+
- [ ] ONE `priority:` label applied (P1/P2/P3/P4)
|
|
11
|
+
- [ ] At least ONE `area:` label applied
|
|
12
|
+
- [ ] `status: needs-triage` removed
|
|
13
|
+
|
|
14
|
+
### Status Resolution
|
|
15
|
+
- [ ] Status set to `status: confirmed` OR `status: needs-info`
|
|
16
|
+
- [ ] If `status: needs-info` — comment posted asking for specific details
|
|
17
|
+
- [ ] If duplicate — labeled `duplicate`, closed with reference to original issue
|
|
18
|
+
|
|
19
|
+
### Community
|
|
20
|
+
- [ ] Assessed for `community: good first issue` (clear scope, isolated, well-documented)
|
|
21
|
+
- [ ] Assessed for `community: help wanted` (valid but team lacks bandwidth)
|
|
22
|
+
|
|
23
|
+
### Quality
|
|
24
|
+
- [ ] Issue has sufficient information to act on (or `status: needs-info` applied)
|
|
25
|
+
- [ ] Related issues cross-referenced if applicable
|
|
26
|
+
- [ ] No sensitive information in issue (API keys, credentials)
|
|
27
|
+
|
|
28
|
+
## Session Checklist
|
|
29
|
+
|
|
30
|
+
After completing a triage session:
|
|
31
|
+
|
|
32
|
+
- [ ] All `status: needs-triage` issues reviewed
|
|
33
|
+
- [ ] Triage report generated
|
|
34
|
+
- [ ] Story GHIM-001 updated with triage count
|
|
35
|
+
- [ ] High-priority issues (P1/P2) flagged for immediate attention
|