repair-missing-agency-reasoning

Repair pre-Pi evaluation plans missing reasoning

Metadata

Statusdone
Assignedagent-733
Modelpi:zai:glm-5.2
Created2026-07-25T07:54:02.392495074+00:00
Started2026-07-25T13:00:51.827831335+00:00
Completed2026-07-25T13:45:56.345765830+00:00
Tagsevaluation, migration, pi
Tokens4942699 in / 18966 out

Description

Incident

make-hashed-project is stranded in PendingEval with WG-EVAL-PIPELINE-REPAIR-EXHAUSTED. Its FLIP and evaluator plans were scaffolded before Pi reasoning became mandatory. The persisted calls contain exact Pi routes but no reasoning; Pi-only execution correctly fails with WG-PI-REASONING-MISSING. Lifecycle repair then replays the same invalid plan byte-for-byte until its bounded repair budget is exhausted, leaving a completed implementation operator-blocked.

Authoritative incident identity: source attempt 1, pipeline evalp-cf8647216311909aacbaa9d2; FLIP plan b3:d7cd2331644ef581ba7ab579def9113e7c8c5030c493b9bb6255e434a11e0a42; evaluator plan b3:f3642b022aabbb4816c3b118278e365356b5ce3d76b877dd72881a4e19ed7de2.

Requirements

  • Add a deterministic, bounded migration/recovery path for pre-Pi persisted agency plans whose route is exact pi:<provider>:<model> but whose reasoning is absent.
  • Never execute or silently accept a missing-reasoning plan. At an explicit migration boundary, resolve reasoning from the authoritative role/tier configuration, persist it into a newly hashed plan/generation, and record old/new plan identity plus provenance.
  • If exact Pi reasoning cannot be resolved, fail closed with an actionable operator diagnostic. Never synthesize Claude/Codex/Nex/native routes or an implicit thinking default.
  • Recover the existing source attempt without rerunning the completed source worker or changing its artifacts/commit. Re-arm only its failed FLIP/evaluator satellites under a coherent atomic lifecycle identity.
  • Preserve original plans and failures as immutable history. Stale verdicts from the old plan/pipeline may never score the repaired attempt; new evidence is consumed exactly once.
  • A daemon restart, retry, or concurrent coordinator tick cannot duplicate calls, exhaust repair on the same invalid bytes again, or create mixed reasoning across FLIP stages.
  • wg show/status must distinguish migration-required, migrated/rearmed, active evaluation, and true operator ambiguity.

Validation

  • Fixture matching make-hashed-project migrates route-preservingly to explicit effective reasoning and completes FLIP/evaluation without rerunning source work.
  • Missing reasoning with no authoritative role/tier value stays fail-closed and operator-actionable.
  • Non-Pi/malformed legacy plans remain rejected; no cross-system fallback.
  • Old and new plan hashes, reasoning, source attempt, pipeline/generation, producer run, and consumed verdict are auditable.
  • Restart/concurrent-tick regression proves bounded exactly-once migration and verdict consumption.
  • Existing retry-drift, durable evaluation, Pi-only model-plane, and low-score gate regressions pass; fmt and clippy pass.

Depends on

Required by

Log