Files
jetson-ai-ollama/scripts/gate-session-hygiene.sh
Tarik Moussa efee259d01
Some checks failed
gates / quality (push) Has been cancelled
feat: bootstrap jetson-ai-ollama from agent-swarm template
Leader-Bootstrap (Planung) aus Template + Jetson-Meta-Prompt:
- ROADMAP-Board W1-W6 als Abhaengigkeits-DAG (Ready-Set = {W1})
- STATE mit disjunkter Datei-Ownership W2-W6
- CONVENTIONS Projekt-Vertrag (Profile, Pfade, Ports, Daemon-Env, num_ctx, DVC, Scope)
- manifests/requirements.md = kalt verifizierbares Review-Manifest (R-01..R-10)
- REVIEW.md Kalt-Review-Einstieg; ADR 0002 (Ollama-nativ, kein Swapper/Gateway)
- session-prompts/W1..W6 dispatch-fertig; .gitignore um Jetson-Ignores erweitert
- examples/walkthrough entfernt (Projekt hat eigenes gefuelltes Board)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 06:57:40 +02:00

42 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Session-Hygiene-Gate (Starter — an Repo anpassen).
set -uo pipefail
fail=0
note(){ echo " - $1"; fail=1; }
# Dormant solange das Template nicht initialisiert ist (scripts/init.sh).
if grep -q '<id / datum>' STATE.md 2>/dev/null; then
echo "[hygiene] Template noch nicht initialisiert (scripts/init.sh) — uebersprungen."
echo "GATE: PASS"; exit 0
fi
echo "[hygiene] pruefe Working Tree..."
[ -z "$(git status --porcelain)" ] || note "Working Tree nicht sauber."
echo "[hygiene] STATE.md im aktuellen Branch aktualisiert?"
base=$(git merge-base HEAD main 2>/dev/null || true)
head=$(git rev-parse HEAD 2>/dev/null || true)
if [ -n "$base" ] && [ "$base" != "$head" ]; then
# echte Divergenz (Feature-Branch): Diff gegen Abzweigpunkt
git diff --name-only "$base"...HEAD | grep -q '^STATE.md$' || \
note "STATE.md im aktuellen Branch nicht aktualisiert."
else
# auf main/Integration oder Root-Commit: letzten Commit pruefen
git log -1 --name-only --pretty= | grep -q '^STATE.md$' || \
note "STATE.md im letzten Commit nicht angefasst."
fi
echo "[hygiene] Session-Log vorhanden?"
ls sessions/[0-9]*.md >/dev/null 2>&1 || note "Kein Session-Log unter sessions/."
echo "[hygiene] Conventional Commits?"
git log -1 --pretty=%s | grep -Eq '^(feat|fix|docs|test|refactor|chore)(\(.+\))?: ' || \
note "Letzter Commit nicht conventional."
echo "[hygiene] Model-Attribution im letzten Commit?"
git log -1 --pretty=%B | grep -q 'Co-Authored-By: Claude' || \
echo " - Hinweis: letzter Commit ohne 'Co-Authored-By: Claude <Modell>' (Pflicht nur fuer Agenten-Commits)."
if [ "$fail" -ne 0 ]; then echo "GATE: FAIL"; exit 1; fi
echo "GATE: PASS"