110 lines
4.8 KiB
Bash
Executable File
110 lines
4.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# sync-gdrive-mirror.sh
|
|
# Oppdaterer docs/GDRIVE_MIRROR_BOOT.md med fersk indeks + tidsstempel.
|
|
# Skriver .gdrive-mirror-state for å vise status i boot-dashboard.
|
|
# Kjøres manuelt: bash scripts/sync-gdrive-mirror.sh
|
|
|
|
set -euo pipefail
|
|
|
|
REPO_ROOT="$(git rev-parse --show-toplevel)"
|
|
OUTPUT="$REPO_ROOT/docs/GDRIVE_MIRROR_BOOT.md"
|
|
STATE_FILE="$REPO_ROOT/.gdrive-mirror-state"
|
|
TIMESTAMP=$(date '+%Y-%m-%dT%H:%M %Z')
|
|
SHA=$(git rev-parse --short HEAD)
|
|
|
|
echo "[sync-gdrive-mirror] Tidsstempel: $TIMESTAMP · HEAD: $SHA"
|
|
|
|
# ── Hent remote-endringer FØR vi skriver noe ──────────────────────────────
|
|
echo "[sync-gdrive-mirror] Henter remote-endringer (rebase)..."
|
|
git pull --rebase origin main
|
|
|
|
# ── Bygg header + staleness-varsel ─────────────────────────────────────────
|
|
cat > "$OUTPUT" << HEADER
|
|
# VAUCO OS — GDRIVE MIRROR BOOT
|
|
|
|
> **CONNECTOR-PRIORITET:**
|
|
> \`\`\`
|
|
> GITHUB > GOOGLE DRIVE
|
|
> \`\`\`
|
|
> GitHub (\`OSVauco/main/docs/AGENT_RULEBOOK.md\`) er **alltid** ground truth.
|
|
> Denne filen er auto-generert av \`sync-gdrive-mirror.sh\`.
|
|
> Ved enhver konflikt: stol på GitHub. Oppdater ved å kjøre scriptet på nytt.
|
|
|
|
---
|
|
|
|
## ⚠️ STALENESS-VARSEL — LES DETTE FØRST
|
|
|
|
\`\`\`
|
|
╔══════════════════════════════════════════════════════════════╗
|
|
║ SIST SYNKRONISERT: $TIMESTAMP ║
|
|
║ HEAD: $SHA ║
|
|
║ Kilde: OSVauco/main · Synkronisert av: sync-gdrive-mirror.sh ║
|
|
╠══════════════════════════════════════════════════════════════╣
|
|
║ ⚠️ TERSKEL: 12 TIMER (aktiv dev-runde) ║
|
|
║ HVIS MER ENN 12T HAR GÅTT: STOPP og verifiser mot GitHub ║
|
|
╠══════════════════════════════════════════════════════════════╣
|
|
║ VERIFISER: https://github.com/chrischristiansen-glitch/ ║
|
|
║ OSVauco/blob/main/docs/AGENT_RULEBOOK.md ║
|
|
╚══════════════════════════════════════════════════════════════╝
|
|
\`\`\`
|
|
|
|
---
|
|
|
|
## PROSJEKTINDEKS — AUTO-GENERERT $TIMESTAMP · HEAD $SHA
|
|
HEADER
|
|
|
|
# ── Legg inn TODO ──────────────────────────────────────────────────────────
|
|
if [[ -f "$REPO_ROOT/docs/TODO.md" ]]; then
|
|
echo -e "\n---\n\n## TODO\n" >> "$OUTPUT"
|
|
cat "$REPO_ROOT/docs/TODO.md" >> "$OUTPUT"
|
|
fi
|
|
|
|
if [[ -f "$REPO_ROOT/protocols/sessions/index.md" ]]; then
|
|
echo -e "\n---\n\n## SESJONSLOGG\n" >> "$OUTPUT"
|
|
cat "$REPO_ROOT/protocols/sessions/index.md" >> "$OUTPUT"
|
|
fi
|
|
|
|
if [[ -f "$REPO_ROOT/docs/VAUCO_OS_ROADMAP.md" ]]; then
|
|
echo -e "\n---\n\n## ROADMAP\n" >> "$OUTPUT"
|
|
cat "$REPO_ROOT/docs/VAUCO_OS_ROADMAP.md" >> "$OUTPUT"
|
|
fi
|
|
|
|
if [[ -f "$REPO_ROOT/docs/AGENT_RULEBOOK.md" ]]; then
|
|
echo -e "\n---\n\n## AGENT_RULEBOOK\n" >> "$OUTPUT"
|
|
cat "$REPO_ROOT/docs/AGENT_RULEBOOK.md" >> "$OUTPUT"
|
|
fi
|
|
|
|
if [[ -f "$REPO_ROOT/docs/LEARNINGS.md" ]]; then
|
|
echo -e "\n---\n\n## LEARNINGS — siste oppføringer\n" >> "$OUTPUT"
|
|
tail -60 "$REPO_ROOT/docs/LEARNINGS.md" >> "$OUTPUT"
|
|
fi
|
|
|
|
# ── Footer ────────────────────────────────────────────────────────────────
|
|
cat >> "$OUTPUT" << FOOTER
|
|
|
|
---
|
|
|
|
*Oppdater ved å kjøre: \`bash scripts/sync-gdrive-mirror.sh\` — last deretter opp til GDrive.*
|
|
|
|
**EOF · GDRIVE_MIRROR_BOOT · $TIMESTAMP · HEAD $SHA · auto-generert**
|
|
FOOTER
|
|
|
|
# ── Commit + push ─────────────────────────────────────────────────────────
|
|
cd "$REPO_ROOT"
|
|
git add docs/GDRIVE_MIRROR_BOOT.md
|
|
git commit -m "chore(docs): sync GDRIVE_MIRROR_BOOT $TIMESTAMP [HEAD $SHA]"
|
|
git push origin main
|
|
|
|
# ── Skriv state-fil ETTER push (SHA = ny commit-SHA) ─────────────────────
|
|
NEW_SHA=$(git rev-parse --short HEAD)
|
|
cat > "$STATE_FILE" << STATE
|
|
LAST_SYNC=$TIMESTAMP
|
|
LAST_SHA=$NEW_SHA
|
|
STATE
|
|
|
|
git add .gdrive-mirror-state
|
|
git commit -m "chore(state): oppdater .gdrive-mirror-state SHA=$NEW_SHA"
|
|
git push origin main
|
|
|
|
echo "[sync-gdrive-mirror] Ferdig. Last ned docs/GDRIVE_MIRROR_BOOT.md og erstatt i GDrive."
|