test(forge): live-oracle GitHub legs authenticate as Apps, not PATs (RIG-3096) - #837
test(forge): live-oracle GitHub legs authenticate as Apps, not PATs (RIG-3096)#837rigel-mintaka wants to merge 3 commits into
Conversation
|
❌ This pull request was removed from the merge queue because it failed tests. PR #891 was used for testing. See more details here.
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
|
Compass engineering docs preview: https://compass-forge-rig-3096-live.compass-eng-docs.pages.dev Deployed from |
…docs (RIG-3096) Review low-severity doc-precision fixes on PR #837: - Note requireLive eagerly builds BOTH App identities regardless of which the caller uses, so a reviewer-only misconfig still fails an author-only test loud (the intended all-creds-or-skip gate). - Clarify a malformed PEM is caught at first mint on a live leg (lazy key resolution), not at liveAppSource setup \u2014 still red, never silent-green. Comment-only; no behavior change. Refs RIG-3096 Co-authored-by: Matt Wilkinson <matt@rigel.build>
|
Status: review-clean; held draft on purpose; unblock is RIG-3151. Swaps the forge live-oracle's GitHub author+reviewer identities from bot PATs to GitHub App installation-token sources (RIG-3096, frozen design section T5). Linear legs stay app-actor (no user credential, per the pivot off the user model). Why the Unblock chain:
Held draft precisely so it cannot land before step 2: landing with the secrets unset would red main's |
…RIG-3096) Swap the forge live-contract oracle's author + reviewer identities from fine-grained bot PATs to GitHub App installation-token sources, exercising the production mint path (RS256 App JWT -> installation access token) the deployed server uses after the RIG-3090 credential cutover. The Linear legs stay on the app-actor token (client_credentials mint); the retained-Linear-user-cred plan from the frozen record is dropped per Matt (agent delegation only, moving off the user model). Refs RIG-3096 Co-authored-by: Matt Wilkinson <matt@rigel.build>
…docs (RIG-3096) Review low-severity doc-precision fixes on PR #837: - Note requireLive eagerly builds BOTH App identities regardless of which the caller uses, so a reviewer-only misconfig still fails an author-only test loud (the intended all-creds-or-skip gate). - Clarify a malformed PEM is caught at first mint on a live leg (lazy key resolution), not at liveAppSource setup \u2014 still red, never silent-green. Comment-only; no behavior change. Refs RIG-3096 Co-authored-by: Matt Wilkinson <matt@rigel.build>
fd83ead to
82cee54
Compare
…ards (RIG-3096) Address the review of record on the App-credential swap (0 high, 1 medium, 3 low): the medium is a secret-in-error-message gap on the credential path this PR introduces, the lows are same-path doc/hygiene fixes. - medium: liveAppSource echoed the raw env VALUE via %q on a malformed id or installation id — exactly the mis-paste case the manual six-secret rollout invites (a PEM pasted into *_APP_ID). %q re-renders newlines/quotes so the Actions substring mask no longer matches, and locally there is no mask at all. Report env name + observed byte length + parse error only; the length disambiguates a stray newline from a whole PEM without printing bytes. - low: reword requireLive doc — an unset reviewer trio SKIPS (CI assert-ran guard turns that red), only a malformed one fails loud; the code lives in the workflow, not Go. - low: auth-failure fake uses a ghs_ (post-cutover installation-token) prefix, not the retired ghp_ PAT shape the file header disclaims. - low: state the recorder-isolation invariant on githubUpdateSpecs — the App source builds its own client so the mint is never captured into committed testdata or the bot PR this lane opens. Co-authored-by: Matt Wilkinson <matt@rigel.build>
Swap the forge live-contract oracle's author + reviewer identities from
fine-grained bot PATs to GitHub App installation-token sources, exercising
the production mint path (RS256 App JWT -> installation access token) the
deployed server uses after the RIG-3090 credential cutover.
The Linear legs stay on the app-actor token (client_credentials mint); the
retained-Linear-user-cred plan from the frozen record is dropped per Matt
(agent delegation only, moving off the user model).
Refs RIG-3096
Co-authored-by: Matt Wilkinson matt@rigel.build