docs: record Phase 21 foreground publish admission
Log the decision to implement publish priority through admission control and reserved capacity rather than queue sort order, and capture the preexisting electron.vite.config.ts typecheck mismatch that blocked a clean desktop-client typecheck run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
+15
@@ -387,6 +387,21 @@
|
||||
| 2026-03-31 | Playwright MCP browser open failed on `/.playwright-mcp` | 1 | Used preview HTTP verification instead of blocking on browser environment setup |
|
||||
| 2026-03-31 | Browser click on the login CTA did not submit the form, so Playwright stayed on `/login` | 1 | Added an explicit `@click=\"handleSubmit\"` binding to the CTA and re-ran the E2E flow successfully |
|
||||
|
||||
### Phase 21: Foreground Publish Admission
|
||||
- **Status:** complete
|
||||
- Actions taken:
|
||||
- Confirmed the current runtime only starts publish when `state.activeExecutions.size === 0`, so an already-running monitor can block media publish.
|
||||
- Locked the implementation model: publish is foreground, monitor is background, publish receives reserved runtime capacity, and publish platform policy stays in a lightweight in-memory scheduler.
|
||||
- Added `apps/desktop-client/src/main/publish-scheduler.ts` with in-memory queueing, same-platform active locks, and 3-6 second platform cooldowns.
|
||||
- Refactored `runtime-controller.ts` so publish can start while monitor is running, monitor pauses behind any publish backlog, and lease-in-flight is tracked separately for publish vs. monitor.
|
||||
- Added hardware/runtime adaptive total concurrency with `GEO_DESKTOP_MAX_TOTAL_CONCURRENCY` as an optional cap and a reserved publish slot for monitor budgeting.
|
||||
- Exposed `publishScheduler` in the desktop runtime snapshot and added scheduler unit tests.
|
||||
- Verification:
|
||||
- `pnpm --filter @geo/desktop-client build` passed.
|
||||
- `pnpm --filter @geo/desktop-client test` passed: 5 files, 26 tests.
|
||||
- `git diff --check` passed.
|
||||
- `pnpm --filter @geo/desktop-client typecheck` failed before checking runtime changes because `electron.vite.config.ts` has a Vite 5/8 plugin type mismatch.
|
||||
|
||||
## 5-Question Reboot Check
|
||||
| Question | Answer |
|
||||
|----------|--------|
|
||||
|
||||
Reference in New Issue
Block a user