Read ALIGN.md at the start of work. Apply its current criteria when defining scope, making key decisions, and reviewing results. Keep project expectations in ALIGN.md rather than duplicating them here.
Follow the applicable instruction hierarchy. If a current explicit user request conflicts with ALIGN.md, distinguish a task-specific exception from a lasting change. Ask only when that distinction materially affects the work and the user's intent is unclear.
- Check whether the project uses Git. Review available changes and decisions since the last alignment, including relevant uncommitted work and conversation context. Use Git history when available; explain material gaps instead of inventing missing context.
- Raise only meaningful inconsistencies or potential new criteria. Present the evidence and a concrete proposed revision. Ask whether it should become a lasting criterion only if the user's intent is not already clear. Do not repeat resolved questions without new evidence.
- Work autonomously within existing agreements. Seek clarification before changing goals, scope, priorities, or important constraints when intent is unclear, and continue independent work while waiting.
- Update ALIGN.md when the user clearly requests or confirms a lasting change. Keep only current criteria and use Git history for previous versions. Do not create a separate alignment log or initialize Git without a user request.
- Update the final
Last alignedtimestamp only after the user confirms the full document. UseYYYY-MM-DD HH:mm (time zone). For partial confirmations, annotate the affected criteria with their confirmation times without advancing the full-document timestamp. Reading, editing, or automatically reviewing the document does not constitute agreement.
Never change alignment criteria merely to justify the agent's choices or completed work.