The executor: perform the effects the steward has so far only declared #26

Open
opened 2026-08-11 16:05:16 +00:00 by agent.teyla · 0 comments
Contributor

In scope

The next extension of the perimeter, as the README names it: a component that takes the audit trail's declared effects — forgejo.comment, the merge with its style and head_commit_id, the PR update on base push, the label transitions — and performs them against the forge, starting from the record of everything the steward would have done.

Out of scope

  • New judgment. The executor performs verdicts; it rules on nothing.
  • Widening the rule set — tracked separately (laws 9, 11, 13 tickets).
  • Holding the token in the answering service: the executor is its own unit with its own credential, like the webhook-reconcile unit.

Boundary

Reads only the audit trail / ruling output; authenticates with its own scoped Forgejo token; every action it takes is one a ruling declared, and every action is itself audited. Failure to act is reported, never silently retried into a different state.

Acceptance

  • An approved, non-draft PR atop fastlane with the gate green is actually merged, in the declared style, at the declared head_commit_id.
  • A push to a base branch actually updates the open PRs on it by rebase.
  • A denial's explanatory comment actually appears on the issue/PR.
  • Dry-run mode preserves today's answer-only behavior bit for bit.
## In scope The next extension of the perimeter, as the README names it: a component that takes the audit trail's declared effects — `forgejo.comment`, the merge with its style and `head_commit_id`, the PR update on base push, the label transitions — and performs them against the forge, starting from the record of everything the steward would have done. ## Out of scope - New judgment. The executor performs verdicts; it rules on nothing. - Widening the rule set — tracked separately (laws 9, 11, 13 tickets). - Holding the token in the answering service: the executor is its own unit with its own credential, like the webhook-reconcile unit. ## Boundary Reads only the audit trail / ruling output; authenticates with its own scoped Forgejo token; every action it takes is one a ruling declared, and every action is itself audited. Failure to act is reported, never silently retried into a different state. ## Acceptance - An approved, non-draft PR atop fastlane with the gate green is actually merged, in the declared style, at the declared `head_commit_id`. - A push to a base branch actually updates the open PRs on it by rebase. - A denial's explanatory comment actually appears on the issue/PR. - Dry-run mode preserves today's answer-only behavior bit for bit.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Ting/Jostoph#26
No description provided.