nuke-lean
Nuke Lean
A discipline like nuke-think, not a ceremony: no agents, no artifacts, no confirmation gate (map: references/family-map.md). One doctrine at three moments: design-time (choose the simplest shape that meets today's ask), write-time (the contract below, checked against the diff), and sweep-time (walk an existing diff and delete what fails — invocable on its own as nuke lean <scope> or "deslop this"). Implementer roles in other nuke skills load it as their charter. It deepens nuke-code's BUILD charter — minimal diff, no defensive noise — into a contract you can check a diff against. It never overrides the constitution's ship rule: lean code still carries gates and a validator's verdict.
Scope — lean counts lines in the diff, never agents in the process
Lean governs what the code IS, not how the work is orchestrated. Everything the ask or an engaged loop mandates about process — subagents, workflows, ceremonies, validators, gates, preflights — is outside lean's jurisdiction and is never stripped in its name. The user asked for the work to run in workflows? Then workflows are part of the ask (rule 1 protects them), and doing it in the main context instead is a scope violation, not leanness. "Fewer agents" is not "leaner code"; the two measures never trade against each other.
Design-time — the shortest sound path
Engaged whenever solution shapes are being weighed (nuke-code's THINK, a spec's design phase, any "how should I build this"):
- Pick the simplest shape that satisfies today's done-criteria. Every layer, abstraction, option, and indirection in the chosen shape must be required by a named criterion that exists now. The future is not a criterion: "we might need to swap the backend", "this could become multi-tenant" justify nothing today.
- Shortest path ≠ outdated path. Lean means the current idiom of the stack applied directly — the modern API, the standard library solution, the framework's intended mechanism — with no extra structure around it. Reaching for a legacy pattern because it is familiar is not lean; wrapping the modern one in a compatibility layer is not sound.
- A simpler shape that fails a done-criterion is not a candidate. Lean never trims the ask itself — it trims everything around it.
The contract — what lean code IS
Check every numbered rule against the diff. Each is countable; none is a judgment call.