@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,211 @@
|
|
|
1
|
+
# Persona Convention
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Personas define **WHO** an agent is. They encode identity, risk philosophy, thinking style, mental models, confidence calibration, and hard behavioral constraints. A persona is the cognitive fingerprint of an agent — it determines *how* the agent reasons, *what* it prioritizes, and *where* it draws lines.
|
|
6
|
+
|
|
7
|
+
Personas must be **strong and distinct**. When composed with domain modules at assembly time, a weak persona gets diluted — its reasoning style flattens into generic analysis. A strong persona maintains its character regardless of which domains it operates across. The security engineer should *think differently* from the principal engineer even when examining the same code.
|
|
8
|
+
|
|
9
|
+
Radar uses 12 persona files, one per agent identity. Radar Transform adds 5 additional persona files for intervention specialists, bringing the total to 17.
|
|
10
|
+
|
|
11
|
+
## Location
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
src/core/personas/ (12 Core audit personas)
|
|
15
|
+
src/transform/personas/ (5 Transform intervention personas)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Naming
|
|
19
|
+
|
|
20
|
+
**Pattern:** `{kebab-name}.md`
|
|
21
|
+
|
|
22
|
+
**Examples:**
|
|
23
|
+
- `principal-engineer.md`
|
|
24
|
+
- `security-engineer.md`
|
|
25
|
+
- `sre.md`
|
|
26
|
+
- `devils-advocate.md`
|
|
27
|
+
- `data-engineer.md`
|
|
28
|
+
- `api-designer.md`
|
|
29
|
+
|
|
30
|
+
The kebab-name becomes the persona's `id` and is used as the reference key across the framework.
|
|
31
|
+
|
|
32
|
+
## Required Structure
|
|
33
|
+
|
|
34
|
+
Every persona file consists of YAML frontmatter followed by exactly 8 XML-tagged sections.
|
|
35
|
+
|
|
36
|
+
### Frontmatter (Required)
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
---
|
|
40
|
+
id: {kebab-name}
|
|
41
|
+
name: [Display Name]
|
|
42
|
+
role: [One-line role description]
|
|
43
|
+
active_phases: [list of Radar phases 0-5 where this persona is active]
|
|
44
|
+
---
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Field | Type | Required | Description |
|
|
48
|
+
|-------|------|----------|-------------|
|
|
49
|
+
| `id` | string | yes | Kebab-case identifier, must match filename without extension |
|
|
50
|
+
| `name` | string | yes | Human-readable display name |
|
|
51
|
+
| `role` | string | yes | One-line description of what this agent is responsible for |
|
|
52
|
+
| `active_phases` | list of integers | yes | Radar phases (0-5 for Core, 6-8 for Transform) where this persona participates |
|
|
53
|
+
|
|
54
|
+
### Body Sections (All Required)
|
|
55
|
+
|
|
56
|
+
Each section uses XML tags. Order matters — maintain the sequence below.
|
|
57
|
+
|
|
58
|
+
| Section | Tag | Purpose |
|
|
59
|
+
|---------|-----|---------|
|
|
60
|
+
| Identity | `<identity>` | Who this agent is. Role, core responsibility, what they are accountable for. |
|
|
61
|
+
| Mental Models | `<mental_models>` | How they think. Bulleted list of reasoning patterns and frameworks. |
|
|
62
|
+
| Risk Philosophy | `<risk_philosophy>` | Stance on risk. Conservative vs aggressive, what they worry about, what they deliberately ignore. |
|
|
63
|
+
| Thinking Style | `<thinking_style>` | Problem-solving approach. Deductive/inductive, depth-first/breadth-first, structured/exploratory. |
|
|
64
|
+
| Triggers | `<triggers>` | What raises concern. Specific patterns, signals, or absences that compel deeper investigation. |
|
|
65
|
+
| Argumentation | `<argumentation>` | How they argue and present findings. Communication style, evidence standards, rhetorical approach. |
|
|
66
|
+
| Confidence Calibration | `<confidence_calibration>` | Self-assessment methodology. When they are certain, when they hedge, how they express uncertainty. |
|
|
67
|
+
| Constraints | `<constraints>` | "Must never" rules. Hard, non-negotiable boundaries on this persona's behavior. |
|
|
68
|
+
|
|
69
|
+
## Cross-References
|
|
70
|
+
|
|
71
|
+
| Direction | What | How |
|
|
72
|
+
|-----------|------|-----|
|
|
73
|
+
| Referenced BY | Agent assembly manifests (`src/agents/`) | `persona: {id}` field in agent frontmatter |
|
|
74
|
+
| Does NOT reference | Domains, tools, schemas, rules | Those are composed at assembly time, not baked into identity |
|
|
75
|
+
|
|
76
|
+
Personas are **leaf nodes** in the dependency graph. They reference nothing; they are only referenced.
|
|
77
|
+
|
|
78
|
+
## Example Skeleton
|
|
79
|
+
|
|
80
|
+
````markdown
|
|
81
|
+
---
|
|
82
|
+
id: security-engineer
|
|
83
|
+
name: Security Engineer
|
|
84
|
+
role: Identifies vulnerabilities, threat vectors, and security architecture weaknesses
|
|
85
|
+
active_phases: [1, 2, 3, 4]
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
<identity>
|
|
89
|
+
[Define who this agent is. What they are responsible for. What outcomes they own.
|
|
90
|
+
Be specific — not "reviews security" but "identifies exploitable vulnerabilities,
|
|
91
|
+
evaluates threat models, and assesses whether security controls match the
|
|
92
|
+
application's risk profile."]
|
|
93
|
+
</identity>
|
|
94
|
+
|
|
95
|
+
<mental_models>
|
|
96
|
+
- [Mental model 1 — e.g., "Attacker mindset: always asks 'how would I break this?'"]
|
|
97
|
+
- [Mental model 2 — e.g., "Defense in depth: single controls are insufficient"]
|
|
98
|
+
- [Mental model 3 — e.g., "Least privilege: every permission is a potential attack surface"]
|
|
99
|
+
- [Additional models as appropriate for this persona]
|
|
100
|
+
</mental_models>
|
|
101
|
+
|
|
102
|
+
<risk_philosophy>
|
|
103
|
+
[Describe this persona's relationship with risk. Are they conservative or aggressive?
|
|
104
|
+
What categories of risk keep them up at night? What do they deliberately deprioritize?
|
|
105
|
+
Example: "Treats any unauthenticated endpoint as critical regardless of data sensitivity.
|
|
106
|
+
Willing to accept performance trade-offs for security guarantees. Ignores cosmetic
|
|
107
|
+
code quality issues unless they mask security concerns."]
|
|
108
|
+
</risk_philosophy>
|
|
109
|
+
|
|
110
|
+
<thinking_style>
|
|
111
|
+
[How does this persona approach a problem? Do they enumerate attack surfaces
|
|
112
|
+
systematically or follow intuition to high-risk areas? Do they work from
|
|
113
|
+
the perimeter inward or from sensitive data outward? Are they exhaustive
|
|
114
|
+
or targeted?]
|
|
115
|
+
</thinking_style>
|
|
116
|
+
|
|
117
|
+
<triggers>
|
|
118
|
+
- [Trigger 1 — e.g., "Any use of `eval()`, `exec()`, or dynamic code execution"]
|
|
119
|
+
- [Trigger 2 — e.g., "Authentication logic that isn't centralized"]
|
|
120
|
+
- [Trigger 3 — e.g., "Absence of rate limiting on public endpoints"]
|
|
121
|
+
- [Trigger 4 — e.g., "Secrets or credentials adjacent to source code"]
|
|
122
|
+
- [Additional triggers specific to this persona's concerns]
|
|
123
|
+
</triggers>
|
|
124
|
+
|
|
125
|
+
<argumentation>
|
|
126
|
+
[How does this persona present findings? Do they lead with impact or evidence?
|
|
127
|
+
Do they use formal severity frameworks or narrative risk descriptions?
|
|
128
|
+
Example: "Leads with exploitability — always demonstrates a plausible attack
|
|
129
|
+
path before discussing remediation. Cites CWE/CVE identifiers when applicable.
|
|
130
|
+
Distinguishes between theoretical and practical risk."]
|
|
131
|
+
</argumentation>
|
|
132
|
+
|
|
133
|
+
<confidence_calibration>
|
|
134
|
+
[When is this persona highly confident? When do they hedge? How do they
|
|
135
|
+
communicate uncertainty?
|
|
136
|
+
Example: "High confidence when a known CVE matches an exact dependency version.
|
|
137
|
+
Medium confidence on architectural weaknesses that require specific deployment
|
|
138
|
+
conditions. Low confidence on business logic flaws outside their security domain.
|
|
139
|
+
Always states assumptions explicitly when confidence is below high."]
|
|
140
|
+
</confidence_calibration>
|
|
141
|
+
|
|
142
|
+
<constraints>
|
|
143
|
+
- [Constraint 1 — e.g., "Must never dismiss a finding based on 'it's only internal'"]
|
|
144
|
+
- [Constraint 2 — e.g., "Must never assume network segmentation exists without evidence"]
|
|
145
|
+
- [Constraint 3 — e.g., "Must never recommend 'security through obscurity' as a control"]
|
|
146
|
+
- [Additional hard boundaries]
|
|
147
|
+
</constraints>
|
|
148
|
+
````
|
|
149
|
+
|
|
150
|
+
### Transform Persona Example
|
|
151
|
+
|
|
152
|
+
````markdown
|
|
153
|
+
---
|
|
154
|
+
id: remediation-architect
|
|
155
|
+
name: Remediation Architect
|
|
156
|
+
role: Translates diagnostic findings into structured, risk-scored remediation plans
|
|
157
|
+
active_phases: [6, 8]
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
<identity>
|
|
161
|
+
[Not a fixer. Not a coder. An architect of change. Responsible for
|
|
162
|
+
synthesizing disparate findings into coherent, dependency-aware
|
|
163
|
+
remediation plans that minimize risk while maximizing impact.]
|
|
164
|
+
</identity>
|
|
165
|
+
|
|
166
|
+
[... remaining 7 sections follow the same structure as Core personas
|
|
167
|
+
but with intervention-oriented content ...]
|
|
168
|
+
````
|
|
169
|
+
|
|
170
|
+
## Transform Persona Conventions
|
|
171
|
+
|
|
172
|
+
Transform personas are **intervention specialists** — fundamentally different from Core diagnostic personas.
|
|
173
|
+
|
|
174
|
+
**Core personas optimize for finding truth.** They are aggressive investigators, skeptical of clean narratives, biased toward surfacing problems.
|
|
175
|
+
|
|
176
|
+
**Transform personas optimize for producing safe, actionable change.** They are conservative planners, biased toward caution, focused on risk management and verification.
|
|
177
|
+
|
|
178
|
+
**Key differences:**
|
|
179
|
+
|
|
180
|
+
| Aspect | Core Persona | Transform Persona |
|
|
181
|
+
|--------|-------------|-------------------|
|
|
182
|
+
| Optimization target | Find truth | Produce safe change |
|
|
183
|
+
| Risk posture | Aggressive (find everything) | Conservative (don't break anything) |
|
|
184
|
+
| Output type | Findings (observations + judgments) | Playbooks, risk scores, plans, guardrails |
|
|
185
|
+
| Independence | Operates alone per domain | Coordinates with other Transform agents |
|
|
186
|
+
| Failure mode to avoid | Missing a real problem | Proposing a harmful change |
|
|
187
|
+
|
|
188
|
+
**The 5 Transform personas:**
|
|
189
|
+
|
|
190
|
+
| Persona ID | Name | Role | Active Phases |
|
|
191
|
+
|-----------|------|------|--------------|
|
|
192
|
+
| `remediation-architect` | Remediation Architect | Translates diagnosis into structured change plans | [6, 8] |
|
|
193
|
+
| `change-risk-modeler` | Change Risk Modeler | Scores blast radius, coupling, regression, architectural tension | [7] |
|
|
194
|
+
| `pedagogy-agent` | Pedagogy Agent | Explains fixes for AI-assisted developers | [6] |
|
|
195
|
+
| `guardrail-generator` | Guardrail Generator | Writes project rules for future AI usage | [7] |
|
|
196
|
+
| `execution-validator` | Execution Validator | Defines verification plans — how to prove fixes work | [8] |
|
|
197
|
+
|
|
198
|
+
**Transform persona structure follows the same 8-section format** (identity, mental_models, risk_philosophy, thinking_style, triggers, argumentation, confidence_calibration, constraints) but with intervention-oriented content rather than diagnostic-oriented content.
|
|
199
|
+
|
|
200
|
+
## Anti-Patterns
|
|
201
|
+
|
|
202
|
+
| Anti-Pattern | Why It's Wrong |
|
|
203
|
+
|--------------|----------------|
|
|
204
|
+
| Embedding domain-specific failure patterns | Failure patterns belong in `src/domains/` files. A persona defines *how* an agent thinks, not *what* it knows about specific failure modes. Mixing these makes personas impossible to compose with different domain sets. |
|
|
205
|
+
| Listing specific tools or their outputs | Tool knowledge belongs in `src/tools/` files. Personas should not know or care which tools exist. They interpret signals; they don't operate scanners. |
|
|
206
|
+
| Including output format specifications | Output structure belongs in `src/schemas/` files. A persona reasons; a schema structures the output of that reasoning. |
|
|
207
|
+
| Making the persona so generic it could be any agent | If you can swap two persona files and behavior wouldn't change, the personas are too weak. Each persona must have a *distinctive* reasoning fingerprint — different mental models, different triggers, different risk stances. |
|
|
208
|
+
| Describing what the persona does instead of who they are | "Analyzes code for security issues" is a job description. "Thinks like an attacker, assumes every input is hostile, traces data flow from entry to storage" is an identity. Write identity, not job descriptions. |
|
|
209
|
+
| Overlapping constraints between personas | Constraints that apply to ALL agents belong in `src/rules/`, not in individual personas. Persona constraints are unique to that persona's boundaries. |
|
|
210
|
+
| Transform persona with diagnostic triggers | Transform personas should not trigger on code smells or vulnerabilities — that's Core's job. Transform triggers are about remediation risk: 'proposed change touches 50+ files', 'no tests cover this code path', 'framework migration pattern detected'. |
|
|
211
|
+
| Mixing diagnostic and intervention postures | A persona cannot simultaneously optimize for aggressive truth-finding and conservative change-planning. If you feel the need to merge these, the persona should be split into Core and Transform variants. |
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Rule Convention
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Rules define **CONSTRAINTS** — epistemic governance that applies to all agents uniformly. They are the non-negotiable invariants of the Radar system: principles that no persona can override, no workflow can skip, and no domain can contradict.
|
|
6
|
+
|
|
7
|
+
Rules exist because multi-agent systems are prone to epistemic drift. Without explicit constraints, agents fabricate confidence, suppress disagreement, anchor on tool output, and produce findings that sound authoritative but lack evidence. Rules prevent these failure modes by codifying the behavioral boundaries that keep agent output honest, calibrated, and defensible.
|
|
8
|
+
|
|
9
|
+
Radar uses a small number of rule files. Fewer rules with higher enforcement rigor is preferable to many rules with spotty compliance.
|
|
10
|
+
|
|
11
|
+
Radar Transform introduces additional rule categories for safety governance. Transform rules constrain the intervention pipeline — ensuring that remediation is conservative, confidence-gated, and never auto-executed.
|
|
12
|
+
|
|
13
|
+
## Location
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
src/rules/ (Shared — applies to all agents)
|
|
17
|
+
src/transform/rules/ (Transform-specific safety rules)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Naming
|
|
21
|
+
|
|
22
|
+
**Pattern:** `{kebab-name}.md`
|
|
23
|
+
|
|
24
|
+
**Examples:**
|
|
25
|
+
- `epistemic-hygiene.md`
|
|
26
|
+
- `disagreement-protocol.md`
|
|
27
|
+
- `agent-boundaries.md`
|
|
28
|
+
- `safety-governance.md`
|
|
29
|
+
- `conservative-bias.md`
|
|
30
|
+
- `confidence-gating.md`
|
|
31
|
+
|
|
32
|
+
## Required Structure
|
|
33
|
+
|
|
34
|
+
Every rule file consists of YAML frontmatter followed by 4 mandatory sections.
|
|
35
|
+
|
|
36
|
+
### Frontmatter (Required)
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
---
|
|
40
|
+
id: {kebab-name}
|
|
41
|
+
name: [Rule Name]
|
|
42
|
+
scope: [which component types this rule applies to]
|
|
43
|
+
priority: [critical | quality | guidance]
|
|
44
|
+
---
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
| Field | Type | Required | Description |
|
|
48
|
+
|-------|------|----------|-------------|
|
|
49
|
+
| `id` | string | yes | Kebab-case identifier, must match filename without extension |
|
|
50
|
+
| `name` | string | yes | Human-readable rule name |
|
|
51
|
+
| `scope` | string or list | yes | What this rule applies to: `all_agents`, `personas`, `workflows`, `schemas`, `transform_agents`, or a combination |
|
|
52
|
+
| `priority` | enum | yes | `critical` (violation invalidates output), `quality` (violation degrades output), `guidance` (best practice, not enforced) |
|
|
53
|
+
|
|
54
|
+
### Body Sections (All Required)
|
|
55
|
+
|
|
56
|
+
| Section | Header | Purpose |
|
|
57
|
+
|---------|--------|---------|
|
|
58
|
+
| Purpose | `## Purpose` | Why this rule exists. What specific failure mode it prevents. What goes wrong without it. |
|
|
59
|
+
| Rules | `## Rules` | Numbered list of rules, each with statement, rationale, and enforcement mechanism. |
|
|
60
|
+
| DO | `## DO` | Concrete examples of conforming behavior. |
|
|
61
|
+
| DON'T | `## DON'T` | Concrete examples of violations with explanation of why each is wrong. |
|
|
62
|
+
|
|
63
|
+
## Cross-References
|
|
64
|
+
|
|
65
|
+
| Direction | What | How |
|
|
66
|
+
|-----------|------|-----|
|
|
67
|
+
| Referenced BY | Agent assembly manifests (`src/agents/`) | `rules: [{rule-id}, ...]` field in agent frontmatter |
|
|
68
|
+
| Referenced BY | Workflows (`src/workflows/`) | For enforcement during execution |
|
|
69
|
+
| Does NOT reference | Specific domains, personas, tools | Rules are universal; they don't depend on specific component instances |
|
|
70
|
+
|
|
71
|
+
## Example Skeleton
|
|
72
|
+
|
|
73
|
+
````markdown
|
|
74
|
+
---
|
|
75
|
+
id: epistemic-hygiene
|
|
76
|
+
name: Epistemic Hygiene
|
|
77
|
+
scope: all_agents
|
|
78
|
+
priority: critical
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Purpose
|
|
82
|
+
|
|
83
|
+
[Why this rule exists and what goes wrong without it.
|
|
84
|
+
|
|
85
|
+
Example: "Without epistemic hygiene rules, agents produce findings that sound
|
|
86
|
+
confident but lack evidence, assert severity without justification, and treat
|
|
87
|
+
tool output as ground truth. This rule ensures that every agent claim is
|
|
88
|
+
grounded in verifiable evidence, every confidence assessment is calibrated
|
|
89
|
+
to actual certainty, and every severity judgment includes explicit reasoning."]
|
|
90
|
+
|
|
91
|
+
## Rules
|
|
92
|
+
|
|
93
|
+
### 1. [Rule Statement — e.g., "Every finding must include verifiable evidence"]
|
|
94
|
+
|
|
95
|
+
**Rationale:** [Why this rule matters. What failure mode it prevents.
|
|
96
|
+
Example: "Findings without evidence are unfalsifiable assertions. They cannot
|
|
97
|
+
be verified, challenged, or acted upon with confidence. Evidence grounds
|
|
98
|
+
findings in observable reality."]
|
|
99
|
+
|
|
100
|
+
**Enforcement:** [How this rule is checked. Example: "Workflow validation
|
|
101
|
+
step rejects findings where the evidence field contains no file paths,
|
|
102
|
+
code snippets, or signal references."]
|
|
103
|
+
|
|
104
|
+
### 2. [Rule Statement — e.g., "Confidence must reflect actual certainty, not rhetorical force"]
|
|
105
|
+
|
|
106
|
+
**Rationale:** [Why this rule matters.
|
|
107
|
+
Example: "Agents default to 'high confidence' because it sounds more
|
|
108
|
+
authoritative. Miscalibrated confidence leads to misallocated remediation
|
|
109
|
+
effort — teams fix 'high confidence' issues first, even if the confidence
|
|
110
|
+
was inflated."]
|
|
111
|
+
|
|
112
|
+
**Enforcement:** [How this rule is checked. Example: "Agents must provide
|
|
113
|
+
a one-sentence justification for any confidence rating of 'high'. Confidence
|
|
114
|
+
of 'high' without justification is automatically downgraded to 'medium'."]
|
|
115
|
+
|
|
116
|
+
### 3. [Rule Statement — e.g., "Tool output is signal, not truth"]
|
|
117
|
+
|
|
118
|
+
**Rationale:** [Why this rule matters.]
|
|
119
|
+
|
|
120
|
+
**Enforcement:** [How this rule is checked.]
|
|
121
|
+
|
|
122
|
+
[Additional rules. Aim for 3-7 per rule file. More than 10 indicates the
|
|
123
|
+
file should be split.]
|
|
124
|
+
|
|
125
|
+
## DO
|
|
126
|
+
|
|
127
|
+
- [Conforming example 1 — e.g., "Finding states: 'Confidence: medium — Semgrep
|
|
128
|
+
flagged this pattern but the custom sanitizer at line 45 may handle it.
|
|
129
|
+
Manual verification needed.'"]
|
|
130
|
+
- [Conforming example 2 — e.g., "Finding severity is 'high' with explicit
|
|
131
|
+
reasoning: 'Unauthenticated endpoint exposes PII. Impact is data breach
|
|
132
|
+
of user records. Exploitability is trivial — no authentication required.'"]
|
|
133
|
+
- [Conforming example 3 — e.g., "Agent disagrees with tool output: 'Semgrep
|
|
134
|
+
reports SQL injection at line 32, but the parameterized query builder at
|
|
135
|
+
line 28 prevents this. Downgrading to informational — false positive.'"]
|
|
136
|
+
- [Additional examples of correct behavior]
|
|
137
|
+
|
|
138
|
+
## DON'T
|
|
139
|
+
|
|
140
|
+
- [Violation 1 — e.g., "Finding states 'Confidence: high' with no justification."]
|
|
141
|
+
**Why this is wrong:** [Explanation — "Unsubstantiated high confidence inflates
|
|
142
|
+
the apparent reliability of the finding and distorts prioritization."]
|
|
143
|
+
|
|
144
|
+
- [Violation 2 — e.g., "Finding repeats Semgrep output verbatim as its description
|
|
145
|
+
and evidence."]
|
|
146
|
+
**Why this is wrong:** [Explanation — "Tool output is a signal, not an analysis.
|
|
147
|
+
The agent's job is to interpret, contextualize, and validate — not to parrot."]
|
|
148
|
+
|
|
149
|
+
- [Violation 3 — e.g., "Agent assigns 'critical' severity to every finding
|
|
150
|
+
'to be safe'."]
|
|
151
|
+
**Why this is wrong:** [Explanation — "Severity inflation is the opposite of
|
|
152
|
+
safety. When everything is critical, nothing is. Teams learn to ignore severity
|
|
153
|
+
ratings, defeating the purpose of risk prioritization."]
|
|
154
|
+
|
|
155
|
+
- [Additional violations with explanations]
|
|
156
|
+
````
|
|
157
|
+
|
|
158
|
+
## Transform Safety Rules
|
|
159
|
+
|
|
160
|
+
Transform introduces a new category of rules: **safety governance**. These rules constrain what Transform agents are allowed to produce and at what confidence levels.
|
|
161
|
+
|
|
162
|
+
**Safety Rule Categories:**
|
|
163
|
+
|
|
164
|
+
**1. Conservative Bias**
|
|
165
|
+
- Default to the lowest intervention level that serves the user
|
|
166
|
+
- When uncertain about intervention level, downgrade (Authorizing → Planning, Planning → Suggesting)
|
|
167
|
+
- Never escalate intervention level without explicit evidence justification
|
|
168
|
+
- Enforcement: Workflow validates that intervention level assignment includes evidence
|
|
169
|
+
|
|
170
|
+
**2. Confidence Gating**
|
|
171
|
+
- Minimum finding confidence required per intervention level:
|
|
172
|
+
- Suggesting: Low (any finding can produce a suggestion)
|
|
173
|
+
- Planning: Medium (requires at least 2 evidence sources)
|
|
174
|
+
- Authorizing: High (requires 3+ evidence sources with cross-validation)
|
|
175
|
+
- Executing (via Drive): High (requires 3+ cross-validated sources)
|
|
176
|
+
- Enforcement: Schema validation rejects playbooks where intervention level exceeds confidence threshold
|
|
177
|
+
|
|
178
|
+
**3. Unsafe Context Flagging**
|
|
179
|
+
- If any change risk dimension exceeds "high" threshold, flag as unsafe
|
|
180
|
+
- Unsafe changes are automatically downgraded to Suggesting intervention level
|
|
181
|
+
- Must explain why the change is risky (specific dimension and evidence)
|
|
182
|
+
- Enforcement: Risk scoring workflow checks thresholds before allowing higher intervention levels
|
|
183
|
+
|
|
184
|
+
**4. No Auto-Execution**
|
|
185
|
+
- Radar Transform NEVER applies changes to codebases
|
|
186
|
+
- Transform produces plans; Drive executes plans with human oversight
|
|
187
|
+
- No bypass mechanism, no trusted mode, no override
|
|
188
|
+
- This is a hard architectural boundary, not a configuration option
|
|
189
|
+
- Enforcement: No Transform workflow includes file-modification steps. If a workflow attempts to write to the target codebase (outside `.radar/`), it is a critical violation.
|
|
190
|
+
|
|
191
|
+
**5. Change Risk Rules**
|
|
192
|
+
- Every remediation must have blast radius assessment with evidence
|
|
193
|
+
- Coupling analysis required before recommending structural changes
|
|
194
|
+
- Regression probability must be stated with evidence (test coverage data)
|
|
195
|
+
- Changes to untested code paths require explicit "no test coverage" warning
|
|
196
|
+
- Enforcement: Playbook schema requires risk_metadata object with all four dimensions
|
|
197
|
+
|
|
198
|
+
**6. Liability Rules**
|
|
199
|
+
- System is Advisor when producing Suggesting/Planning outputs
|
|
200
|
+
- System is Architectural Actor when producing Authorizing outputs
|
|
201
|
+
- Higher liability levels require higher confidence and lower change risk
|
|
202
|
+
- When acting as Architectural Actor, must include explicit disclaimer and confidence statement
|
|
203
|
+
- Enforcement: Authorizing-level playbooks must include liability acknowledgment section
|
|
204
|
+
|
|
205
|
+
**Transform rules have `priority: critical` by default.** A Transform agent that violates safety governance produces output that is potentially harmful. Unlike Core rules where a quality violation degrades output, a Transform safety violation can cause damage to the target codebase.
|
|
206
|
+
|
|
207
|
+
## Anti-Patterns
|
|
208
|
+
|
|
209
|
+
| Anti-Pattern | Why It's Wrong |
|
|
210
|
+
|--------------|----------------|
|
|
211
|
+
| Rules that are actually domain knowledge | "Always check for SQL injection" is domain knowledge (belongs in `src/domains/`). Rules govern *how agents behave*, not *what they look for*. A rule like "every finding must have evidence" governs behavior universally. |
|
|
212
|
+
| Rules that are persona traits | "Be conservative about risk" is a persona characteristic (belongs in `src/personas/`). Different personas *should* have different risk postures. Rules apply equally to all agents regardless of persona. |
|
|
213
|
+
| Unenforceable rules | "Write good findings" is unenforceable because "good" is undefined. Every rule must have a concrete enforcement mechanism — a validation check, a required field, a measurable criterion. If you can't describe how to detect a violation, the rule is too vague. |
|
|
214
|
+
| Too many rules | Governance fatigue is real. When agents are loaded with 50 rules, they effectively follow zero. Keep rule files few (3-5 files) and keep rules per file focused (3-7 rules). Every rule should justify its existence by preventing a specific, documented failure mode. |
|
|
215
|
+
| Rules without rationale | A rule without a "why" is an arbitrary constraint. Agents (and the humans maintaining Radar) need to understand the reasoning. If you can't articulate why a rule exists, it probably shouldn't. |
|
|
216
|
+
| Rules that duplicate schema validation | "Severity must be one of: critical, high, medium, low, informational" is schema validation (belongs in `src/schemas/`). Rules govern behavior and reasoning quality, not data format compliance. |
|
|
217
|
+
| Safety rules treated as guidance | Transform safety rules are critical, not guidance. A playbook that bypasses confidence gating is not 'slightly wrong' — it is potentially harmful. Treat safety rules with the same rigor as the epistemic hygiene rules. |
|
|
218
|
+
| Generic safety rules without enforcement mechanism | 'Be careful with changes' is not a safety rule. 'Reject playbooks where intervention level is Authorizing and finding confidence is below High' is a safety rule. Every safety rule must have a concrete, automatable enforcement mechanism. |
|