Skip to content

Code agent should verify downstream consumers when deleting test fixtures or data directories #208

Description

@fullsend-ai-retro

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions