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:
@@ -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
|
||||||
|
|||||||
@@ -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).
|
||||||
|
|||||||
Reference in New Issue
Block a user