docs: document agent temp artifact cleanup and gitignore patterns (#261)

Add runbook guidance for deleting throwaway _encode/_emit/_inline commit
helpers after MCP commit attempts, ignore those patterns in .gitignore,
and cross-link the worktree-cleanup template.

Closes #261.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
2026-07-06 14:42:22 -04:00
co-authored by Claude Opus 4.8
parent d6f4f936e3
commit f464716e89
3 changed files with 26 additions and 0 deletions
+4
View File
@@ -10,3 +10,7 @@ gitea-mcp*.json
.vscode/ .vscode/
graphify-out/ graphify-out/
branches/ branches/
# Throwaway agent commit helpers (delete after MCP commit; see docs/llm-workflow-runbooks.md)
/_encode_*.py
/_emit_*.py
/_inline_*.py
+20
View File
@@ -370,6 +370,26 @@ git branch -d fix/issue-123-example
All three helpers accept `--dry-run` to print the exact commands/paths without All three helpers accept `--dry-run` to print the exact commands/paths without
touching anything. touching anything.
### Agent temp artifact cleanup (#261)
Failed or exploratory agent runs sometimes leave throwaway helper scripts in the
repo root (for example `_encode_commit_payload.py`, `_emit_payload.py`,
`_inline_commit.py`). These files are **not** part of any issue scope. They
pollute `git status`, break `gitea_lock_issue`, and can trigger preflight
fail-closed gates if created before `gitea_whoami`.
**After every MCP commit attempt** (success or abort):
1. Delete any root-level `_encode_*.py`, `_emit_*.py`, or `_inline_*.py` helpers
the agent created for payload preparation.
2. Run `git status --porcelain` in the **author worktree** and confirm no
unexpected tracked or untracked files remain before `gitea_lock_issue`.
3. Do not commit these helpers; stage only issue-scoped paths (`git add <files>`).
The repo `.gitignore` ignores these patterns so accidental leftovers stay
untracked. Ignored files still block issue-lock if they appear as tracked edits —
delete them instead of leaving them in the tree.
### Create an issue / child issues ### Create an issue / child issues
- **Profile:** issue-manager or author (any profile allowed to create issues). - **Profile:** issue-manager or author (any profile allowed to create issues).
@@ -20,6 +20,8 @@ Steps:
(removes branches/<type>-issue-<n>-<slug>; refuses if dirty; git branch -d is (removes branches/<type>-issue-<n>-<slug>; refuses if dirty; git branch -d is
safe-delete only — fails on unmerged.) safe-delete only — fails on unmerged.)
5. Delete the remote branch if the merge did not already remove it. 5. Delete the remote branch if the merge did not already remove it.
5b. Delete any throwaway agent helpers (`_encode_*.py`, `_emit_*.py`, `_inline_*.py`)
left in the author worktree (see docs/llm-workflow-runbooks.md § Agent temp artifact cleanup).
6. From the main checkout: git fetch <remote> --prune; git checkout master; 6. From the main checkout: git fetch <remote> --prune; git checkout master;
git reset --hard <remote>/master ONLY if local master safely matches remote. git reset --hard <remote>/master ONLY if local master safely matches remote.
7. Confirm main checkout clean and current (git status; 0 0 vs <remote>/master). 7. Confirm main checkout clean and current (git status; 0 0 vs <remote>/master).