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
|
@@ -23,15 +23,22 @@ activation-instructions:
|
|
|
23
23
|
- STEP 2: Adopt the hybrid persona (Sally + Brad Frost)
|
|
24
24
|
|
|
25
25
|
- STEP 3: |
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
Display greeting using native context (zero JS execution):
|
|
27
|
+
1. Show: "{icon} {persona_profile.communication.greeting_levels.archetypal}" + permission badge from current permission mode (e.g., [⚠️ Ask], [🟢 Auto], [🔍 Explore])
|
|
28
|
+
2. Show: "**Role:** {persona.role}"
|
|
29
|
+
- Append: "Story: {active story from docs/stories/}" if detected + "Branch: `{branch from gitStatus}`" if not main/master
|
|
30
|
+
3. Show: "📊 **Project Status:**" as natural language narrative from gitStatus in system prompt:
|
|
31
|
+
- Branch name, modified file count, current story reference, last commit message
|
|
32
|
+
4. Show: "**Available Commands:**" — list commands from the 'commands' section above that have 'key' in their visibility array
|
|
33
|
+
5. Show: "Type `*guide` for comprehensive usage instructions."
|
|
34
|
+
5.5. Check `.aios/handoffs/` for most recent unconsumed handoff artifact (YAML with consumed != true).
|
|
35
|
+
If found: read `from_agent` and `last_command` from artifact, look up position in `.aios-core/data/workflow-chains.yaml` matching from_agent + last_command, and show: "💡 **Suggested:** `*{next_command} {args}`"
|
|
36
|
+
If chain has multiple valid next steps, also show: "Also: `*{alt1}`, `*{alt2}`"
|
|
37
|
+
If no artifact or no match found: skip this step silently.
|
|
38
|
+
After STEP 4 displays successfully, mark artifact as consumed: true.
|
|
39
|
+
6. Show: "{persona_profile.communication.signature_closing}"
|
|
40
|
+
# FALLBACK: If native greeting fails, run: node .aios-core/development/scripts/unified-activation-pipeline.js ux-design-expert
|
|
41
|
+
- STEP 4: Greeting already rendered inline in STEP 3 — proceed to STEP 5
|
|
35
42
|
- STEP 5: HALT and await user input
|
|
36
43
|
- IMPORTANT: Do NOT improvise or add explanatory text beyond what is specified in greeting_levels and Quick Commands section
|
|
37
44
|
- DO NOT: Load any other agent files during activation
|
|
@@ -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
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Memory Audit Checklist
|
|
2
|
+
|
|
3
|
+
Periodic checklist for maintaining agent MEMORY.md hygiene across all 10 agents.
|
|
4
|
+
|
|
5
|
+
**Frequency:** Once per sprint or after completing an epic.
|
|
6
|
+
**Executor:** Any agent (`@po *execute-checklist memory-audit-checklist`)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Steps
|
|
11
|
+
|
|
12
|
+
### Step 1: Read All MEMORY.md Files
|
|
13
|
+
- [ ] Read all 10 agent MEMORY.md files under `.aios-core/development/agents/*/MEMORY.md`
|
|
14
|
+
- [ ] Confirm each file has the 3-section structure: `## Active Patterns`, `## Promotion Candidates`, `## Archived`
|
|
15
|
+
|
|
16
|
+
### Step 2: Identify Cross-Agent Patterns
|
|
17
|
+
- [ ] Cross-reference Active Patterns across all 10 files
|
|
18
|
+
- [ ] Flag patterns that appear in **3+ agent MEMORY.md files** as promotion candidates
|
|
19
|
+
- [ ] Document each candidate with: pattern text, which agents contain it, count
|
|
20
|
+
|
|
21
|
+
### Step 3: Record Promotion Candidates
|
|
22
|
+
- [ ] For each cross-agent pattern found in Step 2, add to `## Promotion Candidates` in the originating agent's MEMORY.md
|
|
23
|
+
- [ ] Use format: `- **{pattern}** | Source: {agent} | Detected: {YYYY-MM-DD}`
|
|
24
|
+
- [ ] If pattern already exists in Promotion Candidates, skip (no duplicates)
|
|
25
|
+
|
|
26
|
+
### Step 4: Identify Stale Entries
|
|
27
|
+
- [ ] Review Active Patterns for entries contradicted by current codebase
|
|
28
|
+
- [ ] Review Active Patterns for entries superseded by newer patterns or code changes
|
|
29
|
+
- [ ] Review Active Patterns for entries no longer relevant to current project state
|
|
30
|
+
|
|
31
|
+
### Step 5: Archive Stale Entries
|
|
32
|
+
- [ ] Move stale entries from `## Active Patterns` to `## Archived`
|
|
33
|
+
- [ ] Use format: `- ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason}`
|
|
34
|
+
- [ ] Valid reasons: "superseded by {X}", "contradicted by {Y}", "no longer relevant"
|
|
35
|
+
|
|
36
|
+
### Step 6: Report Summary
|
|
37
|
+
- [ ] Total active patterns across all agents
|
|
38
|
+
- [ ] New promotion candidates identified this audit
|
|
39
|
+
- [ ] Entries newly archived this audit
|
|
40
|
+
- [ ] Recommended actions (e.g., "elevate pattern X to .claude/rules/")
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Expected Cross-Agent Patterns
|
|
45
|
+
|
|
46
|
+
Common patterns that typically appear in multiple agents:
|
|
47
|
+
|
|
48
|
+
| Pattern | Expected Agents | Action |
|
|
49
|
+
|---------|----------------|--------|
|
|
50
|
+
| "NEVER push — delegate to @devops" | dev, qa, analyst, sm, data-engineer, ux | Promote to `.claude/rules/` |
|
|
51
|
+
| CommonJS module system | dev, analyst, sm, data-engineer, ux, architect | Already in CLAUDE.md |
|
|
52
|
+
| Conventional commits format | dev, qa, devops, analyst, sm, data-engineer, ux | Already in CLAUDE.md |
|
|
53
|
+
| kebab-case for files | dev, analyst, sm, data-engineer, ux | Already in CLAUDE.md |
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Issue Triage Script
|
|
5
|
+
* Batch triage tool for @devops to manage GitHub issues.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* node issue-triage.js --list # List untriaged issues
|
|
9
|
+
* node issue-triage.js --apply 174 --type bug --priority P2 --area installer
|
|
10
|
+
* node issue-triage.js --report # Generate triage summary
|
|
11
|
+
*
|
|
12
|
+
* Story: GHIM-001
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const { execSync } = require('child_process');
|
|
16
|
+
|
|
17
|
+
const VALID_TYPES = ['bug', 'feature', 'enhancement', 'docs', 'test', 'chore'];
|
|
18
|
+
const VALID_PRIORITIES = ['P1', 'P2', 'P3', 'P4'];
|
|
19
|
+
const VALID_AREAS = ['core', 'installer', 'synapse', 'cli', 'pro', 'health-check', 'docs', 'devops', 'agents', 'workflows'];
|
|
20
|
+
|
|
21
|
+
function gh(cmd) {
|
|
22
|
+
try {
|
|
23
|
+
return execSync(`gh ${cmd}`, { encoding: 'utf8', timeout: 60000 });
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.error(`gh command failed: ${err.message}`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function listUntriaged() {
|
|
31
|
+
const raw = gh('issue list --label "status: needs-triage" --json number,title,labels,createdAt,author --limit 100');
|
|
32
|
+
const issues = JSON.parse(raw);
|
|
33
|
+
|
|
34
|
+
if (issues.length === 0) {
|
|
35
|
+
console.log('No untriaged issues found.');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
console.log(`\n=== ${issues.length} Untriaged Issues ===\n`);
|
|
40
|
+
for (const issue of issues) {
|
|
41
|
+
const labels = issue.labels.map(l => l.name).join(', ');
|
|
42
|
+
const date = issue.createdAt.split('T')[0];
|
|
43
|
+
console.log(` #${issue.number} [${date}] ${issue.title}`);
|
|
44
|
+
console.log(` Author: ${issue.author.login} | Labels: ${labels}`);
|
|
45
|
+
console.log();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function applyLabels(number, type, priority, areas, extra) {
|
|
50
|
+
if (!VALID_TYPES.includes(type)) {
|
|
51
|
+
console.error(`Invalid type: ${type}. Valid: ${VALID_TYPES.join(', ')}`);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
}
|
|
54
|
+
if (!VALID_PRIORITIES.includes(priority)) {
|
|
55
|
+
console.error(`Invalid priority: ${priority}. Valid: ${VALID_PRIORITIES.join(', ')}`);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const addLabels = [`type: ${type}`, `priority: ${priority}`, 'status: confirmed'];
|
|
60
|
+
for (const area of areas) {
|
|
61
|
+
if (!VALID_AREAS.includes(area)) {
|
|
62
|
+
console.error(`Invalid area: ${area}. Valid: ${VALID_AREAS.join(', ')}`);
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
addLabels.push(`area: ${area}`);
|
|
66
|
+
}
|
|
67
|
+
if (extra) {
|
|
68
|
+
addLabels.push(...extra);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const addStr = addLabels.map(l => `"${l}"`).join(',');
|
|
72
|
+
console.log(`Applying to #${number}: ${addLabels.join(', ')}`);
|
|
73
|
+
gh(`issue edit ${number} --add-label ${addStr} --remove-label "status: needs-triage"`);
|
|
74
|
+
console.log(` Done.`);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function generateReport() {
|
|
78
|
+
const raw = gh('issue list --state open --json number,title,labels --limit 200');
|
|
79
|
+
const issues = JSON.parse(raw);
|
|
80
|
+
|
|
81
|
+
const stats = {
|
|
82
|
+
total: issues.length,
|
|
83
|
+
untriaged: 0,
|
|
84
|
+
byType: {},
|
|
85
|
+
byPriority: {},
|
|
86
|
+
byArea: {},
|
|
87
|
+
byStatus: {}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
for (const issue of issues) {
|
|
91
|
+
const labels = issue.labels.map(l => l.name);
|
|
92
|
+
|
|
93
|
+
if (labels.includes('status: needs-triage')) stats.untriaged++;
|
|
94
|
+
|
|
95
|
+
for (const label of labels) {
|
|
96
|
+
if (label.startsWith('type: ')) {
|
|
97
|
+
const val = label.replace('type: ', '');
|
|
98
|
+
stats.byType[val] = (stats.byType[val] || 0) + 1;
|
|
99
|
+
}
|
|
100
|
+
if (label.startsWith('priority: ')) {
|
|
101
|
+
const val = label.replace('priority: ', '');
|
|
102
|
+
stats.byPriority[val] = (stats.byPriority[val] || 0) + 1;
|
|
103
|
+
}
|
|
104
|
+
if (label.startsWith('area: ')) {
|
|
105
|
+
const val = label.replace('area: ', '');
|
|
106
|
+
stats.byArea[val] = (stats.byArea[val] || 0) + 1;
|
|
107
|
+
}
|
|
108
|
+
if (label.startsWith('status: ')) {
|
|
109
|
+
const val = label.replace('status: ', '');
|
|
110
|
+
stats.byStatus[val] = (stats.byStatus[val] || 0) + 1;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
console.log('\n=== Issue Triage Report ===\n');
|
|
116
|
+
console.log(`Total open issues: ${stats.total}`);
|
|
117
|
+
console.log(`Untriaged: ${stats.untriaged}`);
|
|
118
|
+
console.log(`\nBy Type:`);
|
|
119
|
+
for (const [k, v] of Object.entries(stats.byType).sort((a, b) => b[1] - a[1])) {
|
|
120
|
+
console.log(` ${k}: ${v}`);
|
|
121
|
+
}
|
|
122
|
+
console.log(`\nBy Priority:`);
|
|
123
|
+
for (const [k, v] of Object.entries(stats.byPriority).sort()) {
|
|
124
|
+
console.log(` ${k}: ${v}`);
|
|
125
|
+
}
|
|
126
|
+
console.log(`\nBy Area:`);
|
|
127
|
+
for (const [k, v] of Object.entries(stats.byArea).sort((a, b) => b[1] - a[1])) {
|
|
128
|
+
console.log(` ${k}: ${v}`);
|
|
129
|
+
}
|
|
130
|
+
console.log(`\nBy Status:`);
|
|
131
|
+
for (const [k, v] of Object.entries(stats.byStatus).sort((a, b) => b[1] - a[1])) {
|
|
132
|
+
console.log(` ${k}: ${v}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// CLI argument parsing
|
|
137
|
+
const args = process.argv.slice(2);
|
|
138
|
+
|
|
139
|
+
if (args.includes('--list')) {
|
|
140
|
+
listUntriaged();
|
|
141
|
+
} else if (args.includes('--apply')) {
|
|
142
|
+
const idx = args.indexOf('--apply');
|
|
143
|
+
const number = parseInt(args[idx + 1]);
|
|
144
|
+
const typeIdx = args.indexOf('--type');
|
|
145
|
+
const prioIdx = args.indexOf('--priority');
|
|
146
|
+
const areaIdx = args.indexOf('--area');
|
|
147
|
+
const extraIdx = args.indexOf('--extra');
|
|
148
|
+
|
|
149
|
+
if (!number || typeIdx === -1 || prioIdx === -1 || areaIdx === -1) {
|
|
150
|
+
console.error('Usage: --apply <number> --type <type> --priority <P1-P4> --area <area> [--extra "label1,label2"]');
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const type = args[typeIdx + 1];
|
|
155
|
+
const priority = args[prioIdx + 1];
|
|
156
|
+
const areas = args[areaIdx + 1].split(',');
|
|
157
|
+
const extra = extraIdx !== -1 ? args[extraIdx + 1].split(',') : [];
|
|
158
|
+
|
|
159
|
+
applyLabels(number, type, priority, areas, extra);
|
|
160
|
+
} else if (args.includes('--report')) {
|
|
161
|
+
generateReport();
|
|
162
|
+
} else {
|
|
163
|
+
console.log('Issue Triage Tool (GHIM-001)\n');
|
|
164
|
+
console.log('Usage:');
|
|
165
|
+
console.log(' --list List untriaged issues');
|
|
166
|
+
console.log(' --apply <#> --type <t> --priority <P> --area <a> Apply labels');
|
|
167
|
+
console.log(' --report Generate triage summary');
|
|
168
|
+
console.log('\nTypes:', VALID_TYPES.join(', '));
|
|
169
|
+
console.log('Priorities:', VALID_PRIORITIES.join(', '));
|
|
170
|
+
console.log('Areas:', VALID_AREAS.join(', '));
|
|
171
|
+
}
|