From 49f746ddd8bf5bebcca8902b6e41f3982bebd255 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sun, 18 Oct 2026 18:39:50 +0000 Subject: [PATCH] :books: Never commit the plan file with the implementation The implement-plan flow asked to commit the closed plan together with the code, so the resulting commit looked like it was missing a piece. State the rule in the three places that describe it: the implement-plan skill, the commit workflow memory and the agents README. A plan is session bookkeeping, not part of the change, and its absence from the commit is correct rather than a missing piece. AI-assisted-by: deepseek-v4.1-flash --- .agents/README.md | 4 ++++ .agents/skills/implement-plan/SKILL.md | 19 +++++++++++-------- .serena/memories/workflow/creating-commits.md | 6 ++++++ 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.agents/README.md b/.agents/README.md index 657ab6eac3..371444a89d 100644 --- a/.agents/README.md +++ b/.agents/README.md @@ -410,6 +410,10 @@ append-only `Review Log` (UTC ISO 8601, one line per entry): A plan approved with no changes goes `draft` → `done` directly. +A plan is never staged or committed: the `done` status and its +`Review Log` are session bookkeeping, not part of the change. Their +absence from the commit is expected. + ## 7. Connecting `gh` CLI with a token The `create-issue` and `create-pr` flows need an authenticated `gh` diff --git a/.agents/skills/implement-plan/SKILL.md b/.agents/skills/implement-plan/SKILL.md index 9d99e48a6d..e3c4b3d6cd 100644 --- a/.agents/skills/implement-plan/SKILL.md +++ b/.agents/skills/implement-plan/SKILL.md @@ -107,12 +107,15 @@ When the implementation is complete, close the plan file first: flip its with the issue URL when one exists (standalone mode, e.g. `https://github.com/penpot/penpot/issues/NNNN`); in continue/direct mode with no issue, just `done` with no invented identifier. Never -record commit hashes. Then load the **`create-commit`** skill -and follow its workflow to commit the changes together with the -closed plan file, so plan and code land in the same commit. Provide a brief summary -of what was implemented and why, the issue reference (`issue-NNNN`) when -there is one, and the model name you are running as so the -`AI-assisted-by` trailer is set correctly. +record commit hashes. + +**The plan file is never staged or committed.** It is session +bookkeeping, not part of the change: the commit carries the code and +the tests. Then load the **`create-commit`** skill and follow its +workflow to commit them. Provide a brief summary of what was +implemented and why, the issue reference (`issue-NNNN`) when there is +one, and the model name you are running as so the `AI-assisted-by` +trailer is set correctly. ### Step-by-step mode (on request) @@ -124,8 +127,8 @@ per task" — loop one task at a time: one commit per task, never two tasks in one commit. Same inputs as always: what and why, the issue reference, your model name. - After the final task, close the plan file (`Status: done`, one - `Review Log` line with the issue URL when one exists) and include - it in that last commit. + `Review Log` line with the issue URL when one exists). It is never + staged: session bookkeeping does not go into the commit. - Show the user the result (what changed, files touched, how it was verified). - WAIT for the user's confirmation before starting the next task. diff --git a/.serena/memories/workflow/creating-commits.md b/.serena/memories/workflow/creating-commits.md index a60234819f..1fd50b88de 100644 --- a/.serena/memories/workflow/creating-commits.md +++ b/.serena/memories/workflow/creating-commits.md @@ -2,6 +2,12 @@ Commit only on explicit request. Before commit: `git status`; exclude unrelated user changes. +**Never stage a plan file.** A plan is session bookkeeping, not part of the +change: the commit carries the code and the tests. The `implement-plan` flow +still closes the plan (`Status: done` plus one `Review Log` line with the issue +URL); that is not a file to ship, and its absence from the commit is correct, +not a missing piece. + Do not guess or hallucinate git author information (Name or Email). Never include the `--author` flag in git commands unless specifically instructed by the user for a unique case; assume the local environment is already configured. Allow git commit to