Merge round 35a #1458

Closed
opened 2026-10-08 09:19:25 +00:00 by kayg · 25 comments
Owner

Merge round 35a: accepted fixes from 2026-10-08 (list in the job brief). Base origin/dev d395b6e25.

Merge round 35a: accepted fixes from 2026-10-08 (list in the job brief). Base origin/dev d395b6e25.
Author
Owner

Started merge round 35a on job/merge35 in its own worktree.
Base: d395b6e25da20d8c67b8b9fc1a593b813939c8a7 (production).
I will merge the 28 supplied heads in order, one merge commit per item, then run the requested full merge-round verification. No push or deploy.

Started merge round 35a on `job/merge35` in its own worktree. Base: `d395b6e25da20d8c67b8b9fc1a593b813939c8a7` (production). I will merge the 28 supplied heads in order, one merge commit per item, then run the requested full merge-round verification. No push or deploy.
Author
Owner

All 28 supplied heads are merged in order, with one merge commit per item. Head: 938a141d5.
git fetch origin completed; git merge origin/dev returned Already up to date.

Conflict resolutions preserve:

  • Instance feature-flag authority comments and the xuser39 route review (22 classification tests pass).
  • Every-page Settings captures, deterministic rail setup, and collapse/reopen assertions.
  • One stopCollaborativeCapture export for links and Task Undo.
  • #1385 explicit-navigation classification with #1391 quiet programmatic focus; quiet restoration shares that implementation. Both regression tests remain.
  • Current Search Card/action layout with #1401 immediate Calendar hit summaries; both #1360 and #1401 e2e selectors remain.
  • Independent performance baseline entries from both sides. Exact source pins will be refreshed once after perf-lint reports changed hashes.

Full Rust gates have started with 4 build jobs, no incremental compilation, and line-table debug info. Dependencies were restored from the frozen Bun lockfile. No feature or product decision was added.

All 28 supplied heads are merged in order, with one merge commit per item. Head: `938a141d5`. `git fetch origin` completed; `git merge origin/dev` returned `Already up to date.` Conflict resolutions preserve: - Instance feature-flag authority comments and the xuser39 route review (22 classification tests pass). - Every-page Settings captures, deterministic rail setup, and collapse/reopen assertions. - One `stopCollaborativeCapture` export for links and Task Undo. - #1385 explicit-navigation classification with #1391 quiet programmatic focus; quiet restoration shares that implementation. Both regression tests remain. - Current Search Card/action layout with #1401 immediate Calendar hit summaries; both #1360 and #1401 e2e selectors remain. - Independent performance baseline entries from both sides. Exact source pins will be refreshed once after perf-lint reports changed hashes. Full Rust gates have started with 4 build jobs, no incremental compilation, and line-table debug info. Dependencies were restored from the frozen Bun lockfile. No feature or product decision was added.
Author
Owner

Merged head with exact source pins: 40b902ca7.

Completed:

Test Files  25 passed (25)
     Tests  473 passed (473)

Production web build completed. scripts/perf-lint --adopt-7c ran once after a changed-exception report:

perf-lint: PASS; 0 violations; 22544 scoped exceptions

contracts/perf/ratchet.json is byte-for-byte unchanged. No guard or threshold was weakened.

Rust compile and full web gates are running. Release server/CLI/sync compilation is queued for real-server verification. The previous-release binary is available at revision d395b6e25; a disposable production-shaped copy probe checks 64 Notes, 32 Files, source bytes, migration receipts and the one-time Search rebuild.

An extra generic Python discovery invocation did not provide three tests' required runner inputs (native staging executable and adversarial directory). This is a harness invocation limitation; focused changed probe tests and the real round use their intended setup.

Merged head with exact source pins: `40b902ca7`. Completed: ``` Test Files 25 passed (25) Tests 473 passed (473) ``` Production web build completed. `scripts/perf-lint --adopt-7c` ran once after a changed-exception report: ``` perf-lint: PASS; 0 violations; 22544 scoped exceptions ``` `contracts/perf/ratchet.json` is byte-for-byte unchanged. No guard or threshold was weakened. Rust compile and full web gates are running. Release server/CLI/sync compilation is queued for real-server verification. The previous-release binary is available at revision `d395b6e25`; a disposable production-shaped copy probe checks 64 Notes, 32 Files, source bytes, migration receipts and the one-time Search rebuild. An extra generic Python discovery invocation did not provide three tests' required runner inputs (native staging executable and adversarial directory). This is a harness invocation limitation; focused changed probe tests and the real round use their intended setup.
Author
Owner

Full web and editor gates passed on the merged source.

cd apps/web && bun run check (exit 0):

svelte-check found 0 errors and 4 warnings in 2 files

cd apps/web && bun run test --maxWorkers=2 (exit 0):

 Test Files  301 passed (301)
      Tests  2165 passed (2165)

cd packages/editor && bun run test --maxWorkers=2 (exit 0):

 Test Files  25 passed (25)
      Tests  473 passed (473)

cargo fmt --check returned no output and exit 0. Full Clippy, Rust tests, release build, browser regressions, upgrade and the adversarial round remain in progress or pending their build.

Full web and editor gates passed on the merged source. `cd apps/web && bun run check` (exit 0): ``` svelte-check found 0 errors and 4 warnings in 2 files ``` `cd apps/web && bun run test --maxWorkers=2` (exit 0): ``` Test Files 301 passed (301) Tests 2165 passed (2165) ``` `cd packages/editor && bun run test --maxWorkers=2` (exit 0): ``` Test Files 25 passed (25) Tests 473 passed (473) ``` `cargo fmt --check` returned no output and exit 0. Full Clippy, Rust tests, release build, browser regressions, upgrade and the adversarial round remain in progress or pending their build.
Author
Owner

Finding: apps/web/e2e/quicklook-clear-1408.mjs used a hard-coded failure output path in the qltitle-1408 worktree, and scale: 'device' made a 390px phone capture 780 pixels wide.

Fixed in 2d7e52235: reuse harness.mjs's capture helper, save failures in the selected local artifact directory, and use CSS-pixel scale for actual-size screenshots. Every functional assertion remains unchanged. node --check and git diff --check pass. The requested production e2e round will run this script.

Finding: `apps/web/e2e/quicklook-clear-1408.mjs` used a hard-coded failure output path in the `qltitle-1408` worktree, and `scale: 'device'` made a 390px phone capture 780 pixels wide. Fixed in `2d7e52235`: reuse `harness.mjs`'s capture helper, save failures in the selected local artifact directory, and use CSS-pixel scale for actual-size screenshots. Every functional assertion remains unchanged. `node --check` and `git diff --check` pass. The requested production e2e round will run this script.
Author
Owner

Finding: the #1409 e2e harness overwrote /api/v1/version with author-specific build ID 1409a1409a1409a. The merged web build has ID 938a141d5, so this override would create an Update available notice in otherwise matching production captures.

Fixed by removing that version-response override and documenting matching real builds. All toolbar assertions remain unchanged. The full requested toolbar e2e will run against the merged release binary.

Finding: the #1409 e2e harness overwrote `/api/v1/version` with author-specific build ID `1409a1409a1409a`. The merged web build has ID `938a141d5`, so this override would create an Update available notice in otherwise matching production captures. Fixed by removing that version-response override and documenting matching real builds. All toolbar assertions remain unchanged. The full requested toolbar e2e will run against the merged release binary.
Author
Owner

Full-workspace Clippy passed on the merged product source (head 6a884da96fd4fb5d3dcbe093ac4c2d2a60685624).

Command: cargo clippy --all-targets -- -D warnings

Verbatim final output:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s

Exit: 0. cargo fmt --check also exited 0 with no output. The full Rust test run has started. Release compilation is still progressing; upgrade and live-server regressions remain pending.

Full-workspace Clippy passed on the merged product source (head `6a884da96fd4fb5d3dcbe093ac4c2d2a60685624`). Command: `cargo clippy --all-targets -- -D warnings` Verbatim final output: ``` Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s ``` Exit: 0. `cargo fmt --check` also exited 0 with no output. The full Rust test run has started. Release compilation is still progressing; upgrade and live-server regressions remain pending.
Author
Owner

Review harness fixes committed while native gates compile:

  • 1e841a36d: move the pointer to (0, 0) before each metrics measurement/capture so a click on the previous screen cannot leave a stale hover. Existing metric assertions stay unchanged.
  • ddea861a8: close Chromium before launching WebKit in the toolbar regression. Both engines and the shared session remain covered, with one browser alive at a time as required by the job's memory rule.

JavaScript syntax and git diff --check pass. The requested real-server scripts will verify these changes after the release binary is ready. No product behavior was added.

Review harness fixes committed while native gates compile: - `1e841a36d`: move the pointer to `(0, 0)` before each metrics measurement/capture so a click on the previous screen cannot leave a stale hover. Existing metric assertions stay unchanged. - `ddea861a8`: close Chromium before launching WebKit in the toolbar regression. Both engines and the shared session remain covered, with one browser alive at a time as required by the job's memory rule. JavaScript syntax and `git diff --check` pass. The requested real-server scripts will verify these changes after the release binary is ready. No product behavior was added.
Author
Owner

Module-comment review completed for the merged source. Commit d4d2c2fee adds the missing bounded-read test header, puts the existing Search link module invariant before its import, and cites #1371/#1433 in the shared history module. No runtime behavior or test expectation changed.

Focused verification, verbatim summaries:

 Test Files  1 passed (1)
      Tests  6 passed (6)
 Test Files  1 passed (1)
      Tests  7 passed (7)

Full workspace Clippy, web check/web tests, and the editor suite already passed on the same functional source. Release compilation and Rust test compilation continue without reported errors. Upgrade and browser/hostile-input probes remain pending.

Module-comment review completed for the merged source. Commit `d4d2c2fee` adds the missing bounded-read test header, puts the existing Search link module invariant before its import, and cites #1371/#1433 in the shared history module. No runtime behavior or test expectation changed. Focused verification, verbatim summaries: ``` Test Files 1 passed (1) Tests 6 passed (6) ``` ``` Test Files 1 passed (1) Tests 7 passed (7) ``` Full workspace Clippy, web check/web tests, and the editor suite already passed on the same functional source. Release compilation and Rust test compilation continue without reported errors. Upgrade and browser/hostile-input probes remain pending.
Author
Owner

Release server, CLI and sync builds passed:

    Finished `release` profile [optimized] target(s) in 76m 24s

The first upgrade probe preserved every previous migration receipt, installed core migration 16, and preserved source hashes. It then failed its immediate analyzer assertion. Source review shows that Search can serve the complete shared generation while the per-User rebuild is pending (Root::clear_user_search_index_ready; Indexer::rebuild_user). The custom probe had treated readable NFC results as proof that the private generation was already published.

The custom probe now also waits, with the same 120-second bound, for the active per-User metadata to use the new analyzer before it checks restart stability. Its original schema, receipt, source-byte and second-start assertions remain. This focused upgrade probe will rerun after the current sequential browser verification, so only one browser is active at a time. This is a test-readiness correction; no product change or existing test expectation was altered.

Release server, CLI and sync builds passed: ``` Finished `release` profile [optimized] target(s) in 76m 24s ``` The first upgrade probe preserved every previous migration receipt, installed core migration 16, and preserved source hashes. It then failed its immediate analyzer assertion. Source review shows that Search can serve the complete shared generation while the per-User rebuild is pending (`Root::clear_user_search_index_ready`; `Indexer::rebuild_user`). The custom probe had treated readable NFC results as proof that the private generation was already published. The custom probe now also waits, with the same 120-second bound, for the active per-User metadata to use the new analyzer before it checks restart stability. Its original schema, receipt, source-byte and second-start assertions remain. This focused upgrade probe will rerun after the current sequential browser verification, so only one browser is active at a time. This is a test-readiness correction; no product change or existing test expectation was altered.
Author
Owner

Comment review found a stale claim in task-checkbox-note-1434.mjs: its header said 44 × 44, while the body assertions and shared Task node use a 44 px wide target bounded to one text row. The #1434 issue's final revision explicitly chose that row-bound target to prevent adjacent Task overlap. Commit ce41e1783 corrects the header only; it changes no product geometry, fixture, assertion or status expectation. JavaScript syntax and diff checks pass. The real-server boundary-click regression is next in the sequential suite.

Focus policy has passed on Chromium and WebKit. Its quiet mouse/shortcut captures are attached to this issue; final report will link the complete selected evidence. UI metrics have reported zero violations so far across the completed light/dark desktop/tablet and phone checks.

Comment review found a stale claim in `task-checkbox-note-1434.mjs`: its header said 44 × 44, while the body assertions and shared Task node use a 44 px wide target bounded to one text row. The #1434 issue's final revision explicitly chose that row-bound target to prevent adjacent Task overlap. Commit `ce41e1783` corrects the header only; it changes no product geometry, fixture, assertion or status expectation. JavaScript syntax and diff checks pass. The real-server boundary-click regression is next in the sequential suite. Focus policy has passed on Chromium and WebKit. Its quiet mouse/shortcut captures are attached to this issue; final report will link the complete selected evidence. UI metrics have reported zero violations so far across the completed light/dark desktop/tablet and phone checks.
Author
Owner

Toolbar verification evidence:

  • The first run completed its toolbar assertions in both engines and wrote 24 captures, but the batch wrapper terminated with SIGTERM (exit 143) before it recorded script completion.
  • Its first rerun timed out at the pre-gesture edit-mode wait: visible prose preceded live-editor readiness.
  • Commit ff608ccca waits for the existing data-editor-ready=true/ProseMirror selector before the gesture. It preserves every edit-mode/toolbar assertion and timeout. The focused rerun exited 0 and wrote 24 captures.

Verbatim success:

toolbar undo #1409: opaque toolbar above the selection after Cmd+Z (chromium and webkit)

The suspected HTTPS cleanup fault did not reproduce. A held-upgrade TLS probe and a release-server shutdown probe both exited 0; no shared cleanup behavior was changed.

Task checkbox #1434 also passed at 390/820/1440 in light/dark. The sequential batch has resumed Task Undo, reminder, Calendar, Files/share/link and full Notes/Files checks. Rust test compilation is still active; all other completed gates pass.

Toolbar verification evidence: - The first run completed its toolbar assertions in both engines and wrote 24 captures, but the batch wrapper terminated with SIGTERM (exit 143) before it recorded script completion. - Its first rerun timed out at the pre-gesture edit-mode wait: visible prose preceded live-editor readiness. - Commit `ff608ccca` waits for the existing `data-editor-ready=true`/ProseMirror selector before the gesture. It preserves every edit-mode/toolbar assertion and timeout. The focused rerun exited 0 and wrote 24 captures. Verbatim success: ``` toolbar undo #1409: opaque toolbar above the selection after Cmd+Z (chromium and webkit) ``` The suspected HTTPS cleanup fault did not reproduce. A held-upgrade TLS probe and a release-server shutdown probe both exited 0; no shared cleanup behavior was changed. Task checkbox #1434 also passed at 390/820/1440 in light/dark. The sequential batch has resumed Task Undo, reminder, Calendar, Files/share/link and full Notes/Files checks. Rust test compilation is still active; all other completed gates pass.
Author
Owner

Share access review failed before its grant-change assertions: the owner capture requested Paper but the late initial Appearance GET painted Mono. The test now reuses waitForAppearanceLoad before each first app navigation, then seeds review preferences. Existing access and palette expectations remain unchanged. A focused rerun is queued after the browser batch.

The shared binary refresher removed d395b6e25 during this job. The first upgrade run already passed unchanged migration receipts, scrub migration 16 and source-byte checks on its d395b6e25 Home copy, but checked the private Search analyzer before background publication. The completion rerun uses af202e151: git diff --quiet d395b6e25 af202e151 -- crates/calternal-db crates/calternal-index exits 0. The report will label this equivalent database/Index baseline explicitly rather than call it the production revision.

Share access review failed before its grant-change assertions: the owner capture requested Paper but the late initial Appearance GET painted Mono. The test now reuses `waitForAppearanceLoad` before each first app navigation, then seeds review preferences. Existing access and palette expectations remain unchanged. A focused rerun is queued after the browser batch. The shared binary refresher removed d395b6e25 during this job. The first upgrade run already passed unchanged migration receipts, scrub migration 16 and source-byte checks on its d395b6e25 Home copy, but checked the private Search analyzer before background publication. The completion rerun uses af202e151: `git diff --quiet d395b6e25 af202e151 -- crates/calternal-db crates/calternal-index` exits 0. The report will label this equivalent database/Index baseline explicitly rather than call it the production revision.
Author
Owner

Full Notes and Files e2e each stopped at a preserved existing assertion. These make this head NOT READY until the failures are resolved:

  • #1462: the Files-origin Markdown editor does not appear with identity hydration held. The log also reports a Notes-only path: read returning 404. Cause remains unconfirmed.
  • #1463: the text-card cache fixture uploads real PDF bytes as .txt; the server reports PDF MIME and a thumbnail, but the required text-card variant does not appear. The expected two-renderer cache regression remains unchanged.

Search #1401 passed all six width/theme combinations. Deletion-race #1384 passed all saved-body and reload cases.

The #1371 link script also used the old ⌘K Link binding. #1379 explicitly moved format.link to ⌘⇧L; universal Search owns ⌘K. Its five keyboard inputs now use the current registry binding, with the native prompt and all link/history expectations unchanged. Its focused rerun is queued.

Full Notes and Files e2e each stopped at a preserved existing assertion. These make this head NOT READY until the failures are resolved: - #1462: the Files-origin Markdown editor does not appear with identity hydration held. The log also reports a Notes-only `path:` read returning 404. Cause remains unconfirmed. - #1463: the text-card cache fixture uploads real PDF bytes as `.txt`; the server reports PDF MIME and a thumbnail, but the required text-card variant does not appear. The expected two-renderer cache regression remains unchanged. Search #1401 passed all six width/theme combinations. Deletion-race #1384 passed all saved-body and reload cases. The #1371 link script also used the old ⌘K Link binding. #1379 explicitly moved `format.link` to ⌘⇧L; universal Search owns ⌘K. Its five keyboard inputs now use the current registry binding, with the native prompt and all link/history expectations unchanged. Its focused rerun is queued.
Author
Owner

Calendar and Link focused reruns passed. Atomic commits: 472252656 establishes keyboard navigation before the Calendar Enter assertion; HEAD updates the #1371 input to the #1379 Link shortcut. Existing behavior expectations were preserved.

Verbatim outputs:

Calendar #1361: 24 primary and 19 supplemental production screenshots, 20 4x crops saved in /home/kayg/Developer/calternal-wt/merge35/artifacts/merge35/calendar-ticks-fixed
PASS #1371 deterministic WebKit and Chromium link actions

Calendar Day/Week captures, including narrow Task overflow sheets, are attached at 390, 820 and 1440 pixels in light and dark. The Settings sidebar review is running. The full Notes and Files failures remain recorded in #1462/#1463.

Calendar and Link focused reruns passed. Atomic commits: `472252656` establishes keyboard navigation before the Calendar Enter assertion; `HEAD` updates the #1371 input to the #1379 Link shortcut. Existing behavior expectations were preserved. Verbatim outputs: ``` Calendar #1361: 24 primary and 19 supplemental production screenshots, 20 4x crops saved in /home/kayg/Developer/calternal-wt/merge35/artifacts/merge35/calendar-ticks-fixed ``` ``` PASS #1371 deterministic WebKit and Chromium link actions ``` Calendar Day/Week captures, including narrow Task overflow sheets, are attached at 390, 820 and 1440 pixels in light and dark. The Settings sidebar review is running. The full Notes and Files failures remain recorded in #1462/#1463.
Author
Owner

Full workspace Rust gates passed. Verbatim recorded exit codes:

fmt 0
clippy 0
test 0

Clippy completion:

    Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s

The test log contains 119 successful result groups, 3344 passed, 0 failed and 51 ignored. Process-isolated server cases run by their wrapper passed. No latency rerun was needed.

Release upgrade completion, verbatim:

{"result":"PASS","previousRevision":"af202e151","notes":64,"files":32,"sourceFiles":96,"preservedReceipts":157,"newReceipts":1,"searchGenerations":2,"startupMs":42115.26986200001,"searchReadyMs":58888.971807}

This is a local shared-host measurement. The first production-baseline run passed receipt/source/scrub checks but asserted private Search readiness too early. Its completion rerun used af202e151 after the shared refresher removed d395b6e25; git diff --quiet d395b6e25 af202e151 -- crates/calternal-db crates/calternal-search exits 0. Both active generations use the new NFC analyzer, and the next restart preserves receipts and generation metadata.

Settings is rerunning with an isolated context for each theme. After it ends, the single full adversarial round starts against the own release server, CLI and sync binaries with a 55-minute cap. Full Notes/Files failures #1462/#1463 remain; this is not READY.

Full workspace Rust gates passed. Verbatim recorded exit codes: ``` fmt 0 clippy 0 test 0 ``` Clippy completion: ``` Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s ``` The test log contains 119 successful result groups, 3344 passed, 0 failed and 51 ignored. Process-isolated server cases run by their wrapper passed. No latency rerun was needed. Release upgrade completion, verbatim: ``` {"result":"PASS","previousRevision":"af202e151","notes":64,"files":32,"sourceFiles":96,"preservedReceipts":157,"newReceipts":1,"searchGenerations":2,"startupMs":42115.26986200001,"searchReadyMs":58888.971807} ``` This is a local shared-host measurement. The first production-baseline run passed receipt/source/scrub checks but asserted private Search readiness too early. Its completion rerun used af202e151 after the shared refresher removed d395b6e25; `git diff --quiet d395b6e25 af202e151 -- crates/calternal-db crates/calternal-search` exits 0. Both active generations use the new NFC analyzer, and the next restart preserves receipts and generation metadata. Settings is rerunning with an isolated context for each theme. After it ends, the single full adversarial round starts against the own release server, CLI and sync binaries with a 55-minute cap. Full Notes/Files failures #1462/#1463 remain; this is not READY.
Author
Owner

The single release attack round is continuing. Findings are filed, with all old fixtures and expectations preserved:

  • #1464: NFD Search misses both canonical filename fixtures; NFC finds them.
  • #1465: the Mail Save to Files button is covered by a selected row, so the hostile filename safe-write check cannot run.
  • #1466: live xuser reports foreign/missing profile differences for Money cancellation and journal-line fixes, four Mail 400/400 denial-contract mismatches, and a changed owner Notification subscription. Treat the private identity/owner-state findings as blockers until investigated. Some missing-ID grammar differences could be fixture issues; no cause is asserted.
  • #1467: the malformed-anchor editor browser probe cannot reach its Copy link action. The action label remains in the current shared menu, so a stale-label fix was not made.

Live xuser coverage: 429 operations classified, 221 replayed, 1028 owned/missing comparisons, 16 non-private authority reviews, 122 Job/Mail/quota comparisons. Photos and Calendar ownership controls passed. Revoked Share profiles were identical HTTP 404 (12 pairs, median timing delta 3.0 ms).

Editor byte stability, 10,000 blocks, one-megabyte paragraph, concurrent writes, offline reconciliation and restart passed. The server's SIGKILL line was planned fault injection. General upload and rename races admit one writer, mkdir storm had no errors. A Files Note rename is labelled SLOW (8.5 s, HTTP 204); SLOW-only load does not block.

Full Notes/Files e2e failures #1462/#1463 remain. This head is NOT READY. Complete Rust, web and editor unit gates and release upgrade checks passed; their exact output is attached above.

The single release attack round is continuing. Findings are filed, with all old fixtures and expectations preserved: - #1464: NFD Search misses both canonical filename fixtures; NFC finds them. - #1465: the Mail Save to Files button is covered by a selected row, so the hostile filename safe-write check cannot run. - #1466: live xuser reports foreign/missing profile differences for Money cancellation and journal-line fixes, four Mail 400/400 denial-contract mismatches, and a changed owner Notification subscription. Treat the private identity/owner-state findings as blockers until investigated. Some missing-ID grammar differences could be fixture issues; no cause is asserted. - #1467: the malformed-anchor editor browser probe cannot reach its Copy link action. The action label remains in the current shared menu, so a stale-label fix was not made. Live xuser coverage: 429 operations classified, 221 replayed, 1028 owned/missing comparisons, 16 non-private authority reviews, 122 Job/Mail/quota comparisons. Photos and Calendar ownership controls passed. Revoked Share profiles were identical HTTP 404 (12 pairs, median timing delta 3.0 ms). Editor byte stability, 10,000 blocks, one-megabyte paragraph, concurrent writes, offline reconciliation and restart passed. The server's SIGKILL line was planned fault injection. General upload and rename races admit one writer, mkdir storm had no errors. A Files Note rename is labelled SLOW (8.5 s, HTTP 204); SLOW-only load does not block. Full Notes/Files e2e failures #1462/#1463 remain. This head is NOT READY. Complete Rust, web and editor unit gates and release upgrade checks passed; their exact output is attached above.
Author
Owner

Further non-SLOW findings from the same bounded round are filed:

  • #1468: semantic recall misses the Apartment Note. A same-server read-only diagnostic finds it by exact title (200), but the recall query returns zero results (200). This is not explained only by the probe's old ID-as-path comparison.
  • #1469: Calendar Event move returns 503 Calendar Index is busy; retry shortly; destination check also returns 503 and the delete returns 404. Source/Index atomicity is not established. This 5xx blocks READY.
  • #1470: bookmark Calendar projection returns no response before its request deadline.
  • #1471: two media PDF fixtures fail to publish previews. Native PDF loader checks pass, so the pipeline/queue/configuration still needs investigation.

The server is alive after the first general API phase. Voice and hostile-byte isolation pass. The second phase is progressing through isolation, public sharing and resource exhaustion. ZIP streaming beyond 30 seconds is explicitly SLOW and is recorded as load, not a blocker. No existing expectation or fixture has been changed to make these findings pass.

Further non-SLOW findings from the same bounded round are filed: - #1468: semantic recall misses the Apartment Note. A same-server read-only diagnostic finds it by exact title (200), but the recall query returns zero results (200). This is not explained only by the probe's old ID-as-path comparison. - #1469: Calendar Event move returns 503 `Calendar Index is busy; retry shortly`; destination check also returns 503 and the delete returns 404. Source/Index atomicity is not established. This 5xx blocks READY. - #1470: bookmark Calendar projection returns no response before its request deadline. - #1471: two media PDF fixtures fail to publish previews. Native PDF loader checks pass, so the pipeline/queue/configuration still needs investigation. The server is alive after the first general API phase. Voice and hostile-byte isolation pass. The second phase is progressing through isolation, public sharing and resource exhaustion. ZIP streaming beyond 30 seconds is explicitly SLOW and is recorded as load, not a blocker. No existing expectation or fixture has been changed to make these findings pass.
Author
Owner

Merge35a (#1458): NOT READY. Journal sync duplicates and 503 responses (#1474), Calendar 503 responses (#1469), and xuser owner-state/private-response failures (#1466) block this round.

Built and merged

All 28 requested heads were merged in the requested order, with one --no-ff merge commit per head. No item was skipped. The branch is job/merge35, based on production d395b6e25. The one final git fetch origin / git merge origin/dev returned Already up to date. No push or deploy was run by this job.

Head: 0ba15bd9459c66dd820297474b71d603ca8e637f. Product build identity: 938a141d5 (all 28 feature heads). Later changes are exact perf metadata, source comments and review harness repairs. No feature was added. The complete file list and first-parent commit list are attached.

Integration decisions

  • Keep one stopCollaborativeCapture export for Link and Task Undo; keep ProseMirror history boundaries too.
  • Keep #1385 navigation-only focus rings and #1391 quiet entry/restore. Native Tab wrap keeps a ring. Motion remains shared across input modes.
  • Keep current Search Card/action layout and #1401 immediate Task/Event summaries. Keep both Search regression fixtures.
  • Keep all Settings tree navigation and screenshots, all xuser classification authority, and independent perf baseline entries.
  • Adopt exact perf source pins once after reported stale hashes. No ratchet, rule or waiver was raised.
  • Use the preset /home/kayg/build/targets/merge35; do not override the preset with the brief's different target path.
  • The shared refresher removed the d395b6e25 release binary during verification. The first d395 run passed receipt/source/scrub checks. The completion rerun uses af202e151, whose database and Search source trees are identical to d395b6e25. It is labelled explicitly.

Gates

Full logs are attached. Verbatim Rust status and Clippy completion:

fmt 0
clippy 0
test 0
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s

Commands: cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test -- --test-threads=4. Cargo used four build jobs, no incremental state and line-table debug information. The Rust log has 119 successful result groups: 3344 passed, 0 failed and 51 reported ignored. The isolated live server wrapper passed. No latency rerun was needed.

Verbatim web check:

svelte-check found 0 errors and 4 warnings in 2 files

Verbatim full web test summary (bun run test --maxWorkers=2):

 Test Files  301 passed (301)
      Tests  2165 passed (2165)
   Duration  430.15s (environment 28%, transform 25%, import 24%, tests 18%, setup 6%)

Verbatim editor summary:

 Test Files  25 passed (25)
      Tests  473 passed (473)

Web production build passed. Release server, CLI and sync build completion:

    Finished `release` profile [optimized] target(s) in 76m 24s

Normal final perf-lint:

perf-lint: PASS; 0 violations; 22544 scoped exceptions

Production browser verification

Passed: focus-policy-1385 (Chromium/WebKit), ui-metrics-1385, toolbar-undo-1409, task-checkbox-note-1434, task-undo-1433, task-reminder-root-1432, calendar-drag-1015, calendar-ticks-1361, quicklook-clear-1408, scroll-fade-hit-1416, tooltip-placement-1439, public-file-card-1452, share-access-1405, notes-delete-race-1384 and link-webkit-1371. The focused Search #1401 flow also passed all width/theme variants.

Verbatim metrics:

UI_METRICS_CONTROLS 4095
UI_METRICS_VIOLATIONS []
UI_METRICS_SUMMARY distinct=0 total=0

The first browser wrapper ended with SIGTERM after Toolbar assertions; the unfinished queue resumed. The focused Toolbar rerun passed after waiting for the real editor-ready marker. Calendar's old setup used code focus plus Enter to request keyboard modality; real Tab now establishes that precondition. Link now presses the #1379 registry shortcut Cmd+Shift+L, preserving every prompt/history assertion. Share capture waits for the initial Appearance read. No existing status, content, history or permission expectation was weakened.

Full Notes failed at its held-identity Files editor assertion (#1462). Full Files failed at the text-card/PDF-byte cache fixture (#1463). Both expectations and fixtures remain unchanged. Their later flows did not run. The extra full Settings review timed out on an Appearance network wait. Its final mounted-app readiness repair is committed but that whole review was not rerun. Separate production Settings sidebar captures passed all six width/theme variants (390/820/1440, light/dark).

Upgrade and local measurements

Verbatim release upgrade result:

{"result":"PASS","previousRevision":"af202e151","notes":64,"files":32,"sourceFiles":96,"preservedReceipts":157,"newReceipts":1,"searchGenerations":2,"startupMs":42115.26986200001,"searchReadyMs":58888.971807}

The source hashes and old receipt bytes survive. Core migration 16 is added. Both active Search generations use the NFC analyzer, and restart leaves migration receipts and generation metadata unchanged. The first custom probe treated readable shared Search results as private rebuild completion; the corrected probe waits for publication too.

This is a local shared-host measurement. Bind startup is 42.1 s and Search readiness is 58.9 s for 64 Notes and 32 Files. Calendar accepted writes took 187–724 ms with zero snap-back frames; refused writes rolled back. This merge adds no operation beyond its supplied heads. Migration work is proportional to stored metadata; the one-time Search rebuild is proportional to indexed records per User. This is an integration issue, so no new perf VM measurement was requested by the verification policy. Existing bench profiles and independent baseline entries were preserved.

Adversarial

One full tests/adversarial/run.sh round started at 13:01:20 UTC on the own release binaries with a 55-minute cap. Its live xuser matrix ran: 221 operations replayed, 1028 owned/missing comparisons, 16 non-private authority reviews and 122 Job/Mail/quota comparisons. It failed (#1466): Money cancellation and journal-line response profiles differ, four Mail denial-contract rows return 400/400, and the owner Notification subscription changes after replay. Missing-ID grammar may explain some response rows; the owner-state cause remains unconfirmed. Treat the findings as blockers, not as harmless load.

Other non-SLOW findings: #1464 NFD query misses both equivalent filename fixtures; #1465 a selected attachment row blocks Save to Files; #1467 the malformed-anchor editor probe cannot reach Copy link. Existing expectations and fixtures remain. Nearby editor byte stability, 10,000 blocks, one-megabyte paragraph, concurrency, offline and restart controls pass. Calendar/Photos ownership and revoked Share identical 404 controls pass. The campaign ended at its time limit, not with a passing result. Classification preflights already passed: 429 operations, 1206 generated tools and 53 reviewed Admin operations.

Additional non-SLOW findings are filed and remain open:

  • #1468: Semantic Search misses the Apartment Note for 120 seconds. A later diagnostic finds the exact title but semantic recall returns zero results.
  • #1469: Calendar move and destination checks return 503; deletion then returns 404 rather than 204. Source/Index atomicity is unconfirmed.
  • #1470: Bookmark Calendar projection times out. The server remains alive.
  • #1471: Two content-classified PDFs have no preview/thumbnail. Native PDF preflight passes; the live failure cause is unconfirmed.
  • #1472: Foreign Calendar feed rotation, revocation and deletion return 403 rather than the private 404 contract. No content leak is proven.
  • #1474: Concurrent journal sync returns two 503 responses and duplicates sync paragraph 5 from a phone twice. This is a sync collision blocker.

Verbatim adversarial status:

START 2026-10-08T13:01:20Z
END exit=124 2026-10-08T13:56:25Z

This was the single time-boxed round, capped at 55 minutes. It reached the image-proxy phase. Later deletion, display-name, anonymous Appearance, pins, Unicode-title, dedup/resume and security-origin/licence phases did not run. Final Notes IMAP/submission, live Note restart and the full authorization matrix also remain uncovered. Earlier planned Search fault injection/restart and editor restart controls passed. No unplanned server crash was found in the completed coverage. SLOW-only successful responses were recorded as shared-host load; actual 503 responses, timeouts and duplicated data were filed separately. No second round was run.

UX gaps closed / left

Closed by the supplied feature heads: live grant transitions, Link history boundaries, Task checkbox/Undo/reminder interactions, Calendar drag/ticks, immediate Search summaries, overlay close/focus, Quick Look text clearance, tooltip placement and the public File card. The focused production regressions listed above pass; the broader editor and full Notes/Files failures remain. Harness readiness and capture-size defects were repaired in atomic commits. Shared Button/IconButton/Pill/PillGroup/Menu/Card/OverlaySurface/Sheet and focus primitives remain the owners of visible controls; no new local primitive was created.

Left: open findings #1462–#1472 and #1474, their unreached suite/probe flows, four unused-selector warnings in Mail and Money, and Claude's visual review. The #1434 final revision retains a 44 px wide, one-text-row-high checkbox hit region to avoid adjacent-row overlap; its stale 44×44 test comment was corrected. No failing product expectation or fixture was changed to make a test pass.

Review evidence and cleanup

All seven requested screen sets are attached: 73 actual-size macOS-emulated PNG captures, including 390/820/1440 light/dark variants, Note Tasks, format toolbar, Calendar Day/Week Tasks, Search Actions, Files Quick Look, Settings sidebar and public share. Pointer/shortcut ring proof accompanies them; zoomed Calendar crops remain local. Geometry checks found zero violations across 4095 controls. Claude must judge visual quality. Screenshots remain ignored artifacts and are not committed.

All servers and browsers stopped before cleanup. Verbatim cleanup output:

cargo clean exit=0
     Removed 27328 files, 25.4GiB total

Web build output, generated Svelte state and test temporary files were removed. Git status is clean. No push or deploy was run. The job stops at the four-hour limit with the failures and incomplete coverage recorded.

Files and full gate evidence

The integrated diff contains 171 files. Complete file list; first-parent commits.

Full verbatim logs: fmt, Clippy, Rust tests, web check, web tests, editor tests.

NOT READY: journal sync collision/503 (#1474), Calendar 503 (#1469), xuser failures (#1466), and unresolved verification findings.

Merge35a (#1458): NOT READY. Journal sync duplicates and 503 responses (#1474), Calendar 503 responses (#1469), and xuser owner-state/private-response failures (#1466) block this round. **Built and merged** All 28 requested heads were merged in the requested order, with one `--no-ff` merge commit per head. No item was skipped. The branch is `job/merge35`, based on production `d395b6e25`. The one final `git fetch origin` / `git merge origin/dev` returned `Already up to date.` No push or deploy was run by this job. Head: `0ba15bd9459c66dd820297474b71d603ca8e637f`. Product build identity: `938a141d5` (all 28 feature heads). Later changes are exact perf metadata, source comments and review harness repairs. No feature was added. The complete file list and first-parent commit list are attached. **Integration decisions** - Keep one `stopCollaborativeCapture` export for Link and Task Undo; keep ProseMirror history boundaries too. - Keep #1385 navigation-only focus rings and #1391 quiet entry/restore. Native Tab wrap keeps a ring. Motion remains shared across input modes. - Keep current Search Card/action layout and #1401 immediate Task/Event summaries. Keep both Search regression fixtures. - Keep all Settings tree navigation and screenshots, all xuser classification authority, and independent perf baseline entries. - Adopt exact perf source pins once after reported stale hashes. No ratchet, rule or waiver was raised. - Use the preset `/home/kayg/build/targets/merge35`; do not override the preset with the brief's different target path. - The shared refresher removed the d395b6e25 release binary during verification. The first d395 run passed receipt/source/scrub checks. The completion rerun uses af202e151, whose database and Search source trees are identical to d395b6e25. It is labelled explicitly. **Gates** Full logs are attached. Verbatim Rust status and Clippy completion: ``` fmt 0 clippy 0 test 0 Finished `dev` profile [unoptimized + debuginfo] target(s) in 40m 22s ``` Commands: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`, `cargo test -- --test-threads=4`. Cargo used four build jobs, no incremental state and line-table debug information. The Rust log has 119 successful result groups: 3344 passed, 0 failed and 51 reported ignored. The isolated live server wrapper passed. No latency rerun was needed. Verbatim web check: ``` svelte-check found 0 errors and 4 warnings in 2 files ``` Verbatim full web test summary (`bun run test --maxWorkers=2`): ``` Test Files 301 passed (301) Tests 2165 passed (2165) Duration 430.15s (environment 28%, transform 25%, import 24%, tests 18%, setup 6%) ``` Verbatim editor summary: ``` Test Files 25 passed (25) Tests 473 passed (473) ``` Web production build passed. Release server, CLI and sync build completion: ``` Finished `release` profile [optimized] target(s) in 76m 24s ``` Normal final perf-lint: ``` perf-lint: PASS; 0 violations; 22544 scoped exceptions ``` **Production browser verification** Passed: focus-policy-1385 (Chromium/WebKit), ui-metrics-1385, toolbar-undo-1409, task-checkbox-note-1434, task-undo-1433, task-reminder-root-1432, calendar-drag-1015, calendar-ticks-1361, quicklook-clear-1408, scroll-fade-hit-1416, tooltip-placement-1439, public-file-card-1452, share-access-1405, notes-delete-race-1384 and link-webkit-1371. The focused Search #1401 flow also passed all width/theme variants. Verbatim metrics: ``` UI_METRICS_CONTROLS 4095 UI_METRICS_VIOLATIONS [] UI_METRICS_SUMMARY distinct=0 total=0 ``` The first browser wrapper ended with SIGTERM after Toolbar assertions; the unfinished queue resumed. The focused Toolbar rerun passed after waiting for the real editor-ready marker. Calendar's old setup used code focus plus Enter to request keyboard modality; real Tab now establishes that precondition. Link now presses the #1379 registry shortcut Cmd+Shift+L, preserving every prompt/history assertion. Share capture waits for the initial Appearance read. No existing status, content, history or permission expectation was weakened. Full Notes failed at its held-identity Files editor assertion (#1462). Full Files failed at the text-card/PDF-byte cache fixture (#1463). Both expectations and fixtures remain unchanged. Their later flows did not run. The extra full Settings review timed out on an Appearance network wait. Its final mounted-app readiness repair is committed but that whole review was not rerun. Separate production Settings sidebar captures passed all six width/theme variants (390/820/1440, light/dark). **Upgrade and local measurements** Verbatim release upgrade result: ``` {"result":"PASS","previousRevision":"af202e151","notes":64,"files":32,"sourceFiles":96,"preservedReceipts":157,"newReceipts":1,"searchGenerations":2,"startupMs":42115.26986200001,"searchReadyMs":58888.971807} ``` The source hashes and old receipt bytes survive. Core migration 16 is added. Both active Search generations use the NFC analyzer, and restart leaves migration receipts and generation metadata unchanged. The first custom probe treated readable shared Search results as private rebuild completion; the corrected probe waits for publication too. This is a local shared-host measurement. Bind startup is 42.1 s and Search readiness is 58.9 s for 64 Notes and 32 Files. Calendar accepted writes took 187–724 ms with zero snap-back frames; refused writes rolled back. This merge adds no operation beyond its supplied heads. Migration work is proportional to stored metadata; the one-time Search rebuild is proportional to indexed records per User. This is an integration issue, so no new perf VM measurement was requested by the verification policy. Existing bench profiles and independent baseline entries were preserved. **Adversarial** One full `tests/adversarial/run.sh` round started at 13:01:20 UTC on the own release binaries with a 55-minute cap. Its live xuser matrix ran: 221 operations replayed, 1028 owned/missing comparisons, 16 non-private authority reviews and 122 Job/Mail/quota comparisons. It failed (#1466): Money cancellation and journal-line response profiles differ, four Mail denial-contract rows return 400/400, and the owner Notification subscription changes after replay. Missing-ID grammar may explain some response rows; the owner-state cause remains unconfirmed. Treat the findings as blockers, not as harmless load. Other non-SLOW findings: #1464 NFD query misses both equivalent filename fixtures; #1465 a selected attachment row blocks Save to Files; #1467 the malformed-anchor editor probe cannot reach Copy link. Existing expectations and fixtures remain. Nearby editor byte stability, 10,000 blocks, one-megabyte paragraph, concurrency, offline and restart controls pass. Calendar/Photos ownership and revoked Share identical 404 controls pass. The campaign ended at its time limit, not with a passing result. Classification preflights already passed: 429 operations, 1206 generated tools and 53 reviewed Admin operations. Additional non-SLOW findings are filed and remain open: - #1468: Semantic Search misses the Apartment Note for 120 seconds. A later diagnostic finds the exact title but semantic recall returns zero results. - #1469: Calendar move and destination checks return 503; deletion then returns 404 rather than 204. Source/Index atomicity is unconfirmed. - #1470: Bookmark Calendar projection times out. The server remains alive. - #1471: Two content-classified PDFs have no preview/thumbnail. Native PDF preflight passes; the live failure cause is unconfirmed. - #1472: Foreign Calendar feed rotation, revocation and deletion return 403 rather than the private 404 contract. No content leak is proven. - #1474: Concurrent journal sync returns two 503 responses and duplicates `sync paragraph 5 from a phone` twice. This is a sync collision blocker. Verbatim adversarial status: ``` START 2026-10-08T13:01:20Z END exit=124 2026-10-08T13:56:25Z ``` This was the single time-boxed round, capped at 55 minutes. It reached the image-proxy phase. Later deletion, display-name, anonymous Appearance, pins, Unicode-title, dedup/resume and security-origin/licence phases did not run. Final Notes IMAP/submission, live Note restart and the full authorization matrix also remain uncovered. Earlier planned Search fault injection/restart and editor restart controls passed. No unplanned server crash was found in the completed coverage. SLOW-only successful responses were recorded as shared-host load; actual 503 responses, timeouts and duplicated data were filed separately. No second round was run. **UX gaps closed / left** Closed by the supplied feature heads: live grant transitions, Link history boundaries, Task checkbox/Undo/reminder interactions, Calendar drag/ticks, immediate Search summaries, overlay close/focus, Quick Look text clearance, tooltip placement and the public File card. The focused production regressions listed above pass; the broader editor and full Notes/Files failures remain. Harness readiness and capture-size defects were repaired in atomic commits. Shared Button/IconButton/Pill/PillGroup/Menu/Card/OverlaySurface/Sheet and focus primitives remain the owners of visible controls; no new local primitive was created. Left: open findings #1462–#1472 and #1474, their unreached suite/probe flows, four unused-selector warnings in Mail and Money, and Claude's visual review. The #1434 final revision retains a 44 px wide, one-text-row-high checkbox hit region to avoid adjacent-row overlap; its stale 44×44 test comment was corrected. No failing product expectation or fixture was changed to make a test pass. **Review evidence and cleanup** All seven requested screen sets are attached: 73 actual-size macOS-emulated PNG captures, including 390/820/1440 light/dark variants, Note Tasks, format toolbar, Calendar Day/Week Tasks, Search Actions, Files Quick Look, Settings sidebar and public share. Pointer/shortcut ring proof accompanies them; zoomed Calendar crops remain local. Geometry checks found zero violations across 4095 controls. Claude must judge visual quality. Screenshots remain ignored artifacts and are not committed. All servers and browsers stopped before cleanup. Verbatim cleanup output: ``` cargo clean exit=0 Removed 27328 files, 25.4GiB total ``` Web build output, generated Svelte state and test temporary files were removed. Git status is clean. No push or deploy was run. The job stops at the four-hour limit with the failures and incomplete coverage recorded. **Files and full gate evidence** The integrated diff contains 171 files. [Complete file list](https://git.kayg.org/attachments/94ea1581-3abf-43c4-addf-bcfb01021d94); [first-parent commits](https://git.kayg.org/attachments/59af6940-41d2-4b61-928d-503f6fb76a6c). Full verbatim logs: [fmt](https://git.kayg.org/attachments/ad4f8088-f8b6-48ae-8b9f-6b58930291ba), [Clippy](https://git.kayg.org/attachments/cc37b01c-4330-4629-9c10-b339beb2000f), [Rust tests](https://git.kayg.org/attachments/5869babb-851d-4c27-b103-dab1a7545d6b), [web check](https://git.kayg.org/attachments/e8fe3ca4-9d60-4cf0-8ead-9607d0756349), [web tests](https://git.kayg.org/attachments/1e8e6bfc-eeaf-4da1-97f5-05d5134b2001), [editor tests](https://git.kayg.org/attachments/9cb5b2b7-7937-48ec-bd17-996398bf027e). NOT READY: journal sync collision/503 (#1474), Calendar 503 (#1469), xuser failures (#1466), and unresolved verification findings.
Author
Owner

m35triage starts on job/merge35; prior head 0ba15bd945. Merged origin/dev af202e1514 with --no-ff; head dab649e7fb. No conflicts. Will compare production and integration with three alternating focused Journal/Calendar runs, classify #1466 on both builds, and finish skipped phases in one 45-minute check round. No push or deploy.

m35triage starts on job/merge35; prior head 0ba15bd9459c66dd820297474b71d603ca8e637f. Merged origin/dev af202e1514955ddf0f8b4b3d2503c780d807ed84 with --no-ff; head dab649e7fb00e5d734c660975c717fe5a72a447b. No conflicts. Will compare production and integration with three alternating focused Journal/Calendar runs, classify #1466 on both builds, and finish skipped phases in one 45-minute check round. No push or deploy.
Author
Owner

m35triage progress: production af202e151 Journal sample 1 completed with 0 5xx, 0 repeated lines and 0 entry mismatches (6 seeds, 40 HTTP 201 creates, 8 accepted uploads, 46 entries). Production Calendar sample 1 completed with 0 5xx and 0 move/destination/delete mismatches; three SLOW duplicate responses all returned HTTP 201. Two earlier Calendar scope-wrapper attempts stopped on omitted helpers before the storm; both remain recorded, and the complete sample uses every existing helper definition without changing checks.

The first full web test run passed 300 files / 2168 tests, with one 30000 ms timeout in the exhaustive glass contrast proof. The test now resolves fixed ink colours once per theme instead of repeating source parsing and conversion at every mesh point/surface. No assertions, samples or thresholds change. Its focused 83-test suite passes; post-fix type checking and the full web run are active. Editor tests pass: 25 files, 493 tests.

The completed production matrix fixture proves the Notification binding is absent before foreign replay. The complete matrix currently waits for the release CLI proof binary; the interrupted runs are retained. Release builds for both source identities and the full Rust gates remain active/queued. #1443/#1444 cancellation fixes and #1445 fixture repairs are not ancestors of this merged head. No push or deploy.

m35triage progress: production af202e151 Journal sample 1 completed with 0 5xx, 0 repeated lines and 0 entry mismatches (6 seeds, 40 HTTP 201 creates, 8 accepted uploads, 46 entries). Production Calendar sample 1 completed with 0 5xx and 0 move/destination/delete mismatches; three SLOW duplicate responses all returned HTTP 201. Two earlier Calendar scope-wrapper attempts stopped on omitted helpers before the storm; both remain recorded, and the complete sample uses every existing helper definition without changing checks. The first full web test run passed 300 files / 2168 tests, with one 30000 ms timeout in the exhaustive glass contrast proof. The test now resolves fixed ink colours once per theme instead of repeating source parsing and conversion at every mesh point/surface. No assertions, samples or thresholds change. Its focused 83-test suite passes; post-fix type checking and the full web run are active. Editor tests pass: 25 files, 493 tests. The completed production matrix fixture proves the Notification binding is absent before foreign replay. The complete matrix currently waits for the release CLI proof binary; the interrupted runs are retained. Release builds for both source identities and the full Rust gates remain active/queued. #1443/#1444 cancellation fixes and #1445 fixture repairs are not ancestors of this merged head. No push or deploy.
Author
Owner

m35triage progress, head aa71d716d. The production Copy link hotfix is merged without conflicts; byte-preserving anchor patching remains in both Markdown implementations.

All six alternating production/merge Journal and Calendar samples completed with zero 5xx, zero duplicate-line findings and zero follow-up mismatches. The requested isolated sections did not reproduce #1474/#1469; both issues have the six-run numbers. A merged-only failure oracle is absent, so no bisect was run. Both live XUser matrices completed with all eleven finding lines identical. #1466 now has every line classified, with additional valid Mail/Journal controls and a Notification binding check before foreign replay. The Money distinctions remain pre-existing and outside this round.

Web check passed; complete web tests passed 301 files/2169 tests and editor passed 25 files/493 tests. Rust format and Clippy passed; full Rust tests continue. The contrast proof caches fixed ink roles without changing its assertions. Two unrelated default-five-second tests passed separately unchanged; the complete suite uses a 30-second runner default and preserves explicit source deadlines.

The remaining 45-minute campaign passed the previously skipped protocol/input sections and dedup scan resume. The final authorization matrix is running. #1475 records the restart epoch assertions pending a production epoch control; #1476 records latency-only purge results; #1477 records the garbage fixture timeout/403 and still-referenced blobs. All non-SLOW findings are filed. No readiness claim yet. Completed gate/matrix evidence is attached to this issue; source wrappers keep all old assertions intact. No push or deploy.

m35triage progress, head aa71d716d. The production Copy link hotfix is merged without conflicts; byte-preserving anchor patching remains in both Markdown implementations. All six alternating production/merge Journal and Calendar samples completed with zero 5xx, zero duplicate-line findings and zero follow-up mismatches. The requested isolated sections did not reproduce #1474/#1469; both issues have the six-run numbers. A merged-only failure oracle is absent, so no bisect was run. Both live XUser matrices completed with all eleven finding lines identical. #1466 now has every line classified, with additional valid Mail/Journal controls and a Notification binding check before foreign replay. The Money distinctions remain pre-existing and outside this round. Web check passed; complete web tests passed 301 files/2169 tests and editor passed 25 files/493 tests. Rust format and Clippy passed; full Rust tests continue. The contrast proof caches fixed ink roles without changing its assertions. Two unrelated default-five-second tests passed separately unchanged; the complete suite uses a 30-second runner default and preserves explicit source deadlines. The remaining 45-minute campaign passed the previously skipped protocol/input sections and dedup scan resume. The final authorization matrix is running. #1475 records the restart epoch assertions pending a production epoch control; #1476 records latency-only purge results; #1477 records the garbage fixture timeout/403 and still-referenced blobs. All non-SLOW findings are filed. No readiness claim yet. Completed gate/matrix evidence is attached to this issue; source wrappers keep all old assertions intact. No push or deploy.
Author
Owner

m35triage checkpoint, head 427af96e5. The remaining campaign completed every requested phase in 26m37s, within the 45-minute cap. Full authorization coverage: 429 operations, 3036 requests, no findings. Dedup scan resumed from 64 saved to 243 final Items, 12284989 bytes, no findings.

Production and merged restart controls both reproduced the same two probe assertions while every actual announced epoch stayed equal to the baseline. Bytes and rebuilt blocks matched. #1475 now classifies the missing new-epoch precondition; this is not a new cross-epoch collision. Both builds also passed a real-folder empty-Trash control (fresh 204, stale 403, restored 204). #1477 records the original timeout/403 and confirms its retained blobs are still referenced by 29 Trash and three live Items; it does not establish collector corruption. Purge latency remains filed on #1476.

The first full Rust suite stopped on the unchanged Money transient-stage cancellation test. The same built test passed alone without changing its expectation, fixture or deadline. #1478 contains both results. A full no-fail-fast completion run is relinking the server and remains the outstanding gate. All original failed/setup logs remain retained and attached alongside completed controls. Web/editor gates are complete. No new runtime blocker is established so far; no final readiness claim until the Rust completion result. No push or deploy.

m35triage checkpoint, head 427af96e5. The remaining campaign completed every requested phase in 26m37s, within the 45-minute cap. Full authorization coverage: 429 operations, 3036 requests, no findings. Dedup scan resumed from 64 saved to 243 final Items, 12284989 bytes, no findings. Production and merged restart controls both reproduced the same two probe assertions while every actual announced epoch stayed equal to the baseline. Bytes and rebuilt blocks matched. #1475 now classifies the missing new-epoch precondition; this is not a new cross-epoch collision. Both builds also passed a real-folder empty-Trash control (fresh 204, stale 403, restored 204). #1477 records the original timeout/403 and confirms its retained blobs are still referenced by 29 Trash and three live Items; it does not establish collector corruption. Purge latency remains filed on #1476. The first full Rust suite stopped on the unchanged Money transient-stage cancellation test. The same built test passed alone without changing its expectation, fixture or deadline. #1478 contains both results. A full no-fail-fast completion run is relinking the server and remains the outstanding gate. All original failed/setup logs remain retained and attached alongside completed controls. Web/editor gates are complete. No new runtime blocker is established so far; no final readiness claim until the Rust completion result. No push or deploy.
Author
Owner

READY cc1af3c12b

Built and files

Merged production af202e1514 into job/merge35 with --no-ff. The merge was clean. Both byte-preserving anchor implementations remain, with their Copy link regression tests. The only added code change caches fixed theme ink roles in the contrast proof; it preserves every point, threshold and assertion. Own files: apps/web/src/lib/themes.test.ts and docs/audits/merge35-triage.md. The complete integrated file list and first-parent commits are attached.

Journal and Calendar controls

Three alternating runs per revision completed. Order: P1, M1, P2, M2, P3, M3.

Run Journal 5xx Duplicate-line findings Calendar 5xx Follow-up mismatches Calendar SLOW
P1 0 0 0 0 3
M1 0 0 0 0 3
P2 0 0 0 0 4
M2 0 0 0 0 0
P3 0 0 0 0 0
M3 0 0 0 0 3

Each Journal run had six seeds, 40 accepted creates and 46 final entries. Upload counts were 8, 4, 3, 6, 4, 4; each accepted paragraph appeared once. Every SLOW Calendar response was 201. #1474 and #1469 have the numbers. Their historical combined-load failures did not recur in the requested isolated sections; their cause remains unproved. There is no merge-only failing oracle to bisect.

Cross-User classification

Both production and merge completed 221 foreign replays and 1028 owned/missing comparisons; all eleven original finding lines are identical. Four Mail lines are incomplete-cursor controls; four Journal lines are invalid-date controls. Additional valid controls match on both revisions. Two Money lines are real pre-existing response distinctions (#1443/#1444), with the cancellation fix outside this round. The Notification binding disappears during fixture creation, before foreign replay, on both revisions (#1445); that fixture fix is outside the round. #1466 has every line and the control results. The unchanged matrix still exits 1; its findings were classified, not suppressed. No new cross-User leak or foreign mutation was found.

Remaining phases

The 45-minute campaign completed in 26m37s. All skipped phases reached their end. Image proxy, display names, anonymous Appearance, pins, Unicode titles, origin/licence, Notes IMAP and submission had no findings. Dedup integrity/crash-publish found no wrong or partial file. The independent scan resumed from 64 saved to 243 final Items, 12284989 bytes, stable Item IDs and zero findings. Full authorization coverage passed: 429 operations, 3036 requests and 21 App Password scope classes.

Its exit 1 remains recorded. #1475 is an epoch-precondition error: production and merge both report the same two assertions, while every actual epoch stays equal to baseline and bytes/blocks match. #1476 records local latency under a 50000-file purge; all 20 uploaded bodies match. Ordinary p95 3.319351s; under-purge p50 34.033630s, p95 54.894159s; purge 78.726750s; CPU rose 3.45s and RSS 285687808 to 357023744 bytes. Load was 43.36/26.86/21.03. There is no matching baseline.json entry; this is not a perf VM run. #1477 records a Trash timeout, a stale-authority-compatible 403 and still-referenced fixture blobs (29 Trash Items, three live). Both revisions passed a real-folder control: fresh 204, stale 403, restored 204. No collector corruption or new authorization difference was established.

Gates (verbatim)

fmt 0
clippy 0
test-complete 0
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 10s
perf-lint: PASS; 0 violations; 22544 scoped exceptions
svelte-check found 0 errors and 4 warnings in 2 files
 Test Files  301 passed (301)
      Tests  2169 passed (2169)
   Duration  482.21s (transform 29%, environment 26%, import 22%, tests 16%, setup 6%)
 Test Files  25 passed (25)
      Tests  493 passed (493)
   Duration  113.40s (transform 18.07s, setup 1.98s, import 47.75s, tests 53.81s, environment 103.76s)

Rust: 119 successful result groups, 3349 passed, zero failed, 51 ignored. Commands: cargo fmt --check; cargo clippy --all-targets -- -D warnings; cargo test --no-fail-fast -- --test-threads=4. Web: bun run check; bun run test --maxWorkers=2 --testTimeout=30000. Editor: its full test script.

The initial Rust run exited 101 because the unchanged CSV cancellation test missed its transient progress phase. The same built test passed alone with its original expectation and deadline. #1478 records both. The full no-fail-fast completion result above covers every default product crate and doctest. The initial failed log remains attached.

The initial web contrast proof hit its explicit 30s deadline. Caching each fixed ink role removed repeated parsing without changing coverage. Two unrelated tests then hit the default 5s budget; both passed alone unchanged. The complete web suite passed with --maxWorkers=2 --testTimeout=30000; all explicit source deadlines and expectations remain. Editor tests also passed. No failure was hidden or fixed by changing an existing assertion.

Decisions and limits

Use identical web assets and the same CLI/sync clients for server controls. Both server revisions were built in release mode; P1 Journal used the existing pinned af202e151 binary, later production samples the fresh build. Server hashes: production 8296c0690f740127cf2679b1af4a3247666a909f85b2966808302b3082903322; merge 3a6f4dd08b52923519613f2a91853dab3a3bd40e39f3c71f52b18c0c9f3298d7. Later commits change only tests/reports, not runtime source.

Reuse the existing runner and unchanged section statements. Keep all old matrix/restart expectations; add separate corrected controls. Increase only the Money fixture wait to the documented 180s and the web runner default to 30s. The Rust completion retry is due to the observed failure, not a repeated acceptance campaign.

Known gaps: historical Journal/Calendar failures are not reproduced or fixed here; Money and Notification fixes remain in their own jobs; #1475-#1478 remain open. Four existing web warnings remain. The wider original browser issues (#1462/#1463/#1465 and other recorded findings) were outside this triage and were not rerun. No new UI feature or styling was added; no new visual-quality judgment is claimed. The original review artifacts remain for Claude.

Incomplete setup attempts (missing helpers/CLI, fixture timeout, coordinator error, missing embedded web assets, missing initial Trash fixture) are retained and excluded from completed comparisons. No secrets were displayed. No push or deploy.

Cleanup and evidence

cargo clean exit=0
production worktree cleanup exit=0
web and fixture cleanup exit=0
     Removed 28118 files, 26.3GiB total

Git status is clean. Web build/Svelte output, the detached production worktree and 17 retained own fixture directories were removed. Copied binaries and logs remain ignored artifacts.

Evidence: web-check-final.log, web-test-complete.log, editor-test.log, focused-results.json, matrix-classification.md, production-matrix-complete.log, merged-matrix-complete.log, cargo-fmt.log, cargo-clippy.log, scope-sources.txt, remaining.log, money-cancel-binary-focused.log, production-restart-control.log, merged-restart-control.log, production-trash-control.log, scope-sources-final.txt, cargo-test.log, web-test.log, web-test-final.log, themes-focused.log, keyboard-focused.log, info-focused.log, production-1.log, production-1-calendar-final.log, merged-1-complete.log, production-2-complete.log, merged-2-complete.log, production-3-complete.log, merged-3-complete.log, cargo-test-complete.log, changed-files.txt, commit-history.txt, triage-audit.md, cleanup.log, cleanup-status.txt.

READY cc1af3c12b

READY cc1af3c12b68ad26c8403adde1be39c096b9ddea **Built and files** Merged production af202e1514955ddf0f8b4b3d2503c780d807ed84 into job/merge35 with --no-ff. The merge was clean. Both byte-preserving anchor implementations remain, with their Copy link regression tests. The only added code change caches fixed theme ink roles in the contrast proof; it preserves every point, threshold and assertion. Own files: apps/web/src/lib/themes.test.ts and docs/audits/merge35-triage.md. The complete integrated file list and first-parent commits are attached. **Journal and Calendar controls** Three alternating runs per revision completed. Order: P1, M1, P2, M2, P3, M3. | Run | Journal 5xx | Duplicate-line findings | Calendar 5xx | Follow-up mismatches | Calendar SLOW | |---|---:|---:|---:|---:|---:| | P1 | 0 | 0 | 0 | 0 | 3 | | M1 | 0 | 0 | 0 | 0 | 3 | | P2 | 0 | 0 | 0 | 0 | 4 | | M2 | 0 | 0 | 0 | 0 | 0 | | P3 | 0 | 0 | 0 | 0 | 0 | | M3 | 0 | 0 | 0 | 0 | 3 | Each Journal run had six seeds, 40 accepted creates and 46 final entries. Upload counts were 8, 4, 3, 6, 4, 4; each accepted paragraph appeared once. Every SLOW Calendar response was 201. #1474 and #1469 have the numbers. Their historical combined-load failures did not recur in the requested isolated sections; their cause remains unproved. There is no merge-only failing oracle to bisect. **Cross-User classification** Both production and merge completed 221 foreign replays and 1028 owned/missing comparisons; all eleven original finding lines are identical. Four Mail lines are incomplete-cursor controls; four Journal lines are invalid-date controls. Additional valid controls match on both revisions. Two Money lines are real pre-existing response distinctions (#1443/#1444), with the cancellation fix outside this round. The Notification binding disappears during fixture creation, before foreign replay, on both revisions (#1445); that fixture fix is outside the round. #1466 has every line and the control results. The unchanged matrix still exits 1; its findings were classified, not suppressed. No new cross-User leak or foreign mutation was found. **Remaining phases** The 45-minute campaign completed in 26m37s. All skipped phases reached their end. Image proxy, display names, anonymous Appearance, pins, Unicode titles, origin/licence, Notes IMAP and submission had no findings. Dedup integrity/crash-publish found no wrong or partial file. The independent scan resumed from 64 saved to 243 final Items, 12284989 bytes, stable Item IDs and zero findings. Full authorization coverage passed: 429 operations, 3036 requests and 21 App Password scope classes. Its exit 1 remains recorded. #1475 is an epoch-precondition error: production and merge both report the same two assertions, while every actual epoch stays equal to baseline and bytes/blocks match. #1476 records local latency under a 50000-file purge; all 20 uploaded bodies match. Ordinary p95 3.319351s; under-purge p50 34.033630s, p95 54.894159s; purge 78.726750s; CPU rose 3.45s and RSS 285687808 to 357023744 bytes. Load was 43.36/26.86/21.03. There is no matching baseline.json entry; this is not a perf VM run. #1477 records a Trash timeout, a stale-authority-compatible 403 and still-referenced fixture blobs (29 Trash Items, three live). Both revisions passed a real-folder control: fresh 204, stale 403, restored 204. No collector corruption or new authorization difference was established. **Gates (verbatim)** ```text fmt 0 clippy 0 test-complete 0 Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 10s perf-lint: PASS; 0 violations; 22544 scoped exceptions svelte-check found 0 errors and 4 warnings in 2 files Test Files 301 passed (301) Tests 2169 passed (2169) Duration 482.21s (transform 29%, environment 26%, import 22%, tests 16%, setup 6%) Test Files 25 passed (25) Tests 493 passed (493) Duration 113.40s (transform 18.07s, setup 1.98s, import 47.75s, tests 53.81s, environment 103.76s) ``` Rust: 119 successful result groups, 3349 passed, zero failed, 51 ignored. Commands: cargo fmt --check; cargo clippy --all-targets -- -D warnings; cargo test --no-fail-fast -- --test-threads=4. Web: bun run check; bun run test --maxWorkers=2 --testTimeout=30000. Editor: its full test script. The initial Rust run exited 101 because the unchanged CSV cancellation test missed its transient progress phase. The same built test passed alone with its original expectation and deadline. #1478 records both. The full no-fail-fast completion result above covers every default product crate and doctest. The initial failed log remains attached. The initial web contrast proof hit its explicit 30s deadline. Caching each fixed ink role removed repeated parsing without changing coverage. Two unrelated tests then hit the default 5s budget; both passed alone unchanged. The complete web suite passed with --maxWorkers=2 --testTimeout=30000; all explicit source deadlines and expectations remain. Editor tests also passed. No failure was hidden or fixed by changing an existing assertion. **Decisions and limits** Use identical web assets and the same CLI/sync clients for server controls. Both server revisions were built in release mode; P1 Journal used the existing pinned af202e151 binary, later production samples the fresh build. Server hashes: production 8296c0690f740127cf2679b1af4a3247666a909f85b2966808302b3082903322; merge 3a6f4dd08b52923519613f2a91853dab3a3bd40e39f3c71f52b18c0c9f3298d7. Later commits change only tests/reports, not runtime source. Reuse the existing runner and unchanged section statements. Keep all old matrix/restart expectations; add separate corrected controls. Increase only the Money fixture wait to the documented 180s and the web runner default to 30s. The Rust completion retry is due to the observed failure, not a repeated acceptance campaign. Known gaps: historical Journal/Calendar failures are not reproduced or fixed here; Money and Notification fixes remain in their own jobs; #1475-#1478 remain open. Four existing web warnings remain. The wider original browser issues (#1462/#1463/#1465 and other recorded findings) were outside this triage and were not rerun. No new UI feature or styling was added; no new visual-quality judgment is claimed. The original review artifacts remain for Claude. Incomplete setup attempts (missing helpers/CLI, fixture timeout, coordinator error, missing embedded web assets, missing initial Trash fixture) are retained and excluded from completed comparisons. No secrets were displayed. No push or deploy. **Cleanup and evidence** ```text cargo clean exit=0 production worktree cleanup exit=0 web and fixture cleanup exit=0 Removed 28118 files, 26.3GiB total ``` Git status is clean. Web build/Svelte output, the detached production worktree and 17 retained own fixture directories were removed. Copied binaries and logs remain ignored artifacts. Evidence: [web-check-final.log](https://git.kayg.org/attachments/edd9e966-20cb-4482-a0c0-5baba7063a6e), [web-test-complete.log](https://git.kayg.org/attachments/a64ab324-c706-4ee7-807c-a301916b49a1), [editor-test.log](https://git.kayg.org/attachments/c3204b70-b873-4e05-a32f-d870faf3df8b), [focused-results.json](https://git.kayg.org/attachments/e52a8754-f277-4b74-b50e-c39622ab2025), [matrix-classification.md](https://git.kayg.org/attachments/0169f24b-7a0b-4b49-ba06-a95033f3e01a), [production-matrix-complete.log](https://git.kayg.org/attachments/b23f5ae2-660d-4ee1-8dc6-281f65af9f25), [merged-matrix-complete.log](https://git.kayg.org/attachments/ce870b15-4d77-402c-9eb4-f4b721ead183), [cargo-fmt.log](https://git.kayg.org/attachments/35e8b59d-38e9-4d45-8808-74334ac5b4b5), [cargo-clippy.log](https://git.kayg.org/attachments/e885625e-332c-43f9-a80f-2aaaecd3a14f), [scope-sources.txt](https://git.kayg.org/attachments/06688b78-3b0b-491b-9916-42a4d4a25113), [remaining.log](https://git.kayg.org/attachments/c078e319-412e-4a74-9b62-a216afafd4ea), [money-cancel-binary-focused.log](https://git.kayg.org/attachments/54b03524-8c7a-4fba-b034-5f0b75bd9c2b), [production-restart-control.log](https://git.kayg.org/attachments/84d0b5ae-f359-4cb8-83e3-d28d71bc7792), [merged-restart-control.log](https://git.kayg.org/attachments/30bab390-148b-499f-9e6d-c8f600434751), [production-trash-control.log](https://git.kayg.org/attachments/42a3834f-c8de-4024-83eb-ad74b0d1441d), [scope-sources-final.txt](https://git.kayg.org/attachments/909b3452-5789-4a39-b20f-18d40726414f), [cargo-test.log](https://git.kayg.org/attachments/f2237e30-a692-4412-976d-2e98c58cae0a), [web-test.log](https://git.kayg.org/attachments/e7986573-deb0-46c0-9375-10ecf37d626e), [web-test-final.log](https://git.kayg.org/attachments/1bc83ef3-c670-4581-8a88-13ebe2ef04da), [themes-focused.log](https://git.kayg.org/attachments/29ef898d-4dd6-44d2-907d-9864b9255770), [keyboard-focused.log](https://git.kayg.org/attachments/07d31c7d-7ecd-4af4-8f0a-2287f96378c4), [info-focused.log](https://git.kayg.org/attachments/1651c87c-33b3-4a40-8a5d-da0efa5f9117), [production-1.log](https://git.kayg.org/attachments/13e494ac-5146-4e0c-955e-6472947b7e18), [production-1-calendar-final.log](https://git.kayg.org/attachments/7594d518-dc41-4b8d-8c79-41a5baa2da4c), [merged-1-complete.log](https://git.kayg.org/attachments/6f65965e-80dd-42dd-99fe-fa1d7bb93d55), [production-2-complete.log](https://git.kayg.org/attachments/e0acfe33-1fad-4762-abae-a598e549c861), [merged-2-complete.log](https://git.kayg.org/attachments/581f804e-39de-4c2a-b75b-ce4eb00ee403), [production-3-complete.log](https://git.kayg.org/attachments/ee83c4f8-3c32-45ce-9b9f-415a84323274), [merged-3-complete.log](https://git.kayg.org/attachments/89edbd58-1baa-4a4f-8433-bc46b58fe106), [cargo-test-complete.log](https://git.kayg.org/attachments/229603c4-0b3c-4a96-b962-c19dd1aeffa9), [changed-files.txt](https://git.kayg.org/attachments/237d1bc7-0052-4e4e-b576-740bff7fdf15), [commit-history.txt](https://git.kayg.org/attachments/5c4c97e6-4e71-41ae-9c7d-e3ae8756da1d), [triage-audit.md](https://git.kayg.org/attachments/d41d255a-ff37-4187-8e24-bd42d33113a2), [cleanup.log](https://git.kayg.org/attachments/e9cdda5e-f66f-41a7-bfa6-ebffce0ac7dd), [cleanup-status.txt](https://git.kayg.org/attachments/62f7061a-734c-4841-bbca-9a2230bde211). READY cc1af3c12b68ad26c8403adde1be39c096b9ddea
Author
Owner

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.

Deployed to calternal.cloud in merge round 35a (build cc1af3c12, live 2026-10-09 00:12 IST). Closing.
kayg closed this issue 2026-10-08 18:42:11 +00:00
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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/calternal-v0#1458
No description provided.