feat(observer): эпизод несёт четыре вердикта (роутер/наставник/судья/gate3)
Новый observer-verdicts: читает персистентный verdict-snapshot-<sid>.json и сводит к четырём звеньям (последний вердикт по ts на звено). Эпизод наблюдателя получил поле verdicts из снимка текущей сессии → по логам восстановимо, на каком звене план отскочил. Раньше в эпизоде был только сигнал роутера. Граница не тронута (observer-stop-hook, recommended_chain, цепочки). Хвост спеки роутера §7 (логирование решающих), эпик роутер-реестр этап 3, item 3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,6 +29,7 @@ import { buildHookMap, resolveScriptCounts } from './observer-hook-resolver.mjs'
|
||||
import { loadRegistry } from './registry-load.mjs';
|
||||
import { extractV4Signals } from './observer-v4-signals.mjs';
|
||||
import { JUDGE_PER_CALL_USD } from './cost-pricing.mjs';
|
||||
import { readVerdictSnapshot, extractFourVerdicts } from './observer-verdicts.mjs';
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
@@ -896,6 +897,9 @@ export function parseTranscript(transcriptText, fallbackSessionId = null, option
|
||||
return {
|
||||
schema_version: 4,
|
||||
schema_minor: 4,
|
||||
// Item 3 (роутер-реестр §7): четыре вердикта (роутер/наставник/судья/gate3) из персистентного
|
||||
// снимка verdict-surface — по логам восстановимо, на каком звене план отскочил. Нет снимка → все null.
|
||||
verdicts: extractFourVerdicts(readVerdictSnapshot(sessionId, options.runtimeBaseDir || routerStateBaseDir)),
|
||||
task_id: sessionId,
|
||||
task_ref: sessionId,
|
||||
timestamps: { started_at, ended_at },
|
||||
|
||||
Reference in New Issue
Block a user