QStack blast radius
Find the breakage that a symbol search or diff review would miss. The result is
analysis, not permission to edit, commit, push, publish, deploy, or message
anyone.
Trace the risk
- Resolve the exact change from the user's files, diff, branch, or recent work.
Read the surrounding implementation and repository instructions.
- State the one critical fact the change is safe because of. Use a second fact
only when the safety case truly has two independent hinges.
- Follow effects beyond direct callers. Check pinned dependency source and
local patches, lifecycle timing, persisted data, wire formats, other
languages reading the same bytes, feature flags, generated artifacts, and
downstream consumers. Cite real paths and lines. A search with no matches is
evidence when its scope is stated.
- Separate confirmed risks from cleared risks. For each confirmed risk, name
the failure path, likelihood, impact, and cheapest decisive check.
Prove the critical fact
Push each safety fact as far down this ladder as is practical:
- A claim only.
- Direct source evidence at a real path and line.
- A traced bad case that cannot reach the failure.
- A script or test that executes the real shipped code and fails loudly when
the fact is false.
- A reproduction in the running artifact.
Anything below level 4 remains unproven. Say where proof stopped. Do not
round a plausible writeup up to a verified conclusion. For analysis-only work,
use existing tests or inline, read-only probes. Creating even a temporary proof
file requires write authorization. If direct proof is not authorized, keep the
fact unproven. Do not mutate production or exercise a destructive path merely
to reach a higher proof level.
Report
- What changed, including behavior the diff does not make obvious.
- The critical safety fact, its proof level, and the observed evidence.
- Confirmed risks, ordered by likely cost.
- Cleared risks and the evidence that cleared them.
- The cheapest pre-merge check that catches the meaningful failure.
When an approved QStack execution loop is already active, put durable evidence
in its existing execution.md as that loop permits. Create no competing record.
Remove private data before sharing any evidence outside its authorized scope.
Adapted from Lauren Tan's PStack
blast-radius
at commit 60c641e4fad674784b30abcf9f8915dea39df38d under the MIT License.
See third-party notices.
1---2name: qstack-blast-radius3description: Assess what a proposed or recent change could break beyond its direct diff, identify the critical safety fact, and prove it with real code or mark it unproven. Use for blast-radius analysis, "what could this break?", or a small change whose downstream effects are uncertain.4license: MIT5---67# QStack blast radius89Find the breakage that a symbol search or diff review would miss. The result is10analysis, not permission to edit, commit, push, publish, deploy, or message11anyone.1213## Trace the risk14151. Resolve the exact change from the user's files, diff, branch, or recent work.16 Read the surrounding implementation and repository instructions.172. State the one critical fact the change is safe because of. Use a second fact18 only when the safety case truly has two independent hinges.193. Follow effects beyond direct callers. Check pinned dependency source and20 local patches, lifecycle timing, persisted data, wire formats, other21 languages reading the same bytes, feature flags, generated artifacts, and22 downstream consumers. Cite real paths and lines. A search with no matches is23 evidence when its scope is stated.244. Separate confirmed risks from cleared risks. For each confirmed risk, name25 the failure path, likelihood, impact, and cheapest decisive check.2627## Prove the critical fact2829Push each safety fact as far down this ladder as is practical:30311. A claim only.322. Direct source evidence at a real path and line.333. A traced bad case that cannot reach the failure.344. A script or test that executes the real shipped code and fails loudly when35 the fact is false.365. A reproduction in the running artifact.3738Anything below level 4 remains **unproven**. Say where proof stopped. Do not39round a plausible writeup up to a verified conclusion. For analysis-only work,40use existing tests or inline, read-only probes. Creating even a temporary proof41file requires write authorization. If direct proof is not authorized, keep the42fact unproven. Do not mutate production or exercise a destructive path merely43to reach a higher proof level.4445## Report4647- What changed, including behavior the diff does not make obvious.48- The critical safety fact, its proof level, and the observed evidence.49- Confirmed risks, ordered by likely cost.50- Cleared risks and the evidence that cleared them.51- The cheapest pre-merge check that catches the meaningful failure.5253When an approved QStack execution loop is already active, put durable evidence54in its existing `execution.md` as that loop permits. Create no competing record.55Remove private data before sharing any evidence outside its authorized scope.5657Adapted from Lauren Tan's PStack58[`blast-radius`](https://github.com/cursor/plugins/blob/60c641e4fad674784b30abcf9f8915dea39df38d/pstack/skills/blast-radius/SKILL.md)59at commit `60c641e4fad674784b30abcf9f8915dea39df38d` under the MIT License.60See [third-party notices](../../THIRD_PARTY_NOTICES.md).