autojanet/skills/terrashark/references/blast-radius.md
Zoë cfec11bb46
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
fix: convert skill submodules to plain directories
stop-slop, taste-skill, terrashark had embedded .git dirs causing
Woodpecker clone to fail on submodule update.
2026-05-30 15:44:44 -07:00

77 lines
1.8 KiB
Markdown

# Blast Radius
Use this guide to limit impact scope for changes, failures, and rollbacks.
## Symptoms
- tiny change triggers very large plan
- unrelated services share one state and fail together
- production and non-production are entangled
- review/approval ownership is unclear
## Boundary model
Split along:
- ownership boundaries
- change cadence boundaries
- recovery boundaries
If these differ, split stack/state.
## Architecture patterns
- platform foundation stack (network, identity, shared controls)
- service stack(s) per business workload
- bootstrap stack for backend/state prerequisites
Do not combine all of them in one root.
## State isolation rules
- one backend key per isolated stack/environment
- dedicated lock scope per stack
- backup/versioning required for production states
- no shared prod/non-prod state files
## Environment separation options
1. separate directories + separate backend keys
2. workspace per environment (only with strict governance)
3. separate repositories for hard regulatory segregation
## Apply governance
- serialize applies to shared foundations
- require explicit approval for production and destructive plans
- block auto-apply for high-impact stacks
## Example structure
```text
infra/
bootstrap/
platform/
dev/
prod/
services/
billing/
dev/
prod/
catalog/
dev/
prod/
```
## LLM mistake checklist
Common model mistakes to correct:
- proposes one monolithic root for convenience
- recommends workspace-only isolation without access controls
- mixes blast radius discussion with purely stylistic concerns
- omits rollback path for shared foundation changes
## Verification checks
- does plan only touch intended stack?
- does state key scope match ownership boundary?
- is rollback path documented for this apply?