idea_world_labDEV JOURNAL
Samstag, 27. Juni 2026

27. Juni 2026

  • Am 26. geschriebenes docs/roadmaps/2026-06-26-source-to-ast-input-flow.md erneut gelesen und festgestellt, dass die Konsistenz des gesamten Dokuments fehlt
  • Das am 27. zuerst erstellte Dokument enthielt viele Objekt‑ und Strukturbeschreibungen, sodass das eigentliche Eingabeverhalten schwer nachzuvollziehen war
    • Anschließend wurde die Dokumentationsrichtung anhand von PR‑Feedback neu ausgerichtet
    • Die Form wurde geändert, sodass in den ausgeklappten Eingaben # <relative Pfad> konkret angegeben wird, welche Zeile welcher Datei in den AST‑Parser gelangt
    • Wie bei player.gd E020‑E034 wird anhand tatsächlicher Zeilenbereiche beschrieben, wie ein Teil des Textes in die Retriever‑Suche und die LLM‑Entscheidung übergeht
    • Dateipfade dienen nur der Nachverfolgung; für die Retriever‑Suche wird ausschließlich das chunkText des Code‑/Textabschnitts verwendet – diese Regel wurde erneut fixiert
  • docs_chunks, api_mapping, label_prototypes werden ohne Sonderbehandlung auf dieselbe Weise durchsucht, wobei die LLM die gefundenen Kandidaten erneut verifiziert
  • Die heutige Arbeit hatte das Ziel, vor der eigentlichen Implementierung festzulegen, wie Eingaben und Ausgaben an welchen Stellen verbunden werden, um zu verhindern, dass die KI willkürlich Bereiche ändert oder nur abstrakte Strukturbeschreibungen liefert
  • Um den dokumentierten Flow zu prüfen, wurde das Web‑Tool Source Flow Debugger implementiert
    • Lokal unter http://127.0.0.1:8010/ gestartet, um die Godot‑Projekteingaben direkt zu inspizieren
    • Die mit # <relative Pfad> ausgeklappten Projekteingaben werden dateiweise wieder aufgeteilt; .gd wird zu AST‑Chunks, .godot und .tscn zu Direct‑Chunks
    • Ein kleines Godot‑Projekt wurde getestet und in 5 files, 14 chunks, AST 9, Direct 5 zerlegt
    • Dokumente wie README.md werden im source‑analysis‑Modus ausgeschlossen und der Ausschluss sowie dessen Grund bleiben sichtbar
  • UI zum Debuggen pro Chunk hinzugefügt
    • Unter jedem Chunk wurden Buttons für docs_chunks Suche, api_mapping Suche, label_prototypes Suche und Validate JSONL platziert
    • Statt einer globalen Tabellen‑Checkbox erfolgt die Suche jeweils direkt unter dem jeweiligen Chunk
    • Der Retriever‑Input zeigt nur { "chunkText": "…" } an, ohne Dateipfad, Zeilennummer oder Prompt
    • Die Qwen‑Validierung wird ausschließlich im Schritt prompt + chunkText + retrieved JSONL verwendet
  • Probleme, die beim praktischen Einsatz des Web‑Debuggers auftraten, wurden behoben
    • Das automatische Laden von Beispiel‑Godot‑Code beim Seiten‑Load wurde entfernt
    • Auch nach erneutem Hochladen derselben Datei/Ordners wird das Browser‑change‑Event erneut ausgelöst, indem der Upload‑Input‑Wert beim Klick geleert wird
    • Um veraltetes JS während der Entwicklung zu vermeiden, wurde cache-control: no-store zu den statischen Dateiresponsen hinzugefügt
    • Beim PostgreSQL‑Suchpfad wird ein möglicher Fehler beim Erzeugen/Verbinden des Clients durch ein geschütztes client.end() abgefangen, sodass das Aufräumen sicher abläuft
  • Das Ergebnis der Implementierung wurde mit Screenshots in einem separaten Dokument festgehalten
  • Nach aktuellem Stand ist die Chunk‑weise Zerlegung weitgehend erfolgreich; das nächste Kernziel ist, wie die DB‑Suche tatsächlich durchgeführt wird
    • Es muss geprüft werden, welche JSONL‑Kandidaten aus docs_chunks, api_mapping, label_prototypes allein anhand von chunkText zurückkommen
    • Außerdem muss entschieden werden, wie die Qwen‑Validierung beurteilt, ob das gefundene JSONL zum aktuellen Chunk passt und ob es verworfen wird
  • Vor der DB‑Integration wurden Demo‑Godot‑Chunks und zugehörige/irrelevante JSONL mit GPT erzeugt, um Prompt‑Matching‑Experimente durchzuführen
    • Zunächst fragte man: „Enthält dieses JSONL Code‑Inhalte? Bitte nur Ja/Nein antworten.“ – sowohl relevante als auch irrelevante JSONL wurden mit „Ja“ beantwortet
    • Danach wurde die Regel eingeführt, dass einer der Felder source_api, source_pattern, match_terms, required_when_seen_in_code oder before_code exakt mit dem tatsächlichen SOURCE_CODE‑String/API‑Aufruf übereinstimmen muss, um „Ja“ zu erhalten
    • Statt breiter Wortähnlichkeiten oder Vorwissen der LLM über Godot zu nutzen, soll ausschließlich der im JSONL angegebene String als Beleg herangezogen werden: relevante JSONL → „Ja“, irrelevante → „Nein“
    • Dieses Experiment zeigte, dass die Qwen‑Validierung nach der DB‑Suche nicht auf einer vagen semantischen Ähnlichkeit, sondern darauf basieren muss, ob das gefundene JSONL einen direkten String‑Beleg für den aktuellen Chunk enthält
    • Beobachtungstagebuch: Auswahl des Test‑Repositories basierend auf JSONL‑Sammel‑Status
    • Beobachtungstagebuch: JSONL‑Beleg‑Matching‑Prompt Beobachtung
    • Rückblick: docs/retrospectives/2026-06-27.md
  • Morgen sollen mehrere Demo‑Sets von Godot‑Chunks mit zugehörigen/irrelevanten JSONL erstellt werden, um wiederholt zu testen, welche Belege Qwen zu „Ja“ bzw. „Nein“ führen