From dc4b4334657f3dff36357443f8398e613d27aa07 Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 10 Aug 2026 04:12:43 +0000 Subject: [PATCH] =?UTF-8?q?docs(paperclip-runner):=20contract=20revision?= =?UTF-8?q?=203=20=E2=80=94=20resolved-mixed=20capture=20framing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 7G gate found §10.2's resolved-mixed row unsatisfiable in a single auto-scrolled frame under the contract's own settle and card-anatomy rules. Revision 3 pins the seeded five-state history, requires the expired-family chips in frame, and delegates full-set distinctness to the browser suite plus the gate's scrolled review pass. Co-Authored-By: Paperclip --- .../design/phase-7-issue-thread-ux-contract.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/paperclip-runner/docs/design/phase-7-issue-thread-ux-contract.md b/packages/paperclip-runner/docs/design/phase-7-issue-thread-ux-contract.md index 774a610a3b1..a9c077ce6e7 100644 --- a/packages/paperclip-runner/docs/design/phase-7-issue-thread-ux-contract.md +++ b/packages/paperclip-runner/docs/design/phase-7-issue-thread-ux-contract.md @@ -409,3 +409,21 @@ the card still reads as history at a glance. Implemented in `devtools/issue-thread/src/issue-thread.css` and covered by the axe gate on the `interaction-resolved-mixed` slug at both viewports. + +### Revision 3 — `interaction-resolved-mixed` capture framing (2026-08-10, written by the contract owner during the 7G gate) + +Revision 1's §10.2 row required four resolved/expired card treatments visible +in the `interaction-resolved-mixed` frame. Two of this contract's own rules +make that impossible in one capture: §10.1's settle signal ends with +auto-scroll to the latest thread item, and the §5/§8 card anatomy makes four +resolved cards ~1100px tall — taller than either viewport. The seeded history +(answered + accepted + rejected + `stale_target` + `superseded_by_comment`) +cannot fit one auto-scrolled frame. + +The row now reads: the seeded state must contain **all five** treatments +(answered, accepted, rejected, `stale_target`, `superseded_by_comment`), the +frame shows the latest-scrolled portion with the expired-family chips +(`Stale …`, `Superseded …`) fully visible, and the visual distinctness of all +five treatments is asserted by the browser suite plus a scrolled review pass +at the gate. Splitting the slug into two frames was rejected because the +24-PNG matrix count is referenced by the 7F/7K evidence and the §9.7 axe gate.