Initial: Mesh-Skills, Configs, Scripts

This commit is contained in:
root
2026-09-02 23:49:07 +02:00
commit 26c7980750
783 changed files with 145393 additions and 0 deletions
@@ -0,0 +1,54 @@
#!/bin/bash
# Master-Task-Handler: verifiziert & validiert Tasks im Mesh-Share automatisch.
# Läuft via Cron: */5 * * * * /path/scripts/master-task-handler.sh
# Quelle /srv/work — Status=Ordnermodell (todo/inProgress/finished/bugged/completed)
set -euo pipefail
WORK="/srv/work"
TODO="$WORK/todo"
INPROG="$WORK/inProgress"
FIN="$WORK/finished"
BUG="$WORK/bugged"
COMP="$WORK/completed"
LOCK_TIMEOUT=15 # Minuten
STALE_TIMEOUT=30 # Minuten
mkdir -p "$TODO" "$INPROG" "$FIN" "$BUG" "$COMP"
# 1) Verwaiste Locks bereinigen (>15 min)
find "$INPROG" -name "*.lock" -mmin +$LOCK_TIMEOUT -delete 2>/dev/null || true
# 2) Stale Dateien in inProgress (ohne Lock, >30 min) -> zurück nach todo
for f in "$INPROG"/*.md "$INPROG"/*.json; do
[ -f "$f" ] || continue
[ -f "$f.lock" ] && continue
if [ "$(find "$f" -mmin +$STALE_TIMEOUT 2>/dev/null | wc -l)" -gt 0 ]; then
mv "$f" "$TODO/" 2>/dev/null && echo "[$(date)] stale -> todo: $f"
fi
done
# 3) finished/ validieren (Frontmatter + # Ergebnis)
for f in "$FIN"/*.md; do
[ -f "$f" ] || continue
if ! head -20 "$f" | grep -q "^---$" || ! grep -q "^# Ergebnis" "$f"; then
mv "$f" "$BUG/" 2>/dev/null && echo "[$(date)] formatfehler -> bugged: $f"
continue
fi
# Optional: Artefakt in completed/ spiegeln
# cp "$f" "$COMP/$(basename "$f")"
done
# 4) bugged/ Retry-Buchhaltung (YAML: retries)
for f in "$BUG"/*.md; do
[ -f "$f" ] || continue
retries=$(grep -m1 "^retries:" "$f" 2>/dev/null | awk '{print $2}' || echo 0)
retries=${retries:-0}
if [ "$retries" -gt 0 ]; then
new=$((retries - 1))
sed -i "s/^retries: .*/retries: $new/" "$f"
mv "$f" "$TODO/" 2>/dev/null && echo "[$(date)] retry($new) -> todo: $f"
else
echo "[$(date)] bleibt in bugged (retries=0): $f"
fi
done