Skip to content

feat(macos): whole-window sea polish A - #1426

Merged
raydocs merged 17 commits into
mainfrom
codex/macos-polish-a-20261006
Oct 7, 2026
Merged

raydocs merged 17 commits into
mainfrom
codex/macos-polish-a-20261006

Conversation

@raydocs

@raydocs raydocs commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Scope / ship plan

Mac polish A only, presentation preparation for docs/SHIP_PLAN.md 0.0.75 G1/G2. No UI auto-merge. B may be prepared but not pushed until A is on main; Claude owns this manual merge.

Windows scene scalar endpoints,11 byte-identical PNG textures and ambient clocks ported to a persistent native CALayer graph behind the whole window. Home/Sidebar follow M1–M3. Phase authority and seaToggleConnection remain byte-identical; no Windows/Core/Services/helper/PF/routing/account/update implementation changes.

Locked clarifications

  • Owner: Full water pairs allow sky-decoration changes.
  • Preserve Windows3800ms evening hold+2200ms night handoff and tier-star fade; no extra scene delays.
  • §4.2 measurement clarification / frame acceptance: encoded image mean, rise/arrival scene ROI(x80–920,y130–600), set whole frame across0…6000ms;1/255 allowance as recorded. Old strict whole-frame linear report retained separately, not relabelled a pass.
  • Auto bounded3s probe; Full/Lite/Static distinct loops, Low Power Lite, Reduce Motion Static. Clocks pause hidden/occluded/minimized/secondary pages.

Current source / verification

  • Source/test head 4570901: ci-gate37596390930 SUCCESS,642 XCTest/1 skipped/0 failures; Chinese whole-window narrow test1/0. Six new behavior regressions passed: scale-cache/layer pixel sizes, resize tree reuse/settling, paused phase no replay, Reduce Motion press scale1, native disconnecting Restore entry/OCR, one-shot latency expiration without interaction.
  • Records-only head 07ee967: ci-gate37599813927 pending. Ten doc files only; apps/.github/tooling unchanged from457. The gate actually evaluates the whole PR and reruns macOS; not claiming those jobs skipped.
  • 120 original PNGs individually viewed and hash-checked, plus17 explicit derivatives.118 A originals:48 en/zh whole-window state/page poses,12 accessibility poses,48 transition frames,4 Full water images,5 preflights,1 night reference. Two restore regression images additionally inspected; black offscreen diagnostic excluded as acceptance evidence, native sibling proves visible action. Complete dimensions/hashes/individual notes in ~/Downloads/Tono/mac-polish-a-20261006/4570-delivery/IMAGE-INSPECTION.md / original-image-manifest.json; first-source artifacts linked from the source CI run. No original image edits.
  • Title proof: all six original0/1 frames and six corresponding crops show a single title/subtitle string.90ms old-group exit then130ms entrance, one stable view, invisible replacement; scene/state/actions not delayed. Earlier0527 CI-green but visually failed ghost frames retained, not erased. title-proof/three-transitions-0-1.png labels the requested crops and provenance.
  • §4.2 independently reproduced: rise 20.8 21.1 22.4 23.5 25.2 27.1 29.3 31.6 34.2 36.8 39.3 42.0 44.1 45.9 47.3 47.8; arrival 52.0 51.9 52.3 52.9 53.4 54.1 54.9 55.7 56.4 57.0 57.7 58.0 58.2 58.4 58.6 58.6; set 54.0 53.9 50.3 44.7 38.6 33.2 29.3 26.6 24.7 23.8 23.3 22.9 22.6 22.4 22.2 22.1. Set max single drop 19.0907% of total (≤25%); night mean delta0.006486 on0–255 scale. Source Windows timings untouched. Full water changed72437/87114 pixels.
  • Different archived metric: strict whole-frame linear sRGB/Rec709 first-rise delta-0.005267941/arrival-0.003268892 (headline fade), exit2; setPASS24.7289% drop. Original report/series retained unchanged.
  • Local docs diff/records validation passed; no MacBook native build/test/package. Native actual time brackets retained, not exact uniform hardware frame timestamps.

Independent review / stop rule

  • 3173f320 PASSED on82; rebased scoped patch byte-identical(cmp0).
  • Continuation7957497e actual completed/PASSED, exact457, range0ec8bab3(origin/main)...457; OpenAI finder trace gpt-6.1-sol/high. Seven prior labels rechecked by three vendors; six unique3173 defects. No blocker/unverified findings. Binary11 textures excluded from text review but byte-compared separately. Reviewer did not independently see final headline images; root/spec-author visual checks are separate above.
  • Two new confirmed minor findings are the same resize-origin defect: R1426-opus-F1, R1426-codex-F1. left open by the jev-route stop rule after1fix round(7957497e); fix in package B first commit. A source frozen; no further fix round.
  • Reviewed/CI-passed existing finding fragments still say in-PR because A is not yet on main; after merge use fixed(<actual main merge SHA>). This avoids falsely recording a PR head as a main merge.

Additive en → zh resources

Lite → 轻量; View steps → 查看步骤; Restore normal internet → 恢复普通网络; %lld ms → %lld 毫秒. Existing safety wording not shortened.

Limitations / not release acceptance

  • fixed-AppKit-surface fixture mounts production ContentView with default safe areas; native3buttons/window bounds verified. It does not prove production WindowGroup opening/default-size/resizing. Spec author explicitly moved the real installed screenshot to first signed0.0.75 candidate/G1; it is unavailable now, not claimed complete. Local signed app remains0.0.74; unsupported ad-hoc CI beta was not installed/re-signed. No trust/auth bypass.
  • Synthetic-host CPU: arm64/low-power-off, own user+system/wall one-core%,5s,capture excluded; no production helper/network load. Idle0.30617%/connected0.22754%/hidden0.25459%; hidden is not literal0.
  • Sun-disc rim retains subpixel anti-aliasing shimmer; native material blur not asserted identical to CSS26/34px kernel.
  • Isolated alpha254 seam uses the pre-existing isolated-edge acceptance contract; not newly loosened or falsely eliminated.
  • Resize-origin displacement/rebuild snap remains open in the two fragments above until B's first fix.

Only source/docs, no new signed candidate, installation, customer-channel publish or owner G1/G2 sign-off. docs/changelog.d/2026-10-06-macos-polish-a.md retains all prior failures and new reviewed range/CI/limitations.

@raydocs

raydocs commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

First hosted compile of 0685f5d reported two bounded renderer errors (CGFloat→NSNumber stop and luminance expression type-check timeout). Both corrected; latest head also anchors evidence output to apps/macos and retains canonical Windows sunset day/path/light durations. New CI pending, no native or visual acceptance claimed. First failure log retained locally; not loosening any render/OCR assertion.

@raydocs

raydocs commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

a07fbfb Release app, policy-tests and privileged-tests passed; XCTest did not compile because the native SwiftUI accessibility keys are read-only. Fixed with shared display inputs (production reads OS, fixtures inject identical presentation values without modifying host preferences). Normal whole-window poses now use real initial Full mounts/live loops; transitions/navigation are tested on the same persistent window. CPU receipts explicitly describe synthetic UI-host scope, not production connected-device acceptance. Latest CI pending; no visual/CPU pass claimed.

@raydocs

raydocs commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

第一批真实原生证据(bded69b8 / run37530231293):应用/策略/helper通过,632 XCTest(1 skipped、1 failure);新整窗和动效测试确实执行通过,但旧stored-off夹具有1个alpha254像素失败。原图分析arrival亮度单调,rise/set的严格整窗指标失败,未放宽断言或修改原PNG。首批窗口尺寸/页面继承/过渡未稳态也已识别,不能当作规格验收。454a26ff修补不透明SwiftUI底、原生窗口请求尺寸/明确断言、状态和稳态页面夹具;另修星点层级CSS覆盖与LowPower下Auto采样。ci-gate37532863763待跑,仍草稿;无B/C/D、安装、发布或G1/G2改动。完整原证据和检查范围记录在本PR changelog及共享MAC-POLISH-A-CODEX-STATE.md。

@raydocs

raydocs commented Oct 6, 2026

Copy link
Copy Markdown
Owner Author

454a原生续测仍失败:634tests/1skipped/17failures。1280×720真实窗口面/页面选择/稳态图已修对并实际看过;920高度在toolbar首次布局后仍增4pt,严格alpha仍1个254像素。8b5d8e73再从源码/原生夹具修:toolbar首次布局之后重新设置请求外窗;首页胶囊填充/描边/材质/点击区域统一用CSS圆弧几何(SwiftUI默认continuous会延伸接缝)。未放宽尺寸或透明度断言,未修饰PNG。run37534975917待验证,原始亮度指标仍未裁定;A未通过、B未开始。

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Package A frame review (spec §4) — head 82b91e6, ci-gate run 37591069668

Reviewer: Claude session (spec author), not the owner. Evidence: artifact tono-macos-tests-59b1f404…, renders/.

Looked at (contact sheets built from the unmodified PNGs, then crops at 2×): the three 16-frame strips (rise, arrival, set), all 24 whole-window captures en/zh × 920/1280 (7 states + 5 pages each), the 12 accessibility captures, the 4 water frames, polish-a-motion-receipt.txt.

Measured (mean luminance of each whole frame, 0–255):

  • rise 22.7 22.6 23.6 25.3 26.6 27.9 29.4 30.7 32.3 34.2 36.1 37.6 39.1 40.2 40.9 41.4 — monotonic (frame 0→1 is −0.1, noise). Pass.
  • arrival 44.6 46.0 46.5 47.2 48.5 49.3 50.8 51.8 52.3 53.2 53.5 54.0 54.3 54.6 54.8 54.8 — monotonic; the last four frames move < 1/255 each. That is the ease-out settling, not a hold; spec §4.2 now says so (erratum 2026-10-07). Pass.
  • set 54.6 54.4 51.0 46.0 39.4 34.3 29.6 27.3 25.4 24.4 23.9 23.6 23.3 23.1 23.0 22.8, frames span 0.28–6.13 s — non-increasing, max single-frame drop 6.6 = 21 % of the 31.8 total (limit 25 %), last frame 22.8 = night reference 22.8. Pass under the §4.2 erratum.
  • water, pixels differing ≥ 8/255 between the two frames 500 ms apart: idle sky 8, water 965; connected sky 185 (all on the sun-disc rim, bbox 519–717 × 84–173 — rim anti-aliasing, the sky itself is unchanged), water 7450. Pass.
  • CPU 0.37 % (idle) / 0.42 % (connected) / 0.51 % (hidden) of one core, synthetic host without helper load — fine; scope is as the receipt says.

Verdict: A is accepted on the scene, the transitions, the whole-window layout and the secondary pages. Two items before it merges:

  1. Headline double exposure. At the start of every transition both the old and the new title are legible at once (polish-a-set-00: "Connected" over "Not connected"; polish-a-arrival-00: "Connecting" over "Connected"; polish-a-rise-00 and polish-a-arrival-04: the subtitle does the same). A symmetric cross-fade of two different strings reads as a glitch. Fade the old string out before the new one fades in (or opacity + a few points of vertical offset, sequential), title and subtitle alike; show it with the frame-0/1 crops of the three strips.
  2. One real-window capture. Every capture is mount=fixed-AppKit-surface-not-production-WindowGroup-sizing, toolbar=false. Attach one screenshot of the installed app's Home window (the production WindowGroup, default size, idle) so the sky reaching the title bar is seen on the real window, and list the fixed-surface mount under limitations in the PR body.

Not blocking, to list in the PR body as limitations: fixed-surface mount; CPU figure is synthetic-host scope; the connected sun rim shimmers by sub-pixel anti-aliasing (not a sky change).

B does not start before these two land. The jev-route review of this head is running in parallel; its receipt follows as a separate comment.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

A final presentation correction — 0527cd5

The spec-author frame review of 82b91e6 is recorded at issuecomment-6034002168. I have pushed the headline correction: title and subtitle are keyed as one group; the opacity transition has disjoint incoming/outgoing visible intervals. It does not delay the state, scene or buttons; Reduce Motion replaces immediately. One narrow XCTest covers the visible-interval contract. New 0/1-frame crops and actual native verification are pending ci-gate37594110843. No Windows changes/B work.

The parallel review is for 82b91e6, not this new head. Please record its exact coverage; this delta is only Dashboard text presentation, its XCTest and records, no new lifecycle/helper/routing logic. Do not merge until exact-head gate and final evidence are ready.

Real installed-window evidence is not yet available. Read-only local inspection found /Applications/Tono.app is signed 0.0.74, not this UI. The current regular CI beta has TeamIdentifier=not set, Signature=adhoc and codesign --verify --deep --strict fails (code has no resources but signature indicates they must be present). The canonical packaging script explicitly refuses an unsigned/ad-hoc test app because the helper authenticates Developer ID. The existing candidate-signing workflow refuses arbitrary PR refs. I did not replace the owner's signed app, self-sign/repackage on the MacBook, bypass the account gate or change candidate trust restrictions for a screenshot. A current-head installable signed candidate / approved packaging host is required for this item; alternatively the spec author must explicitly distinguish a production-WindowGroup UI launch from an installed release candidate. The fixed-surface fixture is not that evidence.

82b91e6 actual CI: 635 tests / 1 skipped / 0 failures, Chinese narrow run 1 test / 0 failures, gate success. Raw A originals (118) and logs retained. The root analyzer uses linear sRGB/Rec709 and still flags the rise first delta -0.002673285; set passes (23.67046% maximum drop, endpoint difference 0.000003508), arrival and Full water pass. The spec author's 0–255 image-mean metric has different values/noise interpretation; its acceptance is not relabelled as a pass of the root's strict metric.

PR limitations now include fixed-AppKit-surface mount, synthetic-host CPU scope and sun-disc-rim sub-pixel anti-aliasing shimmer. Actual screenshot timing brackets retained. A has two remaining premerge items; B remains unstarted. No install, signing, customer publication or G1/G2 change occurred.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

jev-route review record — decision 3173f320

  • Review decision: triple via jev, confidence 0.27
  • Slots: opus → anthropic (high effort, success); grok → xai (high effort, success); codex → openai (high effort, success); substitutions: none
  • Verification: opus verified by codex; codex verified by opus; confirmed 7, refuted 0, downgraded 0; rechecked: none
  • Chain: 3173f320 PASSED; fix rounds: 0
  • Stop rule: does not qualify (no fix round yet) — all 7 findings are minor; one fix round, then any still open go to docs/findings.d/ or the PR body's limitations (owner stop rule 2026-09-26).
  • Head 82b91e6350eae28bf8ed73a7592ab0a92697ad0b, range origin/main...HEAD

Confirmed minors (verifier in brackets):

  1. 3173f320/opus:F1 [codex] SeaSceneLayerView.swift ~772 — every size change rebuilds the whole CALayer tree and re-bakes all textures and luminance masks pixel by pixel on the main thread; repeats per frame during live resize / full-screen transition.
  2. 3173f320/opus:F2 [codex] SeaSceneLayerView.swift:129 — with scene.speed = 0 configure still calls apply(animated: true); change() takes root.convertTime(CACurrentMediaTime()) as beginTime (line 646), frozen at pause, so a phase transition during a pause replays from the start when visible again.
  3. 3173f320/opus:F3 [codex] ContentView.swift:37 — the sea Home hides ProtectedOfflineBanner; while isDisconnecting the Home actions show only the disabled "Disconnecting…" and the blocked card branch hides Restore when primaryActionInHeader, so the restore-network entry is missing in that state.
  4. 3173f320/opus:F4 [codex] SeaSceneLayerView.swift:78 — didChangeBackingPropertiesNotification handler only calls reconcileVisibility(); contents and contentsScale stay at the creation scale. Same defect as 6.
  5. 3173f320/codex:F1 [opus] SeaHomePillStyle.swift:50 — Reduce Motion drops the animation but keeps the press scale; docs/ui-design-system.md §7 fixes scale at 1 under that setting.
  6. 3173f320/codex:F2 [opus] SeaSceneLayerView.swift:62 — texture rebuild compares point size only, not backingScaleFactor; moving between displays of different scale keeps the old-scale bake.
  7. 3173f320/codex:F3 [opus] DashboardView.swift:326 — the 120 s latency validity is checked only on SwiftUI evaluation, no expiry; an idle Home keeps a stale reading on screen past the window (decision 070).

Grok (effort low, 5m31) reported clean with 6 checks; Opus 9m13 and Codex 8m34 found the seven above. Recorded as a jev-route calibration point (Grok low on a code diff).

@raydocs
raydocs force-pushed the codex/macos-polish-a-20261006 branch from 0527cd5 to 4570901 Compare October 7, 2026 08:49
@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

One minor-fix round + current head

4570901, rebased conflict-free onto main0ec8bab3f5a09cf5b0da15ee5b6278150b11f8db. ci-gate37596390930 pending. B not started; no Windows/Core/Services/helper/PF changes.

3173f320 actual review-run summary read back completed/PASSED,7confirmed,0blocking; not merely repeating a report. Reviewed scoped patch bca5fa9a8..82b91e635 and rebased equivalent 0ec8bab3..adb202f63b746f62a84dd7106eaf48d87aa4e4b5 are byte-identical (cmp exit0). No new main Mac changes / conflict resolution. Please review only the new correction range adb202f..4570901 and reuse the recorded coverage.

Finding One-round correction / narrow native regression
opus:F1 Live resize stretches existing graph until drag end; other repeated layouts debounce150ms. Actual tree identity/settling test. No per-frame raster loop.
opus:F2 Phase/progress changes while inactive/hidden/paused apply immediately without transition keys; ambient clock remains paused. Actual no-transition-key test.
opus:F4 = codex:F2 Cache key includes backingScaleFactor; NSView backing callback invalidates layout; layer/mask scales rebuilt. Actual NSWindow scale-change layer/CGImage pixel-size test (synthetic display scale, not hardware multi-display).
codex:F1 Reduce Motion press scale fixed1. Narrow shared presentation regression.
opus:F3 Home disconnecting state has explicit Restore normal internet via existing handler. Original native image/OCR regression; no handler invoked.
codex:F3 Isolated reading child schedules one cancellable120s expiry (no network/periodic sampler); actual NSHostingView text fitting width must disappear without user/sample change. Decision070 clarified presentation-only expiry.

Title proof correction: 0527cd5 gate passed, but root viewed all six 0/1 originals and found first-frame fix merely moved residual double exposure into frame1. Retained as FAIL, not visually accepted. This head replaces one text group while invisible between90ms exit/130ms entrance; no outgoing/incoming view pair, inherited whole-surface legacy animation disabled for sea Home only. Quick canceled transition back to the shown text restores opacity. New 0/1 originals/crops still pending.

All six review findings have in-PR fragments pending native verification/review; not closed by source edits. Current changes include new cancellation/resize/expiry lifecycles, so independent current-increment coverage remains required before merge.

Installed-window item remains unavailable, as recorded in issuecomment-6034120799: local signed app0.0.74 is not this UI; regular CI beta strict verification fails and is not a supported helper-authenticated install. Did not replace/erase old app, re-sign locally, bypass authentication or alter candidate trust guards. Need a current-head installable signed artifact / approved packaging host, or explicit clarification of whether production WindowGroup launch evidence (not an installed release candidate) is acceptable. Fixed-surface screenshots alone do not satisfy it.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Package A re-judgement — head 4570901, ci-gate run 37596390930

Looked at: the frame 0–4 headline crops of all three strips from this run's artifact, set frames 0–2 at full scene size, and recomputed every series.

  1. Headline double exposure: fixed. Frame 0/1 of rise, arrival and set show one string at a time ("Not connected" → faint "Connecting" → "Connecting"; "Connecting" → "Connected"; "Connected" → "Not connected"). Accepted.
  2. Luminance after the headline fade. Whole-frame means now dip at frame 0→1 of rise (20.7→19.5) and arrival (44.8→44.3): that is the 90 ms text exit, not the sky. Measured on the scene below the headline block (x 80–920, y 130–600) rise is 20.8 21.1 22.4 23.5 25.2 27.1 29.3 31.6 34.2 36.8 39.3 42.0 44.1 45.9 47.3 47.8 (monotonic) and arrival 52.0 51.9 52.3 52.9 53.4 54.1 54.9 55.7 56.4 57.0 57.7 58.0 58.2 58.4 58.6 58.6 (−0.1 at the first step, within 1/255). Set stays a whole-frame measurement: 54.0 53.9 50.3 44.7 38.6 33.2 29.3 26.6 24.7 23.8 23.3 22.9 22.6 22.4 22.2 22.1, non-increasing, max single drop 5.6 = 17.6 % of 31.9, last frame = night. (On the scene region set frame 1 reads +2.2 because the sinking disc crosses the region's top edge — a crop artifact, not brightening.) The spec §4.2 now states this measurement method. All three strips pass.
  3. Real installed-window capture: recorded as a limitation, not a blocker. Production-WindowGroup launch evidence (a debug build of this head, no signing or trust change) would have satisfied it, but neither agent builds natively on the MacBook by the owner's rule and the CI beta cannot launch under the trust guards. The first signed 0.0.75 candidate (G1 packaging) is where the real window gets looked at; the PR body's fixed-AppKit-surface limitation stands.

Package A is accepted on frames. Merge waits only on the jev-route continuation review of this head (run 7957497e, in progress) and the records check. B may be planned but not pushed until A is on main.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

jev-route review record — decision 7957497e

  • Review decision: triple via jev, confidence 0.41
  • Slots: opus → anthropic (high effort, success); grok → xai (high effort, success); codex → openai (high effort, success); substitutions: none
  • Verification: opus verified by codex; codex verified by opus; confirmed 2, refuted 0, downgraded 0; rechecked: 3173f320/opus:F1, 3173f320/opus:F2, 3173f320/opus:F3, 3173f320/opus:F4, 3173f320/codex:F1, 3173f320/codex:F2, 3173f320/codex:F3
  • Chain: 3173f320 PASSED → 7957497e PASSED; fix rounds: 1
  • Stop rule: qualifies; 2 remaining limitation(s)
  • Head 4570901ebc9835fddd2a036a1d2bda84b23b6593, range origin/main...HEAD

Remaining limitations (one defect, found by both vendors, introduced by the opus:F1 resize fix)

  • 7957497e/opus:F1 minor, confirmed (verifier openai), apps/macos/Tono/Views/SeaSceneLayerView.swift:100: during live resize the old layer tree is stretched with sublayerTransform, which scales about the scene layer's anchorPoint (0.5, 0.5 = the centre of the new bounds) while the old tree is laid out from (0,0)…lastSize, so the stretched scene is offset from the new bounds — growing exposes the 0A0A12 ground on the right and bottom, shrinking on the left and top — and snaps back when the debounced rebuild lands. → docs/findings.d/R1426-opus-F1.md
  • 7957497e/codex:F1 minor, confirmed (verifier anthropic), SeaSceneLayerView.swift:102: same defect from the other side — the reuse path sets scale only and does not compensate the centre-scaling origin shift. → docs/findings.d/R1426-codex-F1.md

Left open by the owner's stop rule after one fix round; the fix (anchor the transform at (0,0) or add the translation) goes into package B's first commit, not another A round.

@raydocs

raydocs commented Oct 7, 2026

Copy link
Copy Markdown
Owner Author

Final records-only head — 07ee967

Pushed ten docs files only, source/apps/workflows/tooling identical to reviewed4570901eb. Exact-head gate37599813927 pending; it actually reruns macOS against the whole PR, not skipped jobs. No more A source fixes / no B push.

Added the two requested R1426 open fragments, one same-cause defect, exact stop-rule limitation; appended same changelog. Existing3173 labels are seven review labels in six root-cause fragments (O:F4 also covers C:F2). Review/CI closure recorded. Ledger defines fixed(main SHA) as actually merged, so these six + title retain in-PR until Claude's actual merge SHA exists; after merge they can be changed to fixed(real merge SHA), not a pre-merge457 head.

Read actual7957497e result/meta/trace: completed/PASSED, exact457/base0ec8, seven prior labels rechecked three ways, two minors/zero blockers/unverified; Codex finder gpt-6.1-sol/high. Headline visual evidence is root/spec-author, not falsely attributed to a reviewer that lacked the images.

All120 original delivery images individually viewed,120 hashes byte-identical;17 derived proof images viewed. Full list/provenance/notes: ~/Downloads/Tono/mac-polish-a-20261006/4570-delivery/. Native restore image has action; black offscreen image explicitly diagnostic/excluded. Six0/1 frames single strings. Reproduced new§4.2 image means match your rounded series; exact set largest-drop fraction is 19.0907%, still passes25% (the38.6→33.2/44.7→38.6 steps require checking the largest rather than17.6% estimate). Night endpoint difference0.006486/255. Archived strict linear whole-frame FAIL report retained separately, no metric/test cheating.

Production installedWindowGroup capture explicitly deferred to first signed0.0.75/G1 per your6034801982 comment; fixed-AppKit-surface/syntheticCPU/sunrim limitations remain. No install/signing/customer publication/owner acceptance claim.

@raydocs
raydocs marked this pull request as ready for review October 7, 2026 09:36
@raydocs
raydocs merged commit c8911d9 into main Oct 7, 2026
10 checks passed
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant