Skip to content

01a0919c - Isolate per-PR exceptions in the all-open A38 sweep - #96

Open
TaprootFreakAI wants to merge 3 commits into
developfrom
feat/01a0919c-all-open-isolate-guarderror
Open

01a0919c - Isolate per-PR exceptions in the all-open A38 sweep#96
TaprootFreakAI wants to merge 3 commits into
developfrom
feat/01a0919c-all-open-isolate-guarderror

Conversation

@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
The all-open A38 sweep now isolates any per-PR exception and keeps scanning, so one fork-approval failure cannot leave Ready conflict PRs unprocessed.
The composite action imports main instead of running the module as __main__, so GuardError identity matches sibling imports.

DE:
Der all-open-A38-Sweep isoliert jede per-PR-Exception und macht weiter, damit ein Fork-Approval-Fehler Ready-Konflikt-PRs nicht unbearbeitet lässt.
Die Composite-Action importiert main statt das Modul als __main__ zu starten, damit GuardError dieselbe Klasse ist wie in den Geschwistermodulen.

Details

Production schedule dfx pr guard on DFXswiss/backend aborted mid-scan with an uncaught traceback:

agent_cli.a38_guard.GuardError: fork workflow approval requires the current base to be included in the head

python -m agent_cli.a38_guard executes the file as __main__. Sibling modules import GuardError from agent_cli.a38_guard, a second module object. The all-open except GuardError therefore missed the raised type and killed the rest of the fleet, including Ready pull requests that still had merge conflicts.

This change:

  • catches Exception per PR in the all-open loop (log, error JSON, continue, aggregate exit 1)
  • treats a dual-imported GuardError as a guard error in the outer main handler
  • invokes the composite action via from agent_cli.a38_guard import main
  • keeps the _belongs_to_pull refusal to approve a fork run whose head does not contain the current base
  • adds tests for a foreign GuardError class, a plain RuntimeError, single-PR handling, and the action stand-in main

Head: da568db9fe8e1d17f12fa2729eda25c032294e98

@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 3 review passes.
The all-open A38 sweep isolates any per-PR exception so one fork-approval failure cannot abort the rest of the fleet.

DE:
Bereit nach 3 Review-Durchläufen.
Der all-open-A38-Sweep isoliert jede per-PR-Exception, damit ein Fork-Approval-Fehler den Rest der Flotte nicht abbricht.

Details

Head a46337b4d15201fb0f7f4782e0a3764840e0b3e7.

Pass 1 (da568db): Grok quality and logic 0 findings; Codex quality 0; Codex logic 2 findings (invalidate skipped on dual-imported GuardError after publish; action stand-in printed at import).

Pass 2 (20704eb): Grok quality 1 finding (except Exception missing # noqa: BLE001); Grok logic 0.

Pass 3 (a46337b): Grok quality, Grok logic, Codex quality, Codex logic all STATUS complete, 0 findings.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review September 12, 2026 13:04
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