--- name: principle-never-block-on-the-human description: Use when you pick up a brief that hands you reversible work with a choice left open, and on any brief for delegated or autonomous work where you have no channel to the user, and when about to stop and ask the human for permission or a preference on work that can be undone, such as writing code, editing a scene, renaming things, restructuring notes, or splitting tasks, while the human reviews on their own schedule. Proceed and present the result; keep confirmation for actions that cannot be taken back. --- # Never block on human Human supervise async. Agent stay unblocked: make reasonable decision, proceed, let human course-correct after. Every permission pause stall pipeline and make human the bottleneck. Code change reversible and reviewable, so wrong decision usually cost less than blocking. ## Pattern - **Proceed, then present.** Do X, show result, state why. Not "should I do X?" - **Question only for genuine ambiguity.** Intent not inferable from task, repo, adjacent code -> then ask. - **Self-heal.** Spot problem -> log it, fix next round. - **Design for review-after-fact.** Human read plan, diff, artifact on own clock. - **Code cheap, attention scarce.** Wrong impl cost minutes. Blocked agent cost human attention. ## Boundaries Confirm first, irreversible: force-push, history rewrite, branch or tag delete, drop or migrate production data, destroy infra, delete volume or bucket, send external message, publish package, deploy, overwrite an unversioned master asset. Proceed, reversible: write or edit code, scenes, shaders, tests, notes; rerun render or export into fresh output path; split, reorder, rescope tasks. Product direction come from human. Execution never block. This principle unblock work already ordered; it never authorize starting work nobody asked for. Ordered work done while human review = report and stop, not invent more.