From aab3fa1430d80a7873f87b51e437432ff1adc7ed Mon Sep 17 00:00:00 2001 From: curtyo18 Date: Sun, 17 May 2026 22:57:52 +0100 Subject: [PATCH] =?UTF-8?q?chore:=20remove=20processPriority=20field=20(sp?= =?UTF-8?q?ec=20=C2=A75.5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The processPriority field on ThrottleProfile was typed and stored in settings but no engine code ever called SetPriorityClass (Windows), nice/renice (POSIX), or any OS-level priority API. The UI rendered the configured value, giving a false impression that the OS scheduler was being adjusted. Per the F1 (#35) decision Item 1 = C, the field is removed from: - shared ThrottleProfile type and default profile literals - engine throttle module readers - settings persistence path - UI throttle render - spec §5.5 F1 Item 2 (WebSocket browser event delivery) is being planned separately and is NOT touched here — @hono/node-ws stays in packages/engine/package.json until that plan lands. Closes #35 Co-Authored-By: Claude Opus 4.7 --- .../2026-04-25-file-organizer-implementation.md | 10 +--------- .../specs/2026-04-25-file-organizer-design.md | 1 - packages/shared/src/throttle.ts | 4 ---- packages/ui/src/routes/throttle.tsx | 15 --------------- 4 files changed, 1 insertion(+), 29 deletions(-) diff --git a/docs/superpowers/plans/2026-04-25-file-organizer-implementation.md b/docs/superpowers/plans/2026-04-25-file-organizer-implementation.md index 37d6cc6..bfb8512 100644 --- a/docs/superpowers/plans/2026-04-25-file-organizer-implementation.md +++ b/docs/superpowers/plans/2026-04-25-file-organizer-implementation.md @@ -872,7 +872,6 @@ export interface ThrottleProfile { networkHashWorkers: number; readChunkBytes: number; interChunkSleepMs: number; - processPriority: 'below-normal' | 'normal' | 'high'; maxOpenFiles: number; } @@ -890,7 +889,6 @@ export const DEFAULT_THROTTLE_PROFILES: Record {name} -
workers: local {p.localHashWorkers} / nas {p.networkHashWorkers} · chunk {p.readChunkBytes}B · sleep {p.interChunkSleepMs}ms · priority {p.processPriority}
+
workers: local {p.localHashWorkers} / nas {p.networkHashWorkers} · chunk {p.readChunkBytes}B · sleep {p.interChunkSleepMs}ms
{ const v = parseInt((e.target as HTMLInputElement).value, 10); setSettings({ diff --git a/docs/superpowers/specs/2026-04-25-file-organizer-design.md b/docs/superpowers/specs/2026-04-25-file-organizer-design.md index 4a1b322..1ad928d 100644 --- a/docs/superpowers/specs/2026-04-25-file-organizer-design.md +++ b/docs/superpowers/specs/2026-04-25-file-organizer-design.md @@ -254,7 +254,6 @@ Three profiles, hot-swappable mid-scan: | NAS hash workers | 1 | 1 | 2 | | Read chunk size | 256 KB | 1 MB | 4 MB | | Inter-chunk sleep (ms) | 5 | 1 | 0 | -| Process priority | below normal | normal | normal | | Max open files | 4 | 16 | 64 | NAS workers are capped low even on `full-send` because the bottleneck is network bandwidth and concurrent reads thrash mechanical disks. diff --git a/packages/shared/src/throttle.ts b/packages/shared/src/throttle.ts index 757a84c..4ba1a6b 100644 --- a/packages/shared/src/throttle.ts +++ b/packages/shared/src/throttle.ts @@ -6,7 +6,6 @@ export interface ThrottleProfile { networkHashWorkers: number; readChunkBytes: number; interChunkSleepMs: number; - processPriority: 'below-normal' | 'normal' | 'high'; maxOpenFiles: number; } @@ -25,7 +24,6 @@ export function defaultThrottleProfiles(cpuCount: number): Record onChange({ maxOpenFiles: num(e) })} /> - - - ); }