@josstei/maestro 1.6.4-rc.1
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/.agents/plugins/marketplace.json +20 -0
- package/CHANGELOG.md +485 -0
- package/EXAMPLES.md +255 -0
- package/GEMINI.md +231 -0
- package/LICENSE +201 -0
- package/QWEN.md +241 -0
- package/README.md +220 -0
- package/agents/accessibility_specialist.md +20 -0
- package/agents/analytics_engineer.md +22 -0
- package/agents/api_designer.md +19 -0
- package/agents/architect.md +19 -0
- package/agents/cloud_architect.md +19 -0
- package/agents/cobol_engineer.md +22 -0
- package/agents/code_reviewer.md +17 -0
- package/agents/coder.md +22 -0
- package/agents/compliance_reviewer.md +19 -0
- package/agents/content_strategist.md +19 -0
- package/agents/copywriter.md +19 -0
- package/agents/data_engineer.md +22 -0
- package/agents/database_administrator.md +21 -0
- package/agents/db2_dba.md +21 -0
- package/agents/debugger.md +19 -0
- package/agents/design_system_engineer.md +22 -0
- package/agents/devops_engineer.md +23 -0
- package/agents/hlasm_assembler_specialist.md +22 -0
- package/agents/i18n_specialist.md +21 -0
- package/agents/ibm_i_specialist.md +22 -0
- package/agents/integration_engineer.md +23 -0
- package/agents/ml_engineer.md +23 -0
- package/agents/mlops_engineer.md +23 -0
- package/agents/mobile_engineer.md +23 -0
- package/agents/observability_engineer.md +23 -0
- package/agents/performance_engineer.md +21 -0
- package/agents/platform_engineer.md +24 -0
- package/agents/product_manager.md +20 -0
- package/agents/prompt_engineer.md +22 -0
- package/agents/refactor.md +22 -0
- package/agents/release_manager.md +22 -0
- package/agents/security_engineer.md +21 -0
- package/agents/seo_specialist.md +21 -0
- package/agents/site_reliability_engineer.md +21 -0
- package/agents/solutions_architect.md +19 -0
- package/agents/technical_writer.md +21 -0
- package/agents/tester.md +23 -0
- package/agents/ux_designer.md +20 -0
- package/agents/zos_sysprog.md +21 -0
- package/bin/maestro-mcp-server.js +10 -0
- package/claude/.claude-plugin/plugin.json +21 -0
- package/claude/.mcp.json +11 -0
- package/claude/README.md +191 -0
- package/claude/agents/accessibility-specialist.md +36 -0
- package/claude/agents/analytics-engineer.md +38 -0
- package/claude/agents/api-designer.md +33 -0
- package/claude/agents/architect.md +33 -0
- package/claude/agents/cloud-architect.md +33 -0
- package/claude/agents/cobol-engineer.md +38 -0
- package/claude/agents/code-reviewer.md +31 -0
- package/claude/agents/coder.md +38 -0
- package/claude/agents/compliance-reviewer.md +33 -0
- package/claude/agents/content-strategist.md +33 -0
- package/claude/agents/copywriter.md +33 -0
- package/claude/agents/data-engineer.md +37 -0
- package/claude/agents/database-administrator.md +37 -0
- package/claude/agents/db2-dba.md +37 -0
- package/claude/agents/debugger.md +32 -0
- package/claude/agents/design-system-engineer.md +38 -0
- package/claude/agents/devops-engineer.md +39 -0
- package/claude/agents/hlasm-assembler-specialist.md +38 -0
- package/claude/agents/i18n-specialist.md +37 -0
- package/claude/agents/ibm-i-specialist.md +38 -0
- package/claude/agents/integration-engineer.md +39 -0
- package/claude/agents/ml-engineer.md +39 -0
- package/claude/agents/mlops-engineer.md +39 -0
- package/claude/agents/mobile-engineer.md +39 -0
- package/claude/agents/observability-engineer.md +39 -0
- package/claude/agents/performance-engineer.md +34 -0
- package/claude/agents/platform-engineer.md +40 -0
- package/claude/agents/product-manager.md +34 -0
- package/claude/agents/prompt-engineer.md +38 -0
- package/claude/agents/refactor.md +38 -0
- package/claude/agents/release-manager.md +38 -0
- package/claude/agents/security-engineer.md +37 -0
- package/claude/agents/seo-specialist.md +37 -0
- package/claude/agents/site-reliability-engineer.md +37 -0
- package/claude/agents/solutions-architect.md +33 -0
- package/claude/agents/technical-writer.md +37 -0
- package/claude/agents/tester.md +39 -0
- package/claude/agents/ux-designer.md +34 -0
- package/claude/agents/zos-sysprog.md +37 -0
- package/claude/hooks/claude-hooks.json +48 -0
- package/claude/mcp/maestro-server.js +9 -0
- package/claude/mcp-config.example.json +9 -0
- package/claude/scripts/adapters/claude-adapter.js +7 -0
- package/claude/scripts/hook-runner.js +8 -0
- package/claude/scripts/policy-enforcer.js +294 -0
- package/claude/skills/a11y-audit/SKILL.md +26 -0
- package/claude/skills/archive/SKILL.md +24 -0
- package/claude/skills/code-review/SKILL.md +7 -0
- package/claude/skills/compliance-check/SKILL.md +26 -0
- package/claude/skills/debug-workflow/SKILL.md +27 -0
- package/claude/skills/delegation/SKILL.md +7 -0
- package/claude/skills/design-dialogue/SKILL.md +7 -0
- package/claude/skills/execute/SKILL.md +38 -0
- package/claude/skills/execution/SKILL.md +7 -0
- package/claude/skills/implementation-planning/SKILL.md +7 -0
- package/claude/skills/orchestrate/SKILL.md +38 -0
- package/claude/skills/perf-check/SKILL.md +26 -0
- package/claude/skills/resume-session/SKILL.md +38 -0
- package/claude/skills/review-code/SKILL.md +27 -0
- package/claude/skills/security-audit/SKILL.md +28 -0
- package/claude/skills/seo-audit/SKILL.md +26 -0
- package/claude/skills/session-management/SKILL.md +7 -0
- package/claude/skills/status/SKILL.md +22 -0
- package/claude/skills/validation/SKILL.md +7 -0
- package/claude/src/agents/accessibility-specialist.md +163 -0
- package/claude/src/agents/analytics-engineer.md +182 -0
- package/claude/src/agents/api-designer.md +124 -0
- package/claude/src/agents/architect.md +120 -0
- package/claude/src/agents/cloud-architect.md +134 -0
- package/claude/src/agents/cobol-engineer.md +127 -0
- package/claude/src/agents/code-reviewer.md +123 -0
- package/claude/src/agents/coder.md +132 -0
- package/claude/src/agents/compliance-reviewer.md +219 -0
- package/claude/src/agents/content-strategist.md +111 -0
- package/claude/src/agents/copywriter.md +113 -0
- package/claude/src/agents/data-engineer.md +130 -0
- package/claude/src/agents/database-administrator.md +126 -0
- package/claude/src/agents/db2-dba.md +124 -0
- package/claude/src/agents/debugger.md +133 -0
- package/claude/src/agents/design-system-engineer.md +258 -0
- package/claude/src/agents/devops-engineer.md +138 -0
- package/claude/src/agents/hlasm-assembler-specialist.md +134 -0
- package/claude/src/agents/i18n-specialist.md +241 -0
- package/claude/src/agents/ibm-i-specialist.md +132 -0
- package/claude/src/agents/integration-engineer.md +133 -0
- package/claude/src/agents/ml-engineer.md +115 -0
- package/claude/src/agents/mlops-engineer.md +116 -0
- package/claude/src/agents/mobile-engineer.md +115 -0
- package/claude/src/agents/observability-engineer.md +133 -0
- package/claude/src/agents/performance-engineer.md +139 -0
- package/claude/src/agents/platform-engineer.md +129 -0
- package/claude/src/agents/product-manager.md +170 -0
- package/claude/src/agents/prompt-engineer.md +129 -0
- package/claude/src/agents/refactor.md +138 -0
- package/claude/src/agents/release-manager.md +132 -0
- package/claude/src/agents/security-engineer.md +143 -0
- package/claude/src/agents/seo-specialist.md +129 -0
- package/claude/src/agents/site-reliability-engineer.md +131 -0
- package/claude/src/agents/solutions-architect.md +137 -0
- package/claude/src/agents/technical-writer.md +129 -0
- package/claude/src/agents/tester.md +135 -0
- package/claude/src/agents/ux-designer.md +168 -0
- package/claude/src/agents/zos-sysprog.md +134 -0
- package/claude/src/config/setting-resolver.js +32 -0
- package/claude/src/core/agent-registry.js +67 -0
- package/claude/src/core/canonical-source.js +39 -0
- package/claude/src/core/env-file-parser.js +82 -0
- package/claude/src/core/feature-blocks.js +34 -0
- package/claude/src/core/logger.js +12 -0
- package/claude/src/core/markdown-state.js +36 -0
- package/claude/src/core/policy-rules.js +32 -0
- package/claude/src/core/project-root-resolver.js +184 -0
- package/claude/src/core/stdin-reader.js +77 -0
- package/claude/src/core/version.js +50 -0
- package/claude/src/entry-points/core-command-registry.js +37 -0
- package/claude/src/entry-points/preamble-builders.js +54 -0
- package/claude/src/entry-points/registry.js +199 -0
- package/claude/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/claude/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/claude/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/claude/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/claude/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/claude/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/claude/src/generated/agent-registry.json +630 -0
- package/claude/src/generated/hook-registry.json +18 -0
- package/claude/src/generated/resource-registry.json +16 -0
- package/claude/src/hooks/logic/after-agent-logic.js +54 -0
- package/claude/src/hooks/logic/before-agent-logic.js +57 -0
- package/claude/src/hooks/logic/hook-state.js +127 -0
- package/claude/src/hooks/logic/session-end-logic.js +17 -0
- package/claude/src/hooks/logic/session-start-logic.js +25 -0
- package/claude/src/lib/discovery/index.js +172 -0
- package/claude/src/lib/errors/index.js +104 -0
- package/claude/src/lib/framework-detection.js +50 -0
- package/claude/src/lib/frontmatter/index.js +262 -0
- package/claude/src/lib/io/index.js +96 -0
- package/claude/src/lib/naming/index.js +94 -0
- package/claude/src/lib/validation/index.js +124 -0
- package/claude/src/lib/yaml-emit.js +38 -0
- package/claude/src/mcp/content/provider.js +68 -0
- package/claude/src/mcp/content/runtime-content.js +188 -0
- package/claude/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/claude/src/mcp/contracts/downstream-context.js +106 -0
- package/claude/src/mcp/contracts/plan-schema.js +148 -0
- package/claude/src/mcp/contracts/workspace-marker.js +61 -0
- package/claude/src/mcp/core/create-server.js +76 -0
- package/claude/src/mcp/core/line-reader.js +35 -0
- package/claude/src/mcp/core/project-root-cache.js +120 -0
- package/claude/src/mcp/core/protocol-dispatcher.js +274 -0
- package/claude/src/mcp/core/recovery-hints.js +43 -0
- package/claude/src/mcp/core/tool-outcome.js +77 -0
- package/claude/src/mcp/core/tool-registry.js +82 -0
- package/claude/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/claude/src/mcp/handlers/blocker-parser.js +34 -0
- package/claude/src/mcp/handlers/design-gate.js +393 -0
- package/claude/src/mcp/handlers/get-agent.js +54 -0
- package/claude/src/mcp/handlers/get-runtime-context.js +49 -0
- package/claude/src/mcp/handlers/get-skill-content.js +51 -0
- package/claude/src/mcp/handlers/initialize-workspace.js +45 -0
- package/claude/src/mcp/handlers/reconciliation.js +224 -0
- package/claude/src/mcp/handlers/resolve-settings.js +39 -0
- package/claude/src/mcp/handlers/session-state-core.js +108 -0
- package/claude/src/mcp/handlers/session-state-tools.js +562 -0
- package/claude/src/mcp/handlers/validate-plan.js +76 -0
- package/claude/src/mcp/maestro-server.js +122 -0
- package/claude/src/mcp/runtime/runtime-config-map.js +70 -0
- package/claude/src/mcp/tool-packs/content/index.js +80 -0
- package/claude/src/mcp/tool-packs/contracts.js +30 -0
- package/claude/src/mcp/tool-packs/index.js +15 -0
- package/claude/src/mcp/tool-packs/session/index.js +243 -0
- package/claude/src/mcp/tool-packs/workspace/index.js +98 -0
- package/claude/src/mcp/utils/extension-root.js +31 -0
- package/claude/src/mcp/validation/agent-checker.js +81 -0
- package/claude/src/mcp/validation/dag-checker.js +214 -0
- package/claude/src/mcp/validation/file-overlap-checker.js +63 -0
- package/claude/src/mcp/validation/schema-checker.js +108 -0
- package/claude/src/platforms/claude/runtime-config.js +60 -0
- package/claude/src/platforms/shared/adapters/claude-adapter.js +36 -0
- package/claude/src/platforms/shared/adapters/conventions.js +29 -0
- package/claude/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/claude/src/platforms/shared/adapters/factory.js +40 -0
- package/claude/src/platforms/shared/agent-names.js +10 -0
- package/claude/src/platforms/shared/hook-runner.js +52 -0
- package/claude/src/references/architecture.md +139 -0
- package/claude/src/references/orchestration-steps.md +193 -0
- package/claude/src/skills/shared/code-review/SKILL.md +145 -0
- package/claude/src/skills/shared/delegation/SKILL.md +370 -0
- package/claude/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/claude/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/claude/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/claude/src/skills/shared/execution/SKILL.md +258 -0
- package/claude/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/claude/src/skills/shared/session-management/SKILL.md +314 -0
- package/claude/src/skills/shared/validation/SKILL.md +204 -0
- package/claude/src/state/session-state.js +113 -0
- package/claude/src/templates/design-document.md +95 -0
- package/claude/src/templates/implementation-plan.md +86 -0
- package/claude/src/templates/session-state.md +68 -0
- package/claude/src/version.json +3 -0
- package/commands/maestro/a11y-audit.toml +22 -0
- package/commands/maestro/archive.toml +23 -0
- package/commands/maestro/compliance-check.toml +22 -0
- package/commands/maestro/debug.toml +23 -0
- package/commands/maestro/execute.toml +30 -0
- package/commands/maestro/orchestrate.toml +30 -0
- package/commands/maestro/perf-check.toml +22 -0
- package/commands/maestro/resume.toml +38 -0
- package/commands/maestro/review.toml +23 -0
- package/commands/maestro/security-audit.toml +24 -0
- package/commands/maestro/seo-audit.toml +22 -0
- package/commands/maestro/status.toml +21 -0
- package/docs/architecture.md +310 -0
- package/docs/cicd.md +647 -0
- package/docs/flow.md +255 -0
- package/docs/maestro-cheatsheet.md +199 -0
- package/docs/overview.md +141 -0
- package/docs/runtime-claude.md +190 -0
- package/docs/runtime-codex.md +197 -0
- package/docs/runtime-gemini.md +170 -0
- package/docs/runtime-qwen.md +147 -0
- package/docs/usage.md +312 -0
- package/gemini-extension.json +55 -0
- package/hooks/adapters/gemini-adapter.js +2 -0
- package/hooks/adapters/qwen-adapter.js +2 -0
- package/hooks/hook-runner.js +3 -0
- package/hooks/hooks.json +56 -0
- package/mcp/maestro-server.js +4 -0
- package/package.json +93 -0
- package/plugins/maestro/.app.json +3 -0
- package/plugins/maestro/.codex-plugin/plugin.json +41 -0
- package/plugins/maestro/.mcp.json +16 -0
- package/plugins/maestro/README.md +57 -0
- package/plugins/maestro/references/runtime-guide.md +125 -0
- package/plugins/maestro/skills/a11y-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/archive/SKILL.md +16 -0
- package/plugins/maestro/skills/code-review/SKILL.md +6 -0
- package/plugins/maestro/skills/compliance-check/SKILL.md +16 -0
- package/plugins/maestro/skills/debug-workflow/SKILL.md +16 -0
- package/plugins/maestro/skills/delegation/SKILL.md +6 -0
- package/plugins/maestro/skills/design-dialogue/SKILL.md +6 -0
- package/plugins/maestro/skills/execute/SKILL.md +16 -0
- package/plugins/maestro/skills/execution/SKILL.md +6 -0
- package/plugins/maestro/skills/implementation-planning/SKILL.md +6 -0
- package/plugins/maestro/skills/orchestrate/SKILL.md +16 -0
- package/plugins/maestro/skills/perf-check/SKILL.md +16 -0
- package/plugins/maestro/skills/resume-session/SKILL.md +16 -0
- package/plugins/maestro/skills/review-code/SKILL.md +16 -0
- package/plugins/maestro/skills/security-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/seo-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/session-management/SKILL.md +6 -0
- package/plugins/maestro/skills/status/SKILL.md +14 -0
- package/plugins/maestro/skills/validation/SKILL.md +6 -0
- package/plugins/maestro/src/agents/accessibility-specialist.md +163 -0
- package/plugins/maestro/src/agents/analytics-engineer.md +182 -0
- package/plugins/maestro/src/agents/api-designer.md +124 -0
- package/plugins/maestro/src/agents/architect.md +120 -0
- package/plugins/maestro/src/agents/cloud-architect.md +134 -0
- package/plugins/maestro/src/agents/cobol-engineer.md +127 -0
- package/plugins/maestro/src/agents/code-reviewer.md +123 -0
- package/plugins/maestro/src/agents/coder.md +132 -0
- package/plugins/maestro/src/agents/compliance-reviewer.md +219 -0
- package/plugins/maestro/src/agents/content-strategist.md +111 -0
- package/plugins/maestro/src/agents/copywriter.md +113 -0
- package/plugins/maestro/src/agents/data-engineer.md +130 -0
- package/plugins/maestro/src/agents/database-administrator.md +126 -0
- package/plugins/maestro/src/agents/db2-dba.md +124 -0
- package/plugins/maestro/src/agents/debugger.md +133 -0
- package/plugins/maestro/src/agents/design-system-engineer.md +258 -0
- package/plugins/maestro/src/agents/devops-engineer.md +138 -0
- package/plugins/maestro/src/agents/hlasm-assembler-specialist.md +134 -0
- package/plugins/maestro/src/agents/i18n-specialist.md +241 -0
- package/plugins/maestro/src/agents/ibm-i-specialist.md +132 -0
- package/plugins/maestro/src/agents/integration-engineer.md +133 -0
- package/plugins/maestro/src/agents/ml-engineer.md +115 -0
- package/plugins/maestro/src/agents/mlops-engineer.md +116 -0
- package/plugins/maestro/src/agents/mobile-engineer.md +115 -0
- package/plugins/maestro/src/agents/observability-engineer.md +133 -0
- package/plugins/maestro/src/agents/performance-engineer.md +139 -0
- package/plugins/maestro/src/agents/platform-engineer.md +129 -0
- package/plugins/maestro/src/agents/product-manager.md +170 -0
- package/plugins/maestro/src/agents/prompt-engineer.md +129 -0
- package/plugins/maestro/src/agents/refactor.md +138 -0
- package/plugins/maestro/src/agents/release-manager.md +132 -0
- package/plugins/maestro/src/agents/security-engineer.md +143 -0
- package/plugins/maestro/src/agents/seo-specialist.md +129 -0
- package/plugins/maestro/src/agents/site-reliability-engineer.md +131 -0
- package/plugins/maestro/src/agents/solutions-architect.md +137 -0
- package/plugins/maestro/src/agents/technical-writer.md +129 -0
- package/plugins/maestro/src/agents/tester.md +135 -0
- package/plugins/maestro/src/agents/ux-designer.md +168 -0
- package/plugins/maestro/src/agents/zos-sysprog.md +134 -0
- package/plugins/maestro/src/config/setting-resolver.js +32 -0
- package/plugins/maestro/src/core/agent-registry.js +67 -0
- package/plugins/maestro/src/core/canonical-source.js +39 -0
- package/plugins/maestro/src/core/env-file-parser.js +82 -0
- package/plugins/maestro/src/core/feature-blocks.js +34 -0
- package/plugins/maestro/src/core/logger.js +12 -0
- package/plugins/maestro/src/core/markdown-state.js +36 -0
- package/plugins/maestro/src/core/policy-rules.js +32 -0
- package/plugins/maestro/src/core/project-root-resolver.js +184 -0
- package/plugins/maestro/src/core/stdin-reader.js +77 -0
- package/plugins/maestro/src/core/version.js +50 -0
- package/plugins/maestro/src/entry-points/core-command-registry.js +37 -0
- package/plugins/maestro/src/entry-points/preamble-builders.js +54 -0
- package/plugins/maestro/src/entry-points/registry.js +199 -0
- package/plugins/maestro/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/plugins/maestro/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/plugins/maestro/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/plugins/maestro/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/plugins/maestro/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/plugins/maestro/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/plugins/maestro/src/generated/agent-registry.json +630 -0
- package/plugins/maestro/src/generated/hook-registry.json +18 -0
- package/plugins/maestro/src/generated/resource-registry.json +16 -0
- package/plugins/maestro/src/hooks/logic/after-agent-logic.js +54 -0
- package/plugins/maestro/src/hooks/logic/before-agent-logic.js +57 -0
- package/plugins/maestro/src/hooks/logic/hook-state.js +127 -0
- package/plugins/maestro/src/hooks/logic/session-end-logic.js +17 -0
- package/plugins/maestro/src/hooks/logic/session-start-logic.js +25 -0
- package/plugins/maestro/src/lib/discovery/index.js +172 -0
- package/plugins/maestro/src/lib/errors/index.js +104 -0
- package/plugins/maestro/src/lib/framework-detection.js +50 -0
- package/plugins/maestro/src/lib/frontmatter/index.js +262 -0
- package/plugins/maestro/src/lib/io/index.js +96 -0
- package/plugins/maestro/src/lib/naming/index.js +94 -0
- package/plugins/maestro/src/lib/validation/index.js +124 -0
- package/plugins/maestro/src/lib/yaml-emit.js +38 -0
- package/plugins/maestro/src/mcp/content/provider.js +68 -0
- package/plugins/maestro/src/mcp/content/runtime-content.js +188 -0
- package/plugins/maestro/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/plugins/maestro/src/mcp/contracts/downstream-context.js +106 -0
- package/plugins/maestro/src/mcp/contracts/plan-schema.js +148 -0
- package/plugins/maestro/src/mcp/contracts/workspace-marker.js +61 -0
- package/plugins/maestro/src/mcp/core/create-server.js +76 -0
- package/plugins/maestro/src/mcp/core/line-reader.js +35 -0
- package/plugins/maestro/src/mcp/core/project-root-cache.js +120 -0
- package/plugins/maestro/src/mcp/core/protocol-dispatcher.js +274 -0
- package/plugins/maestro/src/mcp/core/recovery-hints.js +43 -0
- package/plugins/maestro/src/mcp/core/tool-outcome.js +77 -0
- package/plugins/maestro/src/mcp/core/tool-registry.js +82 -0
- package/plugins/maestro/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/plugins/maestro/src/mcp/handlers/blocker-parser.js +34 -0
- package/plugins/maestro/src/mcp/handlers/design-gate.js +393 -0
- package/plugins/maestro/src/mcp/handlers/get-agent.js +54 -0
- package/plugins/maestro/src/mcp/handlers/get-runtime-context.js +49 -0
- package/plugins/maestro/src/mcp/handlers/get-skill-content.js +51 -0
- package/plugins/maestro/src/mcp/handlers/initialize-workspace.js +45 -0
- package/plugins/maestro/src/mcp/handlers/reconciliation.js +224 -0
- package/plugins/maestro/src/mcp/handlers/resolve-settings.js +39 -0
- package/plugins/maestro/src/mcp/handlers/session-state-core.js +108 -0
- package/plugins/maestro/src/mcp/handlers/session-state-tools.js +562 -0
- package/plugins/maestro/src/mcp/handlers/validate-plan.js +76 -0
- package/plugins/maestro/src/mcp/maestro-server.js +122 -0
- package/plugins/maestro/src/mcp/runtime/runtime-config-map.js +70 -0
- package/plugins/maestro/src/mcp/tool-packs/content/index.js +80 -0
- package/plugins/maestro/src/mcp/tool-packs/contracts.js +30 -0
- package/plugins/maestro/src/mcp/tool-packs/index.js +15 -0
- package/plugins/maestro/src/mcp/tool-packs/session/index.js +243 -0
- package/plugins/maestro/src/mcp/tool-packs/workspace/index.js +98 -0
- package/plugins/maestro/src/mcp/utils/extension-root.js +31 -0
- package/plugins/maestro/src/mcp/validation/agent-checker.js +81 -0
- package/plugins/maestro/src/mcp/validation/dag-checker.js +214 -0
- package/plugins/maestro/src/mcp/validation/file-overlap-checker.js +63 -0
- package/plugins/maestro/src/mcp/validation/schema-checker.js +108 -0
- package/plugins/maestro/src/platforms/codex/runtime-config.js +58 -0
- package/plugins/maestro/src/platforms/shared/adapters/conventions.js +29 -0
- package/plugins/maestro/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/plugins/maestro/src/platforms/shared/adapters/factory.js +40 -0
- package/plugins/maestro/src/platforms/shared/agent-names.js +10 -0
- package/plugins/maestro/src/platforms/shared/hook-runner.js +52 -0
- package/plugins/maestro/src/references/architecture.md +139 -0
- package/plugins/maestro/src/references/orchestration-steps.md +193 -0
- package/plugins/maestro/src/skills/shared/code-review/SKILL.md +145 -0
- package/plugins/maestro/src/skills/shared/delegation/SKILL.md +370 -0
- package/plugins/maestro/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/plugins/maestro/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/plugins/maestro/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/plugins/maestro/src/skills/shared/execution/SKILL.md +258 -0
- package/plugins/maestro/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/plugins/maestro/src/skills/shared/session-management/SKILL.md +314 -0
- package/plugins/maestro/src/skills/shared/validation/SKILL.md +204 -0
- package/plugins/maestro/src/state/session-state.js +113 -0
- package/plugins/maestro/src/templates/design-document.md +95 -0
- package/plugins/maestro/src/templates/implementation-plan.md +86 -0
- package/plugins/maestro/src/templates/session-state.md +68 -0
- package/plugins/maestro/src/version.json +3 -0
- package/policies/maestro.toml +44 -0
- package/qwen/agents/accessibility_specialist.md +18 -0
- package/qwen/agents/analytics_engineer.md +20 -0
- package/qwen/agents/api_designer.md +17 -0
- package/qwen/agents/architect.md +17 -0
- package/qwen/agents/cloud_architect.md +17 -0
- package/qwen/agents/cobol_engineer.md +20 -0
- package/qwen/agents/code_reviewer.md +15 -0
- package/qwen/agents/coder.md +20 -0
- package/qwen/agents/compliance_reviewer.md +17 -0
- package/qwen/agents/content_strategist.md +17 -0
- package/qwen/agents/copywriter.md +17 -0
- package/qwen/agents/data_engineer.md +20 -0
- package/qwen/agents/database_administrator.md +19 -0
- package/qwen/agents/db2_dba.md +19 -0
- package/qwen/agents/debugger.md +17 -0
- package/qwen/agents/design_system_engineer.md +20 -0
- package/qwen/agents/devops_engineer.md +21 -0
- package/qwen/agents/hlasm_assembler_specialist.md +20 -0
- package/qwen/agents/i18n_specialist.md +19 -0
- package/qwen/agents/ibm_i_specialist.md +20 -0
- package/qwen/agents/integration_engineer.md +21 -0
- package/qwen/agents/ml_engineer.md +21 -0
- package/qwen/agents/mlops_engineer.md +21 -0
- package/qwen/agents/mobile_engineer.md +21 -0
- package/qwen/agents/observability_engineer.md +21 -0
- package/qwen/agents/performance_engineer.md +19 -0
- package/qwen/agents/platform_engineer.md +22 -0
- package/qwen/agents/product_manager.md +18 -0
- package/qwen/agents/prompt_engineer.md +20 -0
- package/qwen/agents/refactor.md +20 -0
- package/qwen/agents/release_manager.md +20 -0
- package/qwen/agents/security_engineer.md +19 -0
- package/qwen/agents/seo_specialist.md +19 -0
- package/qwen/agents/site_reliability_engineer.md +19 -0
- package/qwen/agents/solutions_architect.md +17 -0
- package/qwen/agents/technical_writer.md +19 -0
- package/qwen/agents/tester.md +21 -0
- package/qwen/agents/ux_designer.md +18 -0
- package/qwen/agents/zos_sysprog.md +19 -0
- package/qwen/hooks.json +56 -0
- package/qwen-extension.json +55 -0
- package/scripts/check-layer-boundaries.js +74 -0
- package/scripts/generate.js +155 -0
- package/scripts/install-codex-plugin.js +167 -0
- package/scripts/install-git-hooks.js +43 -0
- package/scripts/npm-publish-idempotent.js +150 -0
- package/scripts/package-release-artifacts.js +156 -0
- package/scripts/release-artifact-manifest.js +378 -0
- package/scripts/release-version-metadata.js +129 -0
- package/scripts/update-versions.js +33 -0
- package/scripts/verify-npm-pack.js +85 -0
- package/scripts/verify-release-artifacts.js +95 -0
- package/src/agents/accessibility-specialist.md +163 -0
- package/src/agents/analytics-engineer.md +182 -0
- package/src/agents/api-designer.md +124 -0
- package/src/agents/architect.md +120 -0
- package/src/agents/cloud-architect.md +134 -0
- package/src/agents/cobol-engineer.md +127 -0
- package/src/agents/code-reviewer.md +123 -0
- package/src/agents/coder.md +132 -0
- package/src/agents/compliance-reviewer.md +219 -0
- package/src/agents/content-strategist.md +111 -0
- package/src/agents/copywriter.md +113 -0
- package/src/agents/data-engineer.md +130 -0
- package/src/agents/database-administrator.md +126 -0
- package/src/agents/db2-dba.md +124 -0
- package/src/agents/debugger.md +133 -0
- package/src/agents/design-system-engineer.md +258 -0
- package/src/agents/devops-engineer.md +138 -0
- package/src/agents/hlasm-assembler-specialist.md +134 -0
- package/src/agents/i18n-specialist.md +241 -0
- package/src/agents/ibm-i-specialist.md +132 -0
- package/src/agents/integration-engineer.md +133 -0
- package/src/agents/ml-engineer.md +115 -0
- package/src/agents/mlops-engineer.md +116 -0
- package/src/agents/mobile-engineer.md +115 -0
- package/src/agents/observability-engineer.md +133 -0
- package/src/agents/performance-engineer.md +139 -0
- package/src/agents/platform-engineer.md +129 -0
- package/src/agents/product-manager.md +170 -0
- package/src/agents/prompt-engineer.md +129 -0
- package/src/agents/refactor.md +138 -0
- package/src/agents/release-manager.md +132 -0
- package/src/agents/security-engineer.md +143 -0
- package/src/agents/seo-specialist.md +129 -0
- package/src/agents/site-reliability-engineer.md +131 -0
- package/src/agents/solutions-architect.md +137 -0
- package/src/agents/technical-writer.md +129 -0
- package/src/agents/tester.md +135 -0
- package/src/agents/ux-designer.md +168 -0
- package/src/agents/zos-sysprog.md +134 -0
- package/src/config/setting-resolver.js +32 -0
- package/src/core/agent-registry.js +67 -0
- package/src/core/canonical-source.js +39 -0
- package/src/core/env-file-parser.js +82 -0
- package/src/core/feature-blocks.js +34 -0
- package/src/core/logger.js +12 -0
- package/src/core/markdown-state.js +36 -0
- package/src/core/policy-rules.js +32 -0
- package/src/core/project-root-resolver.js +184 -0
- package/src/core/stdin-reader.js +77 -0
- package/src/core/version.js +50 -0
- package/src/entry-points/core-command-registry.js +37 -0
- package/src/entry-points/preamble-builders.js +54 -0
- package/src/entry-points/registry.js +199 -0
- package/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/src/generated/agent-registry.json +630 -0
- package/src/generated/hook-registry.json +18 -0
- package/src/generated/resource-registry.json +16 -0
- package/src/generator/entry-point-expander.js +182 -0
- package/src/generator/file-writer.js +167 -0
- package/src/generator/generation-session.js +62 -0
- package/src/generator/manifest-curator.js +31 -0
- package/src/generator/manifest-expander.js +256 -0
- package/src/generator/payload-builder.js +217 -0
- package/src/generator/registry-scanner.js +130 -0
- package/src/generator/stale-pruner.js +101 -0
- package/src/hooks/logic/after-agent-logic.js +54 -0
- package/src/hooks/logic/before-agent-logic.js +57 -0
- package/src/hooks/logic/hook-state.js +127 -0
- package/src/hooks/logic/session-end-logic.js +17 -0
- package/src/hooks/logic/session-start-logic.js +25 -0
- package/src/lib/discovery/index.js +172 -0
- package/src/lib/errors/index.js +104 -0
- package/src/lib/framework-detection.js +50 -0
- package/src/lib/frontmatter/index.js +262 -0
- package/src/lib/io/index.js +96 -0
- package/src/lib/naming/index.js +94 -0
- package/src/lib/validation/index.js +124 -0
- package/src/lib/yaml-emit.js +38 -0
- package/src/manifest.js +11 -0
- package/src/mcp/content/provider.js +68 -0
- package/src/mcp/content/runtime-content.js +188 -0
- package/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/src/mcp/contracts/downstream-context.js +106 -0
- package/src/mcp/contracts/plan-schema.js +148 -0
- package/src/mcp/contracts/workspace-marker.js +61 -0
- package/src/mcp/core/create-server.js +76 -0
- package/src/mcp/core/line-reader.js +35 -0
- package/src/mcp/core/project-root-cache.js +120 -0
- package/src/mcp/core/protocol-dispatcher.js +274 -0
- package/src/mcp/core/recovery-hints.js +43 -0
- package/src/mcp/core/tool-outcome.js +77 -0
- package/src/mcp/core/tool-registry.js +82 -0
- package/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/src/mcp/handlers/blocker-parser.js +34 -0
- package/src/mcp/handlers/design-gate.js +393 -0
- package/src/mcp/handlers/get-agent.js +54 -0
- package/src/mcp/handlers/get-runtime-context.js +49 -0
- package/src/mcp/handlers/get-skill-content.js +51 -0
- package/src/mcp/handlers/initialize-workspace.js +45 -0
- package/src/mcp/handlers/reconciliation.js +224 -0
- package/src/mcp/handlers/resolve-settings.js +39 -0
- package/src/mcp/handlers/session-state-core.js +108 -0
- package/src/mcp/handlers/session-state-tools.js +562 -0
- package/src/mcp/handlers/validate-plan.js +76 -0
- package/src/mcp/maestro-server.js +122 -0
- package/src/mcp/runtime/runtime-config-map.js +70 -0
- package/src/mcp/tool-packs/content/index.js +80 -0
- package/src/mcp/tool-packs/contracts.js +30 -0
- package/src/mcp/tool-packs/index.js +15 -0
- package/src/mcp/tool-packs/session/index.js +243 -0
- package/src/mcp/tool-packs/workspace/index.js +98 -0
- package/src/mcp/utils/extension-root.js +31 -0
- package/src/mcp/validation/agent-checker.js +81 -0
- package/src/mcp/validation/dag-checker.js +214 -0
- package/src/mcp/validation/file-overlap-checker.js +63 -0
- package/src/mcp/validation/schema-checker.js +108 -0
- package/src/platforms/claude/metadata.js +96 -0
- package/src/platforms/claude/runtime-config.js +60 -0
- package/src/platforms/codex/metadata.js +107 -0
- package/src/platforms/codex/runtime-config.js +58 -0
- package/src/platforms/gemini/metadata.js +27 -0
- package/src/platforms/gemini/runtime-config.js +62 -0
- package/src/platforms/metadata-shared.js +131 -0
- package/src/platforms/metadata.js +29 -0
- package/src/platforms/qwen/metadata.js +27 -0
- package/src/platforms/qwen/runtime-config.js +62 -0
- package/src/platforms/shared/adapters/claude-adapter.js +36 -0
- package/src/platforms/shared/adapters/conventions.js +29 -0
- package/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/src/platforms/shared/adapters/factory.js +40 -0
- package/src/platforms/shared/adapters/gemini-adapter.js +34 -0
- package/src/platforms/shared/adapters/qwen-adapter.js +93 -0
- package/src/platforms/shared/agent-names.js +10 -0
- package/src/platforms/shared/hook-runner.js +52 -0
- package/src/references/architecture.md +139 -0
- package/src/references/orchestration-steps.md +193 -0
- package/src/scripts/ensure-workspace.js +14 -0
- package/src/scripts/read-active-session.js +26 -0
- package/src/scripts/read-setting.js +18 -0
- package/src/scripts/read-state.js +17 -0
- package/src/scripts/write-state.js +22 -0
- package/src/skills/shared/code-review/SKILL.md +145 -0
- package/src/skills/shared/delegation/SKILL.md +370 -0
- package/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/src/skills/shared/execution/SKILL.md +258 -0
- package/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/src/skills/shared/session-management/SKILL.md +314 -0
- package/src/skills/shared/validation/SKILL.md +204 -0
- package/src/state/session-state.js +113 -0
- package/src/templates/design-document.md +95 -0
- package/src/templates/implementation-plan.md +86 -0
- package/src/templates/session-state.md +68 -0
- package/src/transforms/agent-stub.js +29 -0
- package/src/transforms/extract-examples.js +63 -0
- package/src/transforms/index.js +35 -0
- package/src/transforms/parse-frontmatter.js +23 -0
- package/src/transforms/rebuild-frontmatter.js +147 -0
- package/src/transforms/skill-discovery-stub.js +27 -0
- package/src/transforms/skill-metadata.js +14 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# Maestro Architecture Reference
|
|
2
|
+
|
|
3
|
+
## Orchestration Model
|
|
4
|
+
|
|
5
|
+
Maestro is a multi-agent orchestration system that coordinates 39 specialized agents through a structured 4-phase workflow:
|
|
6
|
+
|
|
7
|
+
1. **Design** — Structured requirements discovery, tradeoff-backed design questions, and design approval
|
|
8
|
+
2. **Plan** — Phase-based implementation planning with dependencies, file ownership, and validation gates
|
|
9
|
+
3. **Execute** — Delegated execution through child agents in parallel or sequential mode
|
|
10
|
+
4. **Complete** — Deliverable verification, code review gate, archival, and summary
|
|
11
|
+
|
|
12
|
+
The TechLead orchestrator does not implement code directly. It designs, plans, delegates to specialized agents, validates results, and reports outcomes.
|
|
13
|
+
|
|
14
|
+
## Agent Roster
|
|
15
|
+
|
|
16
|
+
| Agent | Focus |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| `accessibility-specialist` | WCAG compliance auditing, ARIA review |
|
|
19
|
+
| `analytics-engineer` | Event tracking, conversion funnels |
|
|
20
|
+
| `api-designer` | API contracts and endpoint design |
|
|
21
|
+
| `architect` | System design and architecture decisions |
|
|
22
|
+
| `cloud-architect` | AWS/GCP/Azure topology, IaC, multi-region design |
|
|
23
|
+
| `cobol-engineer` | Mainframe COBOL, JCL, CICS/IMS on z/OS |
|
|
24
|
+
| `code-reviewer` | Code quality review and bug identification |
|
|
25
|
+
| `coder` | Feature implementation |
|
|
26
|
+
| `compliance-reviewer` | Legal and regulatory compliance (GDPR, CCPA, licensing) |
|
|
27
|
+
| `content-strategist` | Content planning and strategy |
|
|
28
|
+
| `copywriter` | Marketing copy and landing-page content |
|
|
29
|
+
| `data-engineer` | Schema design, queries, and data pipelines |
|
|
30
|
+
| `database-administrator` | RDBMS tuning, indexes, migration safety (Postgres, MySQL, Oracle, SQL Server) |
|
|
31
|
+
| `db2-dba` | DB2 for z/OS and LUW, REORG, RUNSTATS, bind/rebind |
|
|
32
|
+
| `debugger` | Root cause analysis and defect investigation |
|
|
33
|
+
| `design-system-engineer` | Design tokens and theming |
|
|
34
|
+
| `devops-engineer` | CI/CD, containerization, and deployment |
|
|
35
|
+
| `hlasm-assembler-specialist` | IBM HLASM for z/OS, macros, SVCs |
|
|
36
|
+
| `i18n-specialist` | Internationalization and locale management |
|
|
37
|
+
| `ibm-i-specialist` | IBM i RPG/CL, DB2 for i, OS/400 |
|
|
38
|
+
| `integration-engineer` | B2B APIs, ETL, message brokers (Kafka, MQ) |
|
|
39
|
+
| `ml-engineer` | Model training, feature pipelines, evaluation |
|
|
40
|
+
| `mlops-engineer` | Model registry, CI/CD for models, drift detection |
|
|
41
|
+
| `mobile-engineer` | iOS/Android/React Native/Flutter platform work |
|
|
42
|
+
| `observability-engineer` | Metrics, logs, traces, OpenTelemetry, dashboards |
|
|
43
|
+
| `performance-engineer` | Performance profiling and optimization |
|
|
44
|
+
| `platform-engineer` | Internal developer platforms, paved paths |
|
|
45
|
+
| `product-manager` | Requirements and product strategy |
|
|
46
|
+
| `prompt-engineer` | LLM prompt design, few-shot, RAG tuning |
|
|
47
|
+
| `refactor` | Structural refactoring and technical debt |
|
|
48
|
+
| `release-manager` | Release notes, changelogs, rollout planning |
|
|
49
|
+
| `security-engineer` | Security assessment and vulnerability analysis |
|
|
50
|
+
| `seo-specialist` | Technical SEO auditing and structured data |
|
|
51
|
+
| `site-reliability-engineer` | SLOs, error budgets, runbooks, postmortems |
|
|
52
|
+
| `solutions-architect` | Enterprise integration, cross-team architecture |
|
|
53
|
+
| `technical-writer` | Documentation and technical writing |
|
|
54
|
+
| `tester` | Test implementation and coverage analysis |
|
|
55
|
+
| `ux-designer` | User experience design |
|
|
56
|
+
| `zos-sysprog` | z/OS systems programming, JCL, USS, RACF |
|
|
57
|
+
|
|
58
|
+
Agent names use the format specified by the runtime's Agent Naming Convention section. When delegating, use the exact name from the roster.
|
|
59
|
+
|
|
60
|
+
## State Contract
|
|
61
|
+
|
|
62
|
+
<!-- @feature scriptBasedStateContract -->
|
|
63
|
+
Maestro maintains session state under `<state_dir>` (resolved from `MAESTRO_STATE_DIR`):
|
|
64
|
+
|
|
65
|
+
- **Active session**: `<state_dir>/state/active-session.md`
|
|
66
|
+
- **Plans**: `<state_dir>/plans/`
|
|
67
|
+
- **Archives**: `<state_dir>/state/archive/`, `<state_dir>/plans/archive/`
|
|
68
|
+
|
|
69
|
+
State scripts:
|
|
70
|
+
|
|
71
|
+
- `node ${extensionPath}/src/scripts/ensure-workspace.js <state_dir>` — initialize workspace directories
|
|
72
|
+
- `node ${extensionPath}/src/scripts/read-active-session.js` — read current session state
|
|
73
|
+
- `node ${extensionPath}/src/scripts/read-state.js <relative-path>` — read arbitrary state file
|
|
74
|
+
- `node ${extensionPath}/src/scripts/write-state.js <relative-path>` — write state from stdin
|
|
75
|
+
- `node ${extensionPath}/src/scripts/read-setting.js <SETTING_NAME>` — resolve a Maestro setting
|
|
76
|
+
<!-- @end-feature -->
|
|
77
|
+
<!-- @feature claudeStateContract -->
|
|
78
|
+
Maestro maintains session state under `docs/maestro` (resolved from `MAESTRO_STATE_DIR`):
|
|
79
|
+
|
|
80
|
+
- **Active session**: `docs/maestro/state/active-session.md`
|
|
81
|
+
- **Plans**: `docs/maestro/plans/`
|
|
82
|
+
- **Archives**: `docs/maestro/state/archive/`, `docs/maestro/plans/archive/`
|
|
83
|
+
|
|
84
|
+
State scripts:
|
|
85
|
+
|
|
86
|
+
- `node ${CLAUDE_PLUGIN_ROOT}/../src/scripts/ensure-workspace.js docs/maestro` — initialize workspace directories
|
|
87
|
+
- `node ${CLAUDE_PLUGIN_ROOT}/../src/scripts/read-active-session.js` — read current session state
|
|
88
|
+
- `node ${CLAUDE_PLUGIN_ROOT}/../src/scripts/read-state.js <relative-path>` — read arbitrary state file
|
|
89
|
+
- `node ${CLAUDE_PLUGIN_ROOT}/../src/scripts/write-state.js <relative-path>` — write state from stdin
|
|
90
|
+
- `node ${CLAUDE_PLUGIN_ROOT}/../src/scripts/read-setting.js <SETTING_NAME>` — resolve a Maestro setting
|
|
91
|
+
<!-- @end-feature -->
|
|
92
|
+
<!-- @feature codexStateContract -->
|
|
93
|
+
Maestro maintains session state under `docs/maestro` in the workspace root:
|
|
94
|
+
|
|
95
|
+
- **Active session**: `docs/maestro/state/active-session.md`
|
|
96
|
+
- **Plans**: `docs/maestro/plans/`
|
|
97
|
+
- **Archives**: `docs/maestro/state/archive/`, `docs/maestro/plans/archive/`
|
|
98
|
+
|
|
99
|
+
State scripts:
|
|
100
|
+
|
|
101
|
+
- `node ./src/scripts/ensure-workspace.js docs/maestro` — initialize workspace directories
|
|
102
|
+
- `node ./src/scripts/read-active-session.js` — read current session state
|
|
103
|
+
- `node ./src/scripts/read-state.js <relative-path>` — read arbitrary state file
|
|
104
|
+
- `node ./src/scripts/write-state.js <relative-path>` — write state from stdin
|
|
105
|
+
- `node ./src/scripts/read-setting.js <SETTING_NAME>` — resolve a Maestro setting
|
|
106
|
+
<!-- @end-feature -->
|
|
107
|
+
|
|
108
|
+
## Session Management
|
|
109
|
+
|
|
110
|
+
Sessions track:
|
|
111
|
+
|
|
112
|
+
- Session ID and creation timestamp
|
|
113
|
+
- Current phase and overall status
|
|
114
|
+
- Phase-by-phase progress with assigned agents, file manifests, and validation results
|
|
115
|
+
- Execution mode (`parallel` or `sequential`)
|
|
116
|
+
- Downstream context for inter-phase dependencies
|
|
117
|
+
- Error history and retry counts
|
|
118
|
+
|
|
119
|
+
Session lifecycle: create -> active -> (resume if interrupted) -> archive on completion.
|
|
120
|
+
|
|
121
|
+
## Execution Modes
|
|
122
|
+
|
|
123
|
+
- **parallel**: Dispatch multiple child agents for phases at the same dependency depth with non-overlapping file ownership
|
|
124
|
+
- **sequential**: Dispatch one child agent at a time in dependency order
|
|
125
|
+
- **ask**: Prompt the user for mode selection after plan approval (default)
|
|
126
|
+
|
|
127
|
+
The execution mode gate must resolve before any implementation delegation begins.
|
|
128
|
+
|
|
129
|
+
## Delegation Contract
|
|
130
|
+
|
|
131
|
+
Every delegated agent query must include the header:
|
|
132
|
+
- `Agent: <agent_name>`
|
|
133
|
+
- `Phase: <id>/<total>`
|
|
134
|
+
- `Batch: <batch_id|single>`
|
|
135
|
+
- `Session: <session_id>`
|
|
136
|
+
|
|
137
|
+
Every agent must conclude with:
|
|
138
|
+
- `## Task Report` — what was done, files changed, tests run
|
|
139
|
+
- `## Downstream Context` — information needed by subsequent phases
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
STARTUP (Turn 1 — tool calls only, no text output)
|
|
2
|
+
0. If get_runtime_context appears in your available tools, call it. Carry the returned mappings (tool names, agent dispatch syntax, MCP prefix, paths) through the entire session. If unavailable, use the fallback mappings in the entry-point skill preamble.
|
|
3
|
+
1. Call resolve_settings.
|
|
4
|
+
2. Read `workspace_suggestion` from the `get_runtime_context` response (populated from MCP roots and/or runtime env var). Call `initialize_workspace(workspace_path=<workspace_suggestion or explicit user workspace>, state_dir=<resolved>)`. If no suggestion is available, ask the user via the runtime's user-prompt tool. `initialize_workspace` rejects paths inside extension caches.
|
|
5
|
+
3. Call get_session_status — if active, present status and offer resume/archive.
|
|
6
|
+
4. Call assess_task_complexity.
|
|
7
|
+
5. Parse MAESTRO_DISABLED_AGENTS from resolved settings. Exclude listed agents from all planning.
|
|
8
|
+
6. STOP. Turn 1 is ONLY steps 1-5. No text, no design questions, no file reads.
|
|
9
|
+
|
|
10
|
+
CLASSIFICATION (Turn 2)
|
|
11
|
+
7. Pre-load architecture plus every skill used before Phase 3 in a single batch:
|
|
12
|
+
`get_skill_content(["architecture", "design-dialogue", "design-document", "implementation-planning", "implementation-plan"])`.
|
|
13
|
+
<HARD-GATE>
|
|
14
|
+
This batch MUST complete before any `enter_plan_mode` call. Some runtimes
|
|
15
|
+
(notably Gemini CLI) deregister MCP tools once Plan Mode is active —
|
|
16
|
+
attempting to fetch these skills from inside Plan Mode will fail with
|
|
17
|
+
"tool not found" and strand the orchestrator. Execution-phase templates
|
|
18
|
+
(session-management, session-state, execution, delegation, validation,
|
|
19
|
+
agent-base-protocol, filesystem-safety-protocol, code-review) still load
|
|
20
|
+
lazily at their consumption points because Phase 3 never enters Plan Mode.
|
|
21
|
+
</HARD-GATE>
|
|
22
|
+
8. Classify task as simple/medium/complex. Present classification with rationale.
|
|
23
|
+
9. Route: simple → Express (step 31). Medium/complex → continue to step 10.
|
|
24
|
+
|
|
25
|
+
DESIGN GATE (Phase 1 pre-entry)
|
|
26
|
+
9a. Finalize the session_id now and use it verbatim for every subsequent MCP call. Format: `YYYY-MM-DD-<kebab-task-slug>`. Then call `enter_design_gate(session_id)`. This blocks `create_session` until `record_design_approval` is called. Idempotent; safe to call on resume.
|
|
27
|
+
<HARD-GATE>
|
|
28
|
+
Session ID Invariance — the session_id chosen here MUST be passed unchanged
|
|
29
|
+
to every MCP call that accepts a session_id parameter for the remainder of
|
|
30
|
+
this workflow: `record_design_approval`, `get_design_gate_status`,
|
|
31
|
+
`create_session`, `update_session`, `get_session_status`, `transition_phase`,
|
|
32
|
+
`scan_phase_changes`, `reconcile_phase`, and `archive_session`. Do NOT
|
|
33
|
+
substitute a placeholder id for initial calls and a final id later — the
|
|
34
|
+
design gate is keyed by session_id, so a drift orphans the approved gate
|
|
35
|
+
and strands the design document. `create_session` rejects with
|
|
36
|
+
`DESIGN_GATE_SESSION_MISMATCH` when it detects an approved gate for a
|
|
37
|
+
different session_id than the one passed in.
|
|
38
|
+
</HARD-GATE>
|
|
39
|
+
|
|
40
|
+
DESIGN (Phase 1)
|
|
41
|
+
10. Enter Plan Mode. If `plan_mode_native` from `get_runtime_context` is false (Codex), the server-side Design Gate (9a + step 13) is the authoritative contract; runtime-native plan mode is a UI affordance only.
|
|
42
|
+
11. Using the `design-dialogue` protocol already loaded in step 7, run the design conversation:
|
|
43
|
+
- Design depth selector (first design question)
|
|
44
|
+
- Repository grounding (for existing codebases, skip for greenfield)
|
|
45
|
+
- One question at a time via user prompt
|
|
46
|
+
- Enrichment per chosen depth (Quick/Standard/Deep)
|
|
47
|
+
<HARD-GATE>
|
|
48
|
+
Technology Recommendation Gate: Before presenting technology options, re-read
|
|
49
|
+
the <user-request>. If the request implies static delivery (fan site, portfolio,
|
|
50
|
+
landing page, profile page) or specifies vanilla/static/no-frameworks, the
|
|
51
|
+
recommended option MUST be vanilla HTML/CSS/JS. Do NOT recommend frameworks
|
|
52
|
+
(Next.js, React, Vue, Svelte, Astro) unless the request explicitly requires
|
|
53
|
+
server-side rendering, authentication, database queries, or real-time updates.
|
|
54
|
+
</HARD-GATE>
|
|
55
|
+
<ANTI-PATTERN>
|
|
56
|
+
WRONG: user requests "fan site" → options include React, Next.js, Astro
|
|
57
|
+
CORRECT: user requests "fan site" → recommended option is vanilla HTML/CSS/JS
|
|
58
|
+
</ANTI-PATTERN>
|
|
59
|
+
12. Present design sections one at a time, per the design-dialogue skill's convergence protocol.
|
|
60
|
+
<HARD-GATE>
|
|
61
|
+
Each section must be presented individually and approved via user prompt before
|
|
62
|
+
proceeding to the next. Do NOT present the full design as a single block.
|
|
63
|
+
Quick depth may combine sections. Standard/Deep MUST validate individually.
|
|
64
|
+
</HARD-GATE>
|
|
65
|
+
13. Using the `design-document` template already loaded in step 7, write the approved design document to the runtime's write surface (Plan Mode tmp for Gemini, `<state_dir>/plans/` when Plan Mode is unavailable). Do NOT call `record_design_approval` while still inside Plan Mode — Gemini deregisters MCP tools during Plan Mode and the call will fail.
|
|
66
|
+
14. If Plan Mode is active, exit Plan Mode with the plan path. MCP tools become available again at this point.
|
|
67
|
+
14a. Call `record_design_approval` to clear the design gate. Choose the variant by runtime:
|
|
68
|
+
- **Content variant (required for Gemini)**: pass `design_document_content` + `design_document_filename`. The MCP server materializes the canonical copy inside `<state_dir>/plans/` atomically. Required whenever the runtime's write surface resolves relative paths against a root the MCP server cannot reach — Gemini Plan Mode writes to `~/.gemini/tmp/<uuid>/...`, so a path handed back to the server never resolves to the same file.
|
|
69
|
+
- **Path variant (Codex, Claude direct writes)**: pass `design_document_path` (absolute or workspace-relative). The approval handler records the path without requiring the file to already be on disk; `create_session` in step 21 materializes the file into `<state_dir>/plans/` and will reject if the file is still missing at that point.
|
|
70
|
+
<HARD-GATE>
|
|
71
|
+
The two variants are mutually exclusive. Supplying both, or neither, fails with VALIDATION_ERROR.
|
|
72
|
+
</HARD-GATE>
|
|
73
|
+
|
|
74
|
+
PLANNING (Phase 2)
|
|
75
|
+
15. Using the `implementation-planning` and `implementation-plan` resources already loaded in step 7, follow the planning protocol to draft the implementation plan. If the planning skill instructs you to re-enter Plan Mode for the plan-approval UI, write the plan document first; all subsequent MCP calls (including `validate_plan`) must happen after the next `exit_plan_mode`, not inside Plan Mode.
|
|
76
|
+
16. Call validate_plan with the generated plan and task_complexity.
|
|
77
|
+
<HARD-GATE>
|
|
78
|
+
You MUST call validate_plan BEFORE presenting the plan for approval. Do NOT
|
|
79
|
+
present the plan, write it to state_dir, or proceed to step 17 without first
|
|
80
|
+
calling validate_plan and resolving any error-severity violations.
|
|
81
|
+
validate_plan enforces server-side: phase count limits, dependency cycles,
|
|
82
|
+
unknown agents, file ownership conflicts, and agent-deliverable compatibility
|
|
83
|
+
(read-only agents cannot be assigned to file-creating phases). If it returns
|
|
84
|
+
violations with severity "error", fix them in the plan and re-validate.
|
|
85
|
+
</HARD-GATE>
|
|
86
|
+
17. Present plan for user approval (Approve / Revise / Abort via user prompt).
|
|
87
|
+
18. Write approved implementation plan to <state_dir>/plans/.
|
|
88
|
+
|
|
89
|
+
EXECUTION SETUP (Phase 3 — pre-delegation)
|
|
90
|
+
19. Call `get_skill_content` with resources: ["execution"]. Follow its Execution Mode Gate.
|
|
91
|
+
<HARD-GATE>
|
|
92
|
+
Present ONLY "Parallel" and "Sequential" as execution mode options.
|
|
93
|
+
Do NOT present "Ask" as a user-facing choice — "ask" is a setting value
|
|
94
|
+
that means "prompt the user", not an execution mode the user selects.
|
|
95
|
+
</HARD-GATE>
|
|
96
|
+
20. Call `get_skill_content` with resources: ["session-management", "session-state"].
|
|
97
|
+
21. Pass the exact plan object returned by `validate_plan` to `create_session`. Do not reshape phases — `create_session` rejects plans whose phases are missing required fields ({id, name, agent, parallel, blocked_by}). Set `execution_mode` to the value resolved in step 19. Attach the implementation plan document by runtime:
|
|
98
|
+
- **Content variant (required for Gemini)**: pass `implementation_plan_content` + `implementation_plan_filename`. Mirrors the design-document content path in step 14a and closes the same runtime-tmp resolution gap when Plan Mode is used for plan approval.
|
|
99
|
+
- **Path variant (Codex, Claude direct writes)**: pass `implementation_plan` as an absolute or workspace-relative path. Requires the file to exist on disk at the workspace-resolved path when `create_session` runs.
|
|
100
|
+
<HARD-GATE>
|
|
101
|
+
The two variants are mutually exclusive. Supplying both fails with VALIDATION_ERROR. Supplying neither is valid — the session records no implementation plan.
|
|
102
|
+
</HARD-GATE>
|
|
103
|
+
22. Call `get_skill_content` with resources: ["delegation", "validation", "agent-base-protocol", "filesystem-safety-protocol"].
|
|
104
|
+
|
|
105
|
+
EXECUTION (Phase 3 — delegation loop)
|
|
106
|
+
23. For each phase (or parallel batch): call `get_agent` for the assigned agent, then delegate using the returned methodology and tool restrictions. Before constructing the dispatch, read `delegation.constraints` from the cached `get_runtime_context` and shape the call accordingly — omit `agent_type`/`model`/`reasoning_effort` when `fork_full_context_incompatible_with` includes them and you are spawning with full-history fork.
|
|
107
|
+
<HARD-GATE>
|
|
108
|
+
Dispatch by calling the agent's registered tool directly.
|
|
109
|
+
Do NOT use the built-in generalist tool or invoke agents by bare name.
|
|
110
|
+
Each Maestro agent carries specialized methodology, tool restrictions, temperature,
|
|
111
|
+
and turn limits from its frontmatter that the generalist ignores.
|
|
112
|
+
</HARD-GATE>
|
|
113
|
+
24. After each agent returns, parse the response. If a `## Blockers` section is present and non-empty, do NOT call `transition_phase`: aggregate blockers across the batch, ask the user via the user-prompt tool, and re-delegate the phase with the answer in the context block. Only when blockers are empty, parse Task Report + Downstream Context.
|
|
114
|
+
25. Call transition_phase to persist results. `transition_phase` rejects with `HANDOFF_INCOMPLETE` if the phase produced files but downstream_context is empty — re-request the handoff. It sets `requires_reconciliation: true` when all manifests AND downstream_context are empty — in that case, invoke the Recovery Protocol in the execution skill (`scan_phase_changes` → user confirmation → `reconcile_phase`).
|
|
115
|
+
<HARD-GATE>
|
|
116
|
+
For parallel batches: call transition_phase INDIVIDUALLY for EVERY completed
|
|
117
|
+
phase in the batch. The MCP tool writes files_created, files_modified,
|
|
118
|
+
files_deleted, and downstream_context to the SPECIFIC phase identified by
|
|
119
|
+
completed_phase_id. Extract each agent's Task Report separately and pass
|
|
120
|
+
that agent's files and context to the corresponding phase's call. Do NOT
|
|
121
|
+
merge all agents' files into one call — the archive attributes files per
|
|
122
|
+
phase, so empty payloads mean lost traceability.
|
|
123
|
+
</HARD-GATE>
|
|
124
|
+
26. Repeat steps 23-25 until all phases complete.
|
|
125
|
+
|
|
126
|
+
COMPLETION (Phase 4)
|
|
127
|
+
27. Call `get_skill_content` with resources: ["code-review"].
|
|
128
|
+
28. If execution changed non-documentation files, delegate to the code reviewer agent. Block on Critical/Major findings.
|
|
129
|
+
<HARD-GATE>
|
|
130
|
+
If Critical/Major findings: re-delegate to the implementing agent to fix.
|
|
131
|
+
The orchestrator MUST NOT write code directly.
|
|
132
|
+
</HARD-GATE>
|
|
133
|
+
29. If MAESTRO_AUTO_ARCHIVE is true (or unset), call archive_session. If false, inform user session is complete but not archived.
|
|
134
|
+
30. Present final summary with files changed, phase outcomes, and next steps.
|
|
135
|
+
|
|
136
|
+
RECOVERY (referenced from any step on user request)
|
|
137
|
+
If the user says the flow moved too fast: return to the most recent unanswered approval gate.
|
|
138
|
+
If the user asks for implementation before approval: remind them Maestro requires approval first.
|
|
139
|
+
If the user asks to skip execution-mode: remind them parallel/sequential is required unless MAESTRO_EXECUTION_MODE pins it.
|
|
140
|
+
If an answer invalidates a prior choice: restate the updated assumption and re-run the relevant gate.
|
|
141
|
+
If delegation collapses to parent session without fallback approval: return to step 19 or re-scope the child-agent work packages.
|
|
142
|
+
|
|
143
|
+
EXPRESS WORKFLOW (simple tasks only — jumped to from step 9)
|
|
144
|
+
|
|
145
|
+
EXPRESS MODE GATE BYPASS: Express bypasses the execution-mode gate entirely. Express always dispatches sequentially. Do NOT prompt for parallel/sequential.
|
|
146
|
+
|
|
147
|
+
EXPRESS MCP FALLBACK: If MCP state tools (create_session, transition_phase, archive_session) are unavailable, fall back to direct file writes on <state_dir>/state/active-session.md.
|
|
148
|
+
|
|
149
|
+
31. Verify classification is simple. If task requires multiple phases or agents, override to medium → step 10.
|
|
150
|
+
<HARD-GATE>
|
|
151
|
+
Express sessions MUST have exactly one implementation phase with exactly one agent.
|
|
152
|
+
</HARD-GATE>
|
|
153
|
+
32. Ask 1-2 clarifying questions from Area 1 only.
|
|
154
|
+
<HARD-GATE>
|
|
155
|
+
Each question MUST use the user prompt tool (not plain text). Use the choose
|
|
156
|
+
variant with 2-4 options where possible. Do NOT ask questions as plain text
|
|
157
|
+
in the model response — the user prompt tool is the only input mechanism.
|
|
158
|
+
</HARD-GATE>
|
|
159
|
+
33. Present structured Express brief as plain text, then ask for approval.
|
|
160
|
+
<HARD-GATE>
|
|
161
|
+
The brief MUST be plain text output in the model response.
|
|
162
|
+
The approval MUST be a SEPARATE user prompt tool call — not embedded in the
|
|
163
|
+
brief text. The prompt contains only: "Approve this Express brief to proceed?"
|
|
164
|
+
These are two distinct actions: first emit the brief as text, then call the
|
|
165
|
+
user prompt tool for approval. Do NOT combine them into one text block.
|
|
166
|
+
</HARD-GATE>
|
|
167
|
+
34. On approval, create session with workflow_mode: "express", exactly 1 phase.
|
|
168
|
+
On rejection, revise. On second rejection, escalate to Standard → step 10.
|
|
169
|
+
35. Call `get_skill_content` with resources: ["agent-base-protocol", "filesystem-safety-protocol"] and prepend them to the delegation prompt.
|
|
170
|
+
36. Delegate to the assigned agent.
|
|
171
|
+
<HARD-GATE>
|
|
172
|
+
Same dispatch rule as step 23: call agent by registered tool name, not generalist.
|
|
173
|
+
</HARD-GATE>
|
|
174
|
+
37. Parse Task Report from the agent's response. Call transition_phase to persist results.
|
|
175
|
+
<HARD-GATE>
|
|
176
|
+
You MUST call transition_phase after the implementing agent returns. Extract
|
|
177
|
+
files_created, files_modified, files_deleted, and downstream_context from the
|
|
178
|
+
Task Report and pass them to transition_phase. Without this call, the session
|
|
179
|
+
state has no record of what was delivered. Do NOT skip to code review or archive
|
|
180
|
+
without calling transition_phase first.
|
|
181
|
+
</HARD-GATE>
|
|
182
|
+
38. Delegate to the code reviewer agent.
|
|
183
|
+
<HARD-GATE>
|
|
184
|
+
If Critical/Major findings: re-delegate to implementing agent (1 retry).
|
|
185
|
+
Orchestrator MUST NOT write code directly. If retry fails, escalate to user.
|
|
186
|
+
</HARD-GATE>
|
|
187
|
+
39. Call archive_session.
|
|
188
|
+
40. Present summary.
|
|
189
|
+
|
|
190
|
+
EXPRESS RESUME (when resuming an Express session from get_session_status)
|
|
191
|
+
If phase is pending: re-generate and present brief (step 33). On approval, proceed to delegation (step 36).
|
|
192
|
+
If phase is in_progress: re-delegate with same scope (step 36).
|
|
193
|
+
If phase is completed but session is in_progress: run code review (step 38), then archive (step 39).
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Standalone code review methodology for structured, severity-classified code assessment
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review Skill
|
|
7
|
+
|
|
8
|
+
Activate this skill when performing standalone code reviews via the runtime-specific Maestro review entrypoint or during orchestration quality gates (post-phase checks and final completion gate). This skill provides the methodology for scoping, executing, and reporting code reviews.
|
|
9
|
+
|
|
10
|
+
## Scope Detection Protocol
|
|
11
|
+
|
|
12
|
+
Determine review scope using the following priority order:
|
|
13
|
+
|
|
14
|
+
1. **User-specified paths**: If the user provides file paths or glob patterns, expand glob patterns using the `glob` tool to resolve them to concrete file paths before delegating to the `code-reviewer` agent
|
|
15
|
+
2. **Staged changes**: If `git diff --staged` produces output, review staged changes
|
|
16
|
+
3. **Last commit diff**: If no staged changes exist, review the last commit via `git diff HEAD~1`
|
|
17
|
+
4. **Fallback**: If none of the above yield content, ask the user to specify scope
|
|
18
|
+
|
|
19
|
+
Always confirm the detected scope with the user before proceeding.
|
|
20
|
+
|
|
21
|
+
If scope is provided as file paths and a git diff is empty for some paths (for example, new unstaged files), include those files' current contents directly in review context so they are still reviewed.
|
|
22
|
+
|
|
23
|
+
## Review Orchestration
|
|
24
|
+
|
|
25
|
+
### Delegation Flow
|
|
26
|
+
|
|
27
|
+
1. Detect review scope using the protocol above
|
|
28
|
+
2. Gather the full diff content for the detected scope, and include current file contents when diff content is unavailable for scoped files
|
|
29
|
+
3. Delegate to the `code-reviewer` agent with:
|
|
30
|
+
- The full diff content
|
|
31
|
+
- File paths involved
|
|
32
|
+
- Any user-provided focus areas or concerns
|
|
33
|
+
4. Process the agent's Task Report
|
|
34
|
+
5. Present findings to the user in the structured output format below
|
|
35
|
+
|
|
36
|
+
### Context Enrichment
|
|
37
|
+
|
|
38
|
+
When delegating to the `code-reviewer` agent, include:
|
|
39
|
+
- The diff content (not just file names)
|
|
40
|
+
- Surrounding context for modified sections (10 lines before/after when available)
|
|
41
|
+
- Project language and framework information (detected from package.json, Cargo.toml, go.mod, etc.)
|
|
42
|
+
|
|
43
|
+
## Severity Classification
|
|
44
|
+
|
|
45
|
+
### Critical
|
|
46
|
+
Issues that could cause security vulnerabilities, data loss, or system crashes:
|
|
47
|
+
- SQL/NoSQL injection vectors
|
|
48
|
+
- Authentication/authorization bypasses
|
|
49
|
+
- Unvalidated user input at system boundaries
|
|
50
|
+
- Resource leaks (unclosed connections, file handles)
|
|
51
|
+
- Race conditions with data corruption potential
|
|
52
|
+
|
|
53
|
+
### Major
|
|
54
|
+
Issues that cause bugs, design flaws, or significant maintainability problems:
|
|
55
|
+
- Logic errors in business rules
|
|
56
|
+
- Missing error handling on external calls
|
|
57
|
+
- SOLID principle violations that impact extensibility
|
|
58
|
+
- Incorrect API contracts or type mismatches
|
|
59
|
+
- Missing null/undefined checks on external data
|
|
60
|
+
|
|
61
|
+
### Minor
|
|
62
|
+
Issues related to style, naming, or minor convention violations:
|
|
63
|
+
- Naming inconsistencies
|
|
64
|
+
- Code style deviations from project conventions
|
|
65
|
+
- Suboptimal but correct implementations
|
|
66
|
+
- Missing type annotations where inference is insufficient
|
|
67
|
+
|
|
68
|
+
### Suggestion
|
|
69
|
+
Optional improvements that enhance readability or maintainability:
|
|
70
|
+
- Alternative patterns that improve clarity
|
|
71
|
+
- Performance optimizations with marginal impact
|
|
72
|
+
- Structural improvements for future extensibility
|
|
73
|
+
|
|
74
|
+
## Output Format
|
|
75
|
+
|
|
76
|
+
Present findings in a structured table followed by a summary:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
## Code Review Results
|
|
80
|
+
|
|
81
|
+
**Scope**: [description of what was reviewed]
|
|
82
|
+
**Files Reviewed**: [count]
|
|
83
|
+
**Total Findings**: [count by severity]
|
|
84
|
+
|
|
85
|
+
### Findings
|
|
86
|
+
|
|
87
|
+
| # | Severity | File | Line | Description | Suggested Fix |
|
|
88
|
+
|---|----------|------|------|-------------|---------------|
|
|
89
|
+
| 1 | Critical | path/to/file.ts | 42 | [description] | [fix] |
|
|
90
|
+
| 2 | Major | path/to/file.ts | 87 | [description] | [fix] |
|
|
91
|
+
|
|
92
|
+
### Summary
|
|
93
|
+
|
|
94
|
+
[1-2 paragraph summary of overall code quality, patterns observed, and priority actions]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Verification Rule
|
|
98
|
+
|
|
99
|
+
Every finding **must**:
|
|
100
|
+
- Reference a specific file and line number
|
|
101
|
+
- Be verified against the actual code (not assumed from patterns)
|
|
102
|
+
- Include a concrete suggested fix or action
|
|
103
|
+
- Be classified with a severity that matches the classification criteria above
|
|
104
|
+
|
|
105
|
+
Do NOT report:
|
|
106
|
+
- Speculative issues based on assumptions about runtime behavior
|
|
107
|
+
- Style preferences not established by the project's conventions
|
|
108
|
+
- Issues in code outside the review scope
|
|
109
|
+
|
|
110
|
+
## Review Scope Calibration
|
|
111
|
+
|
|
112
|
+
Calibrate the depth and focus of review based on the type of change being reviewed:
|
|
113
|
+
|
|
114
|
+
### Calibration Rules
|
|
115
|
+
- **New files**: Full review across all dimensions — architecture fit, pattern compliance, security, naming conventions, error handling, testability, dependency direction
|
|
116
|
+
- **Modified files (behavior change)**: Focus on the diff — correctness of new behavior, regression risk, contract compliance with existing interfaces, edge case handling in new code paths
|
|
117
|
+
- **Modified files (refactoring)**: Focus on behavior preservation — verify same inputs produce same outputs, no unintended side effects introduced, no behavior changes disguised as refactoring
|
|
118
|
+
- **Deleted files**: Dependency verification — confirm no remaining code imports from, references, or depends on the deleted files. Check for orphaned tests that tested the deleted code.
|
|
119
|
+
- **Configuration changes**: Environment impact assessment — does this change affect production? Staging? Local development? All environments? Are there secrets or credentials involved?
|
|
120
|
+
|
|
121
|
+
### Application
|
|
122
|
+
When reviewing a diff that contains multiple change types (new files + modifications + deletions), apply the appropriate calibration to each file independently. Do not apply "new file" depth to a file that only had a minor modification.
|
|
123
|
+
|
|
124
|
+
## Finding Deduplication Protocol
|
|
125
|
+
|
|
126
|
+
When reviewing multiple files, identify and consolidate findings that share the same root cause.
|
|
127
|
+
|
|
128
|
+
### Deduplication Rules
|
|
129
|
+
- If the same pattern violation appears in 3+ files, report it **once** as a systemic finding with the list of all affected locations — not as N separate findings
|
|
130
|
+
- A systemic finding includes: the pattern being violated, why it matters, the full list of affected file:line locations, and a single remediation recommendation that addresses all instances
|
|
131
|
+
- Unique findings (appearing in only 1-2 files) are reported individually as normal
|
|
132
|
+
|
|
133
|
+
### Deduplication Format
|
|
134
|
+
```
|
|
135
|
+
### Systemic Finding: [Pattern Violation Name]
|
|
136
|
+
- **Severity**: [Critical | Major | Minor | Suggestion]
|
|
137
|
+
- **Description**: [What the pattern violation is and why it matters]
|
|
138
|
+
- **Affected Locations**:
|
|
139
|
+
- `path/to/file1.ext:line` — [brief context]
|
|
140
|
+
- `path/to/file2.ext:line` — [brief context]
|
|
141
|
+
- `path/to/file3.ext:line` — [brief context]
|
|
142
|
+
- **Remediation**: [Single recommendation that addresses all instances]
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
This produces cleaner, more actionable review output by surfacing systemic issues as patterns rather than repeating the same finding across multiple files.
|