diff --git a/.claude/skills/port-astgen/SKILL.md b/.claude/skills/port-astgen/SKILL.md index 1b54e018a1..6ebf62da2f 100644 --- a/.claude/skills/port-astgen/SKILL.md +++ b/.claude/skills/port-astgen/SKILL.md @@ -107,10 +107,16 @@ Go back to Step 1. ## Rules -- **Mechanical copy only.** Do not invent new approaches. If the - upstream does X, do X in C. +- **Mechanical copy only.** Do not invent new approaches. If the upstream does + X, do X in C. - **Never remove zig-cache.** - **Never print to stdout/stderr in committed code.** Debug prints are temporary only. - **Functions must appear in the same order as in the upstream Zig file.** - **Commit after every iteration**, even partial positive progress. +- **Prefer finding systematic differences for catching bugs** instead of + debugging and hunting for them. Zig code is bug-free for the purposes of + porting. When test cases fail, it means the C implementation differs from the + Zig one, which is the source of the bug. So standard "bug hunting" methods no + longer apply -- making implementations consistent is a much better approach + in all ways.