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
|
@@ -556,6 +556,54 @@ After this analysis:
|
|
|
556
556
|
|
|
557
557
|
---
|
|
558
558
|
|
|
559
|
+
### Step 5.5: Code Intelligence: Dependency & Complexity (Optional â Auto-skip if unavailable)
|
|
560
|
+
|
|
561
|
+
> **Condition:** Only execute if `isCodeIntelAvailable()` returns true.
|
|
562
|
+
> If no code intelligence provider is available, skip this step silently and proceed to Step 6.
|
|
563
|
+
|
|
564
|
+
When code intelligence is available, enrich the analysis with real dependency and complexity data:
|
|
565
|
+
|
|
566
|
+
```javascript
|
|
567
|
+
const { isCodeIntelAvailable } = require('.aios-core/core/code-intel');
|
|
568
|
+
const { getDependencyGraph, getComplexityAnalysis } = require('.aios-core/core/code-intel/helpers/planning-helper');
|
|
569
|
+
|
|
570
|
+
if (isCodeIntelAvailable()) {
|
|
571
|
+
const depGraph = await getDependencyGraph(projectPath);
|
|
572
|
+
const complexity = await getComplexityAnalysis(serviceEntryPoints);
|
|
573
|
+
|
|
574
|
+
// Add to project-analysis.md:
|
|
575
|
+
// - depGraph.dependencies: real module dependency graph
|
|
576
|
+
// - depGraph.summary: { totalDeps, depth }
|
|
577
|
+
// - complexity.perFile: complexity score per file
|
|
578
|
+
// - complexity.average: average complexity across analyzed files
|
|
579
|
+
}
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
**If data is available, add these sections to the analysis documents:**
|
|
583
|
+
|
|
584
|
+
**Dependency Graph (Code Intelligence):**
|
|
585
|
+
|
|
586
|
+
| Metric | Value |
|
|
587
|
+
|--------|-------|
|
|
588
|
+
| Total Dependencies | {{depGraph.summary.totalDeps}} |
|
|
589
|
+
| Dependency Depth | {{depGraph.summary.depth}} |
|
|
590
|
+
|
|
591
|
+
{{depGraph.dependencies key relationships}}
|
|
592
|
+
|
|
593
|
+
**Complexity Metrics (Code Intelligence):**
|
|
594
|
+
|
|
595
|
+
| File | Complexity Score |
|
|
596
|
+
|------|-----------------|
|
|
597
|
+
{{for each complexity.perFile}}
|
|
598
|
+
| {{file}} | {{complexity.score}} |
|
|
599
|
+
{{end for}}
|
|
600
|
+
|
|
601
|
+
**Average Complexity:** {{complexity.average}}
|
|
602
|
+
|
|
603
|
+
> **Note:** These metrics are from real code analysis, not estimates.
|
|
604
|
+
|
|
605
|
+
---
|
|
606
|
+
|
|
559
607
|
### Step 6: Present Results
|
|
560
608
|
|
|
561
609
|
Display summary to user:
|
|
@@ -55,6 +55,47 @@ const architectureShardedLocation = config.architectureShardedLocation || 'docs/
|
|
|
55
55
|
|
|
56
56
|
## Instructions
|
|
57
57
|
|
|
58
|
+
### 0. Code Intelligence: Codebase Overview (Optional â Auto-skip if unavailable)
|
|
59
|
+
|
|
60
|
+
> **Condition:** Only execute if `isCodeIntelAvailable()` returns true.
|
|
61
|
+
> If no code intelligence provider is available, skip this step silently and proceed to Step 1.
|
|
62
|
+
|
|
63
|
+
When code intelligence is available, enrich the epic with real codebase data:
|
|
64
|
+
|
|
65
|
+
```javascript
|
|
66
|
+
const { isCodeIntelAvailable } = require('.aios-core/core/code-intel');
|
|
67
|
+
const { getCodebaseOverview, getDependencyGraph } = require('.aios-core/core/code-intel/helpers/planning-helper');
|
|
68
|
+
|
|
69
|
+
if (isCodeIntelAvailable()) {
|
|
70
|
+
const overview = await getCodebaseOverview('.');
|
|
71
|
+
const depGraph = await getDependencyGraph('.');
|
|
72
|
+
|
|
73
|
+
// Include in epic under "Codebase Intelligence" section:
|
|
74
|
+
// - overview.codebase: project patterns, file groups
|
|
75
|
+
// - overview.stats: file counts, language distribution
|
|
76
|
+
// - depGraph.dependencies: module relationships
|
|
77
|
+
// - depGraph.summary: { totalDeps, depth }
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**If data is available, add this section to the epic:**
|
|
82
|
+
|
|
83
|
+
#### Codebase Intelligence
|
|
84
|
+
|
|
85
|
+
| Metric | Value |
|
|
86
|
+
|--------|-------|
|
|
87
|
+
| Project Overview | {{overview.codebase summary}} |
|
|
88
|
+
| File Statistics | {{overview.stats}} |
|
|
89
|
+
| Dependency Depth | {{depGraph.summary.depth}} |
|
|
90
|
+
| Total Dependencies | {{depGraph.summary.totalDeps}} |
|
|
91
|
+
|
|
92
|
+
**Dependency Graph Summary:**
|
|
93
|
+
{{depGraph.dependencies key relationships}}
|
|
94
|
+
|
|
95
|
+
> **Note:** This section is auto-generated from code intelligence. Values are real codebase data, not estimates.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
58
99
|
### 1. Project Analysis (Required)
|
|
59
100
|
|
|
60
101
|
Before creating the epic, gather essential information about the existing project:
|
|
@@ -250,6 +250,50 @@ If a YAML Template has not been provided, list all templates from .aios-core/pro
|
|
|
250
250
|
|
|
251
251
|
**NEVER ask yes/no questions or use any other format.**
|
|
252
252
|
|
|
253
|
+
## Code Intelligence: Codebase Intelligence Section (Optional â Auto-skip if unavailable)
|
|
254
|
+
|
|
255
|
+
> **Condition:** Only execute if `isCodeIntelAvailable()` returns true AND the document being created is a PRD or architecture document.
|
|
256
|
+
> If no code intelligence provider is available, skip this enhancement silently.
|
|
257
|
+
|
|
258
|
+
When creating PRDs or architecture documents with code intelligence available, add a "Codebase Intelligence" section:
|
|
259
|
+
|
|
260
|
+
```javascript
|
|
261
|
+
const { isCodeIntelAvailable } = require('.aios-core/core/code-intel');
|
|
262
|
+
const { getCodebaseOverview, getDependencyGraph } = require('.aios-core/core/code-intel/helpers/planning-helper');
|
|
263
|
+
|
|
264
|
+
if (isCodeIntelAvailable()) {
|
|
265
|
+
const overview = await getCodebaseOverview('.');
|
|
266
|
+
const depGraph = await getDependencyGraph('.');
|
|
267
|
+
|
|
268
|
+
// Add optional section to generated document:
|
|
269
|
+
// - overview.codebase: project patterns, file groups, architecture
|
|
270
|
+
// - overview.stats: file counts, language distribution, LOC
|
|
271
|
+
// - depGraph.summary: { totalDeps, depth }
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**If data is available, append this section to the generated document:**
|
|
276
|
+
|
|
277
|
+
```markdown
|
|
278
|
+
## Codebase Intelligence
|
|
279
|
+
|
|
280
|
+
> Auto-generated from code intelligence provider. Real codebase data, not estimates.
|
|
281
|
+
|
|
282
|
+
### Project Overview
|
|
283
|
+
{{overview.codebase summary â patterns, file groups, architecture}}
|
|
284
|
+
|
|
285
|
+
### Statistics
|
|
286
|
+
{{overview.stats â file counts, language distribution}}
|
|
287
|
+
|
|
288
|
+
### Dependency Summary
|
|
289
|
+
- **Total Dependencies:** {{depGraph.summary.totalDeps}}
|
|
290
|
+
- **Dependency Depth:** {{depGraph.summary.depth}}
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
> **Note:** This section is optional and only appears when a code intelligence provider is available. The document is fully functional without it.
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
253
297
|
## Processing Flow
|
|
254
298
|
|
|
255
299
|
1. **Parse YAML template** - Load template metadata and sections
|
|
@@ -239,6 +239,16 @@ To identify the next logical story based on project progress and epic definition
|
|
|
239
239
|
- **If no story files exist:** The next story is ALWAYS 1.1 (first story of first epic)
|
|
240
240
|
- Announce the identified story to the user: "Identified next story for preparation: {epicNum}.{storyNum} - {Story Title}"
|
|
241
241
|
|
|
242
|
+
### 1.2 Code Intelligence: Duplicate Detection & File Suggestions (Auto-skip if unavailable)
|
|
243
|
+
|
|
244
|
+
- **Check code intelligence availability:** Call `isCodeIntelAvailable()` from `.aios-core/core/code-intel`
|
|
245
|
+
- **If available:**
|
|
246
|
+
- Call `detectDuplicateStory(storyDescription)` from `.aios-core/core/code-intel/helpers/story-helper`
|
|
247
|
+
- If matches found: Display advisory warning to user â "Similar functionality found: {warning}". This is **advisory only** and does NOT block story creation.
|
|
248
|
+
- Call `suggestRelevantFiles(storyDescription)` from `.aios-core/core/code-intel/helpers/story-helper`
|
|
249
|
+
- If files found: Pre-populate a "Suggested Files" note in the Dev Notes section with the relevant file references
|
|
250
|
+
- **If NOT available:** Skip this step silently â story creation proceeds exactly as before
|
|
251
|
+
|
|
242
252
|
### 2. Gather Story Requirements and Previous Story Context
|
|
243
253
|
|
|
244
254
|
- Extract story requirements from the identified epic file
|
|
@@ -559,7 +559,7 @@ Execute **AFTER** all tasks are complete but **BEFORE** running the DOD checklis
|
|
|
559
559
|
â WHILE iteration < max_iterations: â
|
|
560
560
|
â ââââââââââââââââââââââââââââââââââââââââââââââââââââââ â
|
|
561
561
|
â â 1. Run CodeRabbit CLI â â
|
|
562
|
-
â â wsl bash -c 'cd /mnt/c
|
|
562
|
+
â â wsl bash -c 'cd /mnt/c/.../aios-core && â â
|
|
563
563
|
â â ~/.local/bin/coderabbit --prompt-only â â
|
|
564
564
|
â â -t uncommitted' â â
|
|
565
565
|
â â â â
|
|
@@ -501,6 +501,55 @@ function generatePRDescription(storyInfo, context) {
|
|
|
501
501
|
}
|
|
502
502
|
```
|
|
503
503
|
|
|
504
|
+
### Step 5.1: Enrich PR Description with Impact Analysis (Code Intelligence â Advisory)
|
|
505
|
+
|
|
506
|
+
> **Added by:** Story NOG-7 (DevOps Pre-Push Impact Analysis)
|
|
507
|
+
> **Behavior:** Auto-skips if code intelligence unavailable. Appends "Impact Analysis" section to PR body.
|
|
508
|
+
|
|
509
|
+
```javascript
|
|
510
|
+
const { generateImpactSummary } = require('.aios-core/core/code-intel/helpers/devops-helper');
|
|
511
|
+
|
|
512
|
+
async function enrichPRWithImpactAnalysis(description, changedFiles) {
|
|
513
|
+
// Auto-skip if code intelligence unavailable
|
|
514
|
+
const { isCodeIntelAvailable } = require('.aios-core/core/code-intel');
|
|
515
|
+
if (!isCodeIntelAvailable()) {
|
|
516
|
+
return description; // Return original description unchanged
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
const impact = await generateImpactSummary(changedFiles);
|
|
520
|
+
|
|
521
|
+
if (!impact) {
|
|
522
|
+
return description; // No impact data â return original
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
// Append Impact Analysis section to PR description
|
|
526
|
+
const impactSection = [
|
|
527
|
+
'',
|
|
528
|
+
'## Impact Analysis',
|
|
529
|
+
'',
|
|
530
|
+
impact.summary,
|
|
531
|
+
'',
|
|
532
|
+
'---',
|
|
533
|
+
'*Generated by Code Intelligence (advisory only)*',
|
|
534
|
+
].join('\n');
|
|
535
|
+
|
|
536
|
+
return description + impactSection;
|
|
537
|
+
}
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
**Usage in PR creation flow:**
|
|
541
|
+
|
|
542
|
+
After `generatePRDescription()` returns the base description, call `enrichPRWithImpactAnalysis()` to optionally append the impact section:
|
|
543
|
+
|
|
544
|
+
```javascript
|
|
545
|
+
let description = generatePRDescription(storyInfo, context);
|
|
546
|
+
description = await enrichPRWithImpactAnalysis(description, changedFiles);
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
**Important:** If code intelligence is unavailable or returns null, the PR description remains unchanged â zero impact on existing workflow.
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
504
553
|
### Step 6: Determine Base Branch
|
|
505
554
|
|
|
506
555
|
```javascript
|
|
@@ -630,6 +630,64 @@ function determineSecurityGate(results) {
|
|
|
630
630
|
}
|
|
631
631
|
```
|
|
632
632
|
|
|
633
|
+
### 9.1 Impact Analysis (Code Intelligence â Advisory Only)
|
|
634
|
+
|
|
635
|
+
> **Added by:** Story NOG-7 (DevOps Pre-Push Impact Analysis)
|
|
636
|
+
> **Behavior:** Advisory only â NEVER blocks push. Auto-skips if code intelligence unavailable.
|
|
637
|
+
|
|
638
|
+
```javascript
|
|
639
|
+
const { assessPrePushImpact, classifyRiskLevel } = require('.aios-core/core/code-intel/helpers/devops-helper');
|
|
640
|
+
|
|
641
|
+
async function runImpactAnalysis(changedFiles) {
|
|
642
|
+
// Auto-skip if code intelligence unavailable
|
|
643
|
+
const { isCodeIntelAvailable } = require('.aios-core/core/code-intel');
|
|
644
|
+
if (!isCodeIntelAvailable()) {
|
|
645
|
+
console.log('âšī¸ Code intelligence not available â skipping impact analysis');
|
|
646
|
+
return { skipped: true };
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
console.log('\nđ Running Impact Analysis...\n');
|
|
650
|
+
|
|
651
|
+
const result = await assessPrePushImpact(changedFiles);
|
|
652
|
+
|
|
653
|
+
if (!result) {
|
|
654
|
+
console.log('âšī¸ Impact analysis returned no data â skipping');
|
|
655
|
+
return { skipped: true };
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
// Display formatted report
|
|
659
|
+
console.log(result.report);
|
|
660
|
+
|
|
661
|
+
// HIGH risk: add extra warning (advisory, does not block)
|
|
662
|
+
if (result.riskLevel === 'HIGH') {
|
|
663
|
+
console.log('\nâ ī¸ HIGH RISK detected. Additional confirmation recommended before push.');
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
return {
|
|
667
|
+
skipped: false,
|
|
668
|
+
riskLevel: result.riskLevel,
|
|
669
|
+
blastRadius: result.impact ? result.impact.blastRadius : 0,
|
|
670
|
+
report: result.report,
|
|
671
|
+
};
|
|
672
|
+
}
|
|
673
|
+
```
|
|
674
|
+
|
|
675
|
+
**Integration with Summary Report:**
|
|
676
|
+
|
|
677
|
+
Add impact analysis results to the summary report section:
|
|
678
|
+
|
|
679
|
+
```
|
|
680
|
+
Impact Analysis:
|
|
681
|
+
đ Blast Radius: {N} files affected
|
|
682
|
+
đ Risk Level: {LOW|MEDIUM|HIGH}
|
|
683
|
+
{if HIGH: â ī¸ HIGH RISK: {N} files affected. Confirm push?}
|
|
684
|
+
{if skipped: âšī¸ Skipped (code intelligence not available)}
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
**Important:** This step is purely advisory. A HIGH risk level does NOT change the overall gate status from PASS to FAIL. It only adds an informational warning and may prompt additional user confirmation.
|
|
688
|
+
|
|
689
|
+
---
|
|
690
|
+
|
|
633
691
|
### 10. Verify Story Status (Optional - if using story-driven workflow)
|
|
634
692
|
|
|
635
693
|
```javascript
|
|
@@ -684,6 +742,11 @@ Quality Checks:
|
|
|
684
742
|
â Security scan PASSED
|
|
685
743
|
â ī¸ Story status SKIPPED (no story file)
|
|
686
744
|
|
|
745
|
+
Impact Analysis (Advisory):
|
|
746
|
+
đ Blast Radius: {N} files affected
|
|
747
|
+
đ Risk Level: LOW | MEDIUM | HIGH
|
|
748
|
+
âšī¸ Advisory only â does not affect gate status
|
|
749
|
+
|
|
687
750
|
Security Scan Results:
|
|
688
751
|
â Dependencies: 0 critical, 0 high, 2 moderate, 5 low
|
|
689
752
|
â Code patterns: No security issues
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# GitHub Issue Triage
|
|
2
|
+
|
|
3
|
+
## Task Metadata
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
id: github-issue-triage
|
|
7
|
+
name: GitHub Issue Triage
|
|
8
|
+
agent: devops
|
|
9
|
+
elicit: true
|
|
10
|
+
category: repository-management
|
|
11
|
+
story: GHIM-001
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
|
|
16
|
+
Systematic triage of GitHub issues for the aios-core repository. This task guides @devops through the process of reviewing, classifying, and labeling open issues.
|
|
17
|
+
|
|
18
|
+
## Prerequisites
|
|
19
|
+
|
|
20
|
+
- GitHub CLI authenticated (`gh auth status`)
|
|
21
|
+
- Label taxonomy deployed (see GHIM-001 Phase 1)
|
|
22
|
+
- Access to repository issue list
|
|
23
|
+
|
|
24
|
+
## Workflow
|
|
25
|
+
|
|
26
|
+
### Step 1: List Untriaged Issues
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
gh issue list --label "status: needs-triage" --json number,title,labels,createdAt,author --limit 50
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Step 2: Per-Issue Triage (Interactive)
|
|
33
|
+
|
|
34
|
+
For each issue, apply the triage checklist:
|
|
35
|
+
|
|
36
|
+
1. **Read the issue** â Open and understand the content
|
|
37
|
+
2. **Classify type** â Apply ONE `type:` label:
|
|
38
|
+
- `type: bug` â Something isn't working
|
|
39
|
+
- `type: feature` â New feature request
|
|
40
|
+
- `type: enhancement` â Improvement to existing feature
|
|
41
|
+
- `type: docs` â Documentation issue
|
|
42
|
+
- `type: test` â Test coverage
|
|
43
|
+
- `type: chore` â Maintenance/cleanup
|
|
44
|
+
3. **Assess priority** â Apply ONE `priority:` label:
|
|
45
|
+
- `priority: P1` â Critical, blocks users (SLA: 24h response)
|
|
46
|
+
- `priority: P2` â High, affects most users (SLA: 3 days)
|
|
47
|
+
- `priority: P3` â Medium, affects some users (SLA: 1 week)
|
|
48
|
+
- `priority: P4` â Low, edge cases (backlog)
|
|
49
|
+
4. **Assign area** â Apply ONE or more `area:` labels:
|
|
50
|
+
- `area: core`, `area: installer`, `area: synapse`, `area: cli`
|
|
51
|
+
- `area: pro`, `area: health-check`, `area: docs`, `area: devops`
|
|
52
|
+
5. **Update status** â Replace `status: needs-triage` with appropriate status:
|
|
53
|
+
- `status: confirmed` â Valid issue, ready for work
|
|
54
|
+
- `status: needs-info` â Need more details from reporter
|
|
55
|
+
6. **Check for duplicates** â If duplicate, label `duplicate` and close with reference
|
|
56
|
+
7. **Community labels** â If appropriate, add `community: good first issue` or `community: help wanted`
|
|
57
|
+
|
|
58
|
+
### Step 3: Apply Labels
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
gh issue edit {number} --add-label "type: bug,priority: P2,area: installer,status: confirmed" --remove-label "status: needs-triage"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Step 4: Batch Triage (Optional)
|
|
65
|
+
|
|
66
|
+
For bulk operations, use the triage script:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
node .aios-core/development/scripts/issue-triage.js --list
|
|
70
|
+
node .aios-core/development/scripts/issue-triage.js --apply {number} --type bug --priority P2 --area installer
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 5: Report
|
|
74
|
+
|
|
75
|
+
After triage session, generate summary:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
node .aios-core/development/scripts/issue-triage.js --report
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Triage Decision Tree
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Issue received
|
|
85
|
+
âââ Is it a duplicate? â Label "duplicate", close with reference
|
|
86
|
+
âââ Is it spam/invalid? â Label "status: invalid", close
|
|
87
|
+
âââ Needs more info? â Label "status: needs-info", comment asking for details
|
|
88
|
+
âââ Valid issue
|
|
89
|
+
âââ Bug â "type: bug" + priority + area
|
|
90
|
+
âââ Feature â "type: feature" + priority + area
|
|
91
|
+
âââ Enhancement â "type: enhancement" + priority + area
|
|
92
|
+
âââ Docs â "type: docs" + priority: P3/P4
|
|
93
|
+
âââ Tests â "type: test" + area
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Priority Guidelines
|
|
97
|
+
|
|
98
|
+
| Signal | Priority |
|
|
99
|
+
|--------|----------|
|
|
100
|
+
| Blocks installation/usage for all users | P1 |
|
|
101
|
+
| Breaks core functionality, no workaround | P1 |
|
|
102
|
+
| Significant bug with workaround | P2 |
|
|
103
|
+
| Feature highly requested by community | P2 |
|
|
104
|
+
| Minor bug, edge case | P3 |
|
|
105
|
+
| Nice-to-have improvement | P3 |
|
|
106
|
+
| Cosmetic, low impact | P4 |
|
|
107
|
+
|
|
108
|
+
## Command Integration
|
|
109
|
+
|
|
110
|
+
This task is invocable via @devops:
|
|
111
|
+
- `*triage` â Start interactive triage session
|
|
112
|
+
- `*triage --batch` â Run batch triage with script
|
|
113
|
+
|
|
114
|
+
## Output
|
|
115
|
+
|
|
116
|
+
- All issues labeled with `type:`, `priority:`, `area:` labels
|
|
117
|
+
- `status: needs-triage` removed from all triaged issues
|
|
118
|
+
- Triage report with summary of actions taken
|