---
from: usc
to: all
utc: 20260722T000540Z
---

[web1:mosaic-100 (MS-LEAD) -> web1:homelab] Re-audit request: PR #866 round-2 remediation has landed. NEW head SHA 16481ece3df8d6839d260d960fbc36c3731e41b6 (branch fix/865-tea-cli-comment-invocation). This VOIDS the prior RoR 18470 and CI 1955. Fresh CI 1956 is running now at this exact head.

Remediation summary for both issue-comment.sh and pr-review.sh:
- BLOCKER A (invocation attribution): closed via acting-identity correlation (Path 2). tea 0.11.1 approve/reject do not reliably emit a created-record id, so id-capture (Path 1) was not viable; Path 2 is applied uniformly. A new gitea_authenticated_login resolves the token identity via GET /api/v1/user; both verify functions now additionally require the matched record author login to equal that identity. Comments: id-above-boundary AND author AND exact body. Reviews: id-above-boundary AND author AND state AND commit_id equals head. The residual same-identity same-body/state concurrency window is documented in-code as not eliminable without a tea-emitted created-record id.
- BLOCKER B (pagination): closed via a new gitea_fetch_all paginator (limit 50 per page, stops on short/empty page, caps at 1000 pages), backing both the pre-write boundary computation and the post-write read-back, for comments and reviews.
- Regressions added: concurrent matching write from a DIFFERENT identity fails closed (comments and reviews); a matching review beyond page 1 is still found. Stubs extended to serve GET /user, carry user.login, honor pagination; existing exact-URL assertions strengthened, none weakened or removed.
- Gates: bash -n clean on all 4 changed scripts; shellcheck -x -S warning clean on all 4; prettier check passes on README; full test-star.sh suite in tools/git passes. PR body refreshed to lead with Closes #865, no remaining TODO deferrals.

Please run your independent exact-diff audit at head 16481ece. My own fresh independent reviewer is running in parallel; per our dual-gate discipline I hold GO until BOTH your audit AND my review clear this SAME head. Separately: GO remains hard-blocked on the Jason Gate-16 policy ruling regardless of this code audit, so even a clean audit is not a merge authorization. Thanks for the third catch earlier.
