ADR 0034: Centralized shim routing via dispatch.yml#730
Conversation
Move event-to-stage routing from the per-target-repo shim into dispatch.yml. The shim shrinks from 8 jobs (~380 lines) to 2 jobs (~50 lines). New stages require zero changes to enrolled repos. Sequenced after the token mint migration (ADR 0027 / PR #655) which provides the workflow_call mechanism this ADR uses. Signed-off-by: Wayne Sun <gsun@redhat.com>
Site previewPreview: https://10571993-site.fullsend-ai.workers.dev Commit: |
Review: #730Head SHA: 96567a1 SummaryThis PR adds a well-structured ADR proposing centralized shim routing via dispatch.yml (Option C). The ADR follows the template conventions, presents clear options with trade-offs, and addresses security properties thoughtfully. The only notable issues are incorrect cross-references to other in-flight ADRs — most importantly a broken relative link in the ADR file itself that points to a non-existent filename. FindingsMedium
Low
Info
FooterOutcome: comment-only Previous runReview: #730Head SHA: 73922c8 SummaryThe ADR is well-structured and presents a clear, well-reasoned case for centralizing shim routing. However, the document has a numbering conflict (PR title says "ADR 0033", file is numbered 0034) and several cross-references to ADRs that either don't exist on FindingsHigh
Info
FooterOutcome: request-changes Previous run (2)Review: #730Head SHA: c4be98f SummaryThis ADR is well-structured, correctly motivated, and technically sound. It proposes moving event-to-stage routing from the per-repo shim into FindingsMedium
Low
Info
FooterOutcome: comment-only |
ralphbean
left a comment
There was a problem hiding this comment.
Good ADR — the problem is real and Option C is the right direction. One blocking issue (broken cross-references) and several informational notes below.
The fullsend-ai-review bot's findings on line counts and input arithmetic align with what I found; I've noted those inline as well.
ralphbean
left a comment
There was a problem hiding this comment.
Approving — this is a well-motivated ADR and Option C is the right call. The inline comments from the previous review still stand as informational notes. The one thing to sort out before merging: the ADR 0027 and 0030 cross-references need correcting (0027 on main is "Allowed and Disallowed Tools for Agents", not the token mint; 0030 doesn't exist on main yet).
Connect centralized shim routing to per-repo installation mode (ADR 0031). Per-repo repos call reusable-fullsend.yml directly from fullsend-ai/fullsend — the routing implementation should be shared between per-org dispatch.yml and per-repo. Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Avoids collision with ADR 0033 on main. Renumber to 0034 to fit the updated ADR numbering scheme across open PRs. Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
|
fullsend fix is working on this — view logs |
Token mint ADR renumbered from 0027 to 0029 on PR #655. Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
- Fix cross-refs: ADR 0030→0031 (reusable workflows), ADR 0031→0033 (per-repo) - Add post-run-link as third shim job, update "two jobs" → "three jobs" - Add trigger_source to dispatch inputs, fix input count (5→6) - Fix Option A job/line counts to match current shim (9 jobs, ~350 lines) - Remove backslash escapes on ready_for_review - Note concurrency group is a behavioral change from independent per-stage runs Signed-off-by: Wayne Sun <gsun@redhat.com>
|
fullsend review is working on this — view logs |
Summary
dispatch.yml, reducing the shim from 9 jobs (~470 lines) to 3 jobs (~75 lines)casebranch indispatch.yml— zero changes to enrolled reposworkflow_callmechanism this ADR usesContext
The shim workflow (
fullsend.yaml) is duplicated in every enrolled repo. Each new stage requires updating every repo's shim. The routing logic — "which events map to which stages" — is conceptually part of the centralized fullsend system, not target-repo configuration.This ADR resolves the inconsistency in the token mint plan (PR #655) between the Phase 3 single-job shim template and Resolved Decision #1's per-stage job structure, by choosing the centralized routing approach.
Related