@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,197 @@
|
|
|
1
|
+
# Agent Convention
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Agents define **ASSEMBLY** — thin composition manifests that declare which persona, domains, tools, schemas, and rules compose each runtime agent. An agent file is not a prompt. It is not an identity description. It is not domain knowledge. It is a bill of materials: a declaration of which components are assembled together to create a functioning audit agent.
|
|
6
|
+
|
|
7
|
+
The agent manifest is intentionally thin. Identity lives in the persona file. Domain knowledge lives in domain files. Tool execution lives in tool files. Output structure lives in schema files. Behavioral constraints live in rule files. The agent file simply says: "compose these components together, and here are the assembly notes."
|
|
8
|
+
|
|
9
|
+
Radar uses 12 agent files, one per agent identity, mirroring the persona set. Radar Transform adds 5 agent files for intervention specialists, bringing the total to 17.
|
|
10
|
+
|
|
11
|
+
## Location
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
src/core/agents/ (12 Core agent assemblies)
|
|
15
|
+
src/transform/agents/ (5 Transform agent assemblies)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Naming
|
|
19
|
+
|
|
20
|
+
**Pattern:** `{kebab-name}.md`
|
|
21
|
+
|
|
22
|
+
Agent filenames match their corresponding persona filenames. The kebab-name is the shared identifier.
|
|
23
|
+
|
|
24
|
+
**Examples:**
|
|
25
|
+
- `security-engineer.md`
|
|
26
|
+
- `principal-engineer.md`
|
|
27
|
+
- `sre.md`
|
|
28
|
+
- `devils-advocate.md`
|
|
29
|
+
- `data-engineer.md`
|
|
30
|
+
- `api-designer.md`
|
|
31
|
+
|
|
32
|
+
## Required Structure
|
|
33
|
+
|
|
34
|
+
Agent files are **primarily frontmatter**. The body is minimal — assembly notes and session context only.
|
|
35
|
+
|
|
36
|
+
### Frontmatter (Required)
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
---
|
|
40
|
+
id: {kebab-name}
|
|
41
|
+
name: [Agent Display Name]
|
|
42
|
+
persona: {persona-id}
|
|
43
|
+
domains: [{DD}, {DD}]
|
|
44
|
+
tools: [{tool-id}, {tool-id}]
|
|
45
|
+
schemas:
|
|
46
|
+
output: [finding, disagreement]
|
|
47
|
+
confidence: confidence
|
|
48
|
+
signal_input: signal
|
|
49
|
+
rules: [epistemic-hygiene, disagreement-protocol]
|
|
50
|
+
active_phases: [{N}, {N}]
|
|
51
|
+
parallel_eligible: [true | false]
|
|
52
|
+
---
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
| Field | Type | Required | Description |
|
|
56
|
+
|-------|------|----------|-------------|
|
|
57
|
+
| `id` | string | yes | Kebab-case identifier, must match filename without extension |
|
|
58
|
+
| `name` | string | yes | Human-readable agent display name |
|
|
59
|
+
| `persona` | string | yes | ID of the persona file this agent uses (from `src/personas/`) |
|
|
60
|
+
| `domains` | list of strings | yes | Two-digit domain numbers this agent covers (from `src/domains/`) |
|
|
61
|
+
| `tools` | list of strings | yes | Tool IDs this agent consumes signals from (from `src/tools/`) |
|
|
62
|
+
| `schemas.output` | list of strings | yes | Schema IDs for output format (from `src/schemas/`) |
|
|
63
|
+
| `schemas.confidence` | string | yes | Schema ID for confidence assessment format |
|
|
64
|
+
| `schemas.signal_input` | string | yes | Schema ID for incoming signal format |
|
|
65
|
+
| `rules` | list of strings | yes | Rule IDs this agent must comply with (from `src/rules/`) |
|
|
66
|
+
| `active_phases` | list of integers | yes | Radar phases (0-5 for Core, 6-8 for Transform) where this agent is invoked |
|
|
67
|
+
| `parallel_eligible` | boolean | yes | Whether this agent can run concurrently with others in the same phase |
|
|
68
|
+
|
|
69
|
+
### Body Sections (Minimal)
|
|
70
|
+
|
|
71
|
+
The body must contain exactly 2 sections. Keep them short.
|
|
72
|
+
|
|
73
|
+
| Section | Header | Purpose |
|
|
74
|
+
|---------|--------|---------|
|
|
75
|
+
| Assembly Notes | `## Assembly Notes` | Special composition instructions not captured by the component references alone. |
|
|
76
|
+
| Session Context | `## Session Context` | What context this agent receives at session start — prior phase outputs, signals, schemas to enforce. |
|
|
77
|
+
|
|
78
|
+
**Critical constraint:** If the body exceeds 20 lines of content (excluding headers and blank lines), content is being duplicated from persona or domain files. Refactor it back to the source.
|
|
79
|
+
|
|
80
|
+
## Cross-References
|
|
81
|
+
|
|
82
|
+
| Direction | What | How |
|
|
83
|
+
|-----------|------|-----|
|
|
84
|
+
| References | One persona (`src/personas/`) | `persona: {id}` |
|
|
85
|
+
| References | Multiple domains (`src/domains/`) | `domains: [{DD}, {DD}]` |
|
|
86
|
+
| References | Multiple tools (`src/tools/`) | `tools: [{id}, {id}]` |
|
|
87
|
+
| References | Multiple schemas (`src/schemas/`) | `schemas.output`, `schemas.confidence`, `schemas.signal_input` |
|
|
88
|
+
| References | Multiple rules (`src/rules/`) | `rules: [{id}, {id}]` |
|
|
89
|
+
| Referenced BY | Workflows (`src/workflows/`) | Agent invocation by ID |
|
|
90
|
+
|
|
91
|
+
Agents are the **hub** of the dependency graph — they reference almost everything and are referenced by workflows.
|
|
92
|
+
|
|
93
|
+
## Example Skeleton
|
|
94
|
+
|
|
95
|
+
````markdown
|
|
96
|
+
---
|
|
97
|
+
id: security-engineer
|
|
98
|
+
name: Security Engineer
|
|
99
|
+
persona: security-engineer
|
|
100
|
+
domains: ["04", "06"]
|
|
101
|
+
tools: [semgrep, gitleaks, trivy, grype]
|
|
102
|
+
schemas:
|
|
103
|
+
output: [finding, disagreement]
|
|
104
|
+
confidence: confidence
|
|
105
|
+
signal_input: signal
|
|
106
|
+
rules: [epistemic-hygiene, disagreement-protocol, agent-boundaries]
|
|
107
|
+
active_phases: [1, 2, 3, 4]
|
|
108
|
+
parallel_eligible: true
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Assembly Notes
|
|
112
|
+
|
|
113
|
+
[Any special composition instructions. Keep this brief — only document behavior
|
|
114
|
+
that isn't captured by the persona + domain combination.
|
|
115
|
+
|
|
116
|
+
Example: "This agent has primary ownership of domain 04 (Security) and secondary
|
|
117
|
+
review responsibility for domain 06 (Infrastructure). For domain 06, this agent
|
|
118
|
+
focuses exclusively on security-relevant infrastructure concerns (IAM, network
|
|
119
|
+
exposure, secrets in IaC) and defers operational concerns to the SRE agent.
|
|
120
|
+
|
|
121
|
+
When this agent and the SRE agent both produce findings for domain 06, the
|
|
122
|
+
disagreement resolution workflow arbitrates based on the finding's primary
|
|
123
|
+
concern (security vs. operational)."]
|
|
124
|
+
|
|
125
|
+
## Session Context
|
|
126
|
+
|
|
127
|
+
[What this agent receives at session start. Be explicit about which artifacts
|
|
128
|
+
from prior phases are loaded into context.
|
|
129
|
+
|
|
130
|
+
Example:
|
|
131
|
+
- **Phase 1 input:** Repository structure map, technology inventory, .radar/STATE.md
|
|
132
|
+
- **Phase 2 input:** All normalized signals from tools listed in `tools` field,
|
|
133
|
+
prior agents' findings for domains listed in `domains` field
|
|
134
|
+
- **Phase 3 input:** Cross-domain findings that reference this agent's domains,
|
|
135
|
+
disagreement records involving this agent
|
|
136
|
+
- **Phase 4 input:** Consolidated finding set for final severity calibration]
|
|
137
|
+
````
|
|
138
|
+
|
|
139
|
+
## Transform Agent Conventions
|
|
140
|
+
|
|
141
|
+
Transform agents follow a different assembly pattern than Core agents, reflecting the centralized intervention model.
|
|
142
|
+
|
|
143
|
+
**Core Design Principle:** *Diagnosis is decentralized. Intervention is centralized.*
|
|
144
|
+
|
|
145
|
+
**Key architectural differences:**
|
|
146
|
+
|
|
147
|
+
| Aspect | Core Agent | Transform Agent |
|
|
148
|
+
|--------|-----------|-----------------|
|
|
149
|
+
| Domain scope | 1-3 specific domains | ALL domains (full finding access) |
|
|
150
|
+
| Execution model | Parallel (independent) | Sequential (coordinated pipeline) |
|
|
151
|
+
| Input source | Tool signals + prior phase findings | Complete Layer A record (all findings, disagreements, reports) |
|
|
152
|
+
| Output target | findings/{agent-id}/ | remediation/ or execution/ |
|
|
153
|
+
| Rule set | Epistemic governance | Epistemic governance + safety rules |
|
|
154
|
+
|
|
155
|
+
**Transform agent assembly:**
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
---
|
|
159
|
+
id: remediation-architect
|
|
160
|
+
name: Remediation Architect
|
|
161
|
+
persona: remediation-architect
|
|
162
|
+
domains: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13"]
|
|
163
|
+
tools: [git-history]
|
|
164
|
+
schemas:
|
|
165
|
+
output: [playbook, change-risk]
|
|
166
|
+
confidence: confidence
|
|
167
|
+
signal_input: finding
|
|
168
|
+
layer_a_input: [finding, disagreement, report-section]
|
|
169
|
+
rules: [epistemic-hygiene, safety-governance, conservative-bias]
|
|
170
|
+
active_phases: [6, 8]
|
|
171
|
+
parallel_eligible: false
|
|
172
|
+
---
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Note the differences from Core assembly:
|
|
176
|
+
- `domains` includes ALL 14 domains (Transform agents see everything)
|
|
177
|
+
- `schemas.signal_input` is `finding` (consumes Layer A findings, not raw tool signals)
|
|
178
|
+
- `schemas.layer_a_input` — new field for Transform agents specifying which Core schemas they consume
|
|
179
|
+
- `rules` includes safety-specific rules alongside shared epistemic rules
|
|
180
|
+
- `parallel_eligible: false` — Transform agents execute sequentially in a coordinated pipeline
|
|
181
|
+
|
|
182
|
+
**Transform agents consume ALL Core findings,** not just domain-scoped subsets. This is because remediation requires holistic understanding — a security fix may have architectural implications, a performance fix may have testing implications.
|
|
183
|
+
|
|
184
|
+
**Transform agents share a common intervention pipeline** — they execute sequentially within each phase, not in parallel. Phase 6: Remediation Architect → Pedagogy Agent. Phase 7: Change Risk Modeler → Guardrail Generator. Phase 8: Execution Validator.
|
|
185
|
+
|
|
186
|
+
## Anti-Patterns
|
|
187
|
+
|
|
188
|
+
| Anti-Pattern | Why It's Wrong |
|
|
189
|
+
|--------------|----------------|
|
|
190
|
+
| Duplicating persona content | Identity, mental models, risk philosophy, triggers — all of this belongs in `src/personas/`. If the agent body describes *who* the agent is, that content should be in the persona file instead. The agent manifest just references it. |
|
|
191
|
+
| Duplicating domain knowledge | Failure patterns, audit questions, red flags — all domain knowledge belongs in `src/domains/`. If the agent body lists what to look for, move it to the appropriate domain file. |
|
|
192
|
+
| Large body content | The body should be under 20 lines. Agent files are thin manifests. If you find yourself writing paragraphs, you are putting content in the wrong layer. Ask: "Does this describe identity (persona), knowledge (domain), structure (schema), constraint (rule), or assembly (agent)?" |
|
|
193
|
+
| Missing component references | Every agent must reference at least: one persona, one or more domains, one or more tools, output and confidence schemas, and at least one rule. An agent without rules is ungoverned. An agent without tools has no signal input. Incomplete manifests produce broken agents. |
|
|
194
|
+
| Persona-agent ID mismatch | The agent `id` and `persona` field should align. The agent named `security-engineer` should reference the persona `security-engineer`. Mismatches create confusion about which identity drives which agent. |
|
|
195
|
+
| Embedding prompt instructions | Agent manifests are not prompts. "You are a security expert who should..." is prompt engineering. The persona file handles identity. The workflow handles invocation. The agent file just assembles the pieces. |
|
|
196
|
+
| Transform agent with domain-scoped input | Transform agents must see all findings, not just findings from their 'assigned' domains. Remediation that ignores cross-domain effects produces fixes that create new problems. |
|
|
197
|
+
| Parallel-eligible Transform agents | Transform agents must execute sequentially. The Pedagogy Agent needs the Remediation Architect's output. The Guardrail Generator needs the Change Risk Modeler's scores. Parallelism breaks the intervention pipeline. |
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# Command Convention
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Commands define **ENTRY** — user-facing slash commands that provide a guided wizard UX for interacting with Radar. Commands are thin wrappers around workflows. They present options, collect user input, validate prerequisites, and delegate execution to the appropriate workflow.
|
|
6
|
+
|
|
7
|
+
Commands are the only part of Radar that users interact with directly. Everything else — personas, domains, tools, schemas, rules, agents, workflows — operates behind the command layer. A well-designed command makes Radar feel like a guided experience rather than a raw framework.
|
|
8
|
+
|
|
9
|
+
Radar uses approximately 8 command files: 4 for Core audit operations and 4 for Transform remediation operations.
|
|
10
|
+
|
|
11
|
+
## Location
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
src/core/commands/ (Core audit commands)
|
|
15
|
+
src/transform/commands/ (Transform remediation commands)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Naming
|
|
19
|
+
|
|
20
|
+
**Pattern:** `{kebab-name}.md`
|
|
21
|
+
|
|
22
|
+
**Core examples:**
|
|
23
|
+
- `audit.md`
|
|
24
|
+
- `resume.md`
|
|
25
|
+
- `status.md`
|
|
26
|
+
- `report.md`
|
|
27
|
+
|
|
28
|
+
**Transform examples:**
|
|
29
|
+
- `transform.md`
|
|
30
|
+
- `playbook.md`
|
|
31
|
+
- `remediate.md`
|
|
32
|
+
- `guardrails.md`
|
|
33
|
+
|
|
34
|
+
Commands are invoked by users as `radar:{kebab-name}` (e.g., `/radar:audit`).
|
|
35
|
+
|
|
36
|
+
## Required Structure
|
|
37
|
+
|
|
38
|
+
Every command file consists of YAML frontmatter followed by XML-tagged sections.
|
|
39
|
+
|
|
40
|
+
### Frontmatter (Required)
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
---
|
|
44
|
+
name: radar:{kebab-name}
|
|
45
|
+
description: [One-line description]
|
|
46
|
+
argument-hint: "[optional-arg]"
|
|
47
|
+
---
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
| Field | Type | Required | Description |
|
|
51
|
+
|-------|------|----------|-------------|
|
|
52
|
+
| `name` | string | yes | Command invocation name. Format: `radar:{kebab-name}` |
|
|
53
|
+
| `description` | string | yes | One-line description shown in command help |
|
|
54
|
+
| `argument-hint` | string | no | Hint for optional arguments (e.g., `"[path-to-repo]"`, `"[phase-number]"`) |
|
|
55
|
+
|
|
56
|
+
### Body Sections (All Required)
|
|
57
|
+
|
|
58
|
+
| Section | Tag | Purpose |
|
|
59
|
+
|---------|-----|---------|
|
|
60
|
+
| Objective | `<objective>` | What the command does, when to use it, what it produces. |
|
|
61
|
+
| Execution Context | `<execution_context>` | `@` references to workflows and framework resources the command needs. |
|
|
62
|
+
| Context | `<context>` | Runtime context: arguments, state files, configuration. |
|
|
63
|
+
| Process | `<process>` | Guided wizard flow with numbered options and clear routing to workflows. |
|
|
64
|
+
| Success Criteria | `<success_criteria>` | Measurable outcomes. Checklist of what "done" looks like. |
|
|
65
|
+
|
|
66
|
+
## Cross-References
|
|
67
|
+
|
|
68
|
+
| Direction | What | How |
|
|
69
|
+
|-----------|------|-----|
|
|
70
|
+
| References | Core Workflows (`src/core/workflows/`) | By path in `<execution_context>` |
|
|
71
|
+
| References | Transform Workflows (`src/transform/workflows/`) | By path in `<execution_context>` |
|
|
72
|
+
| References | `.radar/` state files | For prerequisite checking and state display |
|
|
73
|
+
| Referenced BY | Users | Slash command invocation (e.g., `/radar:audit`, `/radar:transform`) |
|
|
74
|
+
|
|
75
|
+
Commands are the **entry points** of the dependency graph. Users invoke commands; commands invoke workflows; workflows invoke agents.
|
|
76
|
+
|
|
77
|
+
## Example Skeleton
|
|
78
|
+
|
|
79
|
+
````markdown
|
|
80
|
+
---
|
|
81
|
+
name: radar:audit
|
|
82
|
+
description: Run a Radar audit on a codebase
|
|
83
|
+
argument-hint: "[path-to-repo]"
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
<objective>
|
|
87
|
+
[What this command does, when to use it, what the user gets.
|
|
88
|
+
|
|
89
|
+
Example: "Runs a full or partial Radar audit on a target codebase. This is the
|
|
90
|
+
primary entry point for starting a new audit, resuming an interrupted audit, or
|
|
91
|
+
re-running specific phases. Produces a structured audit report with findings,
|
|
92
|
+
severity assessments, and remediation recommendations."]
|
|
93
|
+
</objective>
|
|
94
|
+
|
|
95
|
+
<execution_context>
|
|
96
|
+
@src/workflows/phase-0-context.md
|
|
97
|
+
@src/workflows/phase-1-reconnaissance.md
|
|
98
|
+
@src/workflows/phase-2-domain-audits.md
|
|
99
|
+
@src/workflows/phase-3-cross-domain.md
|
|
100
|
+
@src/workflows/phase-4-severity-calibration.md
|
|
101
|
+
@src/workflows/phase-5-report.md
|
|
102
|
+
@src/workflows/session-handoff.md
|
|
103
|
+
[Additional workflow references as needed]
|
|
104
|
+
</execution_context>
|
|
105
|
+
|
|
106
|
+
<context>
|
|
107
|
+
$ARGUMENTS
|
|
108
|
+
@.radar/STATE.md
|
|
109
|
+
@.radar/MANIFEST.md
|
|
110
|
+
</context>
|
|
111
|
+
|
|
112
|
+
<process>
|
|
113
|
+
|
|
114
|
+
## Step 1: Determine Audit Scope
|
|
115
|
+
|
|
116
|
+
Check if $ARGUMENTS contains a repository path. If not, use the current working
|
|
117
|
+
directory.
|
|
118
|
+
|
|
119
|
+
Check if .radar/STATE.md exists:
|
|
120
|
+
- If YES: An audit is in progress. Present resume options (Step 2).
|
|
121
|
+
- If NO: This is a new audit. Present initialization options (Step 3).
|
|
122
|
+
|
|
123
|
+
## Step 2: Resume Existing Audit
|
|
124
|
+
|
|
125
|
+
Display current audit state from .radar/STATE.md:
|
|
126
|
+
- Last completed phase
|
|
127
|
+
- Finding count so far
|
|
128
|
+
- Any unresolved disagreements
|
|
129
|
+
- Any errors or incomplete phases
|
|
130
|
+
|
|
131
|
+
Present options:
|
|
132
|
+
```
|
|
133
|
+
[1] Resume from last checkpoint (recommended)
|
|
134
|
+
[2] Re-run phase {N} (last completed phase)
|
|
135
|
+
[3] Re-run from phase {N} (specific phase)
|
|
136
|
+
[4] Start fresh (WARNING: deletes existing .radar/ state)
|
|
137
|
+
[5] Cancel
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Route to appropriate workflow based on selection.
|
|
141
|
+
|
|
142
|
+
## Step 3: Initialize New Audit
|
|
143
|
+
|
|
144
|
+
Display target repository information:
|
|
145
|
+
- Path
|
|
146
|
+
- Detected languages/frameworks
|
|
147
|
+
- Repository size estimate
|
|
148
|
+
|
|
149
|
+
Present audit scope options:
|
|
150
|
+
```
|
|
151
|
+
[1] Full audit — all phases, all domains (recommended for first run)
|
|
152
|
+
[2] Targeted audit — select specific domains
|
|
153
|
+
[3] Quick scan — phase 0-2 only (reconnaissance + domain audits, no synthesis)
|
|
154
|
+
[4] Cancel
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
If [2] selected, present domain checklist:
|
|
158
|
+
```
|
|
159
|
+
[ ] 00 — Context
|
|
160
|
+
[ ] 01 — Architecture
|
|
161
|
+
[ ] 02 — Code Quality
|
|
162
|
+
...
|
|
163
|
+
[ ] 13 — Risk Synthesis
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
After selection, delegate to phase-0-context workflow to begin.
|
|
167
|
+
|
|
168
|
+
## Step 4: Confirm and Execute
|
|
169
|
+
|
|
170
|
+
Display audit plan:
|
|
171
|
+
- Scope (full / targeted / quick)
|
|
172
|
+
- Phases to execute
|
|
173
|
+
- Estimated session count
|
|
174
|
+
- Domains included
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
[1] Start audit (recommended)
|
|
178
|
+
[2] Modify scope
|
|
179
|
+
[3] Cancel
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
If [1] selected, delegate to first workflow in sequence.
|
|
183
|
+
|
|
184
|
+
</process>
|
|
185
|
+
|
|
186
|
+
<success_criteria>
|
|
187
|
+
- [ ] Audit scope is clearly defined and confirmed by user
|
|
188
|
+
- [ ] All prerequisite checks pass (tools installed, repository accessible)
|
|
189
|
+
- [ ] Workflow delegation begins successfully
|
|
190
|
+
- [ ] .radar/ directory is initialized with STATE.md and MANIFEST.md
|
|
191
|
+
- [ ] User receives clear feedback on what will happen next
|
|
192
|
+
</success_criteria>
|
|
193
|
+
````
|
|
194
|
+
|
|
195
|
+
## Transform Command Conventions
|
|
196
|
+
|
|
197
|
+
Transform commands are entry points to the remediation pipeline. They follow the same structural conventions as Core commands (frontmatter + XML sections) but include Transform-specific safety requirements.
|
|
198
|
+
|
|
199
|
+
**The 4 Transform commands:**
|
|
200
|
+
|
|
201
|
+
| Command | Invocation | Purpose |
|
|
202
|
+
|---------|-----------|---------|
|
|
203
|
+
| Transform | `/radar:transform` | Initiate Transform pipeline on a completed audit |
|
|
204
|
+
| Playbook | `/radar:playbook {finding-id}` | Generate remediation playbook for a specific finding |
|
|
205
|
+
| Remediate | `/radar:remediate` | Generate full remediation plan (all findings) |
|
|
206
|
+
| Guardrails | `/radar:guardrails` | Generate project rules from audit findings |
|
|
207
|
+
|
|
208
|
+
**Safety requirement:** All Transform commands must display intervention level and confidence information before proceeding with any output generation. The user must confirm before Transform produces output at Planning level or above.
|
|
209
|
+
|
|
210
|
+
**Example Transform command flow:**
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
/radar:transform
|
|
214
|
+
|
|
215
|
+
[1] Check prerequisites:
|
|
216
|
+
- Verify completed Core audit (.radar/report/ exists)
|
|
217
|
+
- Verify Layer A integrity (all phases 0-5 complete)
|
|
218
|
+
|
|
219
|
+
[2] Display Transform scope:
|
|
220
|
+
- Finding count: N findings across M domains
|
|
221
|
+
- Estimated playbook count: ~P
|
|
222
|
+
- Maximum intervention level available: [based on confidence distribution]
|
|
223
|
+
|
|
224
|
+
[3] Select Transform scope:
|
|
225
|
+
[1] Full Transform — all findings, all phases (6-8)
|
|
226
|
+
[2] Selective — choose specific findings or domains
|
|
227
|
+
[3] Playbooks only — Phase 6 only (no risk scoring or Drive project)
|
|
228
|
+
[4] Cancel
|
|
229
|
+
|
|
230
|
+
[4] Confirm and execute:
|
|
231
|
+
- Display: "Transform will produce remediation at intervention levels: Suggesting (N), Planning (M), Authorizing (K)"
|
|
232
|
+
- Require explicit confirmation before proceeding
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Transform commands delegate to Transform workflows** in `src/transform/workflows/`, following the same delegation pattern as Core commands.
|
|
236
|
+
|
|
237
|
+
**Prerequisite enforcement:** Transform commands MUST verify that Core audit is complete before allowing Transform to proceed. A Transform command that runs against an incomplete Layer A record produces unreliable remediation.
|
|
238
|
+
|
|
239
|
+
## Anti-Patterns
|
|
240
|
+
|
|
241
|
+
| Anti-Pattern | Why It's Wrong |
|
|
242
|
+
|--------------|----------------|
|
|
243
|
+
| Embedding execution logic | Commands delegate to workflows; they do not execute audit logic themselves. "Run Semgrep on the codebase" is workflow/tool logic. Commands say "delegate to phase-1-reconnaissance workflow which handles tool execution." |
|
|
244
|
+
| Missing guided wizard options | Commands must present clear, numbered choices at every decision point. Dumping the user into a workflow without confirming scope, showing state, or offering alternatives is poor UX. The command layer exists specifically to provide guided interaction. |
|
|
245
|
+
| No success criteria | Without measurable outcomes, there is no way to verify the command worked. "Audit started" is not a success criterion. "STATE.md created with phase-0 status, MANIFEST.md lists all agents, tools installed and verified" is a success criterion. |
|
|
246
|
+
| Duplicating workflow steps | If the command's `<process>` section contains detailed analysis steps, those steps should be in a workflow file instead. The command guides the user to the right workflow and hands off. It does not replicate the workflow's internals. |
|
|
247
|
+
| Hardcoded paths or tool names | Commands should reference workflows and state files by their standard locations. Hardcoding tool names or specific file paths (beyond `.radar/` conventions) makes commands brittle when the framework evolves. |
|
|
248
|
+
| Missing cancellation options | Every decision point must include a way to cancel or go back. Users should never feel trapped in a command flow. Always include a "Cancel" or "Pause" option. |
|
|
249
|
+
| Transform command without safety display | Every Transform command must show intervention levels and confidence before producing output. Generating remediation without user awareness of the intervention level violates the safety framework. |
|
|
250
|
+
| Transform command that skips prerequisite check | Transform requires a complete Layer A record. A command that allows Transform to run against an incomplete audit produces remediation based on partial information — potentially dangerous. |
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Domain Convention
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Domains define **WHAT** to audit. They encode failure patterns, audit questions, red flags, tool affinities, and relevant standards for a specific area of technical concern. A domain is a structured knowledge base — neutral, factual, and independent of any persona's reasoning style.
|
|
6
|
+
|
|
7
|
+
Domains are the *subject matter* that agents apply their personas against. The security persona applies its attacker mindset to the security domain's failure patterns. The SRE persona applies its reliability thinking to the observability domain's red flags. The domain supplies the knowledge; the persona supplies the reasoning.
|
|
8
|
+
|
|
9
|
+
Domains also supply the best-practice pattern knowledge that Transform agents use when producing remediation. A domain that only describes failures without corresponding correct patterns cannot feed the Transform pipeline.
|
|
10
|
+
|
|
11
|
+
Radar uses 14 domain files, numbered 00-13, covering the full surface area of a codebase audit.
|
|
12
|
+
|
|
13
|
+
## Location
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
src/domains/
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Naming
|
|
20
|
+
|
|
21
|
+
**Pattern:** `{DD}-{kebab-name}.md`
|
|
22
|
+
|
|
23
|
+
The two-digit prefix (`DD`) establishes canonical ordering and serves as the domain's numeric identifier across the framework.
|
|
24
|
+
|
|
25
|
+
**Examples:**
|
|
26
|
+
- `00-context.md`
|
|
27
|
+
- `01-architecture.md`
|
|
28
|
+
- `04-security.md`
|
|
29
|
+
- `07-testing.md`
|
|
30
|
+
- `13-risk-synthesis.md`
|
|
31
|
+
|
|
32
|
+
## Required Structure
|
|
33
|
+
|
|
34
|
+
Every domain file consists of YAML frontmatter followed by 7 markdown-headed sections.
|
|
35
|
+
|
|
36
|
+
### Frontmatter (Required)
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
---
|
|
40
|
+
id: domain-{DD}
|
|
41
|
+
number: {DD}
|
|
42
|
+
name: [Domain Name]
|
|
43
|
+
owner_agents: [list of agent IDs that cover this domain]
|
|
44
|
+
---
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Field | Type | Required | Description |
|
|
48
|
+
|-------|------|----------|-------------|
|
|
49
|
+
| `id` | string | yes | `domain-` prefix followed by two-digit number |
|
|
50
|
+
| `number` | string | yes | Two-digit domain number (e.g., `00`, `04`, `13`) |
|
|
51
|
+
| `name` | string | yes | Human-readable domain name |
|
|
52
|
+
| `owner_agents` | list of strings | yes | Agent IDs (from `src/agents/`) responsible for this domain |
|
|
53
|
+
|
|
54
|
+
### Body Sections (All Required)
|
|
55
|
+
|
|
56
|
+
Sections use standard markdown headers (`##`), not XML tags. Order matters.
|
|
57
|
+
|
|
58
|
+
| Section | Header | Purpose |
|
|
59
|
+
|---------|--------|---------|
|
|
60
|
+
| Overview | `## Overview` | What this domain covers and why it matters to an audit. |
|
|
61
|
+
| Audit Questions | `## Audit Questions` | Specific questions an agent should answer about this domain. Bulleted list. |
|
|
62
|
+
| Failure Patterns | `## Failure Patterns` | Known failure modes. Each with: pattern name, description, indicators, severity tendency. |
|
|
63
|
+
| Best Practice Patterns | `## Best Practice Patterns` | Correct patterns that correspond to each failure pattern. Required for Transform remediation. |
|
|
64
|
+
| Red Flags | `## Red Flags` | Quick indicators that something is wrong. Bulleted list of observable signals. |
|
|
65
|
+
| Tool Affinities | `## Tool Affinities` | Which tools produce signals relevant to this domain. Structured table. |
|
|
66
|
+
| Standards & Frameworks | `## Standards & Frameworks` | Relevant industry standards. Bulleted list with brief relevance notes. |
|
|
67
|
+
| Metrics | `## Metrics` | Quantifiable measurements. Structured table with healthy ranges. |
|
|
68
|
+
|
|
69
|
+
## Cross-References
|
|
70
|
+
|
|
71
|
+
| Direction | What | How |
|
|
72
|
+
|-----------|------|-----|
|
|
73
|
+
| Referenced BY | Agent assembly manifests (`src/agents/`) | `domains: [{DD}, {DD}]` field in agent frontmatter |
|
|
74
|
+
| References | Tool IDs (`src/tools/`) | In the Tool Affinities section table |
|
|
75
|
+
| Does NOT reference | Personas, schemas, rules | Domain knowledge is neutral; persona reasoning is applied at runtime |
|
|
76
|
+
| Referenced BY | Transform agents (`src/transform/agents/`) | Transform agents consume domain best-practice patterns for remediation context |
|
|
77
|
+
|
|
78
|
+
## Example Skeleton
|
|
79
|
+
|
|
80
|
+
````markdown
|
|
81
|
+
---
|
|
82
|
+
id: domain-04
|
|
83
|
+
number: "04"
|
|
84
|
+
name: [Security]
|
|
85
|
+
owner_agents: [security-engineer]
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Overview
|
|
89
|
+
|
|
90
|
+
[What this domain covers. Scope boundaries — what's included and what's explicitly
|
|
91
|
+
excluded. Why this domain matters in the context of a codebase audit.
|
|
92
|
+
|
|
93
|
+
Example: "Covers application-layer security: authentication, authorization, input
|
|
94
|
+
validation, cryptography, secrets management, and dependency vulnerabilities.
|
|
95
|
+
Does NOT cover infrastructure/network security (that's domain-06) or compliance
|
|
96
|
+
frameworks (domain-12)."]
|
|
97
|
+
|
|
98
|
+
## Audit Questions
|
|
99
|
+
|
|
100
|
+
- [Question 1 — e.g., "Are all user inputs validated and sanitized before processing?"]
|
|
101
|
+
- [Question 2 — e.g., "Is authentication centralized or scattered across the codebase?"]
|
|
102
|
+
- [Question 3 — e.g., "Are secrets hardcoded, environment-injected, or vault-managed?"]
|
|
103
|
+
- [Question 4 — e.g., "Do dependencies have known CVEs at the versions in use?"]
|
|
104
|
+
- [Question 5 — e.g., "Is authorization checked at every access point or only at the perimeter?"]
|
|
105
|
+
- [Additional questions — aim for 8-15 per domain]
|
|
106
|
+
|
|
107
|
+
## Failure Patterns
|
|
108
|
+
|
|
109
|
+
### [Pattern Name — e.g., "Broken Authentication"]
|
|
110
|
+
|
|
111
|
+
- **Description:** [What this failure pattern is. One to two sentences.]
|
|
112
|
+
- **Indicators:** [Observable signals that this pattern may be present]
|
|
113
|
+
- [Indicator 1 — e.g., "Custom authentication logic instead of framework-provided"]
|
|
114
|
+
- [Indicator 2 — e.g., "Session tokens with predictable patterns"]
|
|
115
|
+
- [Indicator 3 — e.g., "Missing account lockout after failed attempts"]
|
|
116
|
+
- **Severity Tendency:** [typical severity — critical | high | medium | low]
|
|
117
|
+
|
|
118
|
+
### [Pattern Name — e.g., "Injection Vulnerabilities"]
|
|
119
|
+
|
|
120
|
+
- **Description:** [What this failure pattern is.]
|
|
121
|
+
- **Indicators:**
|
|
122
|
+
- [Indicator 1]
|
|
123
|
+
- [Indicator 2]
|
|
124
|
+
- **Severity Tendency:** [typical severity]
|
|
125
|
+
|
|
126
|
+
[Repeat for each failure pattern. Aim for 5-10 per domain.]
|
|
127
|
+
|
|
128
|
+
## Best Practice Patterns
|
|
129
|
+
|
|
130
|
+
### [Pattern Name — e.g., "Centralized Authentication"]
|
|
131
|
+
|
|
132
|
+
- **Replaces Failure Pattern:** [Which failure pattern this corrects — e.g., "Broken Authentication"]
|
|
133
|
+
- **Abstract Pattern:** [Language-agnostic principle — e.g., "Authentication should be handled by a single, well-tested module that all request handlers delegate to"]
|
|
134
|
+
- **Framework Mappings:**
|
|
135
|
+
- [Framework 1]: [Implementation — e.g., "Laravel: Use middleware guards with `auth:sanctum`"]
|
|
136
|
+
- [Framework 2]: [Implementation — e.g., "Express: Use passport.js with centralized strategy configuration"]
|
|
137
|
+
- [Framework 3]: [Implementation — e.g., "Spring Boot: Use Spring Security filter chain"]
|
|
138
|
+
- **Language Patterns:**
|
|
139
|
+
- [Language 1]: [Pattern — e.g., "PHP: `Auth::check()` middleware, never inline credential comparison"]
|
|
140
|
+
- [Language 2]: [Pattern — e.g., "Node.js: JWT verification middleware with centralized secret management"]
|
|
141
|
+
|
|
142
|
+
[Repeat for each best practice pattern. Every failure pattern should have a corresponding best practice.]
|
|
143
|
+
|
|
144
|
+
## Red Flags
|
|
145
|
+
|
|
146
|
+
- [Red flag 1 — e.g., "Any file named `password`, `secret`, or `key` in source tree"]
|
|
147
|
+
- [Red flag 2 — e.g., "HTTP endpoints accepting user input without validation middleware"]
|
|
148
|
+
- [Red flag 3 — e.g., "Commented-out authentication checks"]
|
|
149
|
+
- [Red flag 4 — e.g., "Use of MD5 or SHA1 for password hashing"]
|
|
150
|
+
- [Additional red flags — quick, observable signals]
|
|
151
|
+
|
|
152
|
+
## Tool Affinities
|
|
153
|
+
|
|
154
|
+
| Tool ID | Signal Type | Relevance |
|
|
155
|
+
|---------|-------------|-----------|
|
|
156
|
+
| [semgrep] | [Static analysis findings for injection, auth, crypto patterns] | [primary] |
|
|
157
|
+
| [gitleaks] | [Detected secrets and credentials in source] | [primary] |
|
|
158
|
+
| [trivy] | [Known CVEs in dependencies] | [supporting] |
|
|
159
|
+
| [syft-grype] | [SBOM-based vulnerability matching] | [supporting] |
|
|
160
|
+
|
|
161
|
+
Relevance levels: `primary` (core signal source), `supporting` (supplementary data), `contextual` (useful but not essential).
|
|
162
|
+
|
|
163
|
+
## Standards & Frameworks
|
|
164
|
+
|
|
165
|
+
- [OWASP Top 10 — application security risk taxonomy]
|
|
166
|
+
- [CWE/SANS Top 25 — most dangerous software weaknesses]
|
|
167
|
+
- [NIST SP 800-53 — security and privacy controls (relevant sections)]
|
|
168
|
+
- [Additional standards relevant to this domain]
|
|
169
|
+
|
|
170
|
+
## Metrics
|
|
171
|
+
|
|
172
|
+
| Metric | What It Measures | Healthy Range |
|
|
173
|
+
|--------|-----------------|---------------|
|
|
174
|
+
| [Critical CVE count] | [Number of critical-severity known vulnerabilities in dependencies] | [0] |
|
|
175
|
+
| [Secrets detected] | [Count of hardcoded secrets or credentials in source] | [0] |
|
|
176
|
+
| [Input validation coverage] | [Percentage of user-input endpoints with validation] | [95-100%] |
|
|
177
|
+
| [Auth centralization ratio] | [Percentage of auth logic in centralized modules vs scattered] | [>90% centralized] |
|
|
178
|
+
````
|
|
179
|
+
|
|
180
|
+
## Anti-Patterns
|
|
181
|
+
|
|
182
|
+
| Anti-Pattern | Why It's Wrong |
|
|
183
|
+
|--------------|----------------|
|
|
184
|
+
| Embedding persona reasoning style | Writing "A security engineer would think..." imports persona logic into domain knowledge. Domains are neutral knowledge bases. The persona applies its reasoning *to* the domain at runtime. |
|
|
185
|
+
| Including risk judgments or severity assessments | Severity tendency in failure patterns describes *typical* severity, not assessed severity. Actual severity assessment happens in phases 6-7 when agents apply judgment. Domains provide the raw patterns, not the verdict. |
|
|
186
|
+
| Making tool affinities prescriptive | "You MUST run Semgrep" is prescriptive. "Semgrep produces relevant signals for this domain" is descriptive. Workflows decide what runs; domains describe what's useful. |
|
|
187
|
+
| Opinion leaking into failure patterns | "This terrible pattern" or "developers often lazily..." introduces bias. Failure patterns are factual: here is the pattern, here are its indicators, here is its typical severity. No editorializing. |
|
|
188
|
+
| Mixing domain scopes | Each domain has clear boundaries. Security does not discuss testing strategy. Architecture does not discuss deployment. If a concern spans domains, each domain covers its slice and cross-references are handled at the agent level through multi-domain assignments. |
|
|
189
|
+
| Omitting the Tool Affinities section | Even if a domain has no direct tool signals, state that explicitly. An empty section with "No direct tool signals; this domain relies on manual analysis and agent reasoning" is better than a missing section. |
|
|
190
|
+
| Domains that only describe failures | A domain without best-practice patterns cannot feed Transform remediation. Anti-patterns without corresponding correct patterns produce diagnosis without treatment. |
|
|
191
|
+
| Generic best practices without framework mapping | A best practice that says "use authentication middleware" without framework-specific implementations is not actionable at Layers 2-4 of the transformation model. |
|