Agent Zero
|
2f5af6e192
|
docs(progress): S2-Welle 8/16 — F14 (KI-Datenrichtlinie) + F09 (CRM-/MCP-Delegation) erledigt
|
2026-09-18 12:13:14 +02:00 |
|
Agent Zero
|
c9a5a6e198
|
docs(progress): S2-Welle 6/16 — F06 (Worker-Event-Handler) + F08 (External-API Bearer) erledigt inkl. RLS-Henne-Ei-Fix
|
2026-09-18 11:46:54 +02:00 |
|
Agent Zero
|
693417ad27
|
docs(progress): S2-Welle 4/16 — F12, F17, F37, F41 erledigt
|
2026-09-18 11:16:11 +02:00 |
|
Agent Zero
|
d3142e07cb
|
docs(progress): S1-Welle KOMPLETT — alle 11 Astra-Sicherheits-Findings gefixt, deployed und live verifiziert
|
2026-09-18 08:58:13 +02:00 |
|
Agent Zero
|
46463b5c65
|
docs(progress): S1-Welle 6/11 — F05+F30 erledigt und deployed (alle 6 Fixes produktiv)
|
2026-09-18 08:09:23 +02:00 |
|
Agent Zero
|
ad3575c64d
|
docs(progress): S1-Welle — F03 (Session-Widerruf beide Stores) + F10 (Token-Scopes Obergrenze) erledigt, 4/11
|
2026-09-18 07:59:53 +02:00 |
|
Agent Zero
|
ea39cf4667
|
docs(progress): S1-Welle — F01+F02 (beide Astra-P0s) gefixt, deployed und live verifiziert
|
2026-09-17 23:03:13 +02:00 |
|
Agent Zero
|
8a26737680
|
docs(audit): Astra-Externaudit aufgenommen — 41 Findings verifiziert, PHASE S (4 Wellen) in Roadmap, Milestone 16, Issues #396-399
- docs/audits/astra-audit-2026-09-17.md: vollstaendiger Pruefbericht (2 P0, 29 P1, 10 P2), 10 Findings intern stichprobenartig verifiziert (alle korrekt)
- PLATFORM_ROADMAP.md: PHASE S (S1 Sicherheitsgrenzen, S2 Ausfuehrung verbinden, S3 Fachliche Integritaet, S4 Betriebsfreigabe) mit je Finding Korrektur+Abnahme; Abnahmeszenarien quer (Kontakt->Outbox->Worker->Suchindex->KI; Mail->Freigabe->Versand)
- Phase R: 8 Astra-Kritikpunkte eingearbeitet (externe Ueberwachung, Sollzustand-Vergleich, Heartbeat statt Queue, echte Prozesse, Modelldiscovery, E2E-Szenarien, Restore-Nachweis, 95%-Formulierung als Freigabekriterien)
- PROGRESS.md: Phase S als NÄCHSTE PHASE, Wellen-Issues verlinkt
|
2026-09-17 22:27:19 +02:00 |
|
Agent Zero
|
ee5545d58f
|
docs(roadmap): Phase R — Betriebssicherheit & 95%-Produktionsreife (R1-R6, Milestone 15, Issues #390-395)
|
2026-09-16 01:29:45 +02:00 |
|
Agent Zero
|
4b97a1bca2
|
docs: UI-Backlog 16/16 KOMPLETT — Module 15+16 (#387, #388) + Bugfixes 2026-09-16 (#389) dokumentiert
|
2026-09-16 00:56:49 +02:00 |
|
Agent Zero
|
f38dfdeea1
|
docs: UI-Backlog Modul 14 (Guests) abgeschlossen — #386, 14/16
|
2026-09-16 00:13:39 +02:00 |
|
Agent Zero
|
f8b07032e5
|
docs(progress): Konsistenz-Fix — Roadmap-Offen-Liste und HEAD-Referenz synchronisiert
|
2026-09-15 23:35:36 +02:00 |
|
Agent Zero
|
2d3ee216ea
|
docs(progress): Weitermachen-Uebergabe auf Stand 2026-09-15 aktualisiert — Bauplan + Session-Lektionen fuer jede KI
|
2026-09-15 23:35:07 +02:00 |
|
Agent Zero
|
b1c8891ee0
|
docs(progress): UI-Backlog Modul 13 (Public-Share) erledigt — live verifiziert (#385)
|
2026-09-15 23:22:29 +02:00 |
|
Agent Zero
|
7097e28578
|
docs(progress): UI-Backlog Modul 12 (Companies) erledigt — live verifiziert (#384)
|
2026-09-15 23:01:37 +02:00 |
|
Agent Zero
|
71ffee021e
|
docs(progress): UI-Backlog Modul 11 (Graph-RAG) erledigt — live verifiziert (#383)
|
2026-09-15 08:36:43 +02:00 |
|
Agent Zero
|
4eba9eb1d9
|
docs(progress): UI-Backlog Modul 10 (Policies) erledigt — live verifiziert (#382)
|
2026-09-14 23:43:41 +02:00 |
|
Agent Zero
|
abdf9e7d83
|
docs(progress): Alle 3 Bugfixes dokumentiert — Webhook-JSONB (#380), Spinner-Hang/Zustand-Selektoren (#381), Registry-qualname
|
2026-09-14 08:35:12 +02:00 |
|
Agent Zero
|
dcd2018335
|
docs(progress): Spinner-Hang-Fix dokumentiert — Zustands-Selector war Dashboard-loads-forever-Ursache (#381)
|
2026-09-14 08:28:07 +02:00 |
|
Agent Zero
|
9076983c0c
|
docs(progress): Webhook-JSONB-Fix dokumentiert — 158 Events live repariert (#380)
|
2026-09-14 08:02:58 +02:00 |
|
Agent Zero
|
36e46f60f7
|
docs(progress): UI-Backlog Modul 9 (Outbox) erledigt — live verifiziert (#379)
|
2026-09-14 00:23:12 +02:00 |
|
Agent Zero
|
00bfcafb9c
|
docs(progress): Vollstaendige Uebergabe — offene Threads zentral dokumentiert (UI-Backlog 9-16, Re-Audit, Traefik, Server, Phase O/P, Findings, Marketplace leer)
|
2026-09-13 19:57:17 +02:00 |
|
Agent Zero
|
0388ca2072
|
docs(progress): UI-Backlog Modul 8 (Agent-Memory) erledigt — live verifiziert (#378)
|
2026-09-13 19:47:00 +02:00 |
|
Agent Zero
|
e7b746809b
|
docs(progress): UI-Backlog Modul 7 (Skills) erledigt — live verifiziert (#377)
|
2026-09-13 10:37:43 +02:00 |
|
Agent Zero
|
a09d611cac
|
docs(progress): UI-Backlog Modul 6 (Permission-Templates) erledigt — live verifiziert (#376)
|
2026-09-13 10:27:50 +02:00 |
|
Agent Zero
|
c99d2f19ef
|
docs(progress): UI-Backlog Modul 5 (Marketplace) erledigt — live verifiziert (#375)
|
2026-09-13 09:46:18 +02:00 |
|
Agent Zero
|
a3201ae221
|
docs(progress): UI-Backlog Modul 4 (Tenants) erledigt — live verifiziert (#374)
|
2026-09-13 09:30:21 +02:00 |
|
Agent Zero
|
8d8beebd38
|
docs(progress): UI-Backlog Modul 3 (API-Tokens) erledicht — live verifiziert (#373)
|
2026-09-13 09:23:42 +02:00 |
|
Agent Zero
|
f9ff92bec9
|
docs(progress): UI-Backlog Modul 2 (Delegations) erledigt — live verifiziert (#372)
|
2026-09-13 09:18:33 +02:00 |
|
Agent Zero
|
b58c96ff71
|
feat(arch): Phase Q abgeschlossen — Plugin-Manifeste sind die einzige Frontend-Routen-Quelle
PROGRESS.md: Phase-Q-Section mit Live-Beweisen. PLATFORM_ROADMAP.md: Phase Q auf
ABGESCHLOSSEN (Q1-Q4 komplett, Commits 895f85d + b666fe5, deployed).
Nächster Schritt: Re-Audit durch den externen Prüfer.
|
2026-09-13 08:58:34 +02:00 |
|
Agent Zero
|
dbe9ded4f1
|
docs(progress): Audit-Section vervollstaendigt — Live-Beweise (12/12 Keys, modules=24), Korruption repariert
|
2026-09-13 02:39:15 +02:00 |
|
Agent Zero
|
4210e164fa
|
docs(progress): Audit-Fixes — Issue #370 verlinkt
|
2026-09-13 02:25:29 +02:00 |
|
Agent Zero
|
4a25ac1379
|
fix(arch): externes Audit — 13 Backend-Fixes (Workspace-Modules, Tenant-Manifeste, Lifecycle, Contracts, Permissions)
Check Cross-Plugin Imports / check (push) Has been cancelled
Verifikation: Alle 17 Audit-Findings gegen den Code geprueft — alle bestaetigt.
Backend-Lifecycle-Fixes umgesetzt; 4 Frontend-Plugin-Architektur-Punkte
als Phase Q in die Roadmap eingeplant.
- P1 list_workspaces: Module + User-Counts gebuendelt laden (Editor-Overwrite-Bug)
- P1 active-manifests: Tenant-Deaktivierung (tenant_plugin_activation) filtern
- P1 uninstall: volle Service-Deactivation VOR registry.uninstall()
- P1 ContractRegistry: DB-Aktivstatus-Guard (Restart-Edge-Case) + Re-Activate
- P1/P2 Field-Definitions: voller Lifecycle (register/unregister) im Service
- P1/P2 Contact-Felddefinitionen (39) ins ContactsPlugin-Manifest verschoben
- P1 12 fehlende Permission-Keys registriert (AST-Scan: 0 fehlend)
- P2 contact_folder -> ContactsPlugin; ENTITY_PLUGIN_OWNERS wird befuellt
- P2 Entity-Permission-Fallback fail-closed statt contacts:read
- P2 forgejo_error_reporter is_core=False; DMS is_core=True (ADR-020)
- P2 Worker: Contacts-Trash-Cleanup ins Plugin (get_job_modules-Discovery)
- P1/P2 DSGVO-Export delegiert an DSAR-Collector (kein Core->Contacts)
- P2 False-green Tests korrigiert (or True, veraltete Route-Count-Assertion)
Verifikation: tests/test_audit_architecture_fixes.py 17/17; Regressionen
gruen (contacts_lifecycle, entity_registry, workspace_scopes, rbac,
lifecycle_service); Combo-Order-Test 35/35; Cross-Plugin-Checker 497/0;
compileall sauber; ruff auf 7-Error-Baseline.
Doku: PROGRESS.md Audit-Section, PLATFORM_ROADMAP.md Phase Q (Q1-Q4),
plugin-development-guide.md Lifecycle, permissions.md Katalog.
|
2026-09-13 02:25:01 +02:00 |
|
Agent Zero
|
ac5edef3dc
|
docs(progress): UI-Backlog-Tracking — 16 UI-lose Module, Modul 1 (Approvals) erledigt (#369)
|
2026-09-08 23:33:43 +02:00 |
|
Agent Zero
|
03dd477899
|
feat(N4): Restliche Module — Tasks/Kommunikation/Wiki/Reports/Agents/Tags/Search + Navigation + Dashboard-Schnittstelle (#368)
Check Cross-Plugin Imports / check (push) Has been cancelled
- Scope-Deklarationen: tasks only_mine, kommunikation conversation_ids, wiki category_ids (NEUE contracts.py), report_generator template_ids, automation agent_ids (module_key agents), tags tag_ids, unified_search entity_types dynamisch aus Provider-Registry
- Core-Beiträge: navigation default_route (Startseite) + dashboard widget_app_ids (Widget-TYP-Angebot, Layout bleibt Phase M)
- Backend-Filter (additive UND): /tasks (only_mine), /comm/conversations, /wiki/articles+/categories (Subtree), /reports/print-templates, /agents, /tags, /search GET+POST (entity_types-Schnitt), /miniapps?host=dashboard
- apply_entity_type_scope-Helper (requested ∧ scope)
- Frontend: WorkspaceSwitcher default_route-Navigation, Sidebar workspace-menu_order-Sortierung, workspaceStore moduleMenuOrder()
- Tests: 18/18 Deklarationen + 11/11 Filter (TDD), Frontend 2/2 + Store 18/18, tsc clean, Build OK
- Regression 64 passed (4 Kombi-Failures = Suite-Isolation, solo-bewiesen); Checker 0; Ruff = Vorbestand (Stash-bewiesen)
|
2026-09-01 23:23:15 +02:00 |
|
Agent Zero
|
26506a5027
|
feat(N3): Backend respektiert X-Workspace-ID bei Listen — contacts/dms/mail/calendar (#367)
Check Cross-Plugin Imports / check (push) Has been cancelled
- Core-Resolver resolve_workspace_scope(): Zuweisungs-Check, leere Werte fallen weg; Exemptions System-Admin + workspaces:configure_modules (Editor-Deadlock)
- require_workspace_scope(module_key) FastAPI-Dependency (deps.py)
- expand_folder_scope(): Ordner-Subtree (zyklensicher) für ContactFolder + DMS Folder; scope_uuid_set() fail-closed
- contacts: folder_ids-Subtree + contact_types auf GET /contacts, List-Cache bei aktivem Scope deaktiviert (Cache-Leak-Gefahr)
- dms: folder_ids-Subtree + file_types (semantische Matcher) auf /files, Baum-Reduktion auf /folders
- mail: account_ids auf /mails, /threads, /accounts
- calendar: calendar_ids auf /calendar/entries, /calendars
- Frontend-Defaults: getModuleConfig() im workspaceStore, ContactsList default_saved_view_id, Calendar default_view
- Tests: 21/21 neu (TDD rot→grün), Regression 81 passed, Checker 0, tsc clean, Vitest grün, Build OK
|
2026-09-01 10:27:23 +02:00 |
|
Agent Zero
|
b40adfdd3a
|
feat(N2): Dynamischer Scope-Editor — WorkspaceScopeEditor ersetzt JSON-Textarea (#366)
- WorkspaceScopeEditor.tsx: generisches Filter-UI aus /scope-definitions (multiselect mit value_source-Fetch, select mit Keine-Einschränkung-Placeholder, toggle) — WidgetSettingsForm-Philosophie
- resolveScopeItems: Wertequellen-Auflösung (items-Wrapper, Root-Listen, DMS-Ordner-Baum-Flattening), nie-crashend
- Hooks: useWorkspaceScopeDefinitions + useScopeValues (TanStack Query, staleTime 60s)
- WorkspaceManager: JSON-Textarea entfernt, Scope-Editor inline pro sichtbarem Modul, Speicherung in workspace_modules.config
- i18n: workspaces.scopeEditor.* 5 Keys de/en (Security-Invariante im UI: nichts ausgewählt = keine Einschränkung)
- Tests: 21/21 (TDD rot 4→grün), tsc clean, Production-Build OK
|
2026-09-01 08:31:30 +02:00 |
|
Agent Zero
|
c25356c257
|
feat(N1): Scope-Registry via Contract — workspace_scopes() Deklarationen + /scope-definitions Endpoint (#365)
Check Cross-Plugin Imports / check (push) Has been cancelled
- workspace_scopes() Contract-Hook (document_placeholders-Muster): Plugins deklarieren Scope-Dimensionen inkl. Wertequellen
- Deklarationen: contacts (Ordner/Typen/Saved-View), dms (Ordner/Datei-Typen), mail (Postfächer), calendar (Kalender/Standard-Ansicht)
- Pydantic fail-closed (schemas/workspace.py): ScopeOption, ScopeValueSource (nur interne /api/v1-Pfade, SSRF-sicher), WorkspaceScopeDimension, WorkspaceModuleScopes
- Aggregator workspace_scope_service.py: discovered-Plugins, ARCH-014-safe, Crash-sicher, ungültige Deklarationen verworfen
- GET /api/v1/workspaces/scope-definitions (workspaces:configure_modules) vor /{workspace_id} registriert
- Security-Invariante: Scope = reine UND-Einschränkung (Workspace ∧ RLS ∧ ABAC ∧ Permissions)
- Tests: 18/18 neu (TDD rot→grün), Regression 17/17, Checker 0 Verstöße, Ruff clean
- Doku: api-documentation.md Workspaces-Sektion, PROGRESS.md Phase N1
|
2026-08-31 23:17:54 +02:00 |
|
Agent Zero
|
6ed4bb7f98
|
docs(progress): M6 abgeschlossen — PHASE M KOMPLETT (M1-M6, alle Hosts live, send_miniapp in Produktion verifiziert)
|
2026-08-31 01:10:16 +02:00 |
|
Agent Zero
|
63aa0cf788
|
docs(progress): M5 Plugin-MiniApps abgeschlossen — 11/17 renderbare Apps live, automation-Legacy-Bug gefixt
|
2026-08-31 00:18:08 +02:00 |
|
Agent Zero
|
24dc78977c
|
docs(progress): M4 System-Rueckbau abgeschlossen — 6/12 renderbare Apps live, Core reiner Host
|
2026-08-30 22:24:38 +02:00 |
|
Agent Zero
|
9e254176c9
|
docs(progress): M3 Produktions-Verifikation nachgetragen — Frontend-Deploy 26948fd live, renderbare Apps 3/9
|
2026-08-30 21:30:10 +02:00 |
|
Agent Zero
|
26948fdb51
|
feat(M3): Dashboard-Builder — Edit-Modus, Drag&Drop, Palette, Tabs (#361)
- DashboardBuilder: @dnd-kit 12-Spalten-Flow-Grid (seed-konsistent), View/Edit-Schalter, Resize, Tab-Verwaltung, Dashboard-CRUD + Set-Default, Dirty-Save
- MiniAppHost ersetzt DashboardWidgetLoader (lazy Registry + settings-Props); Palette nur renderbare Apps (component-Filter)
- WidgetSettingsForm generisch aus settings_schema; Bestands-Widgets settings-fähig (RecentContacts: limit)
- api/miniapps.ts + api/dashboards.ts (TanStack-Query-Hooks, documents.ts-Muster)
- Dashboard.tsx = Builder-Host (StatCards/SystemMetrics bleiben bis M4); Legacy-Grid/Loader gelöscht, Geister-Test ersetzt
- Tests: Builder 13/13, Page 11/11, i18n de/en, tsc clean, build OK
|
2026-08-30 21:28:40 +02:00 |
|
Agent Zero
|
74827156d0
|
docs(progress): M2 Produktions-Verifikation nachgetragen — Deploy b3e259f healthy, RLS konvergiert, Lazy-Seed bewiesen
|
2026-08-30 16:24:12 +02:00 |
|
Agent Zero
|
b3e259fc25
|
feat(M2): Persönliche Dashboards — Tabelle, CRUD, Lazy-Seed, RLS (#360)
Check Cross-Plugin Imports / check (push) Has been cancelled
- dashboards-Tabelle (Layout JSONB, Tabs, is_default, partial unique name index)
- 6 CRUD-Endpoints /api/v1/dashboards, Owner-only (saved_views-Präzedenz), Audit
- Lazy Default-Seed aus MiniApp-Registry (permission-gefiltert, 12-Spalten-Flow)
- CORE_PERMISSIONS dashboard:read/write (fixt Phantom-Permission in dashboard.py)
- Migration 0144: RLS crm_api+crm_worker + konvergenter Fix der 3 Phase-L-Policies
- Tests: test_dashboards_backend.py 23/23 (TDD rot->grün); Regression 162/163
|
2026-08-30 16:21:34 +02:00 |
|
Agent Zero
|
7a755d32e6
|
docs(progress): Uebergabe-Konsistenz — M1 done, naechster Schritt M2; Phase-M-Status in_progress statt not_started
|
2026-08-30 14:06:11 +02:00 |
|
Agent Zero
|
84cb82d2c4
|
feat(M1): Universal-MiniApp-Registry — Plugin-Layer, permission fail-closed, Lifecycle, /api/v1/miniapps
Check Cross-Plugin Imports / check (push) Has been cancelled
- app/plugins/miniapp_registry.py: Registry aus kommunikation in Plugin-Layer gehoben (Plattform-Konzept, hosts chat/dashboard/window)
- MiniAppDef: permission (fail-closed) + settings_schema + col/row_span + hosts + component + order + builtin
- MiniAppContribution + FrontendDashboardWidget (Manifest-Schema) um M1-Felder erweitert — dashboard_widgets ist Alias von miniapps (ein Contribution-Typ, #359-Philosophie)
- BasePlugin.on_activate: automatische Manifest-Registrierung; on_deactivate: unregister_plugin (nur eigene Apps)
- GET /api/v1/miniapps (server-seitig permission-gefiltert, ?host=) + GET /api/v1/miniapps/{app_id} (403/404 fail-closed)
- kommunikation/miniapp_registry.py = Kompatibilitaets-Bruecke (Bestands-Importer unveraendert)
- Doku: api-documentation.md + plugin-development-guide.md (MiniApp-Beitragsmuster)
TDD: Rot 16 failed -> Gruen 16/16; Regressionen: contracts 23/23, lifecycle+route_order 4/4; ruff clean (M1-Dateien, Vorbestand per Stash bewiesen); create_app OK
|
2026-08-30 13:00:33 +02:00 |
|
Agent Zero
|
65c22e9200
|
docs(roadmap): Phase P — Notizen-App (Notion-artig, ersetzt Wiki komplett)
- P1 Datenmodell (WikiPage: blocks JSONB, parent_id-Hierarchie, Migration Markdown->Text-Bloecke)
- P2 Sidebar Seiten-Baum (dnd-kit, Favoriten, Suche)
- P3 Inline-Block-Editor (Live-Editing ohne Mode-Toggle wie Notion, Slash-Menue, Auto-Save, Quer-Verweise, Drag&Drop)
- P4 MiniApp-Bloecke (erster MiniApp-Konsument) + wiki_blocks()-Contract (Plugin-Erweiterbarkeit, Basis fuer spaeteren Datenbank-Block)
- P5 Vollstaendige Such-Indexierung (content_tsv + Embedding-Chunks, hybrid FTS/vector, Re-Index bei Auto-Save)
- Edit-Konzept recherchiert: Notion hat keinen separaten Edit-Modus (Live-Inline-Editing, Auto-Save); Lese-Ansicht via Permissions + optional Page-Lock
- User-Entscheidungen: Wiki komplett ersetzen, keine Notion-Datenbanken erstmal, MiniApps als Bloecke
|
2026-08-30 12:42:42 +02:00 |
|
Agent Zero
|
3e5ce47798
|
chore(cleanup): Chaos-Beseitigung — Doppel-Phase-L aufgeloest, PROGRESS-stand modernisiert
- Roadmap: UI-Overhaul umbenannt zu Phase O (L war doppelt vergeben), Bug-Verifikation Phase 1 eingetragen (5/7 bereits erledigt: 1.1+1.4+1.5+1.6+1.7; offen: 1.2 Kontakte-Drag-Drop Ordner, 1.3 MoveDialog)
- AI-Assistant-Konflikt-Notiz entschieden: Option (b) — Seite bleibt, Phase-2-Vorschlag ueberholt
- Phase L Dokumente-Generator als ABGESCHLOSSEN markiert (b311ab7 + 559bba6, deployed, Alembic 0143)
- PROGRESS.md 'Weitermachen': veraltete Paketliste (alle 6 erledigt) + falscher Produktionsstand (20ff5e2/0142) ersetzt durch realen Stand (L-Deploy, 0143) + offene Phasen M/N/O + Vorbestands-Findings
- Lokale Artefakte entfernt: dump.rdb, frontend/test-results (4.3MB, beides war korrekt ignoriert)
|
2026-08-30 09:23:30 +02:00 |
|
Agent Zero
|
f6516e48ca
|
docs(roadmap): Phase N Workspace-Scopes + Workspace/Dashboard-Abgrenzung (user-korrigiert)
- Phase N: Modul-Teilmengen pro Workspace (N1 Scope-Registry via Contract, N2 dynamischer Scope-Editor, N3 Contacts/DMS/Mail/Calendar, N4 restliche Module)
- KLARE TRENNUNG Workspace vs Dashboard: Workspace = Admin-Gruppen-Kontext (was verfuegbar ist, workspace_widgets); Dashboard = persoenlich (Phase M, dashboards-Tabelle)
- 0 Umbau: config JSONB + X-Workspace-ID + /context + Sidebar-Consumer existieren bereits
- Security-Invariante dokumentiert: Scope = reine UND-Einschraenkung zu RLS/ABAC/Permissions
|
2026-08-30 09:18:00 +02:00 |
|