Skip to content

ops: daily orchestrator summary 2026-07-28-run2 - #2149

Merged
dayfine merged 7 commits into
mainfrom
ops/daily-2026-07-28-run2
Jul 28, 2026
Merged

ops: daily orchestrator summary 2026-07-28-run2#2149
dayfine merged 7 commits into
mainfrom
ops/daily-2026-07-28-run2

Conversation

@dayfine

@dayfine dayfine commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Automated daily orchestrator run — 2026-07-28 run 2 (GHA run 30380136239).
Full summary: dev/daily/2026-07-28-run2.md.

What happened

The budget records were not a bookkeeping problem

.github/workflows/orchestrator.yml:423-453 bundles a run's budget JSON onto the
ops/daily-* PR only if such a PR is currently open. Otherwise it pushes to a
standalone ops/budget-<date>-<run_id> branch and, by design (comment line 384),
opens no PR. Nothing ever merged them.

Consequence: every daily total computed from dev/budget/*.json on main has been
understated — including run 1's [high] budget escalation, which was raised
this morning off the incomplete set.

date on main (as reported) orphaned true % of $200 cap
2026-07-24 $59.13 $17.40 $76.53 38%
2026-07-25 $50.54 $14.84 $65.38 33%
2026-07-26 $107.77 (54%) $84.14 $191.91 96%
2026-07-27 $405.30 (203%) $58.44 $463.74 232%
2026-07-28 (5 runs, pre-this-run) $46.72 $45.21 $91.93 46%

Records are copied verbatim from their fallback branches; nothing already on main
was modified.

Three defects filed

  • A-BUDGET-ORPHAN — the mechanism above. Cheapest fix is one
    curl -X POST /pulls beside the existing fallback push.
  • A-SUMMARY-STALE-FALLBACK — two runs today (30353290609, 30366079322)
    exited success having written no summary. publish-summary then silently
    selected run 1's already-merged file, and the Fail on escalations gate
    graded them against it
    . The gate's guarantee is void in exactly the
    circumstance it exists for.
  • A-GIT-SAFE-DIRECTORYgit is unusable at the start of every run
    (--user 0 + HOME: /home/opamdetected dubious ownership, exit 128 on
    every command) until an agent fixes it by hand. Both silent runs logged
    ShellError: Failed with exit code 128 ~10s after start.

Correction I made to my own reasoning

My first root cause for the silent runs was wall-clock exhaustion in Step 6.5's
CI poll. The logs disagree: both reported "is_error": false with num_turns
33 and 51 against a --max-turns 200 cap. They ended voluntarily. The
summary records the wrong hypothesis alongside the corrected one.

🤖 Dispatched by GHA orchestrator run 30380136239

web-flow added 4 commits July 28, 2026 17:11
The 'Bundle budget into daily summary' step in .github/workflows/orchestrator.yml
only bundles a run's budget JSON when an OPEN ops/daily-<date>* PR exists. When a
run writes no summary PR of its own -- because the orchestrator exited before
Step 8, or because the prior run's summary PR had already merged -- the step falls
back to pushing a standalone ops/budget-<date>-<run_id> branch and explicitly does
NOT open a PR for it. Nothing has ever merged those branches.

31 such branches have accumulated since 2026-07-14, holding $283.31 of measured
spend that never reached main. Every daily-total computed from dev/budget/*.json
since then has therefore been understated -- including the [high] budget
escalation in dev/daily/2026-07-28.md, whose 2026-07-27 figure of $405.30 is
actually $463.74 (232% of the $200 cap, not 203%).

This commit lands all 31 records verbatim from their fallback branches. No record
already present on main was modified.
…port

Two defects in .github/workflows/orchestrator.yml found while reconciling
today's runs, filed against the orchestrator-automation track (their correct
home -- they are workflow defects, not harness tooling, and harness.md is being
edited concurrently by PR #2148).

A-BUDGET-ORPHAN is the mechanism behind the 31-record backfill in the previous
commit. A-SUMMARY-STALE-FALLBACK explains why two runs today exited green having
written no summary at all.
#2145 merged (790d23a) after clean re-QC; 31 orphaned budget records recovered;
two workflow defects root-caused and filed.
@dayfine
dayfine force-pushed the ops/daily-2026-07-28-run2 branch from 8eaece7 to 1d66809 Compare July 28, 2026 17:18
web-flow and others added 3 commits July 28, 2026 17:24
Measured rather than assumed: both silent runs exited voluntarily (is_error
false, 33 and 51 turns of a 200 cap), so the wall-clock hypothesis was wrong.
Both did log ShellError exit 128 ~10s in -- git's dubious-ownership refusal,
which this run also hit on its first git call and which leaves Step 0.5/1b/5.5/8
inoperable until an agent fixes it by hand.
@dayfine
dayfine merged commit f44e5bb into main Jul 28, 2026
2 checks passed
dayfine added a commit that referenced this pull request Jul 28, 2026
Automated daily orchestrator run 3 for 2026-07-28 (GHA run
[30393663268](https://github.com/dayfine/trading/actions/runs/30393663268)).
Full summary: `dev/daily/2026-07-28-run3.md`.

**Three PRs merged this run:** #2149 (`f44e5bb2`), #2152 (`14270b57`),
#2148 (`751de67d`).

**The finding worth reading:** run 2 (`30380136239`) is the **first
orchestrator run observed with `conclusion: failure`**, and nothing
surfaced it. Its Step 9 bundling step hit `fatal:
'ops/daily-2026-07-28-run2' is already checked out at '/tmp/ops-run2'`
(exit 128) — because run 2's own Step 8 worktree was still holding the
branch. Critically, the step's `git checkout` had **already removed**
the generated budget record before the fatal, so run 2's `$36.82`
reached neither its PR nor the `ops/budget-*` orphan fallback: it was
destroyed, not stranded. Reconstructed here from the job log. Step 10
(`Fail on escalations`) is `skipped` when step 9 fails, so the
escalation gate never ran either.

This is systemic rather than a slip: Step 4's GHA guidance (`git
checkout -b` in the shared tree) is wrong, so every recent run overrides
it with `git worktree add` — while the bundling step was written against
the checkout-based assumption it replaced. Filed as
`A-WORKTREE-BLOCKS-BUNDLE` in `dev/status/orchestrator-automation.md`
with three fix options. Interim mitigation applied by this run: no
worktree left on the summary branch.

Contents: the run-3 summary, two audit records, two `dev/reviews/*`
combined results (written by the orchestrator, not the QC agents, per
the PR-D'c migration), the fast health report, the reconstructed budget
record, and the Step 5.5 index reconcile.

🤖 Generated by the GHA orchestrator.

---------

Co-authored-by: claude-orchestrator <noreply@github.com>
Co-authored-by: GitHub Actions Bot <bot@github-actions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants