Skip to content

Wake native projections and resolve renamed document links promptly - #196

Merged
canvascoding merged 6 commits into
mainfrom
codex/document-move-stage-timing-20261031
Oct 31, 2026
Merged

canvascoding merged 6 commits into
mainfrom
codex/document-move-stage-timing-20261031

Conversation

@canvascoding

@canvascoding canvascoding commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Native Move commits a workspace invalidation, but the projection runtime waits for its thirty-second recovery scan. Subscribe the existing durable projector to that committed hint, coalesce concurrent scans, preserve a late hint across the final promise continuation, and rescan after reconnect. A separate instrumented listener pool leaves the application slot usable. Durable reads, fenced materialization and current authorization remain authoritative.

The fresh-image browser run also exposed a visible-link delay: after the server returns complete resolved links, collaboration changes the editor target while its lookup waits for the ten-second background interval. Newly displayed/changed Wiki and exact Markdown targets now use the existing interactive priority. Repeated invalidation of the same target stays background-paced; shared-fetch coalescing and server backoff are preserved. No test timeout is increased.

The package script change triggers dependency security, exposing two advisories in the unchanged lock. Pin minimatch to 11.0.1 and only the glob 13 branch to 14.0.2; retain the legacy glob 7 consumers and regenerate license evidence. No CI/audit gate is disabled. The regenerated lock drops an unused optional nested Undici peer record; the actual installation retains root Undici 7.30.1, satisfying OpenAI's optional peer.

The versioned CommonJS patch now targets Minimatch 11. Two dev-only patches adapt the actual nested Glob 7 traversals to Matcher test/pattern and retain one row per brace expansion, including nonull. Native ESM and the corrected matching engine remain unchanged. A fresh normal installation applies all six patches with error-on-fail.

In the actual warm 200-document public rename measured at the projection runtime correction, preview through physical checkpoint drops from 90.116 to 62.503 seconds; the job itself still takes about 62 seconds. SQL/leases decrease from 14,580/1,073 to 14,367/950. Summed query time does not improve and observed peak ready connections increase from four to six. This removes projection waiting; remaining job/query optimization stays open.

Also separate public job completion from physical projection timing, and align the preexisting fence-test stub with the actual publication callback position.

Validation:

  • All seven projection commands, 28 controlled worker cases, callback models and actual cross-process PostgreSQL 18 notification/reconnect cases pass. A real one-slot application-pool case retains its usable slot and closes the separate listener.
  • Actual 10/200-document cold/warm upload, cookie-handler and native-owner windows preserve unrelated rows/xmin, identity/lineage and bytes; original paths are restored.
  • The visible-link regression fails before the correction and passes afterward. At 360168b, TypeScript checks 5,273 files with zero diagnostics; host/Linux builds, 15 Linux storage cases and all 9 actual Recovery/link/live-editor browser cases pass with zero retries/skips. A post-test audit confirms original data/anchors, mounts and the other 11 container identities remain unchanged.
  • At final compatibility correction 66bdb50, fresh normal npm installation (all six versioned patches), audit (zero vulnerabilities), full repository lint, background suite and regular/strict-release license checks pass. Actual legacy/modern consumers pass 28 sync/async pattern cases, filtered dir-compare, an ASAR archive round trip and scoped Rimraf cleanup. Inventory contains 1,976 components and zero release blockers.
  • At the same final commit 66bdb50, host and pinned Linux production builds pass. The freshly recreated managed container passes all 15 storage and 9 browser cases with zero retries/skips. Post-test verification checks actual installed matching dependencies, source/image identity, loopback-only networking, protected original rows/xmin/bytes/anchors, mounts and all other 11 container identities. Desktop/mobile/link screenshots are inspected. All 12 current-head CI checks pass; the current review/threads/general-comment audit is empty.

Evidence and reproduction: docs/architecture/document-service-projection-wakeup-2026-10-31.md. Regular test:all, remaining performance packages, API-key implementation, complete API/SDK acceptance and release/deployment remain required by the central plan. Review Center and Undo feature work remain excluded.

@canvascoding canvascoding changed the title Wake native document projections after committed file operations Wake native projections and resolve renamed document links promptly Oct 31, 2026
@canvascoding
canvascoding marked this pull request as ready for review October 31, 2026 19:48
@canvascoding
canvascoding merged commit 7d8e699 into main Oct 31, 2026
12 checks passed
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