@accelerationguy/accel 1.0.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/CLAUDE.md +19 -0
- package/LICENSE +33 -0
- package/README.md +275 -0
- package/bin/install.js +661 -0
- package/docs/getting-started.md +164 -0
- package/docs/module-guide.md +139 -0
- package/modules/drive/LICENSE +21 -0
- package/modules/drive/PAUL-VS-GSD.md +171 -0
- package/modules/drive/README.md +555 -0
- package/modules/drive/assets/terminal.svg +67 -0
- package/modules/drive/bin/install.js +210 -0
- package/modules/drive/integration.js +76 -0
- package/modules/drive/package.json +38 -0
- package/modules/drive/src/commands/add-phase.md +36 -0
- package/modules/drive/src/commands/apply.md +83 -0
- package/modules/drive/src/commands/assumptions.md +37 -0
- package/modules/drive/src/commands/audit.md +57 -0
- package/modules/drive/src/commands/complete-milestone.md +36 -0
- package/modules/drive/src/commands/config.md +175 -0
- package/modules/drive/src/commands/consider-issues.md +41 -0
- package/modules/drive/src/commands/discover.md +48 -0
- package/modules/drive/src/commands/discuss-milestone.md +33 -0
- package/modules/drive/src/commands/discuss.md +34 -0
- package/modules/drive/src/commands/flows.md +73 -0
- package/modules/drive/src/commands/handoff.md +201 -0
- package/modules/drive/src/commands/help.md +525 -0
- package/modules/drive/src/commands/init.md +54 -0
- package/modules/drive/src/commands/map-codebase.md +34 -0
- package/modules/drive/src/commands/milestone.md +34 -0
- package/modules/drive/src/commands/pause.md +44 -0
- package/modules/drive/src/commands/plan-fix.md +216 -0
- package/modules/drive/src/commands/plan.md +36 -0
- package/modules/drive/src/commands/progress.md +138 -0
- package/modules/drive/src/commands/register.md +29 -0
- package/modules/drive/src/commands/remove-phase.md +37 -0
- package/modules/drive/src/commands/research-phase.md +209 -0
- package/modules/drive/src/commands/research.md +47 -0
- package/modules/drive/src/commands/resume.md +49 -0
- package/modules/drive/src/commands/status.md +78 -0
- package/modules/drive/src/commands/unify.md +87 -0
- package/modules/drive/src/commands/verify.md +60 -0
- package/modules/drive/src/references/checkpoints.md +234 -0
- package/modules/drive/src/references/context-management.md +219 -0
- package/modules/drive/src/references/git-strategy.md +206 -0
- package/modules/drive/src/references/loop-phases.md +254 -0
- package/modules/drive/src/references/plan-format.md +263 -0
- package/modules/drive/src/references/quality-principles.md +152 -0
- package/modules/drive/src/references/research-quality-control.md +247 -0
- package/modules/drive/src/references/sonarqube-integration.md +244 -0
- package/modules/drive/src/references/specialized-workflow-integration.md +186 -0
- package/modules/drive/src/references/subagent-criteria.md +179 -0
- package/modules/drive/src/references/tdd.md +219 -0
- package/modules/drive/src/references/work-units.md +161 -0
- package/modules/drive/src/rules/commands.md +108 -0
- package/modules/drive/src/rules/references.md +107 -0
- package/modules/drive/src/rules/style.md +123 -0
- package/modules/drive/src/rules/templates.md +51 -0
- package/modules/drive/src/rules/workflows.md +133 -0
- package/modules/drive/src/templates/CONTEXT.md +88 -0
- package/modules/drive/src/templates/DEBUG.md +164 -0
- package/modules/drive/src/templates/DISCOVERY.md +148 -0
- package/modules/drive/src/templates/HANDOFF.md +77 -0
- package/modules/drive/src/templates/ISSUES.md +93 -0
- package/modules/drive/src/templates/MILESTONES.md +167 -0
- package/modules/drive/src/templates/PLAN.md +328 -0
- package/modules/drive/src/templates/PROJECT.md +219 -0
- package/modules/drive/src/templates/RESEARCH.md +130 -0
- package/modules/drive/src/templates/ROADMAP.md +328 -0
- package/modules/drive/src/templates/SPECIAL-FLOWS.md +70 -0
- package/modules/drive/src/templates/STATE.md +210 -0
- package/modules/drive/src/templates/SUMMARY.md +221 -0
- package/modules/drive/src/templates/UAT-ISSUES.md +139 -0
- package/modules/drive/src/templates/codebase/architecture.md +259 -0
- package/modules/drive/src/templates/codebase/concerns.md +329 -0
- package/modules/drive/src/templates/codebase/conventions.md +311 -0
- package/modules/drive/src/templates/codebase/integrations.md +284 -0
- package/modules/drive/src/templates/codebase/stack.md +190 -0
- package/modules/drive/src/templates/codebase/structure.md +287 -0
- package/modules/drive/src/templates/codebase/testing.md +484 -0
- package/modules/drive/src/templates/config.md +181 -0
- package/modules/drive/src/templates/milestone-archive.md +236 -0
- package/modules/drive/src/templates/milestone-context.md +190 -0
- package/modules/drive/src/templates/paul-json.md +147 -0
- package/modules/drive/src/vector-config/PAUL +26 -0
- package/modules/drive/src/vector-config/PAUL.manifest +11 -0
- package/modules/drive/src/workflows/apply-phase.md +393 -0
- package/modules/drive/src/workflows/audit-plan.md +344 -0
- package/modules/drive/src/workflows/complete-milestone.md +479 -0
- package/modules/drive/src/workflows/configure-special-flows.md +283 -0
- package/modules/drive/src/workflows/consider-issues.md +172 -0
- package/modules/drive/src/workflows/create-milestone.md +268 -0
- package/modules/drive/src/workflows/debug.md +292 -0
- package/modules/drive/src/workflows/discovery.md +187 -0
- package/modules/drive/src/workflows/discuss-milestone.md +245 -0
- package/modules/drive/src/workflows/discuss-phase.md +231 -0
- package/modules/drive/src/workflows/init-project.md +698 -0
- package/modules/drive/src/workflows/map-codebase.md +459 -0
- package/modules/drive/src/workflows/pause-work.md +259 -0
- package/modules/drive/src/workflows/phase-assumptions.md +181 -0
- package/modules/drive/src/workflows/plan-phase.md +385 -0
- package/modules/drive/src/workflows/quality-gate.md +263 -0
- package/modules/drive/src/workflows/register-manifest.md +107 -0
- package/modules/drive/src/workflows/research.md +241 -0
- package/modules/drive/src/workflows/resume-project.md +200 -0
- package/modules/drive/src/workflows/roadmap-management.md +334 -0
- package/modules/drive/src/workflows/transition-phase.md +368 -0
- package/modules/drive/src/workflows/unify-phase.md +290 -0
- package/modules/drive/src/workflows/verify-work.md +241 -0
- package/modules/forge/README.md +281 -0
- package/modules/forge/bin/install.js +200 -0
- package/modules/forge/package.json +32 -0
- package/modules/forge/skillsmith/rules/checklists-rules.md +42 -0
- package/modules/forge/skillsmith/rules/context-rules.md +43 -0
- package/modules/forge/skillsmith/rules/entry-point-rules.md +44 -0
- package/modules/forge/skillsmith/rules/frameworks-rules.md +43 -0
- package/modules/forge/skillsmith/rules/tasks-rules.md +52 -0
- package/modules/forge/skillsmith/rules/templates-rules.md +43 -0
- package/modules/forge/skillsmith/skillsmith.md +82 -0
- package/modules/forge/skillsmith/tasks/audit.md +277 -0
- package/modules/forge/skillsmith/tasks/discover.md +145 -0
- package/modules/forge/skillsmith/tasks/distill.md +276 -0
- package/modules/forge/skillsmith/tasks/scaffold.md +349 -0
- package/modules/forge/specs/checklists.md +193 -0
- package/modules/forge/specs/context.md +223 -0
- package/modules/forge/specs/entry-point.md +320 -0
- package/modules/forge/specs/frameworks.md +228 -0
- package/modules/forge/specs/rules.md +245 -0
- package/modules/forge/specs/tasks.md +344 -0
- package/modules/forge/specs/templates.md +335 -0
- package/modules/forge/terminal.svg +70 -0
- package/modules/ignition/README.md +245 -0
- package/modules/ignition/bin/install.js +184 -0
- package/modules/ignition/checklists/planning-quality.md +55 -0
- package/modules/ignition/data/application/config.md +21 -0
- package/modules/ignition/data/application/guide.md +51 -0
- package/modules/ignition/data/application/skill-loadout.md +11 -0
- package/modules/ignition/data/campaign/config.md +18 -0
- package/modules/ignition/data/campaign/guide.md +36 -0
- package/modules/ignition/data/campaign/skill-loadout.md +10 -0
- package/modules/ignition/data/client/config.md +18 -0
- package/modules/ignition/data/client/guide.md +36 -0
- package/modules/ignition/data/client/skill-loadout.md +11 -0
- package/modules/ignition/data/utility/config.md +18 -0
- package/modules/ignition/data/utility/guide.md +31 -0
- package/modules/ignition/data/utility/skill-loadout.md +8 -0
- package/modules/ignition/data/workflow/config.md +19 -0
- package/modules/ignition/data/workflow/guide.md +41 -0
- package/modules/ignition/data/workflow/skill-loadout.md +10 -0
- package/modules/ignition/integration.js +54 -0
- package/modules/ignition/package.json +35 -0
- package/modules/ignition/seed.md +81 -0
- package/modules/ignition/tasks/add-type.md +164 -0
- package/modules/ignition/tasks/graduate.md +182 -0
- package/modules/ignition/tasks/ideate.md +221 -0
- package/modules/ignition/tasks/launch.md +137 -0
- package/modules/ignition/tasks/status.md +71 -0
- package/modules/ignition/templates/planning-application.md +193 -0
- package/modules/ignition/templates/planning-campaign.md +138 -0
- package/modules/ignition/templates/planning-client.md +149 -0
- package/modules/ignition/templates/planning-utility.md +112 -0
- package/modules/ignition/templates/planning-workflow.md +125 -0
- package/modules/ignition/terminal.svg +74 -0
- package/modules/mission-control/CONTEXT-CONTINUITY-SPEC.md +293 -0
- package/modules/mission-control/CONTEXT-ENGINEERING-GUIDE.md +282 -0
- package/modules/mission-control/README.md +91 -0
- package/modules/mission-control/assets/terminal.svg +80 -0
- package/modules/mission-control/examples/entities.example.json +133 -0
- package/modules/mission-control/examples/projects.example.json +318 -0
- package/modules/mission-control/examples/state.example.json +183 -0
- package/modules/mission-control/examples/vector.example.json +245 -0
- package/modules/mission-control/mission-control/checklists/install-verification.md +46 -0
- package/modules/mission-control/mission-control/frameworks/framework-registry.md +83 -0
- package/modules/mission-control/mission-control/mission-control.md +83 -0
- package/modules/mission-control/mission-control/tasks/insights.md +73 -0
- package/modules/mission-control/mission-control/tasks/install.md +194 -0
- package/modules/mission-control/mission-control/tasks/status.md +125 -0
- package/modules/mission-control/schemas/entities.schema.json +89 -0
- package/modules/mission-control/schemas/projects.schema.json +221 -0
- package/modules/mission-control/schemas/state.schema.json +108 -0
- package/modules/mission-control/schemas/vector.schema.json +200 -0
- package/modules/momentum/README.md +678 -0
- package/modules/momentum/bin/install.js +563 -0
- package/modules/momentum/integration.js +131 -0
- package/modules/momentum/package.json +42 -0
- package/modules/momentum/schemas/entities.schema.json +89 -0
- package/modules/momentum/schemas/projects.schema.json +221 -0
- package/modules/momentum/schemas/state.schema.json +108 -0
- package/modules/momentum/src/commands/audit-claude-md.md +31 -0
- package/modules/momentum/src/commands/audit.md +33 -0
- package/modules/momentum/src/commands/groom.md +35 -0
- package/modules/momentum/src/commands/history.md +27 -0
- package/modules/momentum/src/commands/pulse.md +33 -0
- package/modules/momentum/src/commands/scaffold.md +33 -0
- package/modules/momentum/src/commands/status.md +28 -0
- package/modules/momentum/src/commands/surface-convert.md +35 -0
- package/modules/momentum/src/commands/surface-create.md +34 -0
- package/modules/momentum/src/commands/surface-list.md +27 -0
- package/modules/momentum/src/commands/vector-hygiene.md +33 -0
- package/modules/momentum/src/framework/context/momentum-principles.md +71 -0
- package/modules/momentum/src/framework/frameworks/audit-strategies.md +53 -0
- package/modules/momentum/src/framework/frameworks/satellite-registration.md +44 -0
- package/modules/momentum/src/framework/tasks/audit-claude-md.md +68 -0
- package/modules/momentum/src/framework/tasks/audit.md +64 -0
- package/modules/momentum/src/framework/tasks/groom.md +164 -0
- package/modules/momentum/src/framework/tasks/history.md +34 -0
- package/modules/momentum/src/framework/tasks/pulse.md +83 -0
- package/modules/momentum/src/framework/tasks/scaffold.md +202 -0
- package/modules/momentum/src/framework/tasks/status.md +35 -0
- package/modules/momentum/src/framework/tasks/surface-convert.md +143 -0
- package/modules/momentum/src/framework/tasks/surface-create.md +184 -0
- package/modules/momentum/src/framework/tasks/surface-list.md +42 -0
- package/modules/momentum/src/framework/tasks/vector-hygiene.md +160 -0
- package/modules/momentum/src/framework/templates/workspace-json.md +96 -0
- package/modules/momentum/src/hooks/_template.py +129 -0
- package/modules/momentum/src/hooks/active-hook.py +178 -0
- package/modules/momentum/src/hooks/backlog-hook.py +115 -0
- package/modules/momentum/src/hooks/mission-control-insights.py +169 -0
- package/modules/momentum/src/hooks/momentum-pulse-check.py +351 -0
- package/modules/momentum/src/hooks/operator.py +53 -0
- package/modules/momentum/src/hooks/psmm-injector.py +67 -0
- package/modules/momentum/src/hooks/satellite-detection.py +248 -0
- package/modules/momentum/src/packages/momentum-mcp/index.js +119 -0
- package/modules/momentum/src/packages/momentum-mcp/package.json +10 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/entities.js +226 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/operator.js +106 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/projects.js +322 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/psmm.js +206 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/state.js +199 -0
- package/modules/momentum/src/packages/momentum-mcp/tools/surfaces.js +404 -0
- package/modules/momentum/src/skill/momentum.md +111 -0
- package/modules/momentum/src/tasks/groom.md +164 -0
- package/modules/momentum/src/templates/operator.json +66 -0
- package/modules/momentum/src/templates/workspace.json +111 -0
- package/modules/momentum/terminal.svg +77 -0
- package/modules/radar/README.md +1552 -0
- package/modules/radar/commands/audit.md +233 -0
- package/modules/radar/commands/guardrails.md +194 -0
- package/modules/radar/commands/init.md +207 -0
- package/modules/radar/commands/playbook.md +176 -0
- package/modules/radar/commands/remediate.md +156 -0
- package/modules/radar/commands/report.md +172 -0
- package/modules/radar/commands/resume.md +176 -0
- package/modules/radar/commands/status.md +148 -0
- package/modules/radar/commands/transform.md +205 -0
- package/modules/radar/commands/validate.md +177 -0
- package/modules/radar/docs/ARCHITECTURE.md +336 -0
- package/modules/radar/docs/GETTING-STARTED.md +287 -0
- package/modules/radar/docs/standards/agents.md +197 -0
- package/modules/radar/docs/standards/commands.md +250 -0
- package/modules/radar/docs/standards/domains.md +191 -0
- package/modules/radar/docs/standards/personas.md +211 -0
- package/modules/radar/docs/standards/rules.md +218 -0
- package/modules/radar/docs/standards/runtime.md +445 -0
- package/modules/radar/docs/standards/schemas.md +269 -0
- package/modules/radar/docs/standards/tools.md +273 -0
- package/modules/radar/docs/standards/workflows.md +254 -0
- package/modules/radar/docs/terminal.svg +72 -0
- package/modules/radar/docs/validation/convention-compliance-report.md +183 -0
- package/modules/radar/docs/validation/cross-reference-report.md +195 -0
- package/modules/radar/docs/validation/validation-summary.md +118 -0
- package/modules/radar/docs/validation/version-manifest.yaml +363 -0
- package/modules/radar/install.sh +711 -0
- package/modules/radar/integration.js +53 -0
- package/modules/radar/src/core/agents/architect.md +25 -0
- package/modules/radar/src/core/agents/compliance-officer.md +25 -0
- package/modules/radar/src/core/agents/data-engineer.md +25 -0
- package/modules/radar/src/core/agents/devils-advocate.md +22 -0
- package/modules/radar/src/core/agents/performance-engineer.md +25 -0
- package/modules/radar/src/core/agents/principal-engineer.md +23 -0
- package/modules/radar/src/core/agents/reality-gap-analyst.md +22 -0
- package/modules/radar/src/core/agents/security-engineer.md +25 -0
- package/modules/radar/src/core/agents/senior-app-engineer.md +25 -0
- package/modules/radar/src/core/agents/sre.md +25 -0
- package/modules/radar/src/core/agents/staff-engineer.md +23 -0
- package/modules/radar/src/core/agents/test-engineer.md +25 -0
- package/modules/radar/src/core/personas/architect.md +111 -0
- package/modules/radar/src/core/personas/compliance-officer.md +104 -0
- package/modules/radar/src/core/personas/data-engineer.md +113 -0
- package/modules/radar/src/core/personas/devils-advocate.md +105 -0
- package/modules/radar/src/core/personas/performance-engineer.md +119 -0
- package/modules/radar/src/core/personas/principal-engineer.md +119 -0
- package/modules/radar/src/core/personas/reality-gap-analyst.md +111 -0
- package/modules/radar/src/core/personas/security-engineer.md +108 -0
- package/modules/radar/src/core/personas/senior-app-engineer.md +111 -0
- package/modules/radar/src/core/personas/sre.md +117 -0
- package/modules/radar/src/core/personas/staff-engineer.md +109 -0
- package/modules/radar/src/core/personas/test-engineer.md +109 -0
- package/modules/radar/src/core/workflows/disagreement-resolution.md +183 -0
- package/modules/radar/src/core/workflows/phase-0-context.md +148 -0
- package/modules/radar/src/core/workflows/phase-1-reconnaissance.md +169 -0
- package/modules/radar/src/core/workflows/phase-2-domain-audits.md +190 -0
- package/modules/radar/src/core/workflows/phase-3-cross-domain.md +177 -0
- package/modules/radar/src/core/workflows/phase-4-adversarial-review.md +165 -0
- package/modules/radar/src/core/workflows/phase-5-report.md +189 -0
- package/modules/radar/src/core/workflows/phase-checkpoint.md +222 -0
- package/modules/radar/src/core/workflows/session-handoff.md +152 -0
- package/modules/radar/src/domains/00-context.md +201 -0
- package/modules/radar/src/domains/01-architecture.md +248 -0
- package/modules/radar/src/domains/02-data.md +224 -0
- package/modules/radar/src/domains/03-correctness.md +230 -0
- package/modules/radar/src/domains/04-security.md +274 -0
- package/modules/radar/src/domains/05-compliance.md +228 -0
- package/modules/radar/src/domains/06-testing.md +228 -0
- package/modules/radar/src/domains/07-reliability.md +246 -0
- package/modules/radar/src/domains/08-performance.md +247 -0
- package/modules/radar/src/domains/09-maintainability.md +271 -0
- package/modules/radar/src/domains/10-operability.md +250 -0
- package/modules/radar/src/domains/11-change-risk.md +246 -0
- package/modules/radar/src/domains/12-team-risk.md +221 -0
- package/modules/radar/src/domains/13-risk-synthesis.md +202 -0
- package/modules/radar/src/rules/agent-boundaries.md +78 -0
- package/modules/radar/src/rules/disagreement-protocol.md +76 -0
- package/modules/radar/src/rules/epistemic-hygiene.md +78 -0
- package/modules/radar/src/schemas/confidence.md +185 -0
- package/modules/radar/src/schemas/disagreement.md +238 -0
- package/modules/radar/src/schemas/finding.md +287 -0
- package/modules/radar/src/schemas/report-section.md +150 -0
- package/modules/radar/src/schemas/signal.md +108 -0
- package/modules/radar/src/tools/checkov.md +463 -0
- package/modules/radar/src/tools/git-history.md +581 -0
- package/modules/radar/src/tools/gitleaks.md +447 -0
- package/modules/radar/src/tools/grype.md +611 -0
- package/modules/radar/src/tools/semgrep.md +378 -0
- package/modules/radar/src/tools/sonarqube.md +550 -0
- package/modules/radar/src/tools/syft.md +539 -0
- package/modules/radar/src/tools/trivy.md +439 -0
- package/modules/radar/src/transform/agents/change-risk-modeler.md +24 -0
- package/modules/radar/src/transform/agents/execution-validator.md +24 -0
- package/modules/radar/src/transform/agents/guardrail-generator.md +24 -0
- package/modules/radar/src/transform/agents/pedagogy-agent.md +24 -0
- package/modules/radar/src/transform/agents/remediation-architect.md +24 -0
- package/modules/radar/src/transform/personas/change-risk-modeler.md +95 -0
- package/modules/radar/src/transform/personas/execution-validator.md +95 -0
- package/modules/radar/src/transform/personas/guardrail-generator.md +103 -0
- package/modules/radar/src/transform/personas/pedagogy-agent.md +105 -0
- package/modules/radar/src/transform/personas/remediation-architect.md +95 -0
- package/modules/radar/src/transform/rules/change-risk-rules.md +87 -0
- package/modules/radar/src/transform/rules/safety-governance.md +87 -0
- package/modules/radar/src/transform/schemas/change-risk.md +139 -0
- package/modules/radar/src/transform/schemas/intervention-level.md +207 -0
- package/modules/radar/src/transform/schemas/playbook.md +205 -0
- package/modules/radar/src/transform/schemas/verification-plan.md +134 -0
- package/modules/radar/src/transform/workflows/phase-6-remediation.md +148 -0
- package/modules/radar/src/transform/workflows/phase-7-risk-validation.md +161 -0
- package/modules/radar/src/transform/workflows/phase-8-execution-planning.md +159 -0
- package/modules/radar/src/transform/workflows/transform-safety.md +158 -0
- package/modules/vector/.vector-template/sessions/.gitkeep +0 -0
- package/modules/vector/.vector-template/vector.json +72 -0
- package/modules/vector/AUDIT-CLAUDEMD.md +154 -0
- package/modules/vector/INSTALL.md +185 -0
- package/modules/vector/LICENSE +21 -0
- package/modules/vector/README.md +409 -0
- package/modules/vector/VECTOR-BLOCK.md +57 -0
- package/modules/vector/assets/terminal.svg +68 -0
- package/modules/vector/bin/install.js +455 -0
- package/modules/vector/bin/migrate-v1-to-v2.sh +492 -0
- package/modules/vector/commands/help.md +46 -0
- package/modules/vector/hooks/vector-hook.py +775 -0
- package/modules/vector/mcp/index.js +118 -0
- package/modules/vector/mcp/package.json +10 -0
- package/modules/vector/mcp/tools/decisions.js +269 -0
- package/modules/vector/mcp/tools/domains.js +361 -0
- package/modules/vector/mcp/tools/staging.js +252 -0
- package/modules/vector/mcp/tools/vector-json.js +647 -0
- package/modules/vector/package.json +38 -0
- package/modules/vector/schemas/vector.schema.json +237 -0
- package/package.json +39 -0
- package/shared/branding/branding.js +70 -0
- package/shared/config/defaults.json +59 -0
- package/shared/events/README.md +175 -0
- package/shared/events/event-bus.js +134 -0
- package/shared/events/event_bus.py +255 -0
- package/shared/events/integrations.js +161 -0
- package/shared/events/schemas/audit-complete.schema.json +21 -0
- package/shared/events/schemas/phase-progress.schema.json +23 -0
- package/shared/events/schemas/plan-created.schema.json +21 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Executes automated signal gathering by running all configured analysis tools against the target codebase, normalizing their output to the Radar signal schema, and persisting results for consumption by domain audit agents in Phase 2.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<phase_context>
|
|
6
|
+
Phase: 1 — Automated Signal Gathering
|
|
7
|
+
Prior phase output: Phase 0 audit scope (.radar/scope.md), threat model (.radar/threat-model.md), initialized .radar/STATE.md
|
|
8
|
+
Agents invoked: None — this phase is pure tool orchestration, no reasoning agents. Tools execute mechanically per their adapter specifications.
|
|
9
|
+
Output: Normalized signal files (.radar/signals/{tool-id}.md per tool), signal summary with domain-tagged counts
|
|
10
|
+
</phase_context>
|
|
11
|
+
|
|
12
|
+
<required_input>
|
|
13
|
+
@.radar/STATE.md
|
|
14
|
+
@.radar/MANIFEST.md
|
|
15
|
+
@.radar/scope.md
|
|
16
|
+
@~/.claude/radar/schemas/signal.md
|
|
17
|
+
@~/.claude/radar/tools/sonarqube.md
|
|
18
|
+
@~/.claude/radar/tools/semgrep.md
|
|
19
|
+
@~/.claude/radar/tools/trivy.md
|
|
20
|
+
@~/.claude/radar/tools/gitleaks.md
|
|
21
|
+
@~/.claude/radar/tools/checkov.md
|
|
22
|
+
@~/.claude/radar/tools/syft.md
|
|
23
|
+
@~/.claude/radar/tools/grype.md
|
|
24
|
+
@~/.claude/radar/tools/git-history.md
|
|
25
|
+
</required_input>
|
|
26
|
+
|
|
27
|
+
<process>
|
|
28
|
+
|
|
29
|
+
<step name="validate_prerequisites" priority="first">
|
|
30
|
+
1. Verify .radar/STATE.md exists and shows Phase 0 complete:
|
|
31
|
+
a. Check phase_0_complete: true
|
|
32
|
+
b. Check .radar/scope.md exists and is non-empty
|
|
33
|
+
c. Check .radar/threat-model.md exists
|
|
34
|
+
2. If Phase 0 is not complete:
|
|
35
|
+
a. Halt with error: "Phase 0 (Context & Threat Modeling) not complete. Run phase-0-context workflow first."
|
|
36
|
+
b. Do not proceed.
|
|
37
|
+
3. Read .radar/scope.md to extract:
|
|
38
|
+
a. Scan targets (directories, file patterns)
|
|
39
|
+
b. Exclusions (vendored code, generated files, test fixtures)
|
|
40
|
+
c. Technology stack (determines which tools and rule sets apply)
|
|
41
|
+
d. Any scope overrides from audit configuration
|
|
42
|
+
4. Update .radar/STATE.md:
|
|
43
|
+
a. current_phase: 1
|
|
44
|
+
b. phase_status: in_progress
|
|
45
|
+
</step>
|
|
46
|
+
|
|
47
|
+
<step name="configure_tool_execution" priority="blocking">
|
|
48
|
+
1. Read .radar/MANIFEST.md to determine which tools are enabled for this audit.
|
|
49
|
+
2. For each enabled tool, load its adapter specification from src/tools/{tool-id}.md.
|
|
50
|
+
3. Configure each tool based on scope:
|
|
51
|
+
a. SonarQube: project key, quality profile, language plugins
|
|
52
|
+
b. Semgrep: rule sets matching detected languages/frameworks
|
|
53
|
+
c. Trivy: scan mode (filesystem vs image), severity thresholds
|
|
54
|
+
d. Gitleaks: custom config if secrets patterns specified in scope
|
|
55
|
+
e. Checkov: framework detection (terraform, cloudformation, k8s, dockerfile)
|
|
56
|
+
f. Syft: output format (SPDX/CycloneDX), scan target
|
|
57
|
+
g. Grype: vulnerability database update, severity thresholds
|
|
58
|
+
h. git-history: date range, file filters, author grouping
|
|
59
|
+
4. Record tool configuration in .radar/STATE.md for reproducibility.
|
|
60
|
+
5. Determine execution order:
|
|
61
|
+
a. Syft MUST run before Grype (Grype consumes Syft SBOM output)
|
|
62
|
+
b. All other tools are independent and can run in parallel
|
|
63
|
+
</step>
|
|
64
|
+
|
|
65
|
+
<step name="execute_tools" priority="blocking">
|
|
66
|
+
1. Execute all independent tools (can run in parallel):
|
|
67
|
+
a. SonarQube — static analysis via MCP server or CLI
|
|
68
|
+
b. Semgrep — pattern-based analysis with configured rule sets
|
|
69
|
+
c. Trivy — vulnerability and misconfiguration scanning
|
|
70
|
+
d. Gitleaks — secrets detection across repository history
|
|
71
|
+
e. Checkov — infrastructure-as-code policy scanning
|
|
72
|
+
f. git-history — change frequency, author concentration, file age analysis
|
|
73
|
+
2. Execute SBOM pipeline (sequential):
|
|
74
|
+
a. Syft — generate software bill of materials
|
|
75
|
+
b. Grype — scan Syft output for known vulnerabilities
|
|
76
|
+
3. For each tool execution:
|
|
77
|
+
a. Record start time
|
|
78
|
+
b. Capture raw output
|
|
79
|
+
c. Record completion time and exit status
|
|
80
|
+
d. If tool fails: log error, mark tool as "failed" in STATE.md, continue with remaining tools
|
|
81
|
+
4. Update .radar/STATE.md with tool execution status after each completes.
|
|
82
|
+
</step>
|
|
83
|
+
|
|
84
|
+
<step name="normalize_signals" priority="blocking">
|
|
85
|
+
1. For each tool that produced output:
|
|
86
|
+
a. Load the tool's adapter specification from src/tools/{tool-id}.md
|
|
87
|
+
b. Apply the normalization mapping defined in the adapter:
|
|
88
|
+
- Map tool-native severity to Radar severity scale
|
|
89
|
+
- Map tool-native confidence to Radar confidence dimensions
|
|
90
|
+
- Calculate blast radius from tool context
|
|
91
|
+
- Tag with domain relevance per the adapter's domain_mapping
|
|
92
|
+
c. Produce normalized signal records conforming to src/schemas/signal.md
|
|
93
|
+
2. For each normalized signal:
|
|
94
|
+
a. Assign signal ID: S-{TOOL}-{NNN}
|
|
95
|
+
b. Tag with source_tool, timestamp, domain_ids
|
|
96
|
+
c. Preserve raw tool reference for traceability
|
|
97
|
+
3. Validate all normalized signals against src/schemas/signal.md:
|
|
98
|
+
a. Required fields present
|
|
99
|
+
b. Severity within valid range
|
|
100
|
+
c. Domain tags reference valid domain IDs (00-13)
|
|
101
|
+
4. Record normalization results:
|
|
102
|
+
a. Total signals per tool
|
|
103
|
+
b. Signals per domain
|
|
104
|
+
c. Any signals that failed normalization (quarantine with reason)
|
|
105
|
+
</step>
|
|
106
|
+
|
|
107
|
+
<step name="persist_signals" priority="blocking">
|
|
108
|
+
1. Write normalized signals to .radar/signals/{tool-id}.md:
|
|
109
|
+
a. One file per tool containing all normalized signals from that tool
|
|
110
|
+
b. Files: sonarqube.md, semgrep.md, trivy.md, gitleaks.md, checkov.md, syft.md, grype.md, git-history.md
|
|
111
|
+
c. Only create files for tools that produced output
|
|
112
|
+
2. Generate signal summary:
|
|
113
|
+
a. Total signal count across all tools
|
|
114
|
+
b. Signal count per tool
|
|
115
|
+
c. Signal count per domain (aggregated across tools)
|
|
116
|
+
d. Severity distribution (critical, high, medium, low, info)
|
|
117
|
+
e. Tools that failed or produced no output
|
|
118
|
+
3. Write signal summary to .radar/signals/SUMMARY.md.
|
|
119
|
+
4. Verify all writes completed:
|
|
120
|
+
a. Confirm each file exists and is non-empty
|
|
121
|
+
b. Confirm signal counts match expected totals
|
|
122
|
+
</step>
|
|
123
|
+
|
|
124
|
+
<step name="update_state_phase_complete" priority="blocking">
|
|
125
|
+
1. Update .radar/STATE.md:
|
|
126
|
+
a. current_phase: 1
|
|
127
|
+
b. phase_status: complete
|
|
128
|
+
c. phase_1_complete: true
|
|
129
|
+
d. tools_executed: [list of tools that ran successfully]
|
|
130
|
+
e. tools_failed: [list of tools that failed, with reasons]
|
|
131
|
+
f. total_signals: N
|
|
132
|
+
g. signals_per_domain: {domain_id: count}
|
|
133
|
+
h. next_phase: 2
|
|
134
|
+
i. timestamp: completion time
|
|
135
|
+
2. Record Phase 1 metrics:
|
|
136
|
+
a. Duration
|
|
137
|
+
b. Tool execution times
|
|
138
|
+
c. Signal volumes
|
|
139
|
+
d. Coverage gaps (domains with zero signals)
|
|
140
|
+
</step>
|
|
141
|
+
|
|
142
|
+
</process>
|
|
143
|
+
|
|
144
|
+
<output>
|
|
145
|
+
Artifacts created:
|
|
146
|
+
- .radar/signals/sonarqube.md — Normalized SonarQube signals
|
|
147
|
+
- .radar/signals/semgrep.md — Normalized Semgrep signals
|
|
148
|
+
- .radar/signals/trivy.md — Normalized Trivy signals
|
|
149
|
+
- .radar/signals/gitleaks.md — Normalized Gitleaks signals
|
|
150
|
+
- .radar/signals/checkov.md — Normalized Checkov signals
|
|
151
|
+
- .radar/signals/syft.md — Normalized Syft SBOM signals
|
|
152
|
+
- .radar/signals/grype.md — Normalized Grype vulnerability signals
|
|
153
|
+
- .radar/signals/git-history.md — Normalized git history signals
|
|
154
|
+
- .radar/signals/SUMMARY.md — Aggregated signal summary with domain counts
|
|
155
|
+
- .radar/STATE.md — Updated with Phase 1 completion and signal metrics
|
|
156
|
+
|
|
157
|
+
All signal files conform to src/schemas/signal.md.
|
|
158
|
+
</output>
|
|
159
|
+
|
|
160
|
+
<error_handling>
|
|
161
|
+
- **Phase 0 not complete:** Halt immediately. Display: "Phase 0 (Context & Threat Modeling) must complete before signal gathering. Run phase-0-context first." Do not proceed.
|
|
162
|
+
- **Tool not installed:** Log missing tool in .radar/STATE.md. Skip tool and continue with remaining tools. Record coverage gap — domains served only by the missing tool will have reduced signal diversity.
|
|
163
|
+
- **Tool execution failure (non-zero exit):** Capture error output. Record failure reason in STATE.md. Continue with remaining tools. Do not retry automatically — present failure to user for decision (retry, skip, or abort phase).
|
|
164
|
+
- **Tool produces no output:** Record as "no findings" (distinct from failure). Some tools legitimately find nothing. Do not treat empty output as an error.
|
|
165
|
+
- **Normalization failure (signal doesn't conform to schema):** Quarantine the raw signal in .radar/signals/quarantine/{tool-id}-{timestamp}.md. Record normalization error. Continue with remaining signals. Report quarantined count in summary.
|
|
166
|
+
- **All tools fail:** Halt phase. Record failure in STATE.md. Phase 2 cannot proceed without signals. Present to user for diagnosis.
|
|
167
|
+
- **Syft/Grype pipeline break:** If Syft fails, Grype cannot run. Record both as failed. Other tools continue independently.
|
|
168
|
+
- **Scope too broad (excessive signal volume):** If total signals exceed a reasonable threshold, log warning. Phase 2 agents may need signal filtering by relevance. Record in STATE.md for downstream awareness.
|
|
169
|
+
</error_handling>
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Executes parallel deep domain audits by invoking 8 specialist agents — each analyzing their assigned domains using Phase 1 signals as evidence, producing independent findings using the formal epistemic schema, and detecting cross-agent disagreements.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<phase_context>
|
|
6
|
+
Phase: 2 — Deep Domain Audits
|
|
7
|
+
Prior phase output: Phase 0 scope (.radar/scope.md), Phase 1 normalized signals (.radar/signals/*.md), signal summary (.radar/signals/SUMMARY.md)
|
|
8
|
+
Agents invoked: architect, data-engineer, security-engineer, compliance-officer, senior-app-engineer, sre, performance-engineer, test-engineer (8 agents, all parallel-eligible)
|
|
9
|
+
Output: Per-agent finding sets (.radar/findings/{agent-id}.md), disagreement records (.radar/disagreements/*.md if any), updated .radar/STATE.md
|
|
10
|
+
</phase_context>
|
|
11
|
+
|
|
12
|
+
<required_input>
|
|
13
|
+
@.radar/STATE.md
|
|
14
|
+
@.radar/MANIFEST.md
|
|
15
|
+
@.radar/scope.md
|
|
16
|
+
@.radar/signals/SUMMARY.md
|
|
17
|
+
@.radar/signals/*.md (all signal files)
|
|
18
|
+
@~/.claude/radar/core/agents/architect.md
|
|
19
|
+
@~/.claude/radar/core/agents/data-engineer.md
|
|
20
|
+
@~/.claude/radar/core/agents/security-engineer.md
|
|
21
|
+
@~/.claude/radar/core/agents/compliance-officer.md
|
|
22
|
+
@~/.claude/radar/core/agents/senior-app-engineer.md
|
|
23
|
+
@~/.claude/radar/core/agents/sre.md
|
|
24
|
+
@~/.claude/radar/core/agents/performance-engineer.md
|
|
25
|
+
@~/.claude/radar/core/agents/test-engineer.md
|
|
26
|
+
@~/.claude/radar/schemas/finding.md
|
|
27
|
+
@~/.claude/radar/schemas/disagreement.md
|
|
28
|
+
@~/.claude/radar/schemas/confidence.md
|
|
29
|
+
@~/.claude/radar/rules/epistemic-hygiene.md
|
|
30
|
+
@~/.claude/radar/rules/disagreement-protocol.md
|
|
31
|
+
@~/.claude/radar/rules/agent-boundaries.md
|
|
32
|
+
@~/.claude/radar/core/workflows/session-handoff.md
|
|
33
|
+
@~/.claude/radar/core/workflows/disagreement-resolution.md
|
|
34
|
+
</required_input>
|
|
35
|
+
|
|
36
|
+
<process>
|
|
37
|
+
|
|
38
|
+
<step name="validate_prerequisites" priority="first">
|
|
39
|
+
1. Verify .radar/STATE.md shows Phase 1 complete:
|
|
40
|
+
a. Check phase_1_complete: true
|
|
41
|
+
b. Check .radar/signals/ directory contains at least one signal file
|
|
42
|
+
c. Check .radar/signals/SUMMARY.md exists
|
|
43
|
+
2. If Phase 1 is not complete:
|
|
44
|
+
a. Halt with error: "Phase 1 (Signal Gathering) not complete. Run phase-1-reconnaissance workflow first."
|
|
45
|
+
b. Do not proceed.
|
|
46
|
+
3. Read signal summary to understand available evidence:
|
|
47
|
+
a. Which tools produced signals
|
|
48
|
+
b. Which domains have signal coverage
|
|
49
|
+
c. Any coverage gaps to note
|
|
50
|
+
4. Update .radar/STATE.md:
|
|
51
|
+
a. current_phase: 2
|
|
52
|
+
b. phase_status: in_progress
|
|
53
|
+
c. agents_remaining: [architect, data-engineer, security-engineer, compliance-officer, senior-app-engineer, sre, performance-engineer, test-engineer]
|
|
54
|
+
</step>
|
|
55
|
+
|
|
56
|
+
<step name="prepare_agent_contexts" priority="blocking">
|
|
57
|
+
1. For each of the 8 domain audit agents:
|
|
58
|
+
a. Load agent manifest from src/core/agents/{agent-id}.md
|
|
59
|
+
b. Resolve all component references:
|
|
60
|
+
- Persona: src/core/personas/{persona-id}.md
|
|
61
|
+
- Domains: src/domains/{DD}-*.md for each domain in the manifest
|
|
62
|
+
- Schemas: src/schemas/{schema-id}.md for each declared schema
|
|
63
|
+
- Rules: src/rules/{rule-id}.md for each declared rule
|
|
64
|
+
c. Collect relevant signals:
|
|
65
|
+
- Load .radar/signals/{tool-id}.md for each tool declared in the agent manifest
|
|
66
|
+
- Filter signals to those tagged with the agent's domain IDs
|
|
67
|
+
d. Include shared context:
|
|
68
|
+
- .radar/scope.md (audit boundaries and focus areas)
|
|
69
|
+
- .radar/STATE.md (audit position awareness)
|
|
70
|
+
e. Include the agent manifest's "Session Context" section for phase-specific instructions
|
|
71
|
+
|
|
72
|
+
2. Build per-agent context bundles ordered by priority:
|
|
73
|
+
a. Persona specification (first — defines identity and reasoning approach)
|
|
74
|
+
b. Rules (second — constraints on behavior)
|
|
75
|
+
c. Domain modules (third — knowledge base)
|
|
76
|
+
d. Relevant signals (fourth — evidence to analyze)
|
|
77
|
+
e. Scope and state (fifth — situational awareness)
|
|
78
|
+
|
|
79
|
+
3. Verify each context bundle fits within session budget:
|
|
80
|
+
a. Estimate token count per bundle
|
|
81
|
+
b. If exceeding budget: prioritize persona > rules > primary domain > signals > secondary domains
|
|
82
|
+
c. Log any trimmed context in .radar/STATE.md
|
|
83
|
+
|
|
84
|
+
4. Record agent invocation plan in .radar/STATE.md.
|
|
85
|
+
</step>
|
|
86
|
+
|
|
87
|
+
<step name="invoke_domain_agents" priority="blocking">
|
|
88
|
+
1. All 8 agents are parallel-eligible (no inter-dependencies within Phase 2).
|
|
89
|
+
2. Invoke agents with their prepared context bundles:
|
|
90
|
+
a. Each agent receives: persona + domains + signals + schemas + rules + scope
|
|
91
|
+
b. Each agent produces findings ONLY for their assigned domains
|
|
92
|
+
c. Each finding must conform to src/schemas/finding.md (7 epistemic layers)
|
|
93
|
+
d. Each finding must include confidence vector per src/schemas/confidence.md
|
|
94
|
+
3. For each agent session:
|
|
95
|
+
a. Record session start time in .radar/STATE.md
|
|
96
|
+
b. Monitor for session completion or timeout
|
|
97
|
+
c. On completion: invoke session-handoff workflow (src/core/workflows/session-handoff.md)
|
|
98
|
+
d. On timeout: mark as interrupted in .radar/STATE.md, continue with remaining agents
|
|
99
|
+
4. Track completion across all agents:
|
|
100
|
+
a. Update agents_completed and agents_remaining in .radar/STATE.md after each
|
|
101
|
+
b. Phase 2 continues until all agents complete or fail
|
|
102
|
+
</step>
|
|
103
|
+
|
|
104
|
+
<step name="validate_all_outputs" priority="blocking">
|
|
105
|
+
1. For each agent's finding set (validated individually by session-handoff):
|
|
106
|
+
a. Confirm findings reference only the agent's declared domains
|
|
107
|
+
b. Confirm no agent produced findings outside their domain boundaries (per agent-boundaries rules)
|
|
108
|
+
c. Confirm confidence vectors are complete (all 4 dimensions rated)
|
|
109
|
+
d. Confirm evidence fields are populated (not asserted without support)
|
|
110
|
+
2. Aggregate validation results:
|
|
111
|
+
a. Total findings produced across all agents
|
|
112
|
+
b. Findings per domain
|
|
113
|
+
c. Findings per severity level
|
|
114
|
+
d. Any findings that failed validation (quarantined by session-handoff)
|
|
115
|
+
3. Check domain coverage:
|
|
116
|
+
a. Which domains received findings
|
|
117
|
+
b. Which domains have zero findings (potential blind spots)
|
|
118
|
+
c. Record coverage analysis in .radar/STATE.md
|
|
119
|
+
</step>
|
|
120
|
+
|
|
121
|
+
<step name="detect_disagreements" priority="blocking">
|
|
122
|
+
1. Compare findings across agents for overlapping concerns:
|
|
123
|
+
a. Agents with shared domains (e.g., senior-app-engineer domains [03,09] may overlap with architect domain [01] on structural concerns)
|
|
124
|
+
b. Same code area assessed differently by different agents
|
|
125
|
+
c. Same pattern receiving different severity ratings
|
|
126
|
+
d. Contradictory recommendations for the same issue
|
|
127
|
+
2. For each detected disagreement:
|
|
128
|
+
a. Create disagreement record conforming to src/schemas/disagreement.md
|
|
129
|
+
b. Identify the epistemic layer disputed (interpretation, assumptions, impact, likelihood, judgment)
|
|
130
|
+
c. Record both agent positions with their evidence and confidence
|
|
131
|
+
d. Assign disagreement ID: D-{NNN}
|
|
132
|
+
e. Set status: open
|
|
133
|
+
f. Set principal_response: pending (to be filled by disagreement resolution)
|
|
134
|
+
3. Write disagreement records to .radar/disagreements/{disagreement-id}.md.
|
|
135
|
+
4. If disagreements exist:
|
|
136
|
+
a. Queue disagreement-resolution workflow (src/core/workflows/disagreement-resolution.md)
|
|
137
|
+
b. Record disagreement count in .radar/STATE.md
|
|
138
|
+
c. Note: disagreement resolution may occur between Phase 2 and Phase 3, or be deferred to Phase 5
|
|
139
|
+
</step>
|
|
140
|
+
|
|
141
|
+
<step name="update_state_phase_complete" priority="blocking">
|
|
142
|
+
1. Update .radar/STATE.md:
|
|
143
|
+
a. current_phase: 2
|
|
144
|
+
b. phase_status: complete
|
|
145
|
+
c. phase_2_complete: true
|
|
146
|
+
d. agents_completed: [list of all agents that completed successfully]
|
|
147
|
+
e. agents_failed: [list of any agents that failed, with reasons]
|
|
148
|
+
f. total_findings: N
|
|
149
|
+
g. findings_per_agent: {agent-id: count}
|
|
150
|
+
h. findings_per_domain: {domain_id: count}
|
|
151
|
+
i. disagreements_detected: N
|
|
152
|
+
j. disagreements_resolved: N (may be 0 if deferred)
|
|
153
|
+
k. next_phase: 3
|
|
154
|
+
l. timestamp: completion time
|
|
155
|
+
2. Record Phase 2 metrics:
|
|
156
|
+
a. Duration (total and per-agent)
|
|
157
|
+
b. Finding volumes and severity distribution
|
|
158
|
+
c. Domain coverage completeness
|
|
159
|
+
d. Disagreement summary
|
|
160
|
+
</step>
|
|
161
|
+
|
|
162
|
+
</process>
|
|
163
|
+
|
|
164
|
+
<output>
|
|
165
|
+
Artifacts created:
|
|
166
|
+
- .radar/findings/architect.md — Architecture domain findings
|
|
167
|
+
- .radar/findings/data-engineer.md — Data & state integrity findings
|
|
168
|
+
- .radar/findings/security-engineer.md — Security domain findings
|
|
169
|
+
- .radar/findings/compliance-officer.md — Compliance & governance findings
|
|
170
|
+
- .radar/findings/senior-app-engineer.md — Correctness & maintainability findings
|
|
171
|
+
- .radar/findings/sre.md — Reliability & operability findings
|
|
172
|
+
- .radar/findings/performance-engineer.md — Performance & scalability findings
|
|
173
|
+
- .radar/findings/test-engineer.md — Testing strategy findings
|
|
174
|
+
- .radar/disagreements/{disagreement-id}.md — Cross-agent disagreement records (if any)
|
|
175
|
+
- .radar/STATE.md — Updated with Phase 2 completion, finding metrics, disagreement counts
|
|
176
|
+
|
|
177
|
+
All finding files conform to src/schemas/finding.md.
|
|
178
|
+
All disagreement records conform to src/schemas/disagreement.md.
|
|
179
|
+
</output>
|
|
180
|
+
|
|
181
|
+
<error_handling>
|
|
182
|
+
- **Phase 1 not complete:** Halt immediately. Display: "Phase 1 (Signal Gathering) must complete before domain audits. Run phase-1-reconnaissance first." Do not proceed.
|
|
183
|
+
- **No signals available for an agent's domains:** Invoke the agent anyway — agents can analyze code structure and patterns without tool signals. Note reduced evidence base in .radar/STATE.md. Agent's confidence vectors should reflect limited signal diversity.
|
|
184
|
+
- **Agent session failure:** Log failure in .radar/STATE.md. Skip failed agent and continue with remaining agents. Record which domains lost coverage. Warn user that audit has gaps. Do not retry automatically.
|
|
185
|
+
- **Agent produces findings outside declared domains:** Reject the out-of-scope findings (per agent-boundaries rules). Log boundary violation in .radar/STATE.md. Accept valid in-scope findings from the same session.
|
|
186
|
+
- **Schema validation failure (finding malformed):** Handled by session-handoff workflow — quarantine invalid findings, accept valid ones. If ALL findings from an agent fail validation, mark agent session as "validation-failed" and flag for re-run.
|
|
187
|
+
- **Context budget exceeded for an agent:** Trim signals by relevance (keep signals tagged for agent's primary domain, drop secondary domain signals). Never trim persona or rules. Log trimmed context. Agent's findings should note limited evidence base.
|
|
188
|
+
- **All agents fail:** Halt phase. Record failure in STATE.md. Phase 3 cannot proceed without Phase 2 findings. Present to user for diagnosis.
|
|
189
|
+
- **Disagreement detection produces false positives:** Accept over-detection. False positives are resolved by the Principal Engineer in the disagreement-resolution workflow. Under-detection is worse — it hides risk.
|
|
190
|
+
</error_handling>
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Executes cross-domain synthesis audits by invoking the Staff Engineer (change risk and team ownership analysis) followed by the Reality Gap Analyst (code-vs-runtime divergence detection) — both drawing on Phase 2 findings and specialized signal sources.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<phase_context>
|
|
6
|
+
Phase: 3 — Change Risk, Team Risk & Reality Gap
|
|
7
|
+
Prior phase output: Phase 2 domain findings (.radar/findings/*.md from 8 agents), Phase 1 signals (.radar/signals/*.md), Phase 0 scope (.radar/scope.md)
|
|
8
|
+
Agents invoked: staff-engineer (sequential first), reality-gap-analyst (sequential second). Sequential because Reality Gap Analyst benefits from Staff Engineer's change risk findings.
|
|
9
|
+
Output: .radar/findings/staff-engineer.md, .radar/findings/reality-gap-analyst.md, additional .radar/disagreements/*.md if any, updated .radar/STATE.md
|
|
10
|
+
</phase_context>
|
|
11
|
+
|
|
12
|
+
<required_input>
|
|
13
|
+
@.radar/STATE.md
|
|
14
|
+
@.radar/MANIFEST.md
|
|
15
|
+
@.radar/scope.md
|
|
16
|
+
@.radar/findings/*.md (all Phase 2 agent finding files)
|
|
17
|
+
@.radar/signals/git-history.md
|
|
18
|
+
@.radar/signals/checkov.md
|
|
19
|
+
@.radar/signals/sonarqube.md
|
|
20
|
+
@~/.claude/radar/core/agents/staff-engineer.md
|
|
21
|
+
@~/.claude/radar/core/agents/reality-gap-analyst.md
|
|
22
|
+
@~/.claude/radar/schemas/finding.md
|
|
23
|
+
@~/.claude/radar/schemas/disagreement.md
|
|
24
|
+
@~/.claude/radar/schemas/confidence.md
|
|
25
|
+
@~/.claude/radar/rules/epistemic-hygiene.md
|
|
26
|
+
@~/.claude/radar/rules/disagreement-protocol.md
|
|
27
|
+
@~/.claude/radar/rules/agent-boundaries.md
|
|
28
|
+
@~/.claude/radar/core/workflows/session-handoff.md
|
|
29
|
+
@~/.claude/radar/core/workflows/disagreement-resolution.md
|
|
30
|
+
</required_input>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
|
|
34
|
+
<step name="validate_prerequisites" priority="first">
|
|
35
|
+
1. Verify .radar/STATE.md shows Phase 2 complete:
|
|
36
|
+
a. Check phase_2_complete: true
|
|
37
|
+
b. Check .radar/findings/ directory contains Phase 2 agent finding files
|
|
38
|
+
c. Verify at least 6 of 8 domain agents produced findings (allow partial coverage)
|
|
39
|
+
2. If Phase 2 is not complete:
|
|
40
|
+
a. Halt with error: "Phase 2 (Domain Audits) not complete. Run phase-2-domain-audits workflow first."
|
|
41
|
+
b. Do not proceed.
|
|
42
|
+
3. Check for any unresolved disagreements from Phase 2:
|
|
43
|
+
a. Read .radar/disagreements/*.md for status: open
|
|
44
|
+
b. Note count — these may be resolved during or after Phase 3
|
|
45
|
+
4. Update .radar/STATE.md:
|
|
46
|
+
a. current_phase: 3
|
|
47
|
+
b. phase_status: in_progress
|
|
48
|
+
c. agents_remaining: [staff-engineer, reality-gap-analyst]
|
|
49
|
+
</step>
|
|
50
|
+
|
|
51
|
+
<step name="prepare_staff_engineer_context" priority="blocking">
|
|
52
|
+
1. Load staff-engineer agent manifest from src/core/agents/staff-engineer.md.
|
|
53
|
+
2. Resolve component references:
|
|
54
|
+
a. Persona: src/core/personas/staff-engineer.md
|
|
55
|
+
b. Domains: src/domains/11-change-risk.md, src/domains/12-team-risk.md
|
|
56
|
+
c. Tools: git-history, sonarqube, semgrep, syft, grype
|
|
57
|
+
d. Schemas: finding, disagreement, confidence, signal
|
|
58
|
+
e. Rules: epistemic-hygiene, disagreement-protocol, agent-boundaries
|
|
59
|
+
3. Collect input context:
|
|
60
|
+
a. ALL Phase 2 findings from .radar/findings/*.md — Staff Engineer synthesizes across domains
|
|
61
|
+
b. .radar/signals/git-history.md — primary signal source for change risk and ownership analysis
|
|
62
|
+
c. .radar/signals/sonarqube.md — code health metrics
|
|
63
|
+
d. .radar/signals/semgrep.md — pattern detection
|
|
64
|
+
e. .radar/signals/syft.md and .radar/signals/grype.md — dependency risk signals
|
|
65
|
+
f. .radar/scope.md — audit boundaries
|
|
66
|
+
g. .radar/STATE.md — audit position and Phase 2 metrics
|
|
67
|
+
4. Build context bundle (priority order: persona > rules > domains > Phase 2 findings > signals > state).
|
|
68
|
+
5. Staff Engineer is active in phases [2, 3] — in Phase 3, the role is SYNTHESIS over Phase 2 findings, not independent signal gathering.
|
|
69
|
+
</step>
|
|
70
|
+
|
|
71
|
+
<step name="invoke_staff_engineer" priority="blocking">
|
|
72
|
+
1. Invoke staff-engineer session with prepared context:
|
|
73
|
+
a. Phase 3 instructions: synthesize change risk and team ownership patterns from Phase 2 findings + git history
|
|
74
|
+
b. Produce findings for Domain 11 (Change Risk & Evolvability) and Domain 12 (Team, Ownership & Knowledge Risk)
|
|
75
|
+
c. Each finding must reference the Phase 2 findings that informed it (cross-reference by finding ID)
|
|
76
|
+
d. Confidence vectors must reflect the synthesis nature — evidence_diversity depends on how many Phase 2 agents' findings support the conclusion
|
|
77
|
+
2. Session produces:
|
|
78
|
+
a. Change risk findings — code areas most likely to cause regression, highest churn, dependency bottlenecks
|
|
79
|
+
b. Team ownership findings — bus factor analysis, knowledge concentration, orphaned code areas
|
|
80
|
+
c. Evolvability assessment — how resistant the codebase is to safe change
|
|
81
|
+
3. On session completion:
|
|
82
|
+
a. Invoke session-handoff workflow (src/core/workflows/session-handoff.md)
|
|
83
|
+
b. Update .radar/STATE.md: agents_completed += [staff-engineer]
|
|
84
|
+
4. On session failure:
|
|
85
|
+
a. Log failure, mark staff-engineer as failed
|
|
86
|
+
b. Proceed to reality-gap-analyst (independent value even without change risk findings)
|
|
87
|
+
</step>
|
|
88
|
+
|
|
89
|
+
<step name="prepare_reality_gap_analyst_context" priority="blocking">
|
|
90
|
+
1. Load reality-gap-analyst agent manifest from src/core/agents/reality-gap-analyst.md.
|
|
91
|
+
2. Resolve component references:
|
|
92
|
+
a. Persona: src/core/personas/reality-gap-analyst.md
|
|
93
|
+
b. Focus domains: src/domains/00-context.md, src/domains/01-architecture.md, src/domains/07-reliability.md, src/domains/10-operability.md
|
|
94
|
+
c. Tools: checkov, git-history, sonarqube
|
|
95
|
+
d. Schemas: finding, disagreement, confidence, signal
|
|
96
|
+
e. Rules: epistemic-hygiene, disagreement-protocol, agent-boundaries
|
|
97
|
+
3. Collect input context:
|
|
98
|
+
a. ALL Phase 2 findings from .radar/findings/*.md — Reality Gap Analyst is cross-domain by nature
|
|
99
|
+
b. Staff Engineer findings from .radar/findings/staff-engineer.md (if available — produced in previous step)
|
|
100
|
+
c. .radar/signals/checkov.md — infrastructure-as-code policy signals (code-vs-config divergence)
|
|
101
|
+
d. .radar/signals/git-history.md — change patterns revealing drift
|
|
102
|
+
e. .radar/signals/sonarqube.md — code quality signals
|
|
103
|
+
f. .radar/scope.md and .radar/threat-model.md — deployment context is critical for gap analysis
|
|
104
|
+
g. .radar/STATE.md
|
|
105
|
+
4. Build context bundle (priority order: persona > rules > focus domains > Phase 2+3 findings > signals > state).
|
|
106
|
+
5. Note: Reality Gap Analyst has 4 focus domains but can reference ANY domain's findings to detect cross-domain divergence patterns.
|
|
107
|
+
</step>
|
|
108
|
+
|
|
109
|
+
<step name="invoke_reality_gap_analyst" priority="blocking">
|
|
110
|
+
1. Invoke reality-gap-analyst session with prepared context:
|
|
111
|
+
a. Phase 3 instructions: detect divergence between code-as-written and system-as-run
|
|
112
|
+
b. Focus areas: deployment configuration vs code assumptions, documented architecture vs actual structure, reliability claims vs operational evidence, developer experience claims vs tooling reality
|
|
113
|
+
c. Produce findings that identify WHERE the codebase's self-description diverges from its actual behavior
|
|
114
|
+
d. Each finding must cite specific evidence of the gap (not theoretical concerns)
|
|
115
|
+
2. Session produces:
|
|
116
|
+
a. Reality gap findings — concrete instances where code and runtime diverge
|
|
117
|
+
b. Cross-domain divergence patterns — gaps that span multiple audit domains
|
|
118
|
+
c. Configuration drift findings — deployment configs that don't match code expectations
|
|
119
|
+
3. On session completion:
|
|
120
|
+
a. Invoke session-handoff workflow (src/core/workflows/session-handoff.md)
|
|
121
|
+
b. Update .radar/STATE.md: agents_completed += [reality-gap-analyst]
|
|
122
|
+
</step>
|
|
123
|
+
|
|
124
|
+
<step name="detect_phase_3_disagreements" priority="blocking">
|
|
125
|
+
1. Compare Phase 3 findings against Phase 2 findings for conflicts:
|
|
126
|
+
a. Staff Engineer's change risk assessment vs individual agent severity ratings
|
|
127
|
+
b. Reality Gap Analyst's divergence findings vs domain agents' assumptions
|
|
128
|
+
c. Any Phase 3 finding that directly contradicts a Phase 2 finding
|
|
129
|
+
2. For each disagreement:
|
|
130
|
+
a. Create record per src/schemas/disagreement.md
|
|
131
|
+
b. Assign ID: D-{NNN} (continuing from Phase 2 sequence)
|
|
132
|
+
c. Set status: open
|
|
133
|
+
d. Write to .radar/disagreements/{disagreement-id}.md
|
|
134
|
+
3. If new disagreements detected:
|
|
135
|
+
a. Queue disagreement-resolution workflow
|
|
136
|
+
b. Record count in .radar/STATE.md
|
|
137
|
+
</step>
|
|
138
|
+
|
|
139
|
+
<step name="update_state_phase_complete" priority="blocking">
|
|
140
|
+
1. Update .radar/STATE.md:
|
|
141
|
+
a. current_phase: 3
|
|
142
|
+
b. phase_status: complete
|
|
143
|
+
c. phase_3_complete: true
|
|
144
|
+
d. agents_completed: [staff-engineer, reality-gap-analyst] (or partial list if any failed)
|
|
145
|
+
e. total_findings: updated cumulative count
|
|
146
|
+
f. phase_3_findings: N
|
|
147
|
+
g. disagreements_total: updated cumulative count
|
|
148
|
+
h. next_phase: 4
|
|
149
|
+
i. timestamp: completion time
|
|
150
|
+
2. Record Phase 3 metrics:
|
|
151
|
+
a. Duration (total and per-agent)
|
|
152
|
+
b. New findings produced
|
|
153
|
+
c. Cross-domain patterns identified
|
|
154
|
+
d. New disagreements detected
|
|
155
|
+
</step>
|
|
156
|
+
|
|
157
|
+
</process>
|
|
158
|
+
|
|
159
|
+
<output>
|
|
160
|
+
Artifacts created:
|
|
161
|
+
- .radar/findings/staff-engineer.md — Change risk, team ownership, and evolvability findings
|
|
162
|
+
- .radar/findings/reality-gap-analyst.md — Code-vs-runtime divergence findings
|
|
163
|
+
- .radar/disagreements/{disagreement-id}.md — New cross-phase disagreement records (if any)
|
|
164
|
+
- .radar/STATE.md — Updated with Phase 3 completion and cumulative metrics
|
|
165
|
+
|
|
166
|
+
All finding files conform to src/schemas/finding.md.
|
|
167
|
+
All disagreement records conform to src/schemas/disagreement.md.
|
|
168
|
+
</output>
|
|
169
|
+
|
|
170
|
+
<error_handling>
|
|
171
|
+
- **Phase 2 not complete:** Halt immediately. Display: "Phase 2 (Domain Audits) must complete before cross-domain synthesis. Run phase-2-domain-audits first." Do not proceed.
|
|
172
|
+
- **Staff Engineer session failure:** Log failure. Proceed to Reality Gap Analyst — the two agents are independent enough that Reality Gap analysis has standalone value. Record missing change risk coverage in STATE.md.
|
|
173
|
+
- **Reality Gap Analyst session failure:** Log failure. Phase 3 can complete with Staff Engineer findings only, but flag reduced cross-domain coverage. Record in STATE.md.
|
|
174
|
+
- **Both agents fail:** Mark Phase 3 as failed. Phase 4 (Adversarial Review) can still proceed with Phase 2 findings alone, but warn user of significant synthesis gap.
|
|
175
|
+
- **Excessive disagreements with Phase 2:** If Phase 3 agents disagree with >50% of Phase 2 findings, flag as potential systematic issue (scope mismatch, signal quality problem, or genuine paradigm conflict). Do not auto-resolve — present to user and queue for disagreement-resolution.
|
|
176
|
+
- **Missing git-history signals:** Staff Engineer depends heavily on git history for change risk and ownership analysis. If .radar/signals/git-history.md is missing, warn that change risk and team ownership findings will have reduced confidence. Agent should set evidence_diversity dimension low in confidence vectors.
|
|
177
|
+
</error_handling>
|