Task runner: verifiser kodeendring før markering som ferdig

Sjekker at det faktisk ble committet kodeendringer (utenom tasks/)
før oppgaven markeres som fullført. Oppgaver uten kodeendring
flyttes tilbake til køen. Forhindrer falske "Task fullført".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
vegard 2026-03-19 23:14:38 +00:00
parent a2510d1b81
commit 6e753a73d4

View file

@ -113,17 +113,24 @@ Regler:
EXIT_CODE=${PIPESTATUS[0]}
if [ "$EXIT_CODE" -eq 0 ]; then
# Verifiser at det faktisk ble gjort kodeendringer (ikke bare snakk)
cd "$ROOT"
COMMITS_AFTER=$(git log --oneline --since="5 minutes ago" -- ':(exclude)tasks/' | wc -l)
FILES_CHANGED=$(git diff --name-only HEAD~${COMMITS_AFTER:-1}..HEAD -- ':(exclude)tasks/' 2>/dev/null | wc -l)
if [ "$EXIT_CODE" -eq 0 ] && [ "${FILES_CHANGED:-0}" -gt 0 ]; then
mv "$ACTIVE/$TASKNAME" "$DONE/$(date +%Y-%m-%d)-$TASKNAME"
echo "=== Fullført: $TASKNAME ==="
# Commit task-flytt
cd "$ROOT"
echo "=== Fullført: $TASKNAME ($FILES_CHANGED filer endret, $COMMITS_AFTER commits) ==="
git add -A tasks/ && git commit -m "Task fullført: $TASKNAME" --no-verify 2>/dev/null || true
git push origin main 2>/dev/null || true
return 0
else
mv "$ACTIVE/$TASKNAME" "$TASKS/$TASKNAME"
echo "=== Feilet (exit $EXIT_CODE): $TASKNAME ==="
if [ "$EXIT_CODE" -ne 0 ]; then
echo "=== Feilet (exit $EXIT_CODE): $TASKNAME ==="
else
echo "=== Ingen kodeendring: $TASKNAME (flyttet tilbake til kø) ==="
fi
return 1
fi
}