Run find_traps.py from a hook on edited files
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
Research direction
Read the current plugin hook documentation and inspect how the plugin declares hooks and returns output to the model. Then review find_traps.py and the existing fixture evals to decide how to filter new hits, keep the hook quiet on unrelated files or without Python 3, and compare eval results with and without it. Record the dated decision and checklist in ROADMAP.md; the issue's done criterion is also to assign a milestone.
Written by the indexing model from the issue text.
Description
find_traps.py is already a deterministic trap checker that runs without a model, and CI runs it on every naive fixture. What's left is a hook that runs it on each file the agent edits during a port.
What has to be settled before this gets a milestone
- The hook. A plugin can ship hooks, and a
PostToolUsehook on the edit tools can runfind_traps.pyon the edited file and hand its hits back to the agent. Check the current hook docs for how a plugin declares one and how its output reaches the model. - Staying quiet. A plugin's hooks run in every session where the plugin is enabled, not just during a port. The hook has to be fast and silent on files that don't use SDL, and on machines without Python 3.
- Which hits.
find_traps.pyalso searches the committed SDL2 version of a changed file and marks those hits(HEAD). After an edit, only hits in the new text are news, or the agent hears about every trap it has already fixed. - Evidence. Like the skill, the hook earns its place in an eval: the same cases with and without it.
Done when
- The settled answers are a dated decision in ROADMAP.md, and this issue gets a milestone with its own checklist.
- Dominant language
- C
- Stars
- 1
- Forks
- 1
- Avg merge
- 3m
- Merged PRs (30d)
- 1
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hazeliscoding/sdl3-porter
-
trap-cards check: require every part of a trap cardPossibly taken A pull request linked to this issue is open or already merged. Openenhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
hazeliscoding/sdl3-porter#20 ·
-
documentation good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 83/100
hazeliscoding/sdl3-porter#19 ·
-
Test find_traps.py's search of the committed SDL2 codePossibly taken @ian0318git claimed this 2 days ago. Opengood first issue
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
hazeliscoding/sdl3-porter#18 ·
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
hazeliscoding/sdl3-porter#17 ·
-
trap-cards check: require a sample and an eval case for every trapPossibly taken A pull request linked to this issue is open or already merged. Openenhancement good first issue
Difficulty 3/5 1-2 days Newbie friendliness 82/100
hazeliscoding/sdl3-porter#21 ·
All issues in hazeliscoding/sdl3-porter
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
libsdl-org/SDL#16577 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
halt_error adds a trailing newline for non-string input, contrary to the manualPossibly taken @Huang-404-Q claimed this today. Open
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
MerginMaps/geodiff#272 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
open-quantum-safe/liboqs#2644 ·
Maintainers usually reply within 1 day