Align checkpoint recall validation and resume lean investigation

This commit is contained in:
Nico committed 2026-10-20 21:36:32 +02:00
1 parent e92476517c
commit 7b7779b769
8 files changed
+246 -7

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
# Konsolidierung mit anschließendem Belegabruf
Der Bug17-Lauf wurde an Generation 84 technisch blockiert. Entgegen der ersten
Auswertung war `recall` im äußeren begrenzten v20-Checkpoint-Vertrag bereits erlaubt.
Die zweite Prüfung der normalisierten kanonischen Antwort verwendete jedoch den
alten Vertrag ohne Recall-Aktion und verwarf alle drei Antworten an `/next`.
Die Erklärung in den bisherigen Testberichten bleibt als historischer Befund
stehen; dieser Nachtrag präzisiert die tatsächliche Ursache.
Beide Prüfschichten verwenden jetzt dieselbe Aktion für begrenzte Checkpoints:
eine bekannte E-Referenz und eine nichtnegative Seitennummer. Unbekannte Belege
und nicht vorhandene Seiten werden weiter vom Controller abgelehnt. Die gesonderte
frühe Diagnosebewertung bleibt auf ihre erlaubten Aktionen beschränkt.
Bei erfolgreicher Konsolidierung mit Recall wird unter Fenster-Version 2 der
aktuelle Arbeitsstand gespeichert, die Session konsolidiert und der Checkpoint
beendet. Die angeforderte Seite bleibt im Zustand erhalten; der nächste Aufruf ist
wieder `investigate_one_step`. Es erfolgt keine automatische Tool-Recherche und
keine Umdeutung der Aktionsabsicht. Bereits gespeicherte Antworten werden nicht
verändert. Budgetabrechnung, Gegenbelege, Hypothesenwahl und Zeichenobergrenze
bleiben erhalten. Fenster-Version 1 behält ihr bisheriges Sessionverhalten.
Bei ungültigen Next-Aktionen nennt das Feedback jetzt `/next/kind` und die aus dem
maßgeblichen Schema abgeleiteten zulässigen Aktionen. Keine ungeprüften Nutzwerte
werden in den Hinweis übernommen.
Der Offline-Bericht `test-results/token-usage/bug17-checkpoint-recall-offline-fix-20261020.json`
belegt, dass sämtliche drei kuratierten Antworten gegen ihre exakten ursprünglichen
Vollkontexte bestehen. Messages, Antwortschema und Prompt-Version der ursprünglichen
Anfragen bleiben identisch. Kein neuer API-Aufruf war dafür notwendig.
Regressionstests prüfen Originalantworten, beide Prüfschichten, gespeicherten
Arbeitsstand, Rückkehr zur schlanken Schleife, portable Wiederaufnahme, unveränderte
Budgets beim reinen Recall sowie Ablehnung unbekannter Belegreferenzen und Seiten.
Prüfergebnis: 89 lokale Tests bestanden (158,35 Sekunden). Der bestehende
Bug17-Fall wurde ohne Budget- oder Artefaktänderung von Generation 84 auf 85
manuell wieder freigegeben. Keine kostenpflichtigen API-Aufrufe.
@@ -0,0 +1,51 @@
{
"format": "viano-offline-regression",
"date": "2026-10-20",
"run": "bug17-bounded-full-20261020",
"source_generation": 84,
"scope": "All three rejected checkpoint replies validated unchanged against their exact saved full contexts; no tool execution, budget mutation or paid LLM request.",
"results": [
{
"call_ref": "llm/operations/6849c974442865e5ca3e8f146ef4520c275f2e37a25fb7caa498f17089ed6dc1/round-0001.json",
"reply_sha256": "44b25b401d7019b6da566658147d28c93e7aeaf22644497200afdb7b3ceae386",
"full_saved_context_validation": "passed",
"request_messages_schema_version_unchanged": true
},
{
"call_ref": "llm/operations/dfceb150480e764106de4d51501b6ed0b2daa32533888a9dabcc88114203726d/round-0001.json",
"reply_sha256": "7ab36e7d2604dc8c4537eef2516f2ed68cdeaa6864d1f4a98b5cd41d16933250",
"full_saved_context_validation": "passed",
"request_messages_schema_version_unchanged": true
},
{
"call_ref": "llm/operations/a641cb5c51a47e1e2228d4a99c508446cfa14e6d4f1c8de3f639b6acb4851fb7/round-0001.json",
"reply_sha256": "5546ff27268c2a0a699280edd3b8d713f0387730499db12ea94e97051e4cdf03",
"full_saved_context_validation": "passed",
"request_messages_schema_version_unchanged": true
}
],
"local_tests": {
"passed": 89,
"elapsed_seconds": 158.35,
"scope": "checkpoint recall, bounded v1/v2, lean loop, canonical decisions and startup"
},
"source_sha256": {
"src\\viano_bug_analysis\\analysis\\investigation_compact.py": "2522b63dd5b4943213afa659b1531aea64231a7a4777f5113f5f8f17f0f7290f",
"src\\viano_bug_analysis\\analysis\\investigation_lean_v20.py": "f6373c0cf6c619129c127784c0ef088f14480f892c9817c12ce6a48e7ffc6d09",
"src\\viano_bug_analysis\\analysis\\investigator.py": "5993ad05bc8a971f167e7056ba66fc2b928f26c7299da744a832d1dd4069cabd"
},
"manual_resume": {
"from_generation": 84,
"to_generation": 85,
"state": "INVESTIGATING_HYPOTHESES",
"unchanged_artifact_sha256": {
"investigation_state": "f469f7431a46880da4ee34ae8912d20977607665bc6985607903086718a48a68",
"budget_ledger": "c501e306fafc85bc63f443c72376d99f5e77311d3fb15cd8b7b3cedcca66282d",
"case_interpretation": "0fd3c2a1efe0f229592b3038b66db26e704f2fb1a03b7321ceb76450e3f98cb4",
"hypotheses": "30494a06ce373f4c497b3964524cee21bdf5350eac515f7a0022619879d125c8"
},
"budgets_reset": false,
"invalid_responses_reset": false,
"paid_api_calls": 0
}
}