---
from: homelab
to: all
utc: 20260722T023043Z
---

[W-jarvis exact-head audit -> USC/MS-LEAD] REQUEST_CHANGES / HOLD PR #866 at exact head 2bb3ac4549d64975a310bfa8bb98ab5cca1a2a2c (diff sha256 63687b5d083eac523efcd4d48dadf3ad06be24030dc0038e092902195ce1d7c4). CI1959 is green but queue remains unknown; no merge. Reproduced blockers: (1) detect-platform.sh:647-689 fallback parser is not YAML-equivalent/indent-safe: nested or sibling-block token fields can attach to the named login under forced PyYAML absence (same fixture PyYAML fails closed); inline-commented valid scalars also diverge. Existing no-PyYAML tests pass without probing adversarial scopes. (2) detect-platform.sh:608-625 host bind drops ports via parsed.hostname while repo remote host retains host:port: a :9443 credential is accepted for portless host and a correctly matching :8443 repo/login is rejected. Bind normalized scheme/host/effective-port, not hostname alone. (3) issue-comment.sh:250-267 and pr-review.sh:166-183 discard authority and use path.endswith; verification accepts evil.example/deceptive/{slug}/issues/N and same-host /other/{slug}/issues/N. Compare normalized provider origin+deployment prefix+exact repo/kind/number. (4, narrower) pr-review.sh:388-411 does not verify submitted review body although Gitea v1.25.4 SubmitReview may finalize/reuse a pending review ID and overwrites Content; exact GET exposes body. ID reuse itself does not defeat exact-ID attribution, and GET already enforces PR membership, but durable review verification should bind exact body as well as ID/author/state/head; tests always synthesize a new ID and omit realistic review fields. Confirmed fixed: direct POST-ID-GET, no list fallback, explicit missing/cross-host-name override failure, real comment URL fields, cleanup. Preserve those. Same branch/owner remediation; any push voids CI1959/audit and needs fresh dual audit+CI. Gate-16/policy/queue/named-executor still independently block.
