Canvas cuts windows at the sides (production) #267
Closed
opened 2026-10-31 16:14:18 +00:00 by kayg
·
23 comments
No Branch/Tag specified
main
j470b-server-mesh-rejoin
mesh-compat-382
j444b-d381-key-wins-flood
j461b-macos-utun-reader-thread
j475b-remove-host-motion
fix-reconnect-new-link
j481-d380
dev
j479-mesh-soak
fix/j476-host-facts
j475-motion-pill-split
j470-mac-node-join
root-upgrade-d376
j474-review-merge
latency-targets-120hz
nightly-suite-shards
gotatun-pin-j469
macos-utun-reader-thread
fix-flood-echo-stall
wip/j416
motion-fast-ease-out
mesh-addhost-j259
takeover-close-terminals-d368
kbd-instant-followups
fix-trust-key-double-click
nightly-suite-partial-report
appwin-icons-j207
rusqlite-slice1
swipe-content-first-d374
mesh-mtu-381
addhost-instant-open
glass-contrast-d365-mock
glass-contrast-d365
signout-followups-442
fix-startup-toast-red
research-gotatun-matrix-j317
themes-sync-j304
fix-load-flakes
fix-nix-zig-patch
fix-compute01-browser-baseline
ratchet-size-baseline-419
predict-auto-d130
revoke-coverage-d367
nightly-suite-queue-timeout
nightly-browser-suite
fix-rustsec-2026-0459
fonts-ioskeley-obel
log-retention-d375
fix-kbd-no-anim-427
fix-dev-red-specs-2
takeover-proof-305-j205
wip/j410-server-pump
ui-consistency-d372
fix-osc52-clipboard
libghostty-vt-1.0
forget-retired-host-d369
j404-merge-426
fix-setup-lock-race
fix-touch-select-426
revoke-access-report-ui
fix-predictive-echo-specs
fix-selinux-agent-exec
wip/j395-checkpoint2
wip/j395
j391-review-scratch
ui-consistency-j195-deferred-rebased
fix-rustc-paths-421
decisions-wording-341
fix-install-suite-red
fix-dev-rtt-specs
fix-pending-removal-align
fix-privileged-skip
fix-install-suite-404
review-j368
mesh-dns-j254
revoke-access-report-d356b
revoke-privilege-round5
fix-removal-confirm
review-j360
gotatun-rotation-367
deps-refresh-340
review-j354
review-J351
review-j350
addhost-takeover-d359
revoke-report-items-347
revoke-end-sessions-d362
review-j348
size-mesh-ssh-346
size-trim-337
revoke-access-diff-d356
j259-pre-rebase-b06c5a6
j305-ended-at-start-spec
addhost-sudo-consent
fix-layout-real-specs-411
fix-shell-open-411
fix-console-hosts-373
fix-shell-exit
fuzz-host-name-353
fix-host-details-410
macos-filter-j197
research-gotatun-tricks
revoke-p3-j216l
stale-state-pill
revoke-followups-j216k
revoke-progress-j216e
backup/macos01-20261106/lume/j197
backup/macos01-20261106/lume/appwin-icons-j207-stash0
backup/macos01-20261106/claude/stash-0
backup/macos01-20261106/claude/stash-1
backup/macos01-20261106/claude/J80-macos-s1
backup/macos01-20261106/claude/J80
backup/macos01-20261106/claude/J80-slice1-20261102
backup/macos01-20261106/claude/J16b-appwin-on-dev
backup/macos01-20261106/claude/appwin-launch-idle-146
backup/macos01-20261106/claude/J80-s1-run
wip/j259
trust-285-p3c
runtime-lock-j216f
mesh-ssh-p3-j175
tun-proof-p3b
trust-285-p3
terminal-polish-j271
tun-proof-p3
ssh-install-flakes-j216i
fuzz-fixes-j264
trust-285-a
trust-285-b
restart-oversized-fixture-j198
backup/macos01-20261106/lume/appwin-icons-j207
restart-bound-j216h
up-preflight-p3-j198
backup/macos01-20261106/lume/j251
up-preflight-j198
wip/up-preflight-j198-j245-p2
wip/up-preflight-j198-j245-p1
agent-fsync-offloop-j196
wip/up-preflight-j198-j245
settings-offscreen-j231
wip/up-preflight-j198-j226-inspection
wip/j103f
themes-j206
wip/up-preflight-j198-j226
flakes-j216c
backup/macos01-20261106/claude/j197
flakes-j216b
backup/macos01-20261106/claude/j197-red
wip/up-preflight-j198-review
flakes-j216
backup/macos01-20261106/claude/appwin-icons-j207
engineering-j208b
appwin-mock-j209
toast-stack-j165
engineering-j208
decisions-d351
decisions-d350
decisions-d349
appearance-presets-mock-j129
decisions-d348
docs-audit-spec
doc-coverage-baseline-raise
decisions-d347
decisions-d346b
decisions-d346
j88h-profile
ui-consistency-j195-deferred
ui-consistency-j195
engineering-practices-j194
preferred-login-ui-j166
signin-pools-263-j174
macos-node-265-s1
decisions-d345
decisions-d344
proxy-cgroup-j164
verify-quick-fuzz-329
proxy-start-io-j168
timing-flakes-j163
up-263-s1
mcp-events-j147
verify-quick-fuzz-j158
proxy-p3-j159
agent-resource-j157-detect
wip/j103d-final
remote-cancel-hang-j155
proxy-traefik-281-j62d
j149-verify-quick
proxy-traefik-281-j62b
j150-drop-unnamed
wip/j79d-red-r4
wip/j103d-d332
rootless-toast-j142
wip/j103d-head
wip/j103d
j125c-mcp
macos-build-j136
backup/macos01-20261106/claude/j136
wip/j79d-red-cli
wip/j79d-red-server
j121-link-liveness
j118c-tracer-failures
wip/j79c-head
release-desktop-j131
j124c-signed-macos
wip/j79c-red-p3
wip/j79c-red-p23
wip/j79c-red-p22
merge-j128-check
perf-deferred-j128
sidebar-toggle-260
j127-shortcut-changed-dot
j125-mcp
j118-tracer-failures
j126-account-summary
settings-sections-mock-j92
j120-pinch-lock
sidebar-292
backup/macos01-20261106/claude/j120
taste-2026-11-03
row-actions-242-215
backup/macos01-20261106/claude/stash-0-untracked
backup/macos01-20261106/claude/J80-265-s1-run
backup/macos01-20261106/claude/J80-macos-s1-20261102
j112-canvas-commands
ui-no-overshoot-scroll
fix-recovery-restart
backup/macos01-20261106/claude/stash-1-untracked
taste-2026-11-02
size-baseline-ratchet
machine-cards-structure-j108
j109-boot-copy-mockups
fix-dev-red
wip/up-263-s1
j95b-settings-rows
proxy-traefik-281
j95-option-rows
docs-human-j91
docs-keys-palette
fix-flood-1013-270-j38d
mesh-ssh-s1
mesh-ssh-s0
addhost-d291-tunnel
test-stability-load
mesh-relay-220
repro-296
shim-thp-off-24
mesh-pins-258-v2
mesh-dns
signin-d311-merged
docs-pages
ui-size-283
fix-ui-batch-specs
wip/j12b-edge-update
gate-on-arm
fix-rename-sync-293
trust-285-j60b
fix-focus-ring-clip
integ-ui-1101
edge-update-v2
signin-d311
taste-2026-11-01
layout-per-tab-250
ui-approved-splitopt-224
ui-approved-splitopt-224-on-dev
icon-text-centre-282
ui-approved-189-212-216
research-reverse-proxy
transfer-budget-320
review-mesh-pins-258-r2
sidebar-pill-259
review-mesh-relay-220
wip/j12-edge-update-v2
nix-package
status-crash-loop-237
fix-dev-test-failures
fix-fixture-socket-path
wip/mesh-relay-220-pre-dev-advance-rebase
fix-canvas-side-clip
research-head-to-head
frosted-real-256
review-mesh-pins-258
wip/mesh-relay-220-pre-final-rebase
review-layout-per-tab-250-r2
broad-suite-triage
nix-devshell
review-status-crash-loop-237-r3
wip/nix-devshell-pre-p3
taste-frosted-real
wip/code-serve-demo-2026-10-30
wip/code-serve-glass-2026-10-30
wip/code-serve-clusters-2026-10-30
wip/code-merge-release94-dev-2026-10-30
wip/rproxy-delta-scratch-2026-10-30
wip/stale-note-257-staged-2026-10-30
wip/d241-size-staged-2026-10-30
review-broad-suite-207
wip/mesh-pins-258-pre-split
wip/mesh-relay-220-pre-rebase
mesh-measure-220
plan-211-update
review-edge-autoupdate-r3
perf24-reconnect
review-stale-note-r2
release-prod-live
d241-shell-marker
review-mesh-pins-server-258
review-revocation-r3
review-setup-token-r2
review-sync-journal-r3
wip/review-mesh-pins-258-prune-review-1995fee46
frosted-scroll-256
sync-journal-r3
revocation-per-account-wip
review-tokio-asyncfd-0386
review-sync-p3s
wip/stash-8by64-stash0-2026-10-30
mesh-drag-r2
setup-token-data-wip
release-9-4
auth-busy-1013
mesh-view-overlap
sync-p3s
review-auth-busy-wake
review-readd-r8-wip
mesh-drag-bounds
audit-auth-93
app-windows-stream-start
review-authority-cap-r3
app-windows-r7-measure
readd-minimal-r6
readd-minimal-r5
app-windows-r7-soak
readd-minimal-r4
app-windows-r7
app-windows-r6
readd-minimal-r3
readd-minimal-r2
readd-minimal
merge-release8-dev
review-busy-page-liveness-r2
review-busy-page-liveness
mesh-view-trim
review-authority-read-retry-r2
review-remove-uninstall-r2
release-retry-reattach
release-retry
review-remove-uninstall
review-authority-read-retry
app-windows-ship
mesh-autoswitch-p2
mesh-ssh
mesh-relay
mesh-macos-node
screen-and-control
session-labels
review-real-logins-r5
review-real-logins-r4
review-real-logins-r3
shim-memory-r2
review-real-logins-r2
shim-memory
shadow-addhost-instant
shadow-real-logins
shadow-same-session-flood
shadow-prod-perf-fix
hosts-from-server
app-windows-real
app-windows-transport
release-prod-6w
mesh-policy-verify
quiet-close-toast
dev-merge-r4
review-mesh-agent-transport
review-app-windows-transport
settings-roundtrip
review-release-pipeline-r4
mesh-agent-transport
ended-strip-fix
review-audit-ca-update-d244
settings-rows
phone-width
signout-clear
fix-restart-tests
dev-merge-rp
signer-hardening
review-audit-ca-update
terminal-fidelity
review-audit-ca-update-wip
mesh-integrate
review-mesh-agent-transport-515d3712
review-mesh-dataplane-feec1988
mesh-dataplane
signout
research-canvas-node
wip/review-renderer-cost
wip/review-terminal-fidelity
padlock-glyph
review-release-pipeline-2e95b689
phone-polish
sidebar-polish
inbox-generic
review-mesh-dataplane-378d4055
prod-batch
ui-inbox
ui-ca-unlock
ui-machine-sections
review-mesh-dataplane-a5f744fb
tls-session-prod
session-bounds-prod
fix-dead-session
session-bounds
tls-session
palette-polish
shortcuts-d222
research-appmeta
phone-gutter
ui-centre-button
wip/ui-centre-button
wip/tls-session
review-addhost-breakit
ui-platform
renderer-cost
remote-agents
mesh-api
ssh-bootstrap
prod-hotfix2
prod-fixes
review-remote-agents
review-mesh-dataplane
session-life
research-browser
review-mesh-api
research-capture
review-mesh-api-round3
review-mesh-api-round1
gate-stability
review-gate-stability
review-relay-direct
review-mesh-api-findings
proto-sessions
font-picker
proto-addhost
proto-windows
mesh-core
latency-gate
research-bsd
research-discovery
keytray-mods
mock-core
ui-tweaks
fix-motion-sel
fix-motion
integrate2
fix-robust
t-web
t-server
vt-ghostty
fix-snap-echo
t-web-auth
review-vt2
t-agent
lane-protocol
lane-shim
lane-auth
s1-base
s1-contracts
s1-workspace
No results found.
No labels
launch-qa
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
kayg/infraternal#267
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Owner report 2026-10-31: desktop terminal windows are clipped near both canvas side gutters. Independent review J3 of fix-canvas-side-clip at
614930d992against origin/dev42ab33035. Scope: diff and contracts; camera stops, content dimensions, resize limits, phones, narrow desktop and D309. No fixes or pushes by reviewer.J3 independent review started. Branch
fix-canvas-side-clip, head614930d9928c314e446366d9c0a5493aa352e3d3, baseorigin/dev42ab33035. Checks onclaude@infraternal-dev-01-compute01in an isolated detached review worktree, using the nix-devshell flake. Requested real browser specs, canvas unit tests, baseline comparison and final fast gate are in progress.J3 check update: branch canvas unit tests completed on compute01:
282 pass,0 fail,19731 expect() calls,Ran 282 tests across 41 files. [50.78s]. The claimed two pre-existing failures did not reproduce on the head. Base comparison, real specs and the corrected fast gate had started, but new SSH connections now fail withNo route to hostover both IPv4 and IPv6; recovering results is currently blocked. Initial fast invocation used a nested login shell and failed to find bun; it was corrected to run scripts/verify directly in nix develop and is not treated as a product failure.J3 code-reading finding — P2: the new regression never exercises capped multi-column camera stops (
apps/tracer/real/window-overhang.spec.ts:70;apps/tracer/src/canvas/layout/geometry.test.ts:138).Evidence: the real spec removes every window but one. After the ceiling, its content is narrower than the viewport, so
stopsForreturns atlayout/stops.ts:36; the changed branch at line 40 is never reached. Every existing stops unit test omits the new maxW argument. The added geometry unit test checks scalar drawnWidth outputs, but not capped contentSize/stops agreement or saved desktop weights. A defect omitting maxW from lock.ts or leaving raw widths in the multi-column stops would therefore escape the added case.Add a multi-column case with saved widths above the ceiling, assert content width and each reachable stop, and assert 719/720 px behavior and unchanged serialized weights. This is a coverage finding; no demonstrated P0/P1 regression.
Static contract review: coarse or width<720 disables the ceiling; D309 floor remains coarse-only and cannot be undercut by the ceiling; data-w remains raw; contentSize, stop accumulation and rendered columns share drawnWidth; focus positioning reads drawnWidthOf; maxW is included in relayout equality. No Rust/dependency/gate-source changes.
Separate residual limitation, not yet a confirmed rendered finding: D212 spanning windows cover the sum of separately capped tracks (
groups.on-demand.ts:139-157), which can still exceed the viewport. I will test that when compute01 returns; I am not promoting the static example to a regression claim. Owner/orchestrator confirms compute01 is down; remaining checks will be rerun through the new mandatory build-slot helper.compute01 returned after the owner restart. Remaining checks restarted via mandatory
~/infraternal-ops/build-slot.Base
42ab33035canvas units now independently reproduce the claimed failures:Both are oracle-output parsing failures (
SyntaxError: JSON Parse error: Unexpected EOF), inmodel/reducer-property.test.ts:50andmodel/review-boundary-r2.test.ts:42. Head rerun has reproduced the first and is still finishing the second; the earlier 282/0 head run shows this is intermittent. No reducer correctness assertion has failed so far.First browser attempt could not launch Chromium (
libnspr4.somissing); preparing the Nix browser package before retrying. This is environment setup evidence, not a product-spec failure. Fast gate is still running.Independent reviewer contract checks on compute01 now pass:
These external evidence tests verify capped multi-column content and every reachable camera stop at 720/800/1400/1650/2400 px, 719/720 px fine-pointer behavior, coarse strips, unchanged serialized weights and raw data-w under the desktop ceiling, and D309 minimums. Source and logs:
~/.cache/codex-scratch/j3-review/evidence/geometry-review.test.tsandgeometry-review.logon compute01.Remaining validation is queued through mandatory build-slot: clean final fast gate (queued 17:30 UTC VM clock), repaired Nix browser setup (queued 17:39). Four slots remain occupied. Before cleanup, zero-byte rlib/rmeta files from the hard reset caused a non-product Rust missing-crate error; the reviewer stopped that run and removed only its own target/debug cache for a clean rerun. The shared Nix-store repair is owned by the orchestrator. No branch source changes or pushes.
Static verification completed on compute01, exact caps unchanged:
Rust gate rows: fmt, VT fmt, compile-out, clippy, SSH helper, real-binary fixture paths, inode fixture, process-per-user shim, cargo-deny, and static builds all PASS. Workspace test row failed only at
ctrl_c_in_json_mode_ends_with_an_interrupted_envelope_and_exit_130(still running after SIGINT). This was caused by the reviewer background launch inheriting ignored SIGINT. Directly rerunning the same compiled test with default signal dispositions gives:The reviewer has corrected the launcher; a full final rerun with restored signals is queued after the requested real browser specs in one mandatory build-slot run. Browser closure is now installed from Nix (Chrome for Testing 156.0.8078.4); no branch source modifications. The queued browser/final-gate run has not obtained a slot yet.
P2: new regression spec races Console readiness and fails before its regression assertions (
apps/tracer/real/window-overhang.spec.ts:69-71, setup at:29-32, dereference at:44).Fresh production-server run on compute01 with Nix Chromium 156.0.8078.4:
The two centre.spec.ts cases passed. Error snapshot explicitly says
Console, 0 windows,No hosts yet. The new spec waits for the viewport shell, then measures a non-null-asserted Console window. It also closes the setup context as soon as the viewport exists. Await an actual Console window/session before closing setup or measuring/reloading; the viewport alone is not readiness evidence. The failure occurs at the first default-window fit, before any resize or setting change.Clean sequential unit runs, after rebuilding the reboot-damaged review cache, now pass on both refs:
Correction to earlier interpretation: the two post-reboot oracle failures did reproduce on both refs, but do not reproduce with the clean cache; they should not be counted as stable dev failures. The original pre-reboot head run also passed.
The signal-corrected fast gate passed every Rust row except an unchanged replay fixture whose default private path exceeded AF_UNIX length after PIDs reached seven digits (
109 bytes). Queued rerun uses supported short private state roots. Also queued: repeat the original overhang spec and a separate evidence copy with explicit window readiness; no branch modifications.The original overhang spec failed twice with the same zero-window/null-dereference error. A temporary review copy, with only explicit Console-window waits at existing viewport waits plus a screenshot, passes all original resizing/setting/reload/pan/narrowing assertions:
This isolates the new P2 finding to readiness, and supplies production-build evidence that the geometry fix works. The temporary test was removed;
git status --shortis empty on both review checkouts and head remains614930d9928c314e446366d9c0a5493aa352e3d3. Screenshot attached for owner review (1440×900 CSS px after narrowing, DPR 2); no visual-quality verdict by the reviewer.The last full fast run is now using a short private state root under
/home/claude/.cache/j3r, preserving the native trust boundary and same-filesystem hard-link fixtures. Its initial native binary suite passes (103 passed / 0 failed).J3 independent review finished. Verdict: MERGE under D206; no P0/P1 findings. Two P2 test repairs should follow forward.
Branch
fix-canvas-side-clip, head614930d9928c314e446366d9c0a5493aa352e3d3, baseorigin/dev42ab330358eb.Findings:
apps/tracer/real/window-overhang.spec.ts:29and:69. Waiting for.cl-viewportdoes not establish a Console window. Unchanged new spec failed twice at its first fit assertion (Console, 0 windows; null getBoundingClientRect). Await an actual Console window before closing setup and before measurements/reloads. A temporary copy with those waits passed every original geometry assertion; it was removed after capture.apps/tracer/real/window-overhang.spec.ts:70. The lone-column case takes the single centred-stop shortcut, never the modified per-column maxW branch. Add three oversized columns and verify every stop, content size, and persisted weights; also retain the 719/720 px and coarse-strip boundaries. Independent external contract checks passed 4/4 (36 assertions), including these geometry and persistence invariants.Requested checks on compute01 via nix-devshell and mandatory build-slot:
real/centre.spec.ts: desktop and phone cases both passed.1 passed (17.1s); screenshot attached in the preceding comment.bun test src/canvas: head282 pass / 0 fail / 19731 expectations; unmodified base281 pass / 0 fail / 19723 expectations. The claimed two pre-existing failures did not reproduce with a clean cache. Earlier post-reboot failures on both refs disappeared after rebuilding damaged artifacts.scripts/verify fast: exit 0. Signal defaults restored; supported short private fixture roots under/home/claude/.cache/j3r. Final output below is verbatim; complete raw output attached.Final TypeScript protocol output, verbatim:
Static sizes, verbatim:
Raw evidence:
/home/claude/.cache/codex-scratch/j3-review/evidence/on compute01; copied to/home/kayg/.cache/codex-scratch/j3-review/evidence/on the control host. Screenshot:single-column-fixed.png(1440×900 CSS px, DPR 2). All temporary repo test files were removed, both review worktrees are clean, and no review-owned process remains in them. No commits or pushes. Issue left open.J31 starting: fix-canvas-side-clip at
614930d99, rebasing onto origin/dev57491e918. Repairing Console readiness waits and adding three oversized-column camera-stop coverage; VM gates via build-slot, then lease push.J31 finding: J3’s readiness-only copy survives in ~/.cache/codex-scratch/j3-review/evidence/j3-overhang-readiness.spec.ts on the control host (the temporary repo copy was removed). Reused its actual Console-window waits at setup and reloads. Added a real three-column scenario: hand drags, oversized saved widths, Wide live/reload, narrower viewport, and forward/backward wheel stops including both endpoints. No product code changes. Compute01 final gate is queued via build-slot; evidence under ~/.cache/codex-scratch/j31/evidence/.
J31 validation status: queued about 16 minutes in compute01 build-slot (all four slots held by other jobs). Runner PID 2513848 remains healthy; no J31 build/test has begun. Host has 76 GB free. Rebased source and both test repairs are ready in ~/Developer/Worktrees/infraternal-side-clip-p2; VM ~/worktrees/j31; runner/evidence ~/.cache/codex-scratch/j31/. No product-code change, no test result claimed yet.
J31 crash-recovery checkpoint pushed with lease: fix-canvas-side-clip @
bacce9d911(WIP test commit, not a completion claim), rebased onto57491e918. Compute01 acquired a slot after ~21 minutes and is compiling the production x86 musl binary in ~/worktrees/j31. Runner log: ~/.cache/codex-scratch/j31/evidence/runner.log. Next: five consecutive overhang runs, centre spec, fast gate; amend WIP to final atomic test commit after evidence, lease push, delete target.J31 launcher finding: the initial standalone static build omitted scripts/auth-toolchain (normally called by scripts/verify), so OpenSSL compilation could not find target/auth-tools/zig/zig. No product assertion ran. Corrected the external runner to bootstrap the pinned checksum-verified Zig first and restarted via build-slot (PID 2828070). Initial log retained as runner-missing-bootstrap.log; no repo-source change for this environment correction.
J31 progress checkpoint: corrected runner PID 2828070 is still queued in compute01 build-slot after ~28 minutes (all four slots occupied by active builds). No new source changes since pushed WIP
bacce9d911; local worktree clean. Corrected external script ~/.cache/codex-scratch/j31/run.sh now calls scripts/auth-toolchain before static-cargo. Still pending: production browser runs and verify fast. Evidence/logs remain ~/.cache/codex-scratch/j31/evidence/; no completion or passing-test claim.J31 source-review finding before execution: live Window Sizes changes retain hand-resized pixel widths (views/world.ts fitWidths), while reload reconstructs them from rounded persisted weights (model/document.ts). Corrected the new test to require oversized raw widths after reload/narrowing, and compare canonical saved weights across reload instead of incorrectly requiring identical raw pixel widths. WIP checkpoint amended and lease-pushed to
0582a8cba; no product changes. Corrected runner remains queued.J31 source-review correction: clusters.css gives .cl-col 28 px of shadow padding beyond --w; the cap assertion now measures .ui-window boxes, consistently with the overhang assertions, rather than the scroller padding box. Latest WIP checkpoint
c0bd59174dis lease-pushed. Runner PID 2828070 is still queued; no production test result yet.J31 queue/launcher update: build-slot already applies nice -n10; removed the redundant outer nice -n10 that would otherwise produce nice 20 and slow compilation. Stopped only the still-waiting J31 runner and its sleep child, then restarted through build-slot as PID 3875009. Source checkpoint remains
c0bd59174d. The previous queue log is retained as queue-second.log (~80 minutes waiting); production tests and fast gate remain pending. No other job process or slot limit touched.J31 steering applied: clean rebase onto origin/dev
105b1a28d(only tracer files changed in the new base; Rust source identity unchanged). Latest WIP lease-pushed:b9cd1d38f5. Synced new overflow:clip-on-.panes CSS before the pending production tracer build; refreshed its comment to explain the current backdrop-root invariant, and updated the regression module comment to say canvas container. All five overhang runs and centre are still ahead, so every requested browser run will use the new clipping element. Compute01 has a slot and is compiling release Rust; PID 3875009, evidence ~/.cache/codex-scratch/j31/evidence/.J31 production build and tracer typecheck succeeded on rebased head
b9cd1d38f. The first browser invocation failed during config loading, before tests: the external Playwright config was treated as CommonJS and rejected import.meta in the repo evidence helper. Added type:module metadata outside the repo; a lightweight --list invocation now successfully discovers all four requested cases. Restarted the requested browser/gate sequence through build-slot. Build evidence release-build.log; loader failure overhang-config-loader.log. No product assertion has failed, and no product code changed.J31 browser validation on
fix-canvas-side-clipWIPb9cd1d38f5e76860e6717788d79fac4ed1ef60ad, rebased onto105b1a28d: all requested production browser checks pass on compute01 via build-slot andnix develop.real/window-overhang.spec.ts, five consecutive invocations, retries disabled:real/centre.spec.ts:The new three-column scenario hand-resizes each window, checks live Wide sizing, reloads with all three saved widths above the viewport ceiling, narrows to 1440×900, and traverses wheel stops forward/backward including both endpoints. Each framed window stays within 1 px of both viewport edges. Canonical saved weights survive reload and narrowing unchanged. No demonstrated product bug, so no product implementation change.
Attached production screenshots show each of the three columns at 1440×900 CSS px, DPR 2, after narrowing. These are evidence for owner review, not an author visual-quality verdict. Full five run logs and centre log attached.
scripts/verify fastis currently running; final commit/lease push/target cleanup will follow its result. Evidence:~/.cache/codex-scratch/j31/evidence/on compute01 and control host.J31 finished. Branch
fix-canvas-side-clip, final headb9c55d7c44e3fce7e0aa22c0a801bc843ed7ed70, rebased onto105b1a28d. Lease push confirmed. One atomic follow-up test/comment commit above the rebased original geometry fix; no new product behavior change.Completed both P2 repairs: actual Console-window readiness waits (reused J3 evidence copy), plus three hand-resized columns through live Wide sizing, reload and narrower viewport. Every wheel stop and both endpoints frame the intended window within 1 px of both viewport edges; persisted weights remain unchanged. Updated the clipping comment for overflow clipping on
.panes.Production checks on
claude@infraternal-dev-01-compute01, through build-slot andnix developin the job worktree:real/window-overhang.spec.ts: five consecutive invocations, retries disabled, 2 passed each (38.5s, 40.0s, 41.7s, 43.8s, 40.1s); no flakes.real/centre.spec.ts: 2 passed (26.6s), desktop and phone.scripts/verify fast: exit 0. Final summary and size/protocol output below, verbatim; full raw output attached.Both the final commit and the validated WIP have tree
73515c072508a9265e83dd69a4a4dc3ec70ad999; final amendment changed commit metadata only. Control and VM worktrees are clean, and the remote branch head matches. Temporary dev/test debug symbols were disabled to limit disk use; release settings were unchanged.Production screenshots of all three columns after narrowing and all browser logs are attached to the browser evidence comment. Evidence is also preserved under
/home/kayg/.cache/codex-scratch/j31/evidence/and/home/claude/.cache/codex-scratch/j31/evidence/.Cleanup confirmed: zero remaining job test/build/browser processes;
/home/claude/worktrees/j31/targetdeleted (7.9 GiB), private fixture root removed, control target absent. Issue left open. No blockers and no owner decision needed.Closed by the orchestrator during the 2026-11-09 night housekeeping (owner order: "close stale prs/issues"). The work has landed on dev, and the latest note here is a finish or merge note (J387 inventory on #436). Reopen if anything is still missing.