Files
VianoBugAnalysis/docs/investigation-compact-v15.md
T

126 lines
7.7 KiB
Markdown

# Kompakte Hypothesenuntersuchung v15
## Scope
Nur die Projekt-Investigation verwendet neu investigation_project_v15. CaseBuilder,
Interpretation, Hypothesengenerierung und Diagnose/Übergaben bleiben fachlich
unverändert. Der kanonische Kontext und sämtliche alten Recherchepayloads bleiben
in der transportablen Case-Akte erhalten. Es gibt keine zusätzliche LLM-
Zusammenfassung, kein Euro-Abbruchlimit und keine projektspezifische Bugheuristik.
## Arbeitskontext
Die LLM erhält die originale Interpretation mit Beobachtungen, Sollbeschreibung,
technischen Fakten und Einschränkungen; die ausgewählte Hypothese mit offenen
Fragen und geschlossenen Frage-IDs; alternative Mechanismen; den aktuellen
kumulativen Arbeitsstand und die tatsächlichen Befunde anderer Hypothesen.
Deren ursprüngliche Planungsfragen und Verwaltungsdaten werden nicht wiederholt.
Der Arbeitsstand ist ausdrücklich Modellbewertung, kein neuer unabhängiger Beleg.
Er wird in derselben Entscheidung fortgeschrieben. Text, Scope, Richtung und
Beleg-IDs bleiben nachvollziehbar; Entfernen/Umwerten erfordert weiterhin Gründe.
Das neue eigene Ergebnis und noch abzurechnende eigene Ergebnisse werden vollständig
übertragen. Eine konfigurierte kleine Anzahl letzter eigener Rohresultate bleibt
sichtbar. Andere Hypothesen bewerten ihre noch offenen Ergebnisse auf ihrem eigenen
Turn; deren Queryinventar bleibt sichtbar und kann lokal gelesen werden.
Gegenbefunde bleiben im eigenen und fremden Arbeitsstand ausdrücklich vorhanden;
ihre alten Rohdaten werden nicht endlos automatisch erneut angehängt. Solange für
einen alten Stand kein Arbeitsbrief existiert, wird einmal vollständig gebootstrapped;
nicht in einem Brief repräsentierte alte Gegenbelege bleiben dabei direkt lesbar.
Bekannte Schemas bleiben als Spaltennamen-/Typkatalog erhalten. Frische oder gezielt
gelesene Schemas werden vollständig übergeben, einschließlich Schlüsseln und
Nullbarkeit. Für weggelassene Metadaten ist die originale Schemaantwort lokal
lesbar. Schemaherkunft, Abdeckung und Kürzung bleiben sichtbar. Unbekannte
Providerschemaformen werden vollständig beibehalten statt falsch umgedeutet.
Neue Datenresultate werden nur strukturell komprimiert: gemeinsame Werte und
Feldnamen einmal, sämtliche Zeilen, skalare Typen und Duplikate bleiben erhalten.
Source-Ergebnisse behalten Pfad, Revision, Zeilen und Text sowie Abdeckungsgrenzen.
Operator-Tabellenallowlists werden nicht in jedem Resultat erneut als Provenienz
mitgeschickt. Duplikatbelege werden weiterhin als nicht unabhängige Beobachtungen
markiert. Paketquellen verwenden deterministische PS-/PD-Aliase; der Controller
bindet diese an den unveränderten kanonischen Kontext.
## Lokales Nachlesen
recall liest bis zu vier bekannte Evidence-IDs aus der Case-Akte, ohne eine neue
DB-/Git-Abfrage oder einen neuen Reward zu erzeugen. Gelesene Einträge bleiben
über folgende Turns gepinnt; die letzten vier explizit gewählten Einträge werden
behalten. Bereits vollständig sichtbare Belege erneut anzufordern wird kontrolliert
abgelehnt. Ein bislang ungelesener Archivbeleg darf nicht allein aufgrund seiner
Inventarnennung als neuer Beleg eingeführt werden. Bestehende Arbeitsbefunde und
sichtbare Schemakataloge bleiben referenzierbar. Unbekannte IDs bleiben ungültig.
Der neue Aufruf besitzt einen kleinen JSON-Drahtvertrag plus dokumentierte
Argumentformen. Vor jeglicher Budget-/Toolwirkung wird erneut der vollständige
bisherige Vertrag geprüft: Pflichtfelder, Argumente, Textlängen, Referenzen und
Grenzen. Dies gilt auch für eine nach Absturz gespeicherte ausführbare Antwort.
Rohantwort und abgeleiteter Arbeitsstand bleiben getrennte unveränderliche Artefakte.
Gespeicherte v14-Anfragen behalten ihre eingefrorene Darstellung und Normalisierung.
Finish, Reject, asynchrone Tests, Defer und RequestDiagnosis bleiben erhalten.
Der Frühabschluss benötigt weiterhin einen Gegencheck und eine unabhängige finale
Diagnoseentscheidung; verbleibendes Budget erzwingt keine weitere Forschung.
Lokale Leseschritte zählen weiterhin zu den begrenzten Iterationen.
## Konfiguration und Messung
Zusätzliche optionale [investigation]-Werte:
```toml
prompt_target_characters = 13125
recent_evidence_count = 1
```
Das Zeichenziel ist ausschließlich ein Richtwert, kein Paketformatlimit und keine
Abschneide-/Abbruchgrenze. Pflichtresultate, Bootstrap, viele Gegenbefunde oder
bekannte Schemas dürfen darüber liegen. Die geplante logische Nachrichtengröße und
above_target werden im bestehenden Service-Log erfasst. Die tatsächlichen
Provider-Tokens bleiben die maßgebliche Messung.
Die neue Ansicht bleibt mit dem stabilen Fallcache kompatibel. Für v15 darf die
Cacheerzeugung trotz alter Zeichenschwelle versucht werden; tatsächliche
Anbietergrenzen entscheiden. Google nennt für Gemini 3.8 Flash mindestens 4096
Tokens: https://ai.google.dev/gemini-api/docs/caching . Es werden keine Fülltokens
hinzugefügt. Explizites cache_required bleibt strikt. Das alte lokale Pflichtprofil
wurde nicht verändert. Das neue lokale Profil config/llm.compact-investigation.local.toml
übernimmt dessen Modell-/Denkeinstellungen und aktiviert weiter Caching, setzt
aber cache_required=false und entfernt den Pflichtpräfix. Ein vom Anbieter
abgelehnter Cache verhindert so keine kleine Untersuchung. Keine Secrets im Report.
## Offline-Auswertung
Die sechs erfolgreichen manuellen Proben verbrauchten zusammen 29394 Eingabe-,
1274 Antwort- und 16181 Denk-Tokens, bei 127,360 Sekunden API-Laufzeit. Sie zeigen
plausible einzelne Entscheidungen, aber noch keine vollständige v15-Regression.
Korrigierte Kontofolge: 8,34 vor 8,35, anschließend 8,38 EUR. Verzögerte Buchungen
werden nicht willkürlich auf einzelne Aufrufe verteilt.
Projection gespeicherter Arbeitskontexte, ohne API-Aufrufe oder umgeschriebene
alte Modellbefunde, gemessen als tatsächliche Gemini-Nachrichtentextzeichen:
| Archiv | Kontexte | Median Reduktion | Median v15 |
|---|---:|---:|---:|
| Bug 17 Arbeitsbrief | 18 | ca. 73.5 % | ca. 21824 Zeichen |
| Bug 20 v14 | 10 | ca. 72.2 % | ca. 21410 Zeichen |
Der Richtwert ist in diesen alten Kontextprojektionen noch nicht erreicht. Die
Altanfragen enthalten insbesondere große vollständige Ergebnisabfragen und lange
bereits formulierte Arbeitsbefunde. Sie werden nicht zur Erfüllung einer Zahl
abgeschnitten. Eingabe-Token-/Kostenreduktion und Qualität müssen mit einem neuen
Gesamtlauf geprüft werden; die Offline-Zahlen sind keine gemessene Tokenersparnis.
Das Zehntel-Ziel bleibt ausdrücklich offen. Vorbereitung startet keine LLM-Aufrufe.
Reproduzierbares Messwerkzeug: scripts/measure_compact_investigation.py.
Messdateien: measurements/investigation-v15-offline-20261017.json und
measurements/compact-investigation-six-probes-20261017.json.
Validierung: 375 relevante Tests bestanden, breite Regression plus gezielte
Nachläufe der angepassten v14-Testfixtures und neuen v15-Frühabschlussfälle.
Case-/Budget-/Replay-Prüfungen, lokale Beleglesung, vollständige frische Payloads
und die unveränderte unabhängige Diagnose sind abgedeckt. Keine Live-API-Abfragen
bei der Implementierung. Das Speichergesamtbudget einschließlich temporärer
pytest-Kopien bleibt nach Archivierung des älteren Stable-Cache-Vergleichslaufs
unter 20 GB. Neuere Bug-17-/Bug-20-Vergleiche bleiben erhalten.