Phase 7: scripts/sync_shared.py + Lock-Mechanismus
scripts/sync_shared.py: hält src/shared/ in sync mit dem Monitor-Repo - --check: Drift-Diagnose ohne Schreiben (Exit 1 bei auto-sync-Drift, 0 bei nur LOCKED-Drift = informativ) - --apply: schreibt Drift, ueberspringt LOCKED_FILES - Mojibake-Schutz via ftfy (Monitor-Originale haben teilweise noch Doppel- Encoded UTF-8, das fixed wird beim Sync) - Imports-Patch: from agents. -> from shared.agents. (etc.) damit Module innerhalb von src/shared/ ihre Geschwister korrekt finden LOCKED_FILES (nicht auto-syncbar): - src/shared/services/source_health.py (Phase-2-Fork: tenant_id-Filter weg, History-Archivierung, Config-Konstanten - waere im Monitor unsinnig) Hintergrund: Phase 1 hat src/shared/ als 1:1-Kopie aus dem Monitor angelegt. Phase 2 hat source_health.py spezifisch fuer die Verwaltung erweitert. Ein blinder Sync wuerde Phase-2-Aenderungen ueberschreiben - Lock-Mechanismus verhindert das, meldet aber Drift zur Information. CLAUDE.md: Sektion Shared-Module-Sync mit Workflow-Doku.
Dieser Commit ist enthalten in:
24
CLAUDE.md
24
CLAUDE.md
@@ -164,3 +164,27 @@ staging:
|
||||
|
||||
4. **Promote zu Live** über https://deploy.aegis-sight.de (Phase 0g)
|
||||
-> Gitea-PR develop->main automerge -> Live-Listener pullt main -> systemctl restart verwaltungsportal
|
||||
|
||||
## Shared-Module-Sync (src/shared/)
|
||||
|
||||
```yaml
|
||||
shared:
|
||||
pfad: src/shared/
|
||||
inhalt: source_rules + services/source_health + services/source_suggester + agents/claude_client
|
||||
herkunft: lokale Kopie aus AegisSight-Monitor/src/
|
||||
drift_lösung: scripts/sync_shared.py
|
||||
|
||||
workflow:
|
||||
pruefen: "./venv/bin/python scripts/sync_shared.py --check"
|
||||
anwenden: "./venv/bin/python scripts/sync_shared.py --apply"
|
||||
|
||||
locked_files:
|
||||
src/shared/services/source_health.py:
|
||||
grund: "Verwaltungs-Fork mit tenant_id-Filter weg + Historie + Config-Konstanten"
|
||||
hinweis: "Auto-Sync schreibt NICHT. Drift wird gemeldet, manuell entscheiden."
|
||||
|
||||
beim_drift:
|
||||
nicht_locked: "einfach --apply, dann committen"
|
||||
locked: "diff anschauen, ueberlegen ob die Monitor-Aenderung im Verwaltungs-Fork sinnvoll ist"
|
||||
```
|
||||
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren