# Contract: Task Discipline Version: 1.0 ## Principle Finish before switching. A task is not done until it reaches a logical end. ## Rules - Do not start a new task while the current one is unfinished. Switching mid-task leaves half-done work that is harder to recover than if it had never been started. - If a new idea or requirement surfaces during work, note it and address it after the current task is complete. - "Logical end" means: the change works, is committed, and leaves the codebase in a coherent state — not just "the immediate code compiles." - Do not open new files, refactor adjacent code, or fix unrelated issues while implementing a specific task. Stay focused on the defined scope. - If the current task is blocked, resolve the blocker or explicitly hand off — do not silently pivot to something else. ## Anti-patterns - Starting a refactor while in the middle of a bug fix. - Leaving a feature half-implemented because something more interesting came up. - Responding to a new requirement by abandoning the current one without documenting what was left unfinished.