First of three focused PRs for selected publication (#132 / #134). This adds the backend capability; the publish screen and editor entry point follow separately. The existing UI remains unchanged and compatible.
Accept audited selections of pending additions/updates; validate exact membership and deduplicate paths.
Preserve omitted selection as publish-all and explicit [] as no upserts.
Intersect with current pending work, capture selected paths/hashes, and reuse that plan on retries.
Always retain global removals/schema processing, full archive pruning inventory, full generated-assets CDN sync and cache purge.
No migrations, visibility flags, force-rebuild mode or new publishing engine.
Verification
Independent code and readability reviews: clear.
Isolated workspace dependencies resolve into this slice, not the combined UI tree.
Queue/archive/SQLite regressions cover selection, global removals, omitted versus empty input, interrupted retries and unselected work remaining pending.
Production Docker/Compose, browser interactions, live CDN/proxy behavior and authentication handshake were not exercised. Owner archive edits and all UI/editor changes are excluded.
## Summary
First of three focused PRs for selected publication (#132 / #134). This adds the backend capability; the publish screen and editor entry point follow separately. The existing UI remains unchanged and compatible.
- Accept audited selections of pending additions/updates; validate exact membership and deduplicate paths.
- Preserve omitted selection as publish-all and explicit `[]` as no upserts.
- Intersect with current pending work, capture selected paths/hashes, and reuse that plan on retries.
- Always retain global removals/schema processing, full archive pruning inventory, full generated-assets CDN sync and cache purge.
No migrations, visibility flags, force-rebuild mode or new publishing engine.
## Verification
- Independent code and readability reviews: clear.
- Isolated workspace dependencies resolve into this slice, not the combined UI tree.
- All 23 validation gates passed; **2,489 tests** (web 1,739; worker 341; shared/native 409).
- Svelte check: 0 errors, 27 existing warnings. Worker line coverage 98.58% (baseline 98.57%); jobs/config/helpers/theme 100%.
- Queue/archive/SQLite regressions cover selection, global removals, omitted versus empty input, interrupted retries and unselected work remaining pending.
Production Docker/Compose, browser interactions, live CDN/proxy behavior and authentication handshake were not exercised. Owner archive edits and all UI/editor changes are excluded.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
First of three focused PRs for selected publication (#132 / #134). This adds the backend capability; the publish screen and editor entry point follow separately. The existing UI remains unchanged and compatible.
[]as no upserts.No migrations, visibility flags, force-rebuild mode or new publishing engine.
Verification
Production Docker/Compose, browser interactions, live CDN/proxy behavior and authentication handshake were not exercised. Owner archive edits and all UI/editor changes are excluded.