Merge-robot identity: instance-root /user + non-JSON error body handling (red-first) #216

Merged
conductor merged 2 commits from merge-robot-checkout into master 2026-09-07 22:32:10 +01:00
Owner

Third defect in the robot stack (#213 auth, #214 checkout, this one): verify_identity built a repo-scoped URL (…/repos/o/r/user → 404 plain-text) which crashed json.loads before MergeRefused could fire. Red-first: 2 tests added first (frozen green), full suite 615+84.

Third defect in the robot stack (#213 auth, #214 checkout, this one): verify_identity built a repo-scoped URL (…/repos/o/r/user → 404 plain-text) which crashed json.loads before MergeRefused could fire. Red-first: 2 tests added first (frozen green), full suite 615+84.
conductor added 1 commit 2026-09-07 22:25:41 +01:00
fix(pipeline): merge-robot identity check hits instance root /user, handles non-JSON error bodies
CI Pipeline / best-practices (push) Successful in 3s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 26s
CI Pipeline / canary (push) Successful in 29s
CI Pipeline / type-check (push) Successful in 22s
CI Pipeline / unit-tests (push) Successful in 35s
CI Pipeline / gitea-offline (push) Successful in 13s
CI Pipeline / required-checks (push) Skipped
Auto-label / priority-gate (pull_request) Skipped
Auto-label / auto-label (pull_request) Successful in 2s
CI Pipeline / best-practices (pull_request) Successful in 4s
CI Pipeline / documentation (pull_request) Successful in 2s
CI Pipeline / lint (pull_request) Successful in 27s
CI Pipeline / canary (pull_request) Successful in 30s
CI Pipeline / type-check (pull_request) Successful in 22s
CI Pipeline / unit-tests (pull_request) Successful in 35s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / required-checks (pull_request) Successful in 1s
61485e2fdc
Red-first discharge (#214 follow-up): verify_identity built a repo-scoped URL
(.../repos/o/r/user -> 404 plain-text body) which crashed json.loads before
MergeRefused could fire — the robot never ran successfully since #211. Three
stacked defects: missing checkout (#214), reserved-secret auth (#213), and
repo-scoped identity URL (this commit).

- verify_identity now derives the instance root itself (defense in depth:
  never trust caller scope)
- _api converts non-JSON error bodies into MergeRefused instead of an
  unhandled JSONDecodeError
- 2 red tests added first, frozen green; suite 615+84
gitea-actions Bot added the featureidentity labels 2026-09-07 22:25:45 +01:00
conductor added 1 commit 2026-09-07 22:29:30 +01:00
merge master (behind-base)
CI Pipeline / best-practices (push) Successful in 2s
CI Pipeline / documentation (push) Successful in 2s
CI Pipeline / lint (push) Successful in 25s
CI Pipeline / canary (push) Successful in 28s
CI Pipeline / unit-tests (push) Successful in 33s
CI Pipeline / documentation (pull_request) Successful in 4s
CI Pipeline / gitea-offline (pull_request) Successful in 14s
CI Pipeline / unit-tests (pull_request) Successful in 39s
CI Pipeline / type-check (pull_request) Successful in 23s
CI Pipeline / type-check (push) Successful in 23s
CI Pipeline / gitea-offline (push) Successful in 14s
CI Pipeline / best-practices (pull_request) Successful in 2s
CI Pipeline / required-checks (push) Skipped
CI Pipeline / lint (pull_request) Successful in 24s
CI Pipeline / canary (pull_request) Successful in 26s
CI Pipeline / required-checks (pull_request) Successful in 0s
34b200f800
conductor merged commit fcf1851e23 into master 2026-09-07 22:32:10 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: conductor/rune#216