fix(framework): durable Gitea comment posting in pr-review.sh via REST + read-back verify (#812) #852

Merged
jason.woltje merged 6 commits from fix/812-pr-review-comment into main 2026-07-20 06:45:49 +00:00
Owner

Summary

Fixes #812: the framework wrapper pr-review.sh comment action silently posted nothing on Gitea. Root cause — the tea pr comment subcommand does not exist, so the shell-out fell back and exited zero (false success). Replaced with a supported Gitea REST POST that reuses existing URL/token resolution, fails non-zero on transport error or HTTP != 201, and read-back-verifies the created comment before reporting success. Approve / request-changes paths (tea pr approve / tea pr reject) preserved.

Closes #812.

Carved residual — NOT fixed here (honesty gate)

A distinct same-surface host-match edge — SSH transport port vs HTTP(S) provider port conflation, plus asymmetric default-web-port normalization — was found during round-3 re-review and carved to #850 per the standing round-4 anti-spiral stop. It is DEFERRED, not fixed, and does not affect the root-mount implicit-443 HTTPS deployment shape. Both concrete wrong-repo blockers that are fixed here (subpath-mounted slug + non-default HTTP port) carry committed red->green regressions.

Review provenance (author ms-812 != reviewer ms-812-review)

  • CODE round-3 focused re-review — RoR sha256 2c35f5e394e8f8abc44e922a1c41ff832a09b78d340ac5cd9f53b31715de24b6. Both round-2 blockers FIXED (subpath-slug + non-default-port PASS, each with committed red->green regressions); AC2-6 + C1-5 non-regressed; Codex 0.96.
  • The RoR verdict was recorded as REQUEST CHANGES solely as the anti-spiral STOP flag for the residual now carved to #850 — it was not a defect in the shippable core. Per the coordinator's pre-authorized round-4 ruling (carve + ship), the bounded core is authorized to merge; the residual lives in #850.

No self-merge. Merge ownership retained by the coordinator.

## Summary Fixes #812: the framework wrapper `pr-review.sh` `comment` action silently posted nothing on Gitea. Root cause — the `tea pr comment` subcommand does not exist, so the shell-out fell back and exited zero (false success). Replaced with a supported Gitea REST POST that reuses existing URL/token resolution, **fails non-zero** on transport error or HTTP != 201, and **read-back-verifies** the created comment before reporting success. Approve / request-changes paths (`tea pr approve` / `tea pr reject`) preserved. Closes #812. ## Carved residual — NOT fixed here (honesty gate) A distinct **same-surface** host-match edge — SSH transport port vs HTTP(S) provider port conflation, plus asymmetric default-web-port normalization — was found during round-3 re-review and **carved to #850** per the standing round-4 anti-spiral stop. It is **DEFERRED, not fixed**, and does not affect the root-mount implicit-443 HTTPS deployment shape. Both concrete wrong-repo blockers that **are** fixed here (subpath-mounted slug + non-default HTTP port) carry committed red->green regressions. ## Review provenance (author `ms-812` != reviewer `ms-812-review`) - **CODE round-3 focused re-review** — RoR sha256 `2c35f5e394e8f8abc44e922a1c41ff832a09b78d340ac5cd9f53b31715de24b6`. Both round-2 blockers FIXED (subpath-slug + non-default-port PASS, each with committed red->green regressions); AC2-6 + C1-5 non-regressed; Codex 0.96. - The RoR verdict was recorded as **REQUEST CHANGES solely as the anti-spiral STOP flag** for the residual now carved to #850 — it was **not** a defect in the shippable core. Per the coordinator's pre-authorized round-4 ruling (carve + ship), the bounded core is authorized to merge; the residual lives in #850. No self-merge. Merge ownership retained by the coordinator.
jason.woltje added 6 commits 2026-07-20 06:27:19 +00:00
Author
Owner

Durable exact-head APPROVE-context binding — do not merge without the coordinator 6-check

Exact head bound: 571b65d336af7236692e1ed3883d5570767d696e

CODE round-3 focused re-review (author ms-812 != reviewer ms-812-review, detached exact-head) — RoR sha256 2c35f5e394e8f8abc44e922a1c41ff832a09b78d340ac5cd9f53b31715de24b6, Codex 0.96.

  • Both round-2 wrong-repo blockers FIXED with committed red->green regressions: subpath-mounted slug PASS, non-default HTTP port PASS. AC2-6 + C1-5 non-regressed. SSH normal-form + root-mount HTTPS non-regressed.
  • The RoR verdict was recorded REQUEST CHANGES solely as the anti-spiral STOP flag for a distinct same-surface residual (SSH transport port / explicit-:443 host-match normalization), now carved to #850 (DEFERRED, not fixed). That residual is not a defect in the shippable core and does not affect the root-mount implicit-443 HTTPS deployment shape.
  • Coordinator pre-authorized round-4 ruling: carve + ship the bounded core.

Posted via Gitea REST (the framework pr-review.sh comment path is the subject of this PR / #812).

### Durable exact-head APPROVE-context binding — do not merge without the coordinator 6-check **Exact head bound:** `571b65d336af7236692e1ed3883d5570767d696e` **CODE round-3 focused re-review** (author `ms-812` != reviewer `ms-812-review`, detached exact-head) — RoR sha256 `2c35f5e394e8f8abc44e922a1c41ff832a09b78d340ac5cd9f53b31715de24b6`, Codex 0.96. - Both round-2 wrong-repo blockers FIXED with committed red->green regressions: subpath-mounted slug PASS, non-default HTTP port PASS. AC2-6 + C1-5 non-regressed. SSH normal-form + root-mount HTTPS non-regressed. - The RoR verdict was recorded REQUEST CHANGES **solely** as the anti-spiral STOP flag for a distinct same-surface residual (SSH transport port / explicit-:443 host-match normalization), now **carved to #850 (DEFERRED, not fixed)**. That residual is not a defect in the shippable core and does not affect the root-mount implicit-443 HTTPS deployment shape. - Coordinator pre-authorized round-4 ruling: **carve + ship** the bounded core. Posted via Gitea REST (the framework `pr-review.sh` comment path is the subject of this PR / #812).
jason.woltje merged commit aa999daf1b into main 2026-07-20 06:45:49 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#852