Files
Orchestrator/docs/monorepo-summary.md
T

6.7 KiB
Raw Blame History

Monorepo-Konsolidierung Zusammenfassung

Überblick

18+ einzelne Git-Repositories wurden in eine einheitliche Monorepo-Struktur konsolidiert. Das System vereint drei Arbeitskontexte (privat, extern, bahn) mit einem shared-Bereich und implementiert Sicherheitsgrenzen, einen Wissensspeicher, verschlüsselte Secrets und eine föderierte Team-Zusammenarbeit.


Architektur

Orchestrator/  (Monorepo Root)
├── bahn/                    ← DB InfraGO Projekte (10 Repos)
│   ├── aisupport/
│   ├── Analyse-O2C-C2S/
│   ├── awesome-bahn-mcp-servers/
│   ├── beam-mcp/
│   ├── Confluence_Bot/
│   ├── db-planet-mcp-server/
│   ├── O2C-Harness/
│   ├── project-audit/
│   ├── teamlandkarte-mcp/
│   └── wissensdatenbank/    ← Upstream-Subtree von DB GitLab
├── extern/                   ← extern GmbH Projekte (2 Repos)
│   ├── Jury-Voting/
│   └── Projekt-KIQ-HP/
├── privat/                  ← Persönliche Projekte (2 Repos)
│   ├── CV/
│   └── NoteGraph/           ← Markiert für Neuentwicklung
├── shared/                  ← Kontextübergreifend
│   ├── AI-Orchestrator/     ← Task-Dispatch-Engine
│   ├── OrgMyLife/           ← Persönliche Aufgabenverwaltung
│   ├── power_skills_and_more/  ← Agent-Erweiterungen
│   ├── references/symphony/ ← Read-Only-Referenz
│   ├── config/              ← Zentrale Konfiguration
│   └── tools/monorepo-cli/  ← ctx-guard CLI-Tool
├── monorepo.yaml            ← Zentrale Konfiguration
└── .kiro/                   ← Specs, Steering, MCP-Server

Komponenten

1. Ordnerstruktur-Manager (StructureManager)

  • Flache 3-Ebenen-Hierarchie: Kontext → Projekt → Modul
  • Kebab-case Namenskonvention (250 Zeichen)
  • Duplikat-Erkennung pro Kontext

2. Sicherheits-Guard (ContextGuard)

  • Dateibasierte Zugriffskontrolle zwischen Kontexten
  • Pro Kontext eigene .env-Datei (verschlüsselt)
  • Audit-Logging bei Zugriffsverletzungen
  • Konfigurierbar via access-config.yaml

3. Secret-Encryption (SecretEncryptionManager)

  • git-crypt-basierte Verschlüsselung pro Kontext
  • Maschinenkontext-Konzept: Jeder Rechner hat nur autorisierte Schlüssel
  • Passwort-Manager-Integration (Bitwarden, 1Password, KeePass)
  • Secrets werden committet (verschlüsselt), nicht gitignored

4. Wissensspeicher (KnowledgeStore)

  • ETL-Pipeline basierend auf der DB-Wissensdatenbank-Architektur
  • YAML-Frontmatter + YAML-Index (Progressive Disclosure)
  • Scope-basierte Ordnerstruktur
  • Volltextsuche mit Scope-Filterung
  • Graph-Verknüpfungen zwischen Artefakten
  • Inkrementelle Verarbeitung (Content-Hash)

5. Externes-Repo-Manager (RepoManager)

  • Git-Subtree-Einbindung (Read-Only oder Upstream)
  • Bidirektionale Synchronisation mit Upstream-Repos
  • Pre-commit-Hook für Read-Only-Schutz
  • Konfiguriert via repos.yaml

6. Kontextbrücke (ContextBridge)

  • Kontextübergreifendes Teilen von Wissensartefakten
  • Sensitive-Content-Filter (Regex: API-Keys, Endpoints, PII)
  • Explizite Nutzerbestätigung vor Freigabe
  • Widerruf jederzeit möglich

7. Migrations-Engine (MigrationEngine)

  • Git-Historie-bewahrende Migration via Subtree/Filter-Repo
  • Konflikterkennung (Pfadkollision, Branch-Konflikte, Namenskonvention)
  • Validierung nach Migration (Commits, Branches, Tags, Dateien)
  • Rollback ohne andere Repos zu beeinflussen

8. Orchestrator-Adapter (OrchestratorAdapter)

  • Kontextauflösung aus Task-Metadaten (Labels, Projektzuordnung)
  • Workspace-Erstellung unter dem korrekten Kontextordner
  • Wissensinjection in Agenten-Prompts (YAML-Index)
  • Multi-Harness-Dispatch (Kiro, Codex, Claude Code, Antigravity)
  • Task-Abbruch bei Out-of-Context-Zugriff

9. Shared Tooling (ConfigMerger)

  • MCP-Server-Konfiguration-Merge (shared + context override)
  • Shared-Tool-Versionierung (Symlinks, automatisch aktuell)
  • Agent-Erweiterungen in harness-agnostischem Format
  • Adapter-Mechanismus für verschiedene Agent-Harnesses

10. Federation-Manager (FederationManager)

  • Hub-and-Spoke-Topologie (Monorepo = Hub, Team-Repos = Spokes)
  • Bidirektionale Synchronisation via git subtree
  • Team-Isolation (Cross-Context-Leakage-Prüfung)
  • Shared-Bereich-Spiegelung (Read-Only in Team-Repos)
  • Konflikt-Auflösung (team-wins als Standard)
  • Member-Onboarding ohne Monorepo-Kenntnis

11. Git-Hooks (HookManager)

  • Pre-commit: Read-Only-Repos schützen
  • Pre-commit: Unverschlüsselte Secrets blockieren
  • git-crypt-Filter-Integration
  • Installation bei ctx-guard init

12. CLI-Tool (ctx-guard)

13 Subcommands: init, create-project, list-projects, add-repo, sync-repo, migrate, validate, search, encrypt, decrypt, onboard, fed-sync, fed-status


Lösungen für spezifische Probleme

Problem Lösung
18+ Repos, kein Überblick Einheitliche Kontextordner-Hierarchie
Secrets in .gitignore verloren beim Klonen git-crypt: Secrets verschlüsselt committet
Mehrere Maschinen, verschiedene Zugriffsrechte Maschinenkontext-Mapping (machine-context.yaml)
Team-Zusammenarbeit ohne Monorepo-Offenlegung Hub-and-Spoke-Föderation mit Team-Repos
Wissen verstreut über Kontexte Zentraler Wissensspeicher mit Scope-Filterung
AI-Agent greift auf fremde Secrets zu ContextGuard + Audit-Logging + Task-Abbruch
Verschiedene AI-Tools (Kiro, Codex, Claude) Multi-Harness-Dispatch mit einheitlicher Schnittstelle
DB-Wissensdatenbank separat pflegen Upstream-Subtree, bidirektionale Sync

Technische Metriken

  • 300+ Tests (Unit + Property-Based + Integration)
  • 12 Python-Module in shared/tools/monorepo-cli/
  • 27 Correctness Properties (Hypothesis-basiert)
  • 14 End-to-End-Integration-Tests
  • 13 CLI-Commands vollständig verdrahtet

Heutige Aktionen

  1. Alle verbleibenden Spec-Tasks implementiert (Wave 1320)
  2. Monorepo-Git-Repository initialisiert
  3. 17 Repos in Kontextordner verschoben
  4. Wissensdatenbank als Upstream-Subtree eingebunden
  5. Projekt-KIQ-HP nach extern/ verschoben (Korrektur)
  6. Clutter bereinigt (alte README, leere Placeholder, Secrets aus Git entfernt)
  7. .gitignore aktualisiert (Secrets-Patterns)
  8. Steering-Dateien für zukünftige Sessions erstellt
  9. Knowledge-Management-Briefing für nächste Spec vorbereitet

Offene Punkte

  • NoteGraph komplett neu aufbauen (→ Knowledge-Management-Spec)
  • git-crypt tatsächlich einrichten (Schlüssel generieren, .env verschlüsseln)
  • Team-Repos auf GitLab erstellen und Federation aktivieren
  • Wissensdatenbank-Upstream regelmäßig synchronisieren
  • Remaining skipped Tasks (2.22.4, 3.2, 4.1, 11.211.4, 12.212.3) implementieren