Skip to content

CI: Preserve upstream reviews in separate per-commit jobs - #20

Merged
AntonOresten merged 7 commits into
masterfrom
ci/sync-per-commit-reviews
Sep 19, 2026
Merged

AntonOresten merged 7 commits into
masterfrom
ci/sync-per-commit-reviews

Conversation

@AntonOresten

@AntonOresten AntonOresten commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

Upstream review could time out before opening a PR and lose the whole batch's work. Review each incoming commit against the complete merged tree in its own saved job, then combine all validated results into one integration PR and CI build. Reviews run sequentially to avoid competing for the model's token rate limit.

  • Preserve successful artifacts across failed-job retries. Automatically retry first-attempt review failures once; cancellations, holds, repeated failures, and collector/publication failures still stop.
  • Constrain responses to the exact assigned SHA and batch target, and validate each report inside its job.
  • Validate every patch against the same baseline, then combine compatible edits with Git three-way merging. Conflicts remain manual; protected paths and checkpoint rules remain enforced.
  • Isolate review processes in a 4 GiB cgroup, retain memory/deadline diagnostics, and provide non-publishing batch, single-commit, and read/edit probes.

Validation: 63 sync-tooling tests and actionlint pass. Hosted trials exercised real reviews, preservation of ten successful results while retrying the failed assignment, and the exact-SHA schema/validator. A local replay combined and assembled the eleven-commit candidate with upstream ancestry preserved. That replay replaced one malformed report with its schema-constrained diagnostic result after verifying that only trusted sync tooling differed between the two bases; no cross-run artifact reuse was added to production. The candidate was not pushed and its source adaptations have not yet passed integration CI.

The required full build/test gate remains enforced before this workflow change can merge. The earlier logless timeout remains unexplained; a later retained failure identified API rate limiting, with no OOM event.

Observed failures: batch timeout, per-commit trial. The exact-SHA diagnostic passed.

Review each incoming commit against the full merged batch in an independent bounded job, retain successful results across failed-job retries, and require complete coverage plus compatible adaptations before publishing one integration PR. Add a review-only mode to exercise real batches before publication.

The full-batch review repeatedly timed out without retaining diagnostics, including with the independent watchdog:
https://github.com/jool-space/joolia/actions/runs/35460534014

Assisted-by: Codex (GPT-6)
Make the handbook agree with per-commit job assignments while retaining the complete merged batch as dependency context.

Assisted-by: Codex (GPT-6)
Check apply_patch as well as shell reads, and let this non-publishing probe run while a review batch is stalled.

Assisted-by: Codex (GPT-6)
Keep the Actions worker outside a bounded review cgroup, retain memory and OOM counters, and let the deadline stop descendants even when they clear the environment marker.

Assisted-by: Codex (GPT-6)
Two simultaneous reviews exhausted the shared 500,000-token-per-minute limit. Keep independently retained per-commit results and full merge batches, while allowing only one review request stream at a time.

https://github.com/jool-space/joolia/actions/runs/35469289715

Assisted-by: Codex (GPT-6)
Constrain response identifiers to the pinned assignment and fail invalid reports in their own review job. Combine independently validated patches with three-way merging so identical shared edits do not block a batch, while retaining manual handling for conflicts. Allow a non-publishing single-commit diagnostic.

https://github.com/jool-space/joolia/actions/runs/35469289715

Assisted-by: Codex (GPT-6)
Resume transient first-attempt review failures from retained per-commit results when the run finishes. Preserve the stop conditions for cancellations, manual holds, collector or publication failures, and repeated failures.

https://github.com/jool-space/joolia/actions/runs/35469289715

Assisted-by: Codex (GPT-6)
@AntonOresten
AntonOresten merged commit 57d27b9 into master Sep 19, 2026
7 checks passed
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.

1 participant