What happened
On PR #205, the code agent removed eval/review/cases/001-clean-approve/ per issue #202. The deletion was correct but incomplete: (1) the agent didn't add a .gitkeep to preserve the empty cases/ directory, requiring a human /fs-fix intervention; (2) the agent didn't check that run-functional.sh would fail on an empty cases directory, requiring a human direct commit to add an early-exit guard. The code-implementation skill's step 7 ('Assess risk — will this change affect other callers?') and step 9 ('Verify API contracts per code path — if the fix removes, empties, or changes...') already cover this class of issue, but the agent did not apply them to a directory deletion.
What could go better
The code agent treated 'remove this directory' as a pure deletion without analyzing what consumes the directory. The run-functional.sh script iterates over case directories and passes them to workspace.py — removing all cases creates an empty input that the pipeline didn't handle. High confidence: this is directly observable from the PR timeline (two human interventions needed). The existing skill guidance is adequate but vague for deletion tasks — it talks about 'API contracts' and 'callers' in terms that map better to code interfaces than to directory-level filesystem contracts consumed by shell scripts.
Proposed change
Add a deletion-specific checklist item to skills/code-implementation/SKILL.md in the planning phase (step 8 area), something like: 'When removing files or directories, verify: (a) no scripts, workflows, or configs reference the deleted path — search for the path string in shell scripts, YAML configs, and Makefiles; (b) if removing the last item from a directory, check whether the directory itself needs to be preserved (.gitkeep) or whether consuming scripts handle the empty case; (c) run the specific test/lint commands that exercise the deleted content to confirm they handle the removal gracefully.' This makes the existing step 7 guidance concrete for deletion tasks.
Validation criteria
The next 3 code agent runs that involve file or directory deletion should demonstrate in their reasoning trace that they checked for scripts and configs referencing the deleted paths. Measure by reviewing agent transcripts for explicit search commands (grep/Grep) targeting the deleted paths in shell scripts and YAML files.
Generated by retro agent from #205
What happened
On PR #205, the code agent removed
eval/review/cases/001-clean-approve/per issue #202. The deletion was correct but incomplete: (1) the agent didn't add a.gitkeepto preserve the emptycases/directory, requiring a human/fs-fixintervention; (2) the agent didn't check thatrun-functional.shwould fail on an empty cases directory, requiring a human direct commit to add an early-exit guard. The code-implementation skill's step 7 ('Assess risk — will this change affect other callers?') and step 9 ('Verify API contracts per code path — if the fix removes, empties, or changes...') already cover this class of issue, but the agent did not apply them to a directory deletion.What could go better
The code agent treated 'remove this directory' as a pure deletion without analyzing what consumes the directory. The
run-functional.shscript iterates over case directories and passes them toworkspace.py— removing all cases creates an empty input that the pipeline didn't handle. High confidence: this is directly observable from the PR timeline (two human interventions needed). The existing skill guidance is adequate but vague for deletion tasks — it talks about 'API contracts' and 'callers' in terms that map better to code interfaces than to directory-level filesystem contracts consumed by shell scripts.Proposed change
Add a deletion-specific checklist item to
skills/code-implementation/SKILL.mdin the planning phase (step 8 area), something like: 'When removing files or directories, verify: (a) no scripts, workflows, or configs reference the deleted path — search for the path string in shell scripts, YAML configs, and Makefiles; (b) if removing the last item from a directory, check whether the directory itself needs to be preserved (.gitkeep) or whether consuming scripts handle the empty case; (c) run the specific test/lint commands that exercise the deleted content to confirm they handle the removal gracefully.' This makes the existing step 7 guidance concrete for deletion tasks.Validation criteria
The next 3 code agent runs that involve file or directory deletion should demonstrate in their reasoning trace that they checked for scripts and configs referencing the deleted paths. Measure by reviewing agent transcripts for explicit search commands (grep/Grep) targeting the deleted paths in shell scripts and YAML files.
Generated by retro agent from #205