mit einem Klick
grind-err
Systematically reduce stzlib
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
Systematically reduce stzlib
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
| name | grind-err |
| description | Systematically reduce stzlib |
A repeatable loop for reducing #ERR-tagged test failures in
libraries/stzlib/base/test/<topic>/. The point of the skill is
discipline -- the same checks every time so a stray duplicate def
or arity collision doesn't masquerade as a regression.
TOPIC=string # or char, dataset, etc.
DIR=libraries/stzlib/base/test/$TOPIC
# live count of files carrying #ERR headers
grep -l '^#ERR' $DIR/*.ring | wc -l
# error-type distribution (the leverage map)
grep -h '^#ERR' $DIR/*.ring | sort | uniq -c | sort -rn | head -10
Order of preference:
:With/:By/:Of/:StartingAt
unwraps) — usually 5–10 tests share the same fix shape.:First/:Last/:LastChar) —
_ResolveSymPos in stzString already exists; extend its callers.Skip:
test_checker.ring, test_core.ring)
that load the engine themselves — pre-existing, not part of the grind.# for the chosen error type, find call sites
for f in $(grep -l "^#ERR Error (R??)" $DIR/*.ring | head -10); do
n=$(ring "$f" 2>&1 | grep "in file $(basename $f)" | grep -oE "line [0-9]+" | head -1 | awk '{print $2}')
echo "$f L$n: $(sed -n "${n}p" "$f")"
done
Note: run from inside $DIR so relative ../../stzBase.ring resolves.
Edit the offending method(s) in libraries/stzlib/base/string/stzString.ring
(or stzList, stzStringFunc, etc.).
Before saving the final edit, mentally check:
grep -rn "\.MethodName(" libraries/stzlib/base/_aRes_ + (x + y - 1) not _aRes_ + x + y - 1echo 'load "libraries/stzlib/base/string/stzString.ring"' > /tmp/loadcheck.ring
ring /tmp/loadcheck.ring 2>&1 | grep -iE "stzString|error " | head -3
If C22 fires, find the dup with:
grep -niE "^\s*def\s+<methodname>\s*\(" libraries/stzlib/base/string/stzString.ring
cd libraries/stzlib/base/test/$TOPIC
for t in <list of cluster tests>; do
echo "$t : $(ring "$t" 2>&1 | grep -E 'STOPPED|Error|panic' | head -1 | head -c 90)"
done
STOPPED! = pass. Anything else = still failing.
git add libraries/stzlib/base/string/stzString.ring # be specific, not -A
git commit -m "string: <one-line cluster description>
<body with what was fixed and any caveats>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>"
git push origin main
git push codeberg main # ok to fail; codeberg auth expires
python _annotate_test_errors.py $TOPIC
# ~25 minutes; run with run_in_background:true and continue working
When the background task completes, check the totals tail and the live count. If ERR went UP, something I introduced is wrong — search for case-insensitive duplicate defs first.
One cluster per commit. Don't batch multiple unrelated clusters into a single commit — if one regresses, the others are stuck with it. Small commits = trivial revert.
After each iteration, give the user a one-line update:
Cluster X (Y tests) — fixed Z. ERR floor: A → B. Annotate running in background.
Don't propose options for the next cluster — pick the highest-leverage one and start. The user can interrupt.
substr byte-ops.for X in list iterator form.ring_len() out of for loops.