33#
44# Proclaims the recorded decisions that govern a pull request's changed paths
55# as ONE advisory comment: compute the merge-base diff, run
6- # `decided decisions-for --json` per changed path ( the live-decisions lookup the
7- # CLI and MCP serve, `decision-to-code-proximity`), and post a terse,
6+ # native `decided herald` renderer (built on the live-decisions lookup the CLI
7+ # and MCP serve, `decision-to-code-proximity`), and post a terse,
88# deduplicated comment that re-runs update in place. Facts, never verdicts
99# (ADR-034): the comment names what governs and recommends review; it never
1010# gates the merge — the action succeeds whatever it finds, and only
2222# `pull-requests: write` on the job for the comment. On forks, where the
2323# token is read-only, the comment falls back to the step summary instead of
2424# failing the check.
25- name : " AsDecided decisions on PR "
25+ name : " As Decided Herald "
2626description : >-
2727 Comment the recorded decisions that govern a pull request's changed paths —
2828 id, title, and the declared scope that matched — as one advisory,
29- update-in-place comment. A thin wrapper over `decided decisions-for `; facts,
29+ update-in-place comment. A thin wrapper over `decided herald `; facts,
3030 never a merge gate.
3131author : " Tom Ballard"
3232branding :
3333 icon : " book-open"
3434 color : " purple"
3535inputs :
3636 path :
37- description : " The RAC corpus directory (passed to `decided decisions-for`) ."
37+ description : " The As Decided corpus directory."
3838 required : false
39- default : " rac "
39+ default : " decisions "
4040 max-inline :
4141 description : >-
4242 Governing decisions listed in full before the rest collapse into a
@@ -51,9 +51,6 @@ inputs:
5151runs :
5252 using : " composite"
5353 steps :
54- - uses : actions/setup-python@v5
55- with :
56- python-version : " 3.12"
5754 - name : Install AsDecided
5855 shell : bash
5956 run : |
7471 fi
7572 git diff --name-only "$BASE_SHA...$HEAD_SHA" > lore-changed-paths.txt
7673 echo "$(wc -l < lore-changed-paths.txt) changed path(s)"
77- # One deterministic comment body: `decided decisions-for --json` per changed
78- # path, merged by decision id, sorted, no wall-clock input — the same
79- # bytes for the same corpus and diff.
74+ # The native engine owns collection, deduplication, sorting, and rendering.
75+ # The same corpus and diff produce the same bytes; no Python sidecar.
8076 - name : Render governing decisions
8177 id : render
8278 shell : bash
@@ -85,12 +81,12 @@ runs:
8581 MAX_INLINE : ${{ inputs.max-inline }}
8682 LINK_BASE : ${{ github.server_url }}/${{ github.repository }}/blob/${{ github.event.pull_request.head.sha }}
8783 run : |
88- python "$GITHUB_ACTION_PATH/render.py" \
89- --corpus "$INPUT_PATH" \
84+ decided herald "$INPUT_PATH" \
9085 --paths-file lore-changed-paths.txt \
9186 --link-base "$LINK_BASE" \
9287 --max-inline "$MAX_INLINE" \
93- --out lore-decisions-comment.md
88+ --out lore-decisions-comment.md \
89+ --github-output "$GITHUB_OUTPUT"
9490 # One comment per PR, updated in place on re-runs (found by its marker).
9591 # No comment is created when nothing governs; an existing comment is
9692 # updated even to the empty state, so it never goes stale. A read-only
0 commit comments