EPS
← All tasks·#1205Completed

daily-fix: GCE workload verifies eval-JSON push landed

kind: infra#wf-fix#wf-fix-fp:f2add29fa03c#daily-auto-filed
track:

Highlight text on any card (body, plan, or an event) to anchor a comment, or leave a whole-task comment here. Mention @claude to summon a reply.

No comments yet.

Overview / Motivation

Auto-filed by the /daily 2026-07-08 problem sweep (transcript-mined; emitting agent: /daily orchestrator).

Goal

Make the GCE workload push step retry-then-fail-loud instead of silently declaring results with an unpushed commit.

Workflow gap

  • Bug observed: Transcript 313cb8c5 (issue-825 round 8) ~09:36-10:07Z: the workload's git push silently failed; commit 87c9c73168 with all 73 eval JSONs existed only on the GCP instance scheduled to self-power-off ~12:39Z with --instance-termination-action=DELETE; recovered via SSH git bundle + scp + --ff-only push.
  • Why it is a workflow gap: Workload-side sibling of the piped-push masking class: the push step neither retried nor failed loud, and the run declared success with the git leg unpushed — permanent loss absent the verifier catch.
  • Confidence (emitter): medium

Proposed change (candidate diff sketch — refine in planning)

In the GCE workload composer push step: after push, git rev-list origin/<branch>..HEAD --count must be 0; retry push once on failure; non-zero after retry => fail the workload loud (crash-persist lane then preserves logs). Mirror the contract line in pod-side-reporting.md.

Scope / surfaces

  • Primary target: src/explore_persona_space/backends/gcp.py, .claude/rules/pod-side-reporting.md
  • Grep the workflow surface for the pattern before editing and update every hit; list them in the plan.

Constraints / invariants

  • Workflow-surface only — never experiment code, configs/, or tasks/.
  • scripts/workflow_lint.py --check-asks + --check-references pass; ruff on touched files passes.
  • This session runs under EPM_WORKFLOW_FIX_SESSION=1 and carries a workflow_fix_target: Provenance line — it MUST NOT auto-route its own subagents' workflow-fix candidates (recursion guard).

Provenance

  • workflow_fix_target: src/explore_persona_space/backends/gcp.py, .claude/rules/pod-side-reporting.md
  • origin: transcript-mined by /daily 2026-07-08 problem sweep
  • evidence: mine-B P1 (313cb8c5 ~09:36-10:07Z)
Activity