🕑 Änderungsprotokoll
Chronologisches, append-only Protokoll aller Änderungen am Wiki. Neueste Einträge oben.
Format pro Eintrag:
## [YYYY-MM-DD] <typ> | <Titel>
- Kurzbeschreibung
- Neu: <Liste neuer Seiten>
- Aktualisiert: <Liste berührter Seiten>
Typen: ingest · ingest-auto · ingest-auto-undo · auto-ingest-blocked · query · lint · edit · meta
Praktischer Filter:
grep "^## \[" content/log.md | tail -10 # letzte 10 Einträge
grep "^## \[.*ingest" content/log.md # nur Ingests[2026-04-29] feat | /api/ingest committet auf Azure direkt nach GitHub (atomarer Tree-API-Commit)
- Problem auf Azure: Der Backend-Container hat kein gemountetes Repo (
/repoexistiert nicht), Filesystem-Schreiben würde ins ephemerale Container-Volume gehen und beim nächsten Restart verschwinden./api/healthzeigterepo_root_exists: false. - Lösung: Form-Submissions schreiben jetzt nicht lokal, sondern erzeugen einen einzelnen, atomaren Git-Commit über die GitHub Tree API. Datei +
.context.md-Sidecar landen in einem einzigen Commit unterraw/.inbox/— direkt im Repo. Kein persistenter Storage nötig, kein späterer Sync nötig. Bonus: gleicher Mechanismus, den §5.4 für den Auto-Ingest vorsieht — der Code ist schon einsatzbereit für Häppchen 2 Schritt 5. - Steuerung: Neue Env-Var
INGEST_TARGET(filesystemDefault,githubfür Azure). Lokales Docker-Compose bleibt unverändert auf Filesystem-Pfad — kein neuer Workflow für Entwickler. - Token-Setup: Backend-Container braucht
GITHUB_TOKEN(fine-grained PAT, Resource-Owner ADVIA-Innovation, Repo joule-wiki, Permissions Contents:Read+Write). Detaillierte Anleitung inAZURE-DEPLOYMENT.md. - Atomarität: Tree-API-Pfad legt erst Blobs an, dann einen neuen Tree (mit
base_tree-Merge), dann genau einen Commit, dann Branch-Ref-Update. Bei Fehler in irgendeinem Schritt bleibt der Branch unverändert. - Filename-Konvention: Beide Pfade nutzen jetzt
YYYY-MM-DD_<slug>_HHMMSS.<ext>— das HHMMSS-Suffix verhindert Kollisionen ohne API-Existenzcheck. Frühere Pattern (YYYY-MM-DD_<slug>.ext) bleibt im Repo lesbar, neu eingereichte Files haben das Suffix. - Aktualisiert:
backend/main.py(commit_to_github, INGEST_TARGET-Switch, Health zeigt die neuen Felder),backend/requirements.txt(httpx),AZURE-DEPLOYMENT.md(Env-Var-Tabelle + neuer az-update-Befehl). - Nächster Schritt: PAT generieren, auf Azure-Backend setzen, Test-Submission probieren — sollte als Bot-Commit auf
mainerscheinen.
[2026-04-29] edit | Azure-Deployment funktionsfähig gemacht (Port-Fix + Nginx-Proxy für /api/*)
- Problem: Auf der Azure-URL
https://joule-wiki-app-wiki.bluemushroom-…azurecontainerapps.io/lieferte/api/ingest404, weil (a) der Wiki-Container (Nginx) keine Reverse-Proxy-Regel für/api/*hatte und (b) der Backend-Container auf Port 8082 lauschte, Azure aber--target-port 8000konfiguriert hatte. - Fix Backend-Port:
backend/Dockerfilebekommt eineBACKEND_PORT-Env-Var (Default8082), CMD läuft alssh -cdamit die Variable zur Laufzeit aufgelöst wird. Damit kann Azure denselben Port nutzen wie das lokale Compose-Setup. - Fix Nginx-Proxy:
docker/nginx.confproxiet/api/*anhttp://joule-wiki-app-backend(Container-App-interner Hostname). Lokal harmlos, weil Caddy die Requests vorher abfängt. - Doku angeglichen:
azure-setup.shsetzt jetzt--target-port 8082,AZURE-DEPLOYMENT.mdzeigt korrekten Port in der Architektur-Übersicht. - Aktualisiert:
backend/Dockerfile,docker/nginx.conf,azure-setup.sh,AZURE-DEPLOYMENT.md. - Manueller Schritt erforderlich (einmalig, weil der GitHub-Action-Deploy nur das Image, nicht die Container-App-Konfig anfasst):
az containerapp update --name joule-wiki-app-backend --resource-group joule-wiki-rg --target-port 8082. - Nächster Schritt: nach dem Deploy testen —
https://joule-wiki-app-wiki.…/api/healthmuss{"status":"ok"}liefern, danach der Submit über/api/ingest.
[2026-04-29] edit | Aequitas-Logo im Wiki + Einreichen-Beschreibung aktualisiert
- Logo: Aequitas-Wordmark als SVG (
quartz/static/aequitas-logo.svg+aequitas-logo-dark.svg) erscheint jetzt oberhalb des PageTitle in der Sidebar. Hellmodus zeigt schwarzes „EQUITAS” mit orangem „A”-Akzent, Darkmodus invertiert auf hellgraue Letter. SVG ist eine Approximation — sobald das offizielle Aequitas-Logo als Datei vorliegt, einfach die beiden Dateien inquartz/static/ersetzen, der CSS-Pfad bleibt gleich. - Custom-Styles: Logo-Einbindung über
quartz/styles/custom.scss, die Page-Title-Schrift auf eine Subtitle-Größe reduziert (1.05rem, secondary-Farbe). - Startseite:
content/index.md— Sektion „Dokument einreichen” komplett neu geschrieben. Web-Formular (/api/ingest) ist jetzt der primäre Weg,raw/.inbox/-Variante als Power-User-Pfad explizit gekennzeichnet. Hinweis auf §5.4-Auto-Ingest („sobald aktiv”) als Vorausschau. - Aktualisiert:
quartz/styles/custom.scss,content/index.md(Frontmatteraktualisiert: 2026-04-29). - Neu:
quartz/static/aequitas-logo.svg,quartz/static/aequitas-logo-dark.svg.
[2026-04-29] edit | Manueller Ingest in das Wiki-Frontend integriert
- Ziel 1 erreicht: Quellen-Einreichung läuft jetzt unter einer URL zusammen mit dem Wiki —
http://localhost:8080/api/ingest. Kein separater Port 8081 mehr nötig im Alltag. Caddy routet Wiki und Backend nebeneinander, wie in §5.4 vorgesehen. - Backend:
POST /api/ingestundGET /api/ingest(Form) im FastAPI-Backend implementiert. Logik 1:1 aus der bisherigeningest-app/app.pyportiert (slugify, collision_safe_path, MIME-Whitelist, 50-MB-Limit, Pflicht-Kontextfeld ≥10 Zeichen,*.context.md-Sidecar). Das Backend mountet/repo, schreibt nach/repo/raw/.inbox/— auf dem Host ist das exakt derraw/.inbox/-Ordner. - Branding: Templates tragen die Aequitas-AG-Identität (Orange
#EE7A1Aals CTA, Navy#1A3A60für Headlines/Footer, weißer Header mit „AEQUITAS AG · Joule-Wiki”-Wordmark — orange „A”-Akzent wie im Logo). Sobald ein offizielles Logo-SVG/PNG im Repo liegt, wird der CSS-Wordmark gegen<img>ausgetauscht. - Wiki-Verzahnung:
quartz.layout.tszeigt jetzt im Footer auf jeder Wiki-Seite den Link „Quelle einreichen” →/api/ingest. Damit erreicht jeder Mitlesende das Formular mit einem Klick. - Smoke-Test:
backend/tests/smoke_test_ingest.py— 8 Tests (health, GET-Form rendert, URL-Einreichung, kurzer Kontext → 400, leere Payload → 400, URL ohne Protokoll → 400/422, PDF-Upload-Pfad, ungültiger MIME → 415). Läuft viapython -m pytest backend/tests/smoke_test_ingest.py -vgegen den laufenden Stack. - Neu:
backend/templates/upload.html,backend/templates/success.html,backend/tests/smoke_test_ingest.py. - Aktualisiert:
backend/main.py(501 → echter Code),backend/requirements.txt(jinja2 ergänzt),backend/Dockerfile(kopierttemplates/ins Image),quartz.layout.ts(Footer-Link). - Bewusst NICHT angefasst:
ingest-app/bleibt als Legacy-Profil im docker-compose.yml stehen, bis Martin das neue Formular in der Praxis bestätigt hat. Erst dann wird der alte Container in einem Folgecommit entfernt. - Nächster Schritt (Häppchen 2 Schritt 4 oder 5): entweder
/api/askmit Anthropic-Anbindung füllen, oder direkt zum Auto-Ingest nach §5.4 — dein Ziel 2.
[2026-04-26] ingest | NextLytics — Agentic AI meets SAP BW (Open-Source-MCP-Wettbewerbssicht)
- Anlass: Martin schickt die URL https://www.nextlytics.com/de/blog/agentic-ai-meets-sap-bw direkt im Chat. Kein Inbox-Upload, weil das Backend zwar steht (Schritte 1–4), aber der erste echte Anthropic-Aufruf wegen Key-Problemen noch aussteht.
- §5.1.1-Entscheidung: Voll-Ingest, aber explizit als Wettbewerbssicht. Direkter Joule-Bezug der Quelle ist gering (<10 %), aber das Thema „ABAP/BW MCP Server” haben wir am 24.04. neu im Wiki — die Open-Source-Welt ist dessen Pendant und gehört zur Vollständigkeit dazu. Quelle-Seite trägt am Kopf einen
[!warning]-Block, der den geringen Joule-Bezug, den Wettbewerbs-Frame und die ausgelassenen Inhalte (rein BW-technische Details wie aDSO-Anlage, Push API, Routinen-Coding) explizit ausweist. - Neu (Quelle):
content/quellen/nextlytics-bw-modeling-mcp-2026-04.mdmit drei verlinkten GitHub-Repos (marianfoo/sap-ai-mcp-servers,oisee/vibing-steampunk,dnic-dev/bw-modeling-mcp). - Neu (Konzept):
content/konzepte/open-source-mcp-im-sap-oekosystem.md— Phänomen-Seite (allgemein, nicht projektspezifisch). Erklärt das Muster, listet die drei aktuellen Projekte als Beispiele, ordnet gegen Joule und Microsoft Copilot ein. - Aktualisiert:
content/konzepte/abap-mcp-server.md(neuer Abschnitt „Open-Source-Pendant” + zweite Quelle),content/produkt/varianten/joule-for-developers.md(neuer Abschnitt „Wettbewerbskontext” mit Vergleichstabelle Joule/Open-Source auf 6 Achsen, Frontmatter-Quelle ergänzt),content/konzepte/adoptionslage.md(neuer Abschnitt „Neuer Faktor 2026: Open-Source-MCP”, Tagopen-sourceergänzt),content/konzepte/index.md,content/navigation.md,content/quellen/index.md. - Datei-Bewegung: URL-Einreichung als
raw/presse/2026-04-23_nextlytics-agentic-ai-bw.url.mddirekt im Zielordner abgelegt (nicht erst in.inbox/, weil keine Ingest-App-Einreichung erfolgte). NextLytics ist externer SAP-Partner →presse/, nichtsap-offiziell/. - Offen: Open-Source-Lizenzen der drei Projekte vor Kundenempfehlung prüfen. Test-BW-Sandbox finden, an dem
bw-modeling-mcpevaluiert werden kann. Bei den Anschluss-Artikeln des NextLytics-Autors (Token-/Performance-Daten) am Ball bleiben.
[2026-04-25] meta | CLAUDE.md §5.4 ergänzt — Auto-Ingest-Regeln + .gitignore für .env
- Anlass: Vorbereitung auf den vollautomatischen Pipeline-Modus (Wiki-Widget → Backend → Anthropic-API → Auto-Commit). Bevor der Code geschrieben wird, schreiben wir die Sicherheitsklammern in CLAUDE.md fest, damit Auto-Ingests klar von interaktiven Ingests abgegrenzt sind und ein Zurückrollen jederzeit möglich bleibt.
- Aktualisiert:
CLAUDE.md(neuer §5.4 mit acht Unterabschnitten: Atomarität, Schreibrechte-Whitelist,reife-Deckel, Pflicht-Frontmatteringest: auto/ingest_run_id, Undo-Endpoint nur für jüngsteningest-auto:-Commit, Duplikat-Schutz, §5.1.1-Grauzonen, harte Verbote),content/meta/schema.md(Spiegel von §5.4 + Datum aktualisiert),content/log.md(neue Typeningest-auto,ingest-auto-undo,auto-ingest-blockedin der Format-Beschreibung),.gitignore(.env,.env.*blockiert;.env.examplewhitelisted;.venv//venv//.pytest_cache/ergänzt). - Offen: §5.4 ist Konvention, noch nicht Code. Backend-Implementierung (FastAPI + Claude Agent SDK + Caddy + Wiki-Widgets) folgt als Häppchen 2.
[2026-04-24] ingest | SAP-Community — Our 2026 Roadmap for Joule for Developers ABAP AI
- Anlass: Neue URL-Einreichung in
raw/.inbox/über die Ingest-App MVP (Einreicher-IP172.18.0.1= Docker-Bridge-Gateway, d.h. der Anwender im Intranet). Erster Ingest im Dauerbetrieb der Ingest-App; damit ist der Upload-→-.inbox-Weg auch im normalen Betrieb (nicht nur im Ersteinsatz vom 17.04.) bestätigt. - Voll-Ingest (keine Kuratierung, §5.1.1 nicht einschlägig): Der Blog-Post behandelt ein bisher nur thin abgedecktes Thema.
joule-for-developers.mdhatte sogar explizit den Platzhalter „Zu ergänzen: Our 2026 Roadmap for Joule for Developers ABAP AI” — genau diese Quelle schließt die Lücke. - Neu (Quelle):
content/quellen/sap-community-joule-devs-roadmap-2026.mdmit[!note]-Hinweis zur JS-Rendering-Lücke (wie bei der Q1-2026-Quelle) und Meilenstein-Vermerk zur Ingest-App. - Neu (Konzept):
content/konzepte/abap-mcp-server.md— neuer Baustein im SAP-Vokabular: Tool-Schicht nach Model Context Protocol für agentische ABAP-Entwicklung in VS Code (GA Q2 2026). Abgrenzung zu Joule Studio, GenAI Hub, A2A-Protokoll, ABAP Language Server. - Aktualisiert:
content/produkt/varianten/joule-for-developers.md(Platzhalter entfernt; neue Abschnitte Werkzeug-Integration und Architektur-Eckpunkte 2026; Multi-LLM-Liste mit 8 Partnern; Frontmatter-Datum + Quelle),content/produkt/roadmap.md(Q2 2026 konkretisiert mit VS-Code-GA, ABAP MCP Server, Side-by-side, Multi-LLM; Q3 2026 entsprechend geschärft; Promo-Ende September 2026 ergänzt),content/konzepte/sap-genai-hub.md(offene Frage zu Partner-LLMs für den Entwickler-Kontext beantwortet — 8 Partner; Business-AI-Kontext bleibt offen; neuer Tagmulti-llm),content/konzepte/index.md(neuer Eintragabap-mcp-serverin der Sektion „Architektur und Bausteine”),content/navigation.md,content/quellen/index.md. - Datei-Bewegung:
raw/.inbox/2026-04-24_community-sap-com-t5-technology-blog-posts-by-sap-our-2026-r.url.md→raw/sap-offiziell/2026-04-24_community-joule-devs-roadmap.url.md(SAP-Community-Blog im Bereich „Technology Blog Posts by SAP” zählt als sap-offiziell, weil die Autoren SAP-Mitarbeiter sind). - Offen: Original-Volltext oder Reader-View des Community-Blogs in
raw/sap-offiziell/einlagern (Quelle-Seite aufreife: reifheben); technisches Deep-Dive-PDF von SAP zum ABAP-MCP-Server-Tool-Inventar abwarten; Eclipse-Parity-Frage bei Gelegenheit gegenüber SAP klären; On-Premise-Rollout-Reihenfolge nachhalten.
[2026-04-24] ingest | SAP GenAI Hub (Hartig-Artikel, 2026) + Q4-2025-Release-Referenz
- Anlass: Zwei neue Dateien in
raw/.inbox/— der Hartig-PDF-Ausdruck zum SAP GenAI Hub und eine.txtmit der URL https://news.sap.com/germany/2026/02/sap-business-ai-highlights-des-q4-2025-release/. - Kuratierung statt Voll-Ingest für die Q4-2025-URL (nach Schema §5.1.1): Die SAP-News-Seite zu den Q4-2025-Highlights ist eine Folgeausgabe des bereits als Q1-2026-Release ingesteten Formats. Keine eigene Quelle-Seite; die
.txtwird als Referenz archiviert und im Log vermerkt. Falls bei späterer Auswertung Q4-2025-spezifische Fakten auftauchen, fließen sie in bestehende Wiki-Seiten ein. - Voll-Ingest für den Hartig-PDF-Ausdruck: Die Quelle öffnet erstmals im Wiki die BTP-Ebene unterhalb von Joule und Agenten. Drei-Säulen-Strategie (Joule / Embedded AI / AI Foundation), GenAI Hub als gesicherte LLM-Zugriffsschicht mit Orchestration Service, RAG und flexiblem LLM-Routing inkl. Private-Cloud- und On-Premise-Option.
- Neu (Quellen):
content/quellen/sap-genai-hub-hartig-2026-04.md(mit[!warning]-Hinweis zur noch offenen Publikationsquelle des PDF-Ausdrucks). - Neu (Konzepte):
content/konzepte/sap-genai-hub.md,content/konzepte/sap-ai-foundation.md,content/konzepte/retrieval-augmented-generation.md(schließt den bisherigen Rot-Link in grounding). - Aktualisiert:
content/produkt/was-ist-joule.md(Drei-Säulen-Einordnung, Architekturbild um GenAI Hub + AI Foundation erweitert,btp-ai-core-Rotlink im Architektur-Abschnitt durch die beiden neuen Seiten ersetzt),content/konzepte/grounding.md(Rotlink auf RAG aufgelöst, Abschnitt „Grounding vs. RAG” ergänzt),content/konzepte/agent-builder.md(neuer Abschnitt „Wie Agenten LLMs erreichen”),content/konzepte/joule-studio.md(AI-Foundation-Geschwisterbezug zu GenAI Hub),content/konzepte/index.md(neue Sektion-Einträge, RAG aus „offenen Kandidaten” entfernt,embedded-aiergänzt),content/navigation.md,content/quellen/index.md. - Datei-Bewegung:
raw/.inbox/START-Der SAP GenAI Hub_...210426-153621.pdf→raw/presse/2026-04-21_sap-genai-hub-hartig.pdf;raw/.inbox/httpsnews.sap.comgermany202602sap-b.txt→raw/sap-offiziell/2026-02_q4-2025-release-url.txt(Referenz-Schnipsel, keine eigene Quelle-Seite); alter Traceraw/.inbox/2026-04-17_sap-joule-q1-2026-ingest.md→raw/interne-notizen/(wurde beim Ersteinsatz der Ingest-App nicht mitbewegt). - Offen: Herkunft des Hartig-PDFs identifizieren und im Frontmatter von
sap-genai-hub-hartig-2026-04.mdnachtragen. Beim nächsten Lint: Abgrenzungbtp-ai-core(Platzhalter) vs. neu angelegtesap-ai-foundationklären — entweder redundant löschen oder als bewusste Infrastruktur-Gegenperspektive schärfen. Q4-2025-News-Seite bei nächster Gelegenheit gezielt gegen sap-business-ai-q1-2026 diffen, um etwaige zusätzliche Q4-Fakten nachzutragen.
[2026-04-17] meta | Schema §5.1.1 ergänzt — Kuratierung statt Voll-Ingest
- Anlass: Entscheidung nach dem ersten Briefing-Ingest, dass tägliche/wöchentlich wiederkehrende Formate keine eigene Quelle-Seite pro Ausgabe bekommen, sondern als kuratierte Extrakte in bestehende Wiki-Seiten einfließen. Zusätzliche Regeln: <20 % Joule-Bezug → nur extrahieren, nicht volltext-ingesten; vertrauliche Inhalte →
[!warning]-Callout am Kopf. - Aktualisiert:
CLAUDE.md(neuer Unterabschnitt §5.1.1),content/meta/schema.md(Spiegel),content/quellen/ki-marktbriefing-2026-04-15.md(Referenz-Quelle-Hinweis für das wiederkehrende Format). - Einreicher-Kommunikation nachgezogen:
raw/README.mdundcontent/meta/raw-anleitung.mdbekommen jetzt den Abschnitt „Wiederkehrende Formate” mit dem pragmatischen Hinweis an Einreicher, das Format im Kontextfeld kenntlich zu machen.
[2026-04-17] ingest | KI-Marktbriefing (ADVIA, 15.04.2026) — Ersteinsatz der Ingest-App
- Erstes reales End-to-End-Szenario der Ingest-App: Martin hat ein PDF per Drag&Drop ins Upload-Formular gezogen, Kontext-Pflichtfeld ausgefüllt, Datei + Kontext-Notiz landeten sauber in
raw/.inbox/. MVP bestanden. - Inhalt des PDFs: ADVIA-internes, vertraulich gekennzeichnetes KI-Marktbriefing von Martin Behn an die Geschäftsführung. Schwerpunkt: allgemeiner KI-Markt, nur teilweise Joule-relevant.
- Kuratierung statt Voll-Ingest: Nur Joule-relevante Kennzahlen und der EU-AI-Act-Aspekt wurden ins Wiki übernommen. Modell-Benchmarks, OpenAI-Umsatzzahlen, IEA-Energie und PwC-75/20-Konzentration wurden bewusst nicht ins Wiki gezogen, um das Fokus-Profil nicht zu verwässern. Vier ADVIA-Handlungsimpulse (EU-AI-Act-Angebot, „KI-Piloten die fliegen”, Upskilling, Green AI) bleiben in der Quelle-Seite dokumentiert, aber nicht als eigene Wiki-Produktseiten angelegt — das sind Geschäftsführungs-Themen, nicht Joule-Produktwissen.
- Neu:
content/quellen/ki-marktbriefing-2026-04-15.md(mit Vertraulichkeits-Warnung am Kopf),content/konzepte/eu-ai-act.md(Deadline 2. August 2026, Bußgelder bis 35 Mio. €/7 %, Joule-spezifische offene Fragen an SAP). - Aktualisiert:
content/konzepte/adoptionslage.md(neuer Kennzahlen-Block: 95 % GenAI-Piloten scheitern, 56 % CEOs ohne messbaren Nutzen, 27 % Arbeitsplatz-Disruption, 2,5 Mrd. $ globale GenAI-Ausgaben 2026),content/konzepte/index.md(neue Sektion „Regulatorik & Compliance”),content/quellen/index.md,content/navigation.md. - Datei-Bewegung:
raw/.inbox/2026-04-17_ki-briefing-15-04-2026.pdf+.context.md→raw/interne-notizen/(neuer Unterordner, passt lt. Raw-Anleitung zu internen ADVIA-Dokumenten). - Offen: Primärquellen einlagern (EU-AI-Act-Originaltext, PwC-Studie, Deloitte-Studie, MIT-Report — alle im Briefing zitiert). Klären, ob das Briefing ein wiederkehrendes Format ist — wenn ja, Konvention festlegen, dass tägliche Briefings nicht jedes für sich als volle Quelle ins Wiki kommen.
[2026-04-17] edit | Ingest-App MVP implementiert
ingest-app/-Container komplett gebaut (FastAPI 0.115 + Python 3.12-slim, ca. 170 Zeilen Python + 230 Zeilen HTML/CSS/JS).- Endpunkte:
GET /→ Redirect auf/upload,GET /upload(HTML-Formular mit Drop-Zone + URL-Feld + Pflicht-Kontextfeld),POST /upload(Datei ODER URL, Kontext Pflicht ≥10 Zeichen),GET /health. - Sicherheits-Minimum: MIME-Whitelist (pdf, docx, pptx, xlsx, md, txt, png, jpg, mp3, mp4), 50-MB-Limit, Dateinamen-Slugify gegen
../-Tricks, Kollisionsbehandlung (_2,_3, …). - Layout: jede Einreichung produziert
YYYY-MM-DD_<slug>.<ext>+*.context.mdmit Frontmatter (eingereicht_von,eingereicht_am,zugehoerige_datei). URL-Einreichungen landen als.url.mdmitquelle_url:-Frontmatter. - 10/10 Smoke-Tests grün (GET-Form, zu kurzer Kontext → 400, URL-OK, PDF-OK, .exe → 415, leerer Upload → 400, URL ohne Protokoll → 400, Kollision →
_2, /health, / → 307). - Neu:
ingest-app/app.py,ingest-app/templates/upload.html,ingest-app/templates/success.html,ingest-app/Dockerfile,ingest-app/requirements.txt,ingest-app/.dockerignore. - Aktualisiert:
docker-compose.yml(dritter Serviceingest-app, Port 8081, Volume./raw/.inbox:/app/inbox),content/meta/ingest-pipeline.md(Fahrplan abgehakt, Start-Anleitung ergänzt). - Nächster Schritt: Lokaler Testlauf bei Martin (
docker compose up --build ingest-app), anschließend IT-Gespräch zu DNS-Aliasjoule-wiki.localim ADVIA-Intranet.
[2026-04-17] meta | Ingest-Pipeline-MVP festgezurrt
- Drei offene Fragen aus der Skizze entschieden: DNS =
joule-wiki.local(intern, kein öffentliches DNS), Auth = bewusst keine im MVP (Intranet-Vertrauen reicht, SSO ist Phase 2), Kontextfeld = Pflicht (≥10 Zeichen, Frontend + Backend-Validierung). - Begründung Pflichtfeld: Kontext zur Quelle ist beim Einreichen frisch — spart bei der späteren Ingest-Verarbeitung Rückfragen und eliminiert „was soll das hier eigentlich?”-Uploads.
- Aktualisiert:
content/meta/ingest-pipeline.md(Entscheidungs-Abschnitt ersetzt die offenen Fragen; Flow Schritt 4+5 mit Pflicht-Logik; URL-Alias konkretisiert),content/log.md. - Nächster Schritt:
ingest-app/-Container implementieren (FastAPI + Dockerfile + HTML-Formular, ~1 Tag).
[2026-04-17] meta | MVP-Skizze für Ingest-Pipeline (Drag&Drop + URL-Upload)
- Anlass: Martin-Frage, ob Quellen per Drag&Drop, Mail oder URL direkt ins Wiki eingereicht werden können, inkl. direkter Bearbeitung.
- Entscheidung: Dreiphasiger Fahrplan. MVP fokussiert auf Drag&Drop + URL-Eingabe, ohne Auth, ohne Mail, ohne autonome Bearbeitung — landet nur in
raw/.inbox/, Claude wird weiterhin manuell angestoßen. - Neu:
content/meta/ingest-pipeline.md(Architektur-Skizze, Scope-Abgrenzung, Fahrplan, offene Fragen). - Aktualisiert:
content/navigation.md(Meta-Sektion um Ingest-Pipeline-Seite ergänzt). - Offen: Antwort zu den drei Fragen im Dokument (DNS-Alias, Auth, Kontextfeld-Pflicht), anschließend Implementierung des
ingest-app/-Containers (~1 Tag).
[2026-04-17] edit | Meta-Seiten angelegt, Browser-404 auf Root-Dokumente behoben
- Ursache des Problems:
CLAUDE.md,README.mdundraw/README.mdliegen außerhalb voncontent/— Quartz rendert sie nicht. Direkte Wikilinks auscontent/index.mdliefen deshalb auf 404. - Lösung: Wiki-Spiegel unter
content/meta/angelegt. - Neu:
content/meta/index.md,content/meta/schema.md,content/meta/mitmachen.md,content/meta/raw-anleitung.md. - Aktualisiert:
content/index.md(drei Links:raw/README→meta/raw-anleitung,CLAUDE.md→meta/schema,README.md→meta/mitmachen),content/navigation.md(Meta-Sektion auf die gespiegelten Seiten umgestellt). - Offen: Die Original-Root-Dateien (
CLAUDE.md,README.md,raw/README.md) und ihre Wiki-Spiegel synchron halten — siehe[!note] Spiegelseiteam Kopf jeder Meta-Seite.
[2026-04-17] ingest | SAP-News-Originalzitate Q1 2026 eingearbeitet
- Anlass: Martin-Anfrage, den Inhalt von https://news.sap.com/2026/04/sap-business-ai-release-highlights-q1-2026/ direkt im Wiki auszuwerten. Die Seite selbst bleibt JS-gerendert; Suchindex-Auszüge liefern jedoch zitierbare O-Töne. Zusätzlich als zweite SAP-Originalquelle den Integration Guide (help.sap.com, 2026-04-09) verlinkt.
- Neue Fakten: Joule ist in Q1 2026 neu eingebettet in SAP Datasphere (Tasks + Erklärungen), SAP Intelligent Clinical Supply Management (Natural-Language-Abruf), SAP Signavio (AI-gestützte BPMN-Simulation, 50 % schneller zum Insight) und SAP LeanIX (Architektur-Insights). Zusätzlicher, in Q1 2026 neu hervorgehobener Referenzagent: Project Setup Agent für S/4HANA Cloud Public Edition. Zur Tender Analysis Agent: SAP-Formulierung „boosting customer revenue growth”.
- Aktualisiert:
content/quellen/sap-business-ai-q1-2026.md(Original-Zitate, neue Integrationstabelle, vierter Referenzagent, Signavio-50-%-Zeile, zweite SAP-Originalquelle verlinkt),content/produkt/roadmap.md(Project Setup Agent + neue Integrationstabelle),content/konzepte/agent-builder.md(Project Setup Agent + Umsatzwachstum bei Tender Analysis),content/entitaeten/produkt-datasphere.md(stub → entwurf mit Q1-2026-Einbettungsabschnitt),content/navigation.md,content/entitaeten/index.md. - Neu:
content/entitaeten/produkt-signavio.md,content/entitaeten/produkt-leanix.md. - Offen: Originaltext-PDF von news.sap.com und Integration Guide in
raw/sap-offiziell/einlagern; Capability-Matrix aus dem Guide ableiten; SAP-News „Welcome to the (Process) Conversation” (2026-02) als Signavio-Zweitquelle einhängen.
[2026-04-17] ingest | SAP Business AI Q1 2026 (Details)
- Anlass: Artikel mit Zusammenfassung der SAP-Q1-2026-Kommunikation in der
raw/.inbox/abgelegt. - Methodische Klarstellung: Im Wiki-Text wird ausschließlich die SAP-Primärquelle zitiert (
news.sap.com/2026/04/sap-business-ai-release-highlights-q1-2026/). Der zuführende Drittartikel wird nicht im Wiki erwähnt — die Trace-Datei bleibt ausschließlich inraw/.inbox/, die nicht gerendert wird. - Neu (Quellen):
content/quellen/sap-business-ai-q1-2026.md. - Neu (Konzepte):
content/konzepte/agent-to-agent-protokoll.md,content/konzepte/ai-units-lizenzmodell.md,content/konzepte/adoptionslage.md. - Neu (Entitäten):
content/entitaeten/rise-with-sap.md,content/entitaeten/grow-with-sap.md,content/entitaeten/sap-ecc.md. - Aktualisiert:
content/produkt/was-ist-joule.md(Q1-2026-Reichweitentabelle, A2A-Verweis, Verfügbarkeits-Sektion),content/entitaeten/produkt-sap-joule.md(Schnell-Fakten-Tabelle mit Q1-2026-Zahlen, Zugang, Lizenzmodell),content/produkt/roadmap.md(Q1-2026-Abschnitt komplett neu),content/konzepte/joule-studio.md(GA-Status Q1 2026, Verweise A2A + Units),content/konzepte/agent-builder.md(Stand Q1 2026, drei Referenzagenten, A2A-Verweis),content/produkt/varianten/joule-for-developers.md(Verweis auf Units ab Oktober 2026),content/konzepte/index.md,content/entitaeten/index.md,content/navigation.md. - Kernfakten: 40+ Agenten, 2.400+ Skills, 35 Lösungen, 3 LLM-Familien (GPT 5.2 / Gemini 3.0 Pro / Claude Opus 4.6), Agent-to-Agent-Protokoll über SAP AI Agent Hub, Joule Studio GA, drei Referenzagenten (Cash Management, Tender Analysis, Catalog Optimization), AI Units (7 €/Unit · 100-Units-Mindestpaket · 150–200 % Überverbrauch), RISE/GROW-exklusiv, ECC-Support-Ende 2027-12-31.
- Offen: Rebuild des Docker-Containers (
docker compose up --build wiki), SAP-PDFs inraw/sap-offiziell/einlagern, DSAG-Originalumfrage-PDF anhängen.
[2026-04-17] lint | Reife-Angaben in Einklang mit Navigation gebracht
- 6 Seiten von
reife: stub→reife: entwurfangehoben, weil der Inhalt über Platzhalterniveau hinausgeht und die Navigation sie bereits so markiert hatte. - Aktualisiert:
produkt/varianten/joule-for-consultants.md,produkt/varianten/joule-for-developers.md,produkt/roadmap.md,konzepte/joule-studio.md,konzepte/agent-builder.md,konzepte/grounding.md. - Entitäten-Platzhalter (S/4HANA, SuccessFactors, Ariba, Datasphere, SAP Build, SAP SE) bleiben bewusst auf
stub— inhaltlich tatsächlich nur Platzhalter.
[2026-04-17] ingest | SAP-Joule-Produktseite (sap.com)
- Quelle: offizielle SAP-Joule-Produktseite, ergänzt durch WebSearch-Snippets (die Haupt-URL ist JS-gerendert und liefert bei statischem Fetch leere Inhalte — siehe Hinweis in der Quellenseite).
- Raw:
raw/sap-offiziell/2026-04-17_sap-joule-offizielle-seite.md - Neu:
content/quellen/sap-joule-produktseite-2026-04.md,content/produkt/varianten/joule-for-developers.md,content/produkt/varianten/joule-for-consultants.md,content/produkt/roadmap.md,content/konzepte/joule-studio.md,content/konzepte/agent-builder.md,content/konzepte/grounding.md,content/entitaeten/produkt-sap-joule.md,content/entitaeten/org-sap-se.md,content/entitaeten/produkt-s4hana.md,content/entitaeten/produkt-successfactors.md,content/entitaeten/produkt-ariba.md,content/entitaeten/produkt-datasphere.md,content/entitaeten/produkt-sap-build.md. - Aktualisiert:
content/produkt/was-ist-joule.md(stub → entwurf, Zitate und Reichweitenzahlen ergänzt),content/navigation.md(alle neuen Seiten eingepflegt). - Kernfakten: Joule Q1 2026 live in 35 SAP-Lösungen; drei Varianten (allgemein, Joule for Developers, Joule for Consultants); Developer-Variante bis September 2026 kostenlos.
- Offen: Ersatz der WebSearch-Snippets durch die eigentlichen SAP-PDFs (help.sap.com / SAP-News Q1-Kommunikation) — erhöht die
reifeder betroffenen Seiten auf „reif”.
[2026-04-17] meta | Wiki initialisiert
- Grundstruktur angelegt, Schema in CLAUDE.md definiert, einladende Startseite geschrieben.
- Neu:
CLAUDE.md,README.md,content/index.md,content/navigation.md,content/log.md,content/produkt/index.md,content/projekte/index.md,content/entitaeten/index.md,content/konzepte/index.md,content/quellen/index.md,content/produkt/was-ist-joule.md,raw/README.md. - Gebaut mit Claude (Cowork) nach dem Karpathy-LLM-Wiki-Pattern.
- Offen: Quartz-Setup, erste echte Quelle, Team-Onboarding.