bae705aa97
- Add NFC ePassport roadmap (ICAO 9303, eIDAS) - Add TensorFlow.js edge face detection (BlazeFace) - Add structured audit logger (GDPR-compliant) - Risk scoring support Part of KYC Apple Native UX v1.1.0
145 lines
4.0 KiB
Bash
Executable File
145 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Auto Revision Script
|
|
# Kör konstant revision av alla komponenter
|
|
#
|
|
|
|
set -e
|
|
|
|
IOM_DIR="/home/bernt/.openclaw/workspace/iom"
|
|
LOG_FILE="$IOM_DIR/logs/revision.log"
|
|
DATE=$(date +%Y-%m-%d-%H%M%S)
|
|
|
|
# Skapa logg-katalog
|
|
mkdir -p "$IOM_DIR/logs"
|
|
|
|
log() {
|
|
echo "[$DATE] $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# === 1. Kodgranskning ===
|
|
log "=== Kodgranskning ==="
|
|
|
|
# Kolla Python-kod
|
|
if command -v pylint &> /dev/null; then
|
|
log "Kör pylint..."
|
|
find "$IOM_DIR" -name "*.py" -not -path "*/venv/*" -not -path "*/node_modules/*" | head -20 | while read f; do
|
|
pylint "$f" --disable=R,C 2>/dev/null | head -5 >> "$LOG_FILE" || true
|
|
done
|
|
fi
|
|
|
|
# Kolla teststatus
|
|
log "Kollar teststatus..."
|
|
if [ -f "$IOM_DIR/tests/test_complete.py" ]; then
|
|
cd "$IOM_DIR"
|
|
python -m pytest tests/test_complete.py -v 2>&1 | tail -5 >> "$LOG_FILE" || log "Tester misslyckades"
|
|
fi
|
|
|
|
# === 2. API-granskning ===
|
|
log "=== API-granskning ==="
|
|
|
|
# Kolla om API körs
|
|
if curl -s -k https://localhost:8000/health > /dev/null 2>&1; then
|
|
log "API: OK"
|
|
|
|
# Kolla endpoints
|
|
ENDPOINTS=("/health" "/taxonomy/domains" "/goid/generate")
|
|
for endpoint in "${ENDPOINTS[@]}"; do
|
|
STATUS=$(curl -s -k -o /dev/null -w "%{http_code}" "https://localhost:8000$endpoint")
|
|
log " $endpoint: HTTP $STATUS"
|
|
done
|
|
else
|
|
log "API: NEDKOPPLAD"
|
|
fi
|
|
|
|
# === 3. Dokumentationsgranskning ===
|
|
log "=== Dokumentationsgranskning ==="
|
|
|
|
# Kolla att alla komponenter har README
|
|
COMPONENTS=("quixzoom-app" "landvex-dashboard" "integrations/qgis" "integrations/arcgis" "sdk/python" "sdk/javascript")
|
|
for comp in "${COMPONENTS[@]}"; do
|
|
if [ -f "$IOM_DIR/$comp/README.md" ]; then
|
|
log " $comp/README.md: OK"
|
|
else
|
|
log " $comp/README.md: SAKNAS"
|
|
fi
|
|
done
|
|
|
|
# === 4. Säkerhetsgranskning ===
|
|
log "=== Säkerhetsgranskning ==="
|
|
|
|
# Kolla efter hemligheter
|
|
if command -v grep &> /dev/null; then
|
|
SECRETS=$(grep -r "password\|secret\|token\|key" "$IOM_DIR" --include="*.py" --include="*.js" --include="*.yaml" | grep -v "example\|placeholder\|README" | head -5 || true)
|
|
if [ -n "$SECRETS" ]; then
|
|
log " ⚠️ Potentiella hemligheter hittade:"
|
|
echo "$SECRETS" | while read line; do
|
|
log " $line"
|
|
done
|
|
else
|
|
log " Inga hemligheter hittade"
|
|
fi
|
|
fi
|
|
|
|
# === 5. Prestandagranskning ===
|
|
log "=== Prestandagranskning ==="
|
|
|
|
# Kolla API response time
|
|
if curl -s -k https://localhost:8000/health > /dev/null 2>&1; then
|
|
TIME=$(curl -s -k -o /dev/null -w "%{time_total}" https://localhost:8000/health)
|
|
log " API response time: ${TIME}s"
|
|
|
|
if (( $(echo "$TIME > 1.0" | bc -l) )); then
|
|
log " ⚠️ API är långsamt (>1s)"
|
|
fi
|
|
fi
|
|
|
|
# === 6. Versionskontroll ===
|
|
log "=== Versionskontroll ==="
|
|
|
|
# Kolla versionsnummer
|
|
VERSION_FILES=("api/main.py" "core/goid_generator.py" "visual_geolocation/pipeline.py")
|
|
for file in "${VERSION_FILES[@]}"; do
|
|
if [ -f "$IOM_DIR/$file" ]; then
|
|
VERSION=$(grep -o "version.*=.*['\"][0-9]\+\.[0-9]\+\.[0-9]\+['\"]" "$IOM_DIR/$file" | head -1 || echo "N/A")
|
|
log " $file: $VERSION"
|
|
fi
|
|
done
|
|
|
|
# === 7. Nästa åtgärder ===
|
|
log "=== Nästa åtgärder ==="
|
|
|
|
# Generera todo-lista baserat på granskning
|
|
TODO_FILE="$IOM_DIR/TODO_AUTO.md"
|
|
echo "# Auto-genererad TODO ($DATE)" > "$TODO_FILE"
|
|
echo "" >> "$TODO_FILE"
|
|
|
|
# Kolla om det finns misslyckade tester
|
|
if grep -q "FAILED" "$LOG_FILE" 2>/dev/null; then
|
|
echo "- [ ] Fixa misslyckade tester" >> "$TODO_FILE"
|
|
fi
|
|
|
|
# Kolla om API är nere
|
|
if ! curl -s -k https://localhost:8000/health > /dev/null 2>&1; then
|
|
echo "- [ ] Starta om API" >> "$TODO_FILE"
|
|
fi
|
|
|
|
# Kolla saknad dokumentation
|
|
for comp in "${COMPONENTS[@]}"; do
|
|
if [ ! -f "$IOM_DIR/$comp/README.md" ]; then
|
|
echo "- [ ] Skapa README för $comp" >> "$TODO_FILE"
|
|
fi
|
|
done
|
|
|
|
log "Revision klar. Se $LOG_FILE för detaljer."
|
|
log "TODO-lista: $TODO_FILE"
|
|
|
|
# Skicka sammanfattning
|
|
echo ""
|
|
echo "=== REVISIONSSAMMANFATTNING ==="
|
|
echo "Datum: $DATE"
|
|
echo "Logg: $LOG_FILE"
|
|
echo "TODO: $TODO_FILE"
|
|
echo ""
|
|
echo "Status: ✅ Revision klar"
|