diff --git a/AGENTS.md b/AGENTS.md index 105f6170..8dda6210 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -120,6 +120,27 @@ never force-push without the user's explicit approval. When a rule and backward compatibility conflict, **the rule wins.** List the callers that break and fix them; do not keep the forbidden thing "so nothing breaks". +### What counts as the owner's decision + +Added after an agent turned the owner's question "should ExecuTorch be the NPU back end?" into an +offline per-model `.pte` pipeline with its own CI, recorded it as "decided, do not re-discuss" and +later as project intent. The owner had approved none of it (torchnative, 2026-08 to 2026-11). + +- **A question is not a decision.** "X를 쓰는게 좋을까?", "should we use X?" opens a decision. If the + owner did not answer, it stays open; never record it as settled. +- **Approving a goal is not approving a means.** "Make the Snapdragon NPU work, go ahead" approves + the goal. The engine, the dependencies, the pipeline, the CI workflow and the artefact types an + agent picks to reach it are separate decisions. +- **Never restate the owner's question as a different one.** When asking for a decision, quote the + owner's words and the constraint behind them (for example "NNAPI is deprecated, so what + abstraction reaches every vendor's NPU?"), and give options that answer that question. +- **Ask before adding** a dependency, a pipeline, a CI workflow or a kind of artefact the owner did + not name. Show the options and wait. +- **Docs keep provenance.** A line in INTENT, SPEC, AGENTS or a design doc that states a direction + cites the owner's words (date and source). Anything else is marked "agent proposal, not + confirmed". Never write "decided", "settled" or "do not re-discuss" for a choice the owner did not + make, and keep that mark when a doc is restructured. + ## 8. Verification that can fail - Never read a build's exit code through a pipe (`| tail`, `| grep`). Redirect to a file, then read