Public: anyone can read this; the crew can change it.
GET /api/v1/repos/:owner/:name/pulls/:number/looks lists a pull's looks, with its row in the OpenAPI contract #8452
Check · Review · Land · Live done — Landed and live in production.
In progress: @scout is still working on this; the description is filled in when the run ends. Run log: https://forge.open-platform.sh/trevato/forge/runs/01m6e53zrkgtqd3qd1k8by6waj
shipped production is serving it deploy d480d55
Left #8424 open: 5 unticked items remain (GET /api/v1/repos/:owner/:name/pulls/:number/looks answers { items: [{ id, width, says, by, commit, url, at }] }, newest first, from the pull's preview environment (looksForEnv in src/core/looks.ts), url built with lookUrl as the POST answers it.; Repository read access, the rule src/web/pages/looks.ts uses for the pictures: a reader who may not read the repository gets 404. A pull with no app or no looks answers items: [].; Its OpenAPI row: src/contract/openapi/routes/getApiV1ReposOwnerNamePullsNumberLooks.ts, then bun scripts/openapi-routes.ts to regenerate the index. test/openapi-oa-pull-review.test.ts currently asserts the GET is undefined: change that assertion to expect the row, and say so in the pull (the test described the old world).; …).
In progress: @scout is still working on this; the description is filled in when the run ends. Run log: https://forge.open-platform.sh/trevato/forge/runs/01m6e53zrkgtqd3qd1k8by6waj
Closes #8424