Files

3.7 KiB
Raw Permalink Blame History

Filbert review, row 129 round 2: approve

Candidate manifest 9a6654349d4ce6a9448d717b83397f349b26d7e8c76f89139d347bb208974034 (15 paths), base d2df4d934. I reviewed and ran on d2df4d934 plus Rocko's r2 build.patch. All 15 hashes match, and git log d2df4d934..81109fdd8 on the 15 paths is empty. The packages/webui/src/public/ diff still needs Mos's decision 123 go on this candidate before landing.

Round 1 to round 2

I joined the r1 manifest (cfbadbd4...232b) with this one. 13 of the 15 hashes are the same; only packages/webui/tests/chat.test.mjs and packages/webui/tests/chat-browser.test.mjs differ. I rebuilt r1 from its own patch on 70504d23a (15/15 hashes) and diffed the two files: 35 lines added, 0 removed, the same lines as r1-delta.patch. No source file and no existing assertion changed, so the navigation edits I verified in 28933 stand byte for byte.

My four r1 requests

  1. chat.js send target. chat-browser.test.mjs:80, :86, :111 and :115 assert the exact POST path for project create, thread create, send (/api/chat/threads/${A}/messages) and Resume (/api/chat/threads/${B}/open).
  2. createThread instance. chat.test.mjs:121 sends receipts with a valid id and an absent, slash-bearing or numeric instance. Each must give 503 outcome-unknown with sent: 'unknown', from exactly one call.
  3. Receipt fields. chat.test.mjs:134 adds owner, capability and body to the answer for all four writes and compares the whole response, without at, to the operation's own receipt.
  4. Bidi controls. chat-browser.test.mjs:67-68 and :95-96 assert that the project list and the message log hold no raw U+202A-U+202E or U+2066-U+2069, and do show the escaped ‮.

Ran by me

Slot from sage-0787, with sage-0788's exception for Mos's sleep-loop shells. The busy check was CLEAR before and after. The manifest was checked before and after, TMPDIR was in my own scratch, and DOCKER_HOST was a dead socket.

  • Singles, 17:07:17Z to 17:07:52Z: chat.test 22/22, chat-browser.test 11/11, browser.test 1/1, shell.test 5/5, views.test 3/3. The awk sum is 42/42, 0 skipped.
  • My six r1 mutants again, 17:07:52Z to 17:08:53Z. Both controls passed, then all six were killed. The four that survived r1 now fail on the new assertions. A rerun to 17:09:45Z captured each failure:
    • g1, chat-http.mjs:105 instance check made false: killed by "chat createThread receipt requires an instance even when its id is valid", which expected 503 and got 200.
    • g4, chat-http.mjs:111 receipt replaced with { ...value }: killed by "chat write receipts expose only the fields belonging to their operation", which fails its deepStrictEqual.
    • g5, chat.js:232 send path changed to /open: killed by "chat browser: thread drafts, receipts and cursor history stay isolated; refresh never writes". It expected .../messages and got .../open.
    • g6, bidi removed from inert at chat.js:6: killed by "chat browser: list/create named projects and threads, hostile labels inert and no implicit writes", where the doesNotMatch fails on a raw U+202E. The same mutant also fails the message-body check in the thread test.
    • g2 (repo KEY) and g3 (GET/POST method guard) are killed again, as in r1.

Not mine

Rocko's r2 receipts (agents/rocko/work/queue-129/r2/), 16:52:17Z to 16:56:54Z: focused chat 22/22 and chat-browser 11/11; gate WebUI 179/179, bus threads 14/14 and CLI thread parity 11/11, total 204/204; mutants 68/68 killed, 65-68 aimed at my four r1 survivors.

For landing

Row 154 also changes browser.test.mjs:21. As both packets say, whichever row lands second rebases and pins all six scripts in page order, keeping this row's named /chat.js check. That rebase is a new candidate and needs its own review round.