Execution epic for the decisions-on-pr roadmap (ADR-093: intent in the corpus, execution here). The top-ranked net-new adoption lever from adoption-opportunity-survey; implementation contract in the pr-decision-surfacing design.
A pull request that edits governed code carries one advisory comment naming the live decisions whose declared ## Applies To scope covers the changed paths — id, title, matched scope, link — updated in place on re-runs. Facts, never a verdict or merge gate (ADR-034, ADR-067); the human PR review stays the trust boundary (ADR-065).
Delivery, split across the two repos:
rac-ci — delivered (asdecided/ci#3, merged):
rac-core — delivered (#352, merged):
Open questions settled (recorded in the roadmap):
- The action ships in
rac-ci, the CI wrappers' extracted home; corpus record and docs pointer stay in rac-core.
- Changed paths computed action-side; no engine change and no dual-engine port —
decisions-for is already a covered command under the dispatcher.
- Noise: engine-side live-only scoping, dedupe by id, sorted, inline cap with a details expander, no comment when nothing governs, update-in-place always (including to the empty state).
Follow-ups on the maintainer:
- Cut a rac-ci tag that includes Herald and update the docs
@main reference to it (the existing v1 predates Herald).
- Optionally wire Herald into an adopting repo's PR workflow (one job,
pull-requests: write) — every adopting repo's PRs become the distribution loop.
Closed with both halves merged: asdecided/ci#3 and #352.
Execution epic for the
decisions-on-prroadmap (ADR-093: intent in the corpus, execution here). The top-ranked net-new adoption lever fromadoption-opportunity-survey; implementation contract in thepr-decision-surfacingdesign.A pull request that edits governed code carries one advisory comment naming the live decisions whose declared
## Applies Toscope covers the changed paths — id, title, matched scope, link — updated in place on re-runs. Facts, never a verdict or merge gate (ADR-034, ADR-067); the human PR review stays the trust boundary (ADR-065).Delivery, split across the two repos:
rac-ci — delivered (asdecided/ci#3, merged):
herald/github/beside Watchkeeper/Gatekeeper/Registrar: merge-base diff,rac decisions-for --jsonper path (thin client, ADR-063), one deterministic deduplicated comment with marker-based update-in-place, fork-safe step-summary fallbackrac-core — delivered (#352, merged):
future/, now Achieved with the design's three Open Questions recorded as delivereditsthelore/rac-ci/herald/github@main, plus changelogOpen questions settled (recorded in the roadmap):
rac-ci, the CI wrappers' extracted home; corpus record and docs pointer stay in rac-core.decisions-foris already a covered command under the dispatcher.Follow-ups on the maintainer:
@mainreference to it (the existingv1predates Herald).pull-requests: write) — every adopting repo's PRs become the distribution loop.Closed with both halves merged: asdecided/ci#3 and #352.