Skip to content

refactor: deepen PR-body contract, CLI event bracket, round engine - #6

Merged
RjBiermann merged 4 commits into
masterfrom
refactor/deepen-rounds-and-pr-body
Sep 17, 2026
Merged

RjBiermann merged 4 commits into
masterfrom
refactor/deepen-rounds-and-pr-body

Conversation

@RjBiermann

@RjBiermann RjBiermann commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Follow-up to the architecture review (report: /tmp/architecture-review-20260916-212414.html, nothing in-repo). Three deepenings, each reviewed against the design vocabulary; candidate #4 (config agent dispatch) was deliberately skipped — one adapter means a hypothetical seam, revisit at M2.

Commits

  1. delivery owns the PR body_pr_body() template + issue_of_body() parse live in devloop/delivery.py; the Closes #N marker (previously written in delivery, regex-parsed in review) has one owner. review_pr() takes issue: Issue | None instead of three optional params; the dead branch param is deleted.
  2. one CLI event bracketread_event() owns $GITHUB_EVENT_PATH resolution, read, parse, silent exit; cmd_command/cmd_merged extract their own fields.
  3. deep round enginerounds.py gains run_round(): forge diff fetch + DIFF_CAP + {diff} substitution + fresh PR thread + round announcement + TAIL + run-failure comment, one dialect for review, repair, and repair's verify round. Review keeps prior-findings carry (extra), repair keeps gate→push. Behavior deltas (both cosmetic, nothing parses these comments): thread now read per round (mid-loop human replies get seen), verify announcement is **AI verify, round 1/1**.

Verification

python3 tests/test_devloop.py — all checks passed, run after each commit and on this branch tip.

TEMP added 4 commits September 16, 2026 21:22
- verify gate: one policy (timeout, PASS semantics) in devloop/gate.py —
  both copies lacked a timeout, so one hung gate wedged a build thread
- review/repair round plumbing (guidance load, thread read, diff cap,
  LGTM verdict) lives once in devloop/rounds.py; _lgtm twin deleted
- devloop branch naming owned by concrete Forge methods, six inline
  call sites gone
- deliver() takes agent_name: str — it only ever read runtime.name

devloop: status=none
…se in one module; review_pr takes the Issue, dead branch param deleted
…ction, announcement, run-failure comment; review/repair keep only what differs
@RjBiermann
RjBiermann merged commit 078d216 into master Sep 17, 2026
8 of 9 checks passed
@RjBiermann
RjBiermann deleted the refactor/deepen-rounds-and-pr-body branch September 17, 2026 01:37
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