Skip to content

Make the processing memory budget configurable in Settings - #997

Merged
theatrus merged 1 commit into
mainfrom
codex/stack-memory-budget
Oct 25, 2026
Merged

theatrus merged 1 commit into
mainfrom
codex/stack-memory-budget

Conversation

@theatrus

@theatrus theatrus commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Color compositions and stretches could be refused by a fixed 50% memory budget with no way to change it in PSF Guard. Open Settings → Performance → Processing memory, choose a Memory budget from 5% to 100%, and release the slider, press Enter, or move focus to save. The panel shows the effective budget in GiB. New jobs use it without restarting the server; running jobs keep their current settings.

The default stays 50%. Settings persist in the registry over [server].memory_budget_fraction, and the default button restores the config value. The existing worker planning and color/stretch admission checks all read the same policy. Errors now include the estimated requirement, effective budget, measured memory and Settings path. The memory basis is explicit: installed RAM on macOS, available RAM on Linux/Windows.

The workers API adds the effective/default fraction and memory measurement. A missing memory field preserves the stored choice, including for older clients changing only CPU shares; null restores the config default. Registry reads and writes for that override occur under the existing registry lock.

Rebased onto merged #996 and remote-worker support from #998. Uses the published Seiza 0.44.0 / seiza-stacking 0.51.0 release. The release notes preserve all three features. The sign-in browser-test race fix is already included through #996.

Checks run locally on the rebased head:

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
  • cargo test --workspace --locked: 3,414 passed, 13 ignored; cargo build --locked
  • frontend lint/build; Vitest 1,877 passed
  • scripts/e2e-local.mjs: 6 passed, Chromium + WebKit, desktop/phone, keyboard editing, persistence across reload, preserving CPU shares, older-client updates, restoring defaults, rejecting out-of-range values and horizontal overflow; combined narrowband/RGB-star controls and delayed account preferences after sign-in
  • deterministic regression for the reported 24,735 MiB estimate against a 24,576 MiB budget; a higher configured budget admits it, without bypassing the check
  • git diff --check; screenshots inspected

Processing memory on desktop

Phone control Processing memory budget on phone

@theatrus
theatrus force-pushed the codex/stack-memory-budget branch from 89d05b3 to 55520ac Compare October 25, 2026 16:30
@theatrus
theatrus merged commit 50e2d76 into main Oct 25, 2026
14 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