executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
anti-entropy-governanceUse when touching retiring old logic, collapsing duplicate owners, removing fallbacks, or schema/persistence/source-of-truth boundaries; identify opportunities automatically; destructive execution requires explicit confirmation.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when the task is not merely "change code" but "remove old paths safely without growing entropy".
This skill chooses between:
delete-first for internal code retirementcompat-exception for proven external dependency boundariesconfirmation-first for irreversible state or an external contract whose
distributed consumers cannot be observedIt does not replace brainstorming, writing-plans,
systematic-debugging, or verification-before-completion. It is a narrow
governance owner for retirement, fallback collapse, duplicate-owner cleanup,
and deletion safety.
Use when any of these are true:
Do not use for:
This skill should be composed by other owners. It should not become a new global hot-path entry.
Prefer composition from:
brainstorming for approach selection involving retirement or persistence riskwriting-plans for plans that delete old paths or touch schema / migration /
persistencesystematic-debugging when the tempting fix is fallback growth or
delete-vs-retainverification-before-completion for cleanup / retirement / compatibility /
migration closeoutLoad automatically when the task touches owner collapse, fallback removal, or schema/persistence/source-of-truth boundaries. Automatic loading identifies and advises only; destructive execution still requires explicit scoped user confirmation.
Default to reducing internal entropy, not preserving internal history.
Retirement is responsibility-scoped before it is carrier-scoped. Name the
obsolete or duplicated authority first. If the same carrier has a separately
evidenced legitimate role, remove the invalid responsibility and keep only
that role-scoped capability; this is not a compatibility exception. Apply
delete-first to the carrier once no legitimate responsibility remains.
Unknown consumers alone still do not justify retaining an internal carrier.
Use this rule:
delete-firstcompat-exception with active dependency
evidence; confirmation-first when distribution is proven but consumers
cannot be observedconfirmation-firstUnknown alone neither proves an external dependency nor blocks internal
delete-first. Once distribution is proven, unobservable consumers also do not
prove deletion safe: inspect read-only. Before editing, require user-authored,
scoped authorization that explicitly accepts the concrete external risk.
An informed instruction may already supply it; otherwise disclose the risk
and request scoped confirmation.
Mentioning, loading, or discussing destructive-action rules never authorizes destructive execution. Without explicit scoped user confirmation:
Classify the deletion target first:
code-retirement
contract-carrying code
live-state mutation surface
derived-state
persistent-state
code-retirement -> delete-firstcontract-carrying code -> classify by the Core Principle; internal-only
retirement uses delete-first with high-risk verificationlive-state mutation surface -> inspect and classify; destructive execution
still requires confirmation when it reaches persistent-statederived-state -> verify rebuildability first, then decidepersistent-state -> confirmation-firstIf the target is persistent-state or another irreversible source-of-truth
object:
Examples that require confirmation:
DROP TABLEDROP COLUMNTRUNCATEWhen confirmation-first protects persistent-state or an irreversible
source-of-truth object, stop normal retirement flow and emit:
Data Destruction Guard:
- Target Class:
- Exact Target(s):
- Environment:
- Why Irreversible:
- Backup / Rollback Note:
- Allowed Read-Only Next Steps:
- Blocked Destructive Steps:
- Confirmation Required: yes
- Status: awaiting scoped confirmation
Only explicit scoped confirmation can continue. Broad assent such as "OK", "continue", or "sounds good" is insufficient. If scope changes at all, previous confirmation is invalid and fresh confirmation is required.
Before deletion, state:
Anti-Entropy Declaration:
- Deletion Class:
- Old Path/Object:
- Invalid Responsibility / Authority:
- Legitimate Capability Remaining on Carrier:
- New Canonical Owner:
- Expected Preserved Behavior:
- Expected Retired Behavior:
- External Boundary Touched: no | yes
- Source-of-Truth Data Risk: none | possible | confirmed
- User Confirmation Required: no | yes
For external-unknown code, fill User Confirmation Required with yes unless
the user's own instruction already names the concrete external risk, accepts
its possible breakage, and authorizes the exact retirement scope, or the user
later gives scoped confirmation after your disclosure. A generic original
deletion request does not satisfy this slot. Do not infer acceptance from mere
awareness of external use or from your own risk summary.
If User Confirmation Required: yes, stop normal delete-first flow.
Persistent-state or irreversible targets enter Data Destruction Guard;
external-unknown code stays in the Retirement Decision hold below.
Choose one path only:
Retirement Decision:
- Path: delete-first | compat-exception | confirmation-first
- Why:
- Non-edits:
Rules:
delete-first for internal retirement unless a stronger boundary blocks itcompat-exception only when external dependency is provenconfirmation-first for irreversible targets or proven distribution
whose consumers cannot be observedIf Path = confirmation-first, no destructive execution may happen until
scoped confirmation is established. For external-unknown code, earlier generic
deletion instructions do not count. An informed, scoped user instruction may
establish confirmation before your disclosure; otherwise disclose the risk
and directly ask the user to confirm the exact retirement scope before editing.
Do not only state that confirmation is required or quote the words needed.
Do not verify only by "tests are green". Verify that the old logic actually died and the new owner actually carries the behavior.
Verification Plan:
- Main-path check:
- Lingering-reference check:
- Negative check:
- Boundary check:
Meaning:
Main-path check: new canonical owner still satisfies intended behaviorLingering-reference check: the retired responsibility is no longer active;
when its carrier was deleted, the old path is no longer referenced on the
main pathNegative check: retired trigger/path really stopped workingBoundary check: host/API/schema/persistence boundary was not accidentally brokenIf a gap appears after deletion, classify it before repairing:
expected-retirementmissing-owner-logicstale-internal-consumerbaseline-gapexternal-compatpersistent-state-riskpersistent-state-risk is a stop condition, not a normal repair branch.
Repair order:
expected-retirement
missing-owner-logic
stale-internal-consumer
baseline-gap
external-compat
persistent-state-risk
Use this contract:
Gap Closure:
- Gap Found:
- Gap Type:
- Repair Action:
- Reintroduced Compat: no | yes
- If yes, External Dependency Evidence:
- Retirement Trigger:
If Gap Type = persistent-state-risk, stop and return to the confirmation
gate. Do not improvise destructive repair.
Retention is allowed only if all are true:
Without these, do not retain compat.
Completion claims must reflect the real outcome:
bounded mitigation or
deferred debt, not clean retirementbounded compatibility exceptionDo not:
This shape is the anti-entropy workflow's decision surface, not a separate
final completion report. When anti-entropy materially shapes a completed task,
its preserved/retired behavior, deletion class, retained boundary, verification
plan, and residual risk should flow into verification-before-completion's
unified Aegis impact/safety receipt.
Aegis Visibility:
Anti-Entropy Declaration:
Retirement Decision:
Verification Plan:
Gap Closure:
Use the compact shape by default. Expand only when task risk requires it.