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
|
@@ -0,0 +1,608 @@
|
|
|
1
|
+
# resolve-github-issue.md
|
|
2
|
+
|
|
3
|
+
**Task**: Investigate and Resolve GitHub Issue
|
|
4
|
+
|
|
5
|
+
**Purpose**: End-to-end workflow for investigating, planning, implementing, testing, and closing a GitHub issue following project standards (Constitution, Story-Driven, Quality Gates).
|
|
6
|
+
|
|
7
|
+
**When to use**: After selecting an issue from triage, via `@devops *resolve-issue {number}` or user request like "resolve issue #138".
|
|
8
|
+
|
|
9
|
+
## Execution Modes
|
|
10
|
+
|
|
11
|
+
**Choose your execution mode:**
|
|
12
|
+
|
|
13
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
14
|
+
- Investigate, fix, test, commit, push, close — minimal prompts
|
|
15
|
+
- Decisions logged but not confirmed
|
|
16
|
+
- **Best for:** Quick fixes (XS/S effort), well-defined bugs, chore tasks
|
|
17
|
+
|
|
18
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
19
|
+
- Checkpoints at investigation, plan, implementation, and push
|
|
20
|
+
- User confirms approach before major changes
|
|
21
|
+
- **Best for:** Most issues, medium complexity
|
|
22
|
+
|
|
23
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
24
|
+
- Full investigation + research + detailed plan BEFORE any code
|
|
25
|
+
- User approves plan, then autonomous execution
|
|
26
|
+
- **Best for:** Complex issues, multi-file changes, unknown root cause
|
|
27
|
+
|
|
28
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
task: resolveGithubIssue()
|
|
36
|
+
responsavel: Gage (Operator)
|
|
37
|
+
responsavel_type: Agente
|
|
38
|
+
atomic_layer: Organism
|
|
39
|
+
|
|
40
|
+
**Entrada:**
|
|
41
|
+
- campo: issue_number
|
|
42
|
+
tipo: number
|
|
43
|
+
origem: User Input
|
|
44
|
+
obrigatorio: true
|
|
45
|
+
validacao: Must be a valid open GitHub issue number
|
|
46
|
+
|
|
47
|
+
- campo: mode
|
|
48
|
+
tipo: string
|
|
49
|
+
origem: User Input
|
|
50
|
+
obrigatorio: false
|
|
51
|
+
validacao: yolo|interactive|pre-flight
|
|
52
|
+
default: interactive
|
|
53
|
+
|
|
54
|
+
- campo: branch
|
|
55
|
+
tipo: string
|
|
56
|
+
origem: Auto-detect or User Input
|
|
57
|
+
obrigatorio: false
|
|
58
|
+
validacao: Valid git branch name
|
|
59
|
+
default: Current branch
|
|
60
|
+
|
|
61
|
+
**Saida:**
|
|
62
|
+
- campo: resolution_summary
|
|
63
|
+
tipo: object
|
|
64
|
+
destino: GitHub Issue Comment + User Display
|
|
65
|
+
persistido: true
|
|
66
|
+
formato: |
|
|
67
|
+
{ issue: number, commit: sha, files_changed: number, tests: pass/fail, closed: boolean }
|
|
68
|
+
|
|
69
|
+
- campo: commit_sha
|
|
70
|
+
tipo: string
|
|
71
|
+
destino: Git
|
|
72
|
+
persistido: true
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Pre-Conditions
|
|
78
|
+
|
|
79
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
80
|
+
|
|
81
|
+
**Checklist:**
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
pre-conditions:
|
|
85
|
+
- [ ] GitHub CLI authenticated (gh auth status)
|
|
86
|
+
tipo: pre-condition
|
|
87
|
+
blocker: true
|
|
88
|
+
error_message: "GitHub CLI not authenticated. Run: gh auth login"
|
|
89
|
+
|
|
90
|
+
- [ ] Issue exists and is open
|
|
91
|
+
tipo: pre-condition
|
|
92
|
+
blocker: true
|
|
93
|
+
validacao: |
|
|
94
|
+
Run: gh issue view {issue_number} --json state
|
|
95
|
+
Must return state: "OPEN"
|
|
96
|
+
error_message: "Issue #{issue_number} not found or already closed"
|
|
97
|
+
|
|
98
|
+
- [ ] Working tree is clean (no uncommitted changes)
|
|
99
|
+
tipo: pre-condition
|
|
100
|
+
blocker: false
|
|
101
|
+
validacao: |
|
|
102
|
+
Run: git status --porcelain
|
|
103
|
+
If dirty: warn user, suggest stash or commit first
|
|
104
|
+
error_message: "Uncommitted changes detected. Commit or stash before proceeding."
|
|
105
|
+
|
|
106
|
+
- [ ] On appropriate branch
|
|
107
|
+
tipo: pre-condition
|
|
108
|
+
blocker: false
|
|
109
|
+
validacao: |
|
|
110
|
+
Check current branch with: git branch --show-current
|
|
111
|
+
Warn if on main/master (suggest creating feature branch)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Workflow Steps
|
|
117
|
+
|
|
118
|
+
### Phase 1: Investigate (understand the issue)
|
|
119
|
+
|
|
120
|
+
**Goal:** Fully understand the problem before writing any code.
|
|
121
|
+
|
|
122
|
+
```yaml
|
|
123
|
+
steps:
|
|
124
|
+
1_fetch_issue:
|
|
125
|
+
command: gh issue view {issue_number} --json title,body,labels,comments,assignees
|
|
126
|
+
output: issue_data
|
|
127
|
+
purpose: Get full issue details including comments with context
|
|
128
|
+
|
|
129
|
+
2_analyze_issue:
|
|
130
|
+
action: Read issue body and comments carefully
|
|
131
|
+
extract:
|
|
132
|
+
- What is the reported problem?
|
|
133
|
+
- What is the expected behavior?
|
|
134
|
+
- What is the actual behavior?
|
|
135
|
+
- Are there reproduction steps?
|
|
136
|
+
- Are there error messages or logs?
|
|
137
|
+
- Which files/modules are likely affected?
|
|
138
|
+
output: issue_analysis
|
|
139
|
+
|
|
140
|
+
3_codebase_investigation:
|
|
141
|
+
action: Search codebase for affected code
|
|
142
|
+
tools:
|
|
143
|
+
- Grep: Search for keywords from issue (error messages, function names, file paths)
|
|
144
|
+
- Glob: Find related files by pattern
|
|
145
|
+
- Read: Read suspect files to understand current behavior
|
|
146
|
+
output: affected_files[]
|
|
147
|
+
purpose: Confirm root cause and scope of change
|
|
148
|
+
|
|
149
|
+
4_research_if_needed:
|
|
150
|
+
condition: Issue involves external standards, APIs, or unfamiliar technology
|
|
151
|
+
action: |
|
|
152
|
+
Use /tech-search skill for deep research:
|
|
153
|
+
- External format specifications (e.g., Copilot .agent.md format)
|
|
154
|
+
- API documentation changes
|
|
155
|
+
- Best practices for the technology involved
|
|
156
|
+
Research output saved to docs/research/{date}-{slug}/
|
|
157
|
+
output: research_findings (optional)
|
|
158
|
+
examples:
|
|
159
|
+
- Issue #138: Required /tech-search for GitHub Copilot custom agents format
|
|
160
|
+
- Issue #159: No research needed (simple rename across codebase)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Checkpoint (Interactive/Pre-Flight modes):**
|
|
164
|
+
|
|
165
|
+
Present investigation summary to user:
|
|
166
|
+
```
|
|
167
|
+
Investigation Summary for Issue #{number}:
|
|
168
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
169
|
+
|
|
170
|
+
Problem: {description}
|
|
171
|
+
Root Cause: {root_cause}
|
|
172
|
+
Affected Files: {count} files
|
|
173
|
+
- {file1}
|
|
174
|
+
- {file2}
|
|
175
|
+
- ...
|
|
176
|
+
Research: {needed/not_needed/completed}
|
|
177
|
+
Estimated Effort: {XS/S/M/L/XL}
|
|
178
|
+
|
|
179
|
+
Proposed Approach:
|
|
180
|
+
1. {step1}
|
|
181
|
+
2. {step2}
|
|
182
|
+
...
|
|
183
|
+
|
|
184
|
+
Proceed with implementation? (Y/n)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Phase 2: Plan (design the solution)
|
|
188
|
+
|
|
189
|
+
**Goal:** Create a clear implementation plan before touching code.
|
|
190
|
+
|
|
191
|
+
```yaml
|
|
192
|
+
steps:
|
|
193
|
+
1_identify_changes:
|
|
194
|
+
action: List all files that need to be created, modified, or deleted
|
|
195
|
+
output: change_manifest[]
|
|
196
|
+
format: |
|
|
197
|
+
| Action | File | Description |
|
|
198
|
+
|--------|------|-------------|
|
|
199
|
+
| CREATE | path/to/new-file.js | New component for X |
|
|
200
|
+
| MODIFY | path/to/existing.js | Update function Y |
|
|
201
|
+
| DELETE | path/to/old-file.md | Replaced by new format |
|
|
202
|
+
| RENAME | old-name → new-name | Extension change |
|
|
203
|
+
|
|
204
|
+
2_check_dependencies:
|
|
205
|
+
action: Verify if changes affect other systems
|
|
206
|
+
checks:
|
|
207
|
+
- Does this change affect the installer? (packages/installer/)
|
|
208
|
+
- Does this change affect IDE sync? (.aios-core/infrastructure/scripts/ide-sync/)
|
|
209
|
+
- Does this change affect tests? (tests/)
|
|
210
|
+
- Does this change affect documentation? (docs/)
|
|
211
|
+
- Does this change affect CI/CD? (.github/workflows/)
|
|
212
|
+
- Does this change affect other agents? (.aios-core/development/agents/)
|
|
213
|
+
output: dependency_impacts[]
|
|
214
|
+
|
|
215
|
+
3_verify_ids_gate:
|
|
216
|
+
action: IDS G4 - Check Entity Registry for reusable patterns
|
|
217
|
+
gate: G4 (Dev Context - Informational, non-blocking)
|
|
218
|
+
checks:
|
|
219
|
+
- Are there existing patterns/utilities that solve part of this?
|
|
220
|
+
- Can existing code be ADAPTED (< 30% change) instead of creating new?
|
|
221
|
+
- If creating new entities, prepare registry entry
|
|
222
|
+
output: ids_decision (REUSE/ADAPT/CREATE per entity)
|
|
223
|
+
|
|
224
|
+
4_plan_tests:
|
|
225
|
+
action: Determine test strategy
|
|
226
|
+
checks:
|
|
227
|
+
- Existing tests that need updating?
|
|
228
|
+
- New tests required?
|
|
229
|
+
- Manual validation steps?
|
|
230
|
+
output: test_plan
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Phase 3: Implement (make the changes)
|
|
234
|
+
|
|
235
|
+
**Goal:** Execute the plan with quality and safety.
|
|
236
|
+
|
|
237
|
+
```yaml
|
|
238
|
+
steps:
|
|
239
|
+
1_implement_changes:
|
|
240
|
+
action: Apply changes following the plan from Phase 2
|
|
241
|
+
rules:
|
|
242
|
+
- Follow project conventions (CLAUDE.md)
|
|
243
|
+
- Use absolute imports, never relative
|
|
244
|
+
- No `any` in TypeScript
|
|
245
|
+
- kebab-case files, PascalCase components
|
|
246
|
+
- Conventional Commits for commit message
|
|
247
|
+
- Reference issue number in commit: "fix(scope): description (#N)"
|
|
248
|
+
|
|
249
|
+
2_parallel_execution:
|
|
250
|
+
condition: Multiple independent changes can be made simultaneously
|
|
251
|
+
action: Use Task tool with subagents for parallel work
|
|
252
|
+
examples:
|
|
253
|
+
- Issue #159: 5 parallel agents for bulk rename across 136 files
|
|
254
|
+
- Issue #138: Sequential (transformer → config → sync → cleanup)
|
|
255
|
+
guidance: |
|
|
256
|
+
Use parallel agents when:
|
|
257
|
+
- Changes are to independent files with no cross-dependencies
|
|
258
|
+
- Bulk operations across many files (>10 files with similar changes)
|
|
259
|
+
- Research + implementation can overlap
|
|
260
|
+
Use sequential when:
|
|
261
|
+
- Later changes depend on earlier ones
|
|
262
|
+
- Config changes must be tested before file operations
|
|
263
|
+
- New code must exist before references to it
|
|
264
|
+
|
|
265
|
+
3_handle_edge_cases:
|
|
266
|
+
action: Watch for common pitfalls from past sessions
|
|
267
|
+
known_pitfalls:
|
|
268
|
+
- Email addresses inside strings may match rename patterns (Issue #159: security@synkra/aios-core.dev)
|
|
269
|
+
- YAML parser converts "KEY: value" to objects, not strings (Issue #138: core_principles)
|
|
270
|
+
- Windows bash escapes `!` in inline scripts (use temp .js files instead of node -e)
|
|
271
|
+
- Replace_all may match unintended occurrences (always verify with Grep after bulk changes)
|
|
272
|
+
- Submodule `pro` shows as modified even when unchanged (ignore in git status)
|
|
273
|
+
mitigation: |
|
|
274
|
+
After bulk changes:
|
|
275
|
+
1. Grep for the old pattern to verify completeness
|
|
276
|
+
2. Grep for corruption patterns (partial replacements)
|
|
277
|
+
3. Read a sample of changed files to verify correctness
|
|
278
|
+
|
|
279
|
+
4_regenerate_manifests:
|
|
280
|
+
condition: Changes affect files tracked by install manifest
|
|
281
|
+
action: |
|
|
282
|
+
Run: node scripts/generate-install-manifest.js
|
|
283
|
+
This regenerates .aios-core/install-manifest.yaml
|
|
284
|
+
when: Any file in .aios-core/ or packages/ is created, modified, or deleted
|
|
285
|
+
|
|
286
|
+
5_run_ide_sync:
|
|
287
|
+
condition: Changes affect agent definitions or IDE sync system
|
|
288
|
+
action: |
|
|
289
|
+
Run: node .aios-core/infrastructure/scripts/ide-sync/index.js sync --verbose
|
|
290
|
+
Verify all IDEs sync without errors
|
|
291
|
+
when: Changes to .aios-core/development/agents/ or ide-sync/
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Phase 4: Validate (test and verify)
|
|
295
|
+
|
|
296
|
+
**Goal:** Ensure changes are correct and don't break anything.
|
|
297
|
+
|
|
298
|
+
```yaml
|
|
299
|
+
steps:
|
|
300
|
+
1_run_tests:
|
|
301
|
+
command: npm test
|
|
302
|
+
must_pass: true
|
|
303
|
+
on_failure: |
|
|
304
|
+
Analyze test output, fix failures, re-run.
|
|
305
|
+
Do NOT proceed to commit if tests fail.
|
|
306
|
+
|
|
307
|
+
2_verify_changes:
|
|
308
|
+
action: Manual verification
|
|
309
|
+
checks:
|
|
310
|
+
- [ ] All files listed in plan were changed
|
|
311
|
+
- [ ] No unintended files were modified
|
|
312
|
+
- [ ] Grep confirms old patterns are gone (for bulk changes)
|
|
313
|
+
- [ ] Sample output looks correct (for format changes)
|
|
314
|
+
- [ ] No secrets or credentials in changed files
|
|
315
|
+
|
|
316
|
+
3_lint_check:
|
|
317
|
+
command: npm run lint
|
|
318
|
+
must_pass: false
|
|
319
|
+
note: Warn if lint fails but don't block (some projects may not have lint)
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Phase 5: Commit & Push
|
|
323
|
+
|
|
324
|
+
**Goal:** Create a clean, well-documented commit and push to remote.
|
|
325
|
+
|
|
326
|
+
```yaml
|
|
327
|
+
steps:
|
|
328
|
+
1_stage_changes:
|
|
329
|
+
action: Stage ONLY files related to this issue
|
|
330
|
+
rules:
|
|
331
|
+
- Use specific file names, NOT "git add -A" or "git add ."
|
|
332
|
+
- Exclude unrelated changes (pro submodule, coverage files, etc.)
|
|
333
|
+
- Exclude .env, credentials, and sensitive files
|
|
334
|
+
- Include regenerated manifests if applicable
|
|
335
|
+
|
|
336
|
+
2_commit:
|
|
337
|
+
action: Create commit following Conventional Commits
|
|
338
|
+
format: |
|
|
339
|
+
{type}({scope}): {description} (#{issue_number})
|
|
340
|
+
|
|
341
|
+
{body - what was changed and why}
|
|
342
|
+
|
|
343
|
+
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
344
|
+
type_map:
|
|
345
|
+
BUG: fix
|
|
346
|
+
FEATURE: feat
|
|
347
|
+
ENHANCEMENT: feat
|
|
348
|
+
DOCS: docs
|
|
349
|
+
CHORE: chore
|
|
350
|
+
SECURITY: fix
|
|
351
|
+
|
|
352
|
+
3_push:
|
|
353
|
+
command: git push origin {branch}
|
|
354
|
+
authority: "@devops EXCLUSIVE — only this agent pushes to remote"
|
|
355
|
+
on_failure: |
|
|
356
|
+
Check if branch has upstream: git push -u origin {branch}
|
|
357
|
+
Check for conflicts: git pull --rebase origin {branch}
|
|
358
|
+
|
|
359
|
+
4_close_issue:
|
|
360
|
+
command: |
|
|
361
|
+
gh issue close {issue_number} --comment "$(cat <<'EOF'
|
|
362
|
+
## Resolved in commit {sha}
|
|
363
|
+
|
|
364
|
+
### Root Cause
|
|
365
|
+
{root_cause_description}
|
|
366
|
+
|
|
367
|
+
### Changes
|
|
368
|
+
{numbered_list_of_changes}
|
|
369
|
+
|
|
370
|
+
### Validation
|
|
371
|
+
- {test_count} tests passing
|
|
372
|
+
- {validation_details}
|
|
373
|
+
EOF
|
|
374
|
+
)"
|
|
375
|
+
purpose: Close with detailed resolution comment for future reference
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Post-Conditions
|
|
381
|
+
|
|
382
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
383
|
+
|
|
384
|
+
**Checklist:**
|
|
385
|
+
|
|
386
|
+
```yaml
|
|
387
|
+
post-conditions:
|
|
388
|
+
- [ ] All planned changes implemented
|
|
389
|
+
tipo: post-condition
|
|
390
|
+
blocker: true
|
|
391
|
+
|
|
392
|
+
- [ ] Tests pass (npm test exit code 0)
|
|
393
|
+
tipo: post-condition
|
|
394
|
+
blocker: true
|
|
395
|
+
|
|
396
|
+
- [ ] Changes committed with proper message referencing issue
|
|
397
|
+
tipo: post-condition
|
|
398
|
+
blocker: true
|
|
399
|
+
|
|
400
|
+
- [ ] Changes pushed to remote
|
|
401
|
+
tipo: post-condition
|
|
402
|
+
blocker: true
|
|
403
|
+
|
|
404
|
+
- [ ] Issue closed with resolution comment
|
|
405
|
+
tipo: post-condition
|
|
406
|
+
blocker: true
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## Acceptance Criteria
|
|
412
|
+
|
|
413
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
414
|
+
|
|
415
|
+
**Checklist:**
|
|
416
|
+
|
|
417
|
+
```yaml
|
|
418
|
+
acceptance-criteria:
|
|
419
|
+
- [ ] Issue root cause identified and documented in close comment
|
|
420
|
+
tipo: acceptance-criterion
|
|
421
|
+
blocker: true
|
|
422
|
+
|
|
423
|
+
- [ ] Fix addresses the reported problem completely
|
|
424
|
+
tipo: acceptance-criterion
|
|
425
|
+
blocker: true
|
|
426
|
+
|
|
427
|
+
- [ ] No regressions introduced (all existing tests pass)
|
|
428
|
+
tipo: acceptance-criterion
|
|
429
|
+
blocker: true
|
|
430
|
+
|
|
431
|
+
- [ ] Commit follows Conventional Commits format with issue reference
|
|
432
|
+
tipo: acceptance-criterion
|
|
433
|
+
blocker: true
|
|
434
|
+
|
|
435
|
+
- [ ] Issue closed on GitHub with detailed resolution
|
|
436
|
+
tipo: acceptance-criterion
|
|
437
|
+
blocker: true
|
|
438
|
+
|
|
439
|
+
- [ ] If research was needed, saved to docs/research/
|
|
440
|
+
tipo: acceptance-criterion
|
|
441
|
+
blocker: false
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## Tools
|
|
447
|
+
|
|
448
|
+
**External/shared resources used by this task:**
|
|
449
|
+
|
|
450
|
+
- **Tool:** gh (GitHub CLI)
|
|
451
|
+
- **Purpose:** Fetch issue details, close issues, add comments
|
|
452
|
+
- **Source:** System CLI
|
|
453
|
+
- **Required:** true
|
|
454
|
+
|
|
455
|
+
- **Tool:** git
|
|
456
|
+
- **Purpose:** Stage, commit, push changes
|
|
457
|
+
- **Source:** System CLI
|
|
458
|
+
- **Required:** true
|
|
459
|
+
- **Authority:** @devops EXCLUSIVE for push operations
|
|
460
|
+
|
|
461
|
+
- **Tool:** npm
|
|
462
|
+
- **Purpose:** Run tests (npm test), lint, build
|
|
463
|
+
- **Source:** System CLI
|
|
464
|
+
- **Required:** true
|
|
465
|
+
|
|
466
|
+
- **Tool:** /tech-search (skill)
|
|
467
|
+
- **Purpose:** Deep research when issue involves external specs/APIs
|
|
468
|
+
- **Source:** .claude/skills/tech-search
|
|
469
|
+
- **Required:** false (only when research needed)
|
|
470
|
+
|
|
471
|
+
- **Tool:** Grep/Glob/Read
|
|
472
|
+
- **Purpose:** Codebase investigation during Phase 1
|
|
473
|
+
- **Source:** Claude Code native tools
|
|
474
|
+
- **Required:** true
|
|
475
|
+
|
|
476
|
+
- **Tool:** Task (subagents)
|
|
477
|
+
- **Purpose:** Parallel execution for bulk operations
|
|
478
|
+
- **Source:** Claude Code native tool
|
|
479
|
+
- **Required:** false (only for large-scope changes)
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
## Dependencies
|
|
484
|
+
|
|
485
|
+
```yaml
|
|
486
|
+
dependencies:
|
|
487
|
+
tasks:
|
|
488
|
+
- triage-github-issues.md # Upstream: triage feeds into resolve
|
|
489
|
+
- github-devops-pre-push-quality-gate.md # Optional: full quality gate before push
|
|
490
|
+
checklists: []
|
|
491
|
+
templates: []
|
|
492
|
+
skills:
|
|
493
|
+
- tech-search # For deep research when needed
|
|
494
|
+
tools:
|
|
495
|
+
- gh (GitHub CLI)
|
|
496
|
+
- git
|
|
497
|
+
- npm
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
## Error Handling
|
|
503
|
+
|
|
504
|
+
**Strategy:** checkpoint-and-recover
|
|
505
|
+
|
|
506
|
+
**Common Errors:**
|
|
507
|
+
|
|
508
|
+
1. **Error:** Issue already closed
|
|
509
|
+
- **Cause:** Someone else closed the issue
|
|
510
|
+
- **Resolution:** Verify with `gh issue view`, report to user
|
|
511
|
+
- **Recovery:** Skip close step, still commit if fix was needed
|
|
512
|
+
|
|
513
|
+
2. **Error:** Tests fail after implementation
|
|
514
|
+
- **Cause:** Code change introduced regression
|
|
515
|
+
- **Resolution:** Analyze test output, fix the issue
|
|
516
|
+
- **Recovery:** Do NOT push. Fix tests first, then retry Phase 4-5
|
|
517
|
+
|
|
518
|
+
3. **Error:** Push rejected (behind remote)
|
|
519
|
+
- **Cause:** Remote has new commits
|
|
520
|
+
- **Resolution:** `git pull --rebase origin {branch}` then retry push
|
|
521
|
+
- **Recovery:** If rebase has conflicts, resolve and re-test
|
|
522
|
+
|
|
523
|
+
4. **Error:** Bulk replace corrupts unintended strings
|
|
524
|
+
- **Cause:** Pattern matches inside URLs, emails, or compound identifiers
|
|
525
|
+
- **Resolution:** Grep for corruption patterns immediately after replace
|
|
526
|
+
- **Recovery:** Manual fix of affected files, re-verify
|
|
527
|
+
- **Prevention:** Use targeted edits instead of global replace when pattern is ambiguous
|
|
528
|
+
|
|
529
|
+
5. **Error:** Research needed but /tech-search unavailable
|
|
530
|
+
- **Cause:** Skill not loaded or external search failing
|
|
531
|
+
- **Resolution:** Fall back to manual WebSearch + WebFetch
|
|
532
|
+
- **Recovery:** Document findings manually in docs/research/
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## Performance
|
|
537
|
+
|
|
538
|
+
**Expected Metrics:**
|
|
539
|
+
|
|
540
|
+
```yaml
|
|
541
|
+
duration_expected:
|
|
542
|
+
XS_issue: 5-15 min
|
|
543
|
+
S_issue: 15-30 min
|
|
544
|
+
M_issue: 30-60 min
|
|
545
|
+
L_issue: 1-2 hours
|
|
546
|
+
XL_issue: 2-4 hours
|
|
547
|
+
cost_estimated: $0.01-0.10 (depends on complexity and research)
|
|
548
|
+
token_usage: ~5,000-50,000 tokens
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
---
|
|
552
|
+
|
|
553
|
+
## Metadata
|
|
554
|
+
|
|
555
|
+
```yaml
|
|
556
|
+
story: N/A (operational task)
|
|
557
|
+
version: 1.0.0
|
|
558
|
+
dependencies:
|
|
559
|
+
tasks:
|
|
560
|
+
- triage-github-issues.md
|
|
561
|
+
- github-devops-pre-push-quality-gate.md
|
|
562
|
+
skills:
|
|
563
|
+
- tech-search
|
|
564
|
+
tags:
|
|
565
|
+
- devops
|
|
566
|
+
- issue-management
|
|
567
|
+
- implementation
|
|
568
|
+
- quality-gates
|
|
569
|
+
created_at: 2026-02-21
|
|
570
|
+
updated_at: 2026-02-21
|
|
571
|
+
related_tasks:
|
|
572
|
+
- triage-github-issues.md
|
|
573
|
+
- github-devops-pre-push-quality-gate.md
|
|
574
|
+
- github-devops-github-pr-automation.md
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Lessons Learned (from past sessions)
|
|
580
|
+
|
|
581
|
+
These patterns were identified from real issue resolution sessions and should guide execution:
|
|
582
|
+
|
|
583
|
+
### Issue #159 (Bulk Rename) — Parallel + Edge Cases
|
|
584
|
+
- **Pattern:** 5 parallel agents for 136 files, split by directory
|
|
585
|
+
- **Pitfall:** `@synkra/aios-core` inside email `security@synkra/aios-core.dev` was corrupted
|
|
586
|
+
- **Lesson:** Always Grep for edge cases AFTER bulk replacements
|
|
587
|
+
|
|
588
|
+
### Issue #138 (Copilot Format) — Research-First
|
|
589
|
+
- **Pattern:** /tech-search before implementation, 6-phase plan from research
|
|
590
|
+
- **Pitfall:** YAML parsed `CRITICAL: value` as `{CRITICAL: value}` object instead of string
|
|
591
|
+
- **Lesson:** Handle both string and object formats when processing YAML arrays
|
|
592
|
+
|
|
593
|
+
### Issue #174 (Package Name) — Quick Win
|
|
594
|
+
- **Pattern:** Small, focused fix in 1 file, immediate validation
|
|
595
|
+
- **Lesson:** Quick wins should still follow full validate → commit → push → close cycle
|
|
596
|
+
|
|
597
|
+
### Email Removal — User Feedback Mid-Session
|
|
598
|
+
- **Pattern:** User noticed non-existent emails during issue resolution
|
|
599
|
+
- **Lesson:** Be responsive to user feedback even when working on a different issue
|
|
600
|
+
|
|
601
|
+
---
|
|
602
|
+
|
|
603
|
+
## Integration with @devops Agent
|
|
604
|
+
|
|
605
|
+
Called via `@devops *resolve-issue {number}` command.
|
|
606
|
+
|
|
607
|
+
**Upstream:** `*triage-issues` → user selects issue → `*resolve-issue {number}`
|
|
608
|
+
**Downstream:** After resolution → `*triage-issues` again for next issue (if in batch mode)
|