From 6e753a73d4fd949c9bb27f53b9c004c5db042e4e Mon Sep 17 00:00:00 2001 From: vegard Date: Thu, 19 Mar 2026 23:14:38 +0000 Subject: [PATCH] =?UTF-8?q?Task=20runner:=20verifiser=20kodeendring=20f?= =?UTF-8?q?=C3=B8r=20markering=20som=20ferdig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- scripts/run-next-task.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/scripts/run-next-task.sh b/scripts/run-next-task.sh index 8ec9456..4f4ca1f 100755 --- a/scripts/run-next-task.sh +++ b/scripts/run-next-task.sh @@ -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 }