diff --git a/AGENTS.md b/AGENTS.md index 7d6cc5d..600f1c0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -96,9 +96,10 @@ traceable to an approved ticket. There is no "I thought it would help." **You are an AI agent working on this project. Your first actions, in order:** > **SESSION-START GATE (NON-NEGOTIABLE):** Steps 1-3 orient you. Step 4 is the -> check-for-understanding gate. You MUST NOT begin any task work (steps 5+) -> until the user confirms your rule summary is correct. This runs **every -> session, automatically** — the user should never have to ask for it. +> check-for-understanding gate (rule summary). Steps 5-7 gather state. Step 8 is +> the scope-alignment gate. You MUST NOT begin any task work until the user +> (a) confirms your rule summary AND (b) names the ticket to work on. This runs +> **every session, automatically** — the user should never have to ask for it. 1. **Set up the environment:** `bash scripts/setup-hooks.sh` (installs git hooks — idempotent). 2. **Read this file** (`AGENTS.md`) — project policy and domain knowledge. @@ -117,6 +118,14 @@ traceable to an approved ticket. There is no "I thought it would help." 5. **Check Redmine** — `docker run --rm --env-file ~/.creds/redmine.env git.knownelement.com/reachableceo/redmine-cli:latest list --assigned-to-me -p 55` for active work. 6. **Check current state:** `git log --oneline -10`. 7. **Run rule audit:** `bash scripts/check-rules.sh --fast`. +8. **Scope-alignment — GATE.** Present the session handoff's "What's Left" + priority list (or the Redmine queue if no handoff exists). Do NOT scan the + full ticket queue and pick work on your own — **the user directs what gets + worked on, always.** Note any new or urgent items from the Redmine check, + then ask which ticket to work on tonight. **STOP and wait.** Do not set + `.crush/active-ticket`, do not read systems, do not run diagnostics, until + the user names the target. This gate prevents the agent from burning + context on work the user didn't ask for. ## Enforcement Model