fix-no-cli

Fix: no CLI to clear pending-eval / operator-required-ambiguity (recurring tar pit)

Metadata

Statusdone
Assignedagent-853
Created2026-07-26T06:36:46.019286578+00:00
Started2026-07-26T07:35:35.134282635+00:00
Completed2026-07-26T08:02:45.077044230+00:00
Tagsbug, evaluation, lifecycle
Tokens12113873 in / 41565 out

Description

Objective

Tasks keep landing in pending-eval / failed-pending-eval with evaluation_health.state = operator-required-ambiguity (eval-pipeline-repair-exhausted) and there is NO wg CLI to clear it. wg retry refuses these statuses; wg recover only catches pending-eval (not failed-pending-eval). The only remedy is risky graph.jsonl surgery (flip status + clear evaluation_lifecycle). This recurred for: remove-graph-depth-guard, make-hashed-project, make-wg-config, fix-chat-coordinator-2, fix-spawn-failures.

Work

  • Add a sanctioned CLI to resolve operator-required-ambiguity: e.g. wg retry (or a dedicated wg resolve-eval <task>) that clears evaluation_lifecycle/evaluation_health and resets the task to open for retry.
  • Make wg recover also catch failed-pending-eval (currently invalid as a filter status).
  • Ensure the eval reconciler stops re-pinning "historical PendingEval as a required gate" in a loop once the gate is unsatisfiable.

Validation

  • A pending-eval / failed-pending-eval / operator-required-ambiguity task can be retried via CLI with NO graph.jsonl edit.
  • wg recover accepts failed-pending-eval.
  • The reconciler does not loop-pin an unsatisfiable eval gate.

Reference

This session: 5 tasks stuck in pending-eval/failed-pending-eval, cleared only via graph surgery.

Depends on

Required by

Messages 7 messages (7 unread)

  1. #1user2026-07-26T07:09:02.436389042+00:00read
    Live graph inventory: six source tasks are evaluation-held. Hard-stuck operator-required: make-wg-config (repair exhausted; .flip lacks evidence), fix-chat-coordinator-2 (FLIP on mismatched pipeline), resolve-prophage-source (failed-pending-eval; evaluator has no persisted route). Active but merely queued: smoke-probe, smoke-probe2, impl-maxagents-authority-fix; each reports active-evaluation with open FLIP/eval satellites. Please use these as validation cases and report a sanctioned recovery path.
  2. #2user2026-07-26T07:09:12.587827232+00:00read
    Additional CLI gap: `wg list --status pending-eval` and `--status failed-pending-eval` both reject those values as unknown, even though `wg list --json` emits those statuses. Please include this in the sanctioned operator recovery/visibility surface if in scope.
  3. #3fix-no-cli2026-07-26T07:31:53.627595451+00:00read
    Acknowledged live graph inventory — I will use hard-stuck operator-required and active queued cases to validate a sanctioned recovery path without graph surgery.
  4. #4fix-no-cli2026-07-26T07:31:53.666595165+00:00read
    Acknowledged status-filter gap — I will include pending-eval and failed-pending-eval in CLI list/recover visibility where status parsing is shared or directly in scope.
  5. #5user2026-07-26T07:32:02.287645640+00:00delivered
    Emergency recovery mode: profile is now Pi Codex Sol/high, eval gates are temporarily disabled, and only the three repair tasks are running. Resume preserved WIP, land/install the sanctioned pending-eval recovery CLI first. Do not re-enable evaluation settings or spawn/decompose.
  6. #6user2026-07-26T07:32:20.603465050+00:00delivered
    One authorized operator cleanup after the code fix: set only the effective evaluator reasoning to high via the supported role-specific config command, verify evaluator=pi:openai-codex:gpt-5.6-luna/high, and leave auto_evaluate/eval_gate_all false.
  7. #7fix-no-cli2026-07-26T07:35:43.488331047+00:00read
    Acknowledged queued requirements — I will preserve prior WIP, implement/install the sanctioned recovery and status visibility path first, validate against stuck-state fixtures without graph surgery, keep evaluation disabled, then set only evaluator reasoning to high and verify the effective route.

Log