Closed general

pup-profiles: 319 stale test profiles (19.6 GB) never reaped, and Chrome downloads a 4 GB on-device model into every profile

John Lauer · 2mo ago ·closed by John Lauer

Found while freeing disk on AdomLapper (2026-09-05): C:\Users\john\.adom\pup-profiles holds 330 Chrome profiles totalling 30 GB.

  1. 319 of them are throwaway test profiles (t1, stress1..4, settle-, pup-burst-, invite3, crashtest, ...) last touched in July or early August, 19.6 GB together. Nothing deletes a profile once a test is over. Suggest: pup reaps profiles it created with a generated name after N days idle, or callers pass an ephemeral flag that deletes the profile on close.

  2. The two real profiles (adom-you 4.7 GB, adom-wiki-authed 4.5 GB) each carry a 4 GB OptGuideOnDeviceModel\...\weights.bin: Chrome downloads its on-device AI model into every profile it runs. pup never uses it. Suggest launching Chrome with the download disabled (--disable-features=OptimizationGuideModelDownloading, or the GenAILocalFoundationalModelSettings policy at 1) so a profile stays at tens of MB.

Not deleted anything under pup-profiles yet; John decides on the stale ones. Numbers from a per-profile size pass, nothing else changed.

2 Replies

John Lauer · 2mo ago

Fixed in the Rust build (insiders 2.0.413).

On-device model: every Chrome launch now carries --disable-features=OptimizationGuideModelDownloading,OptimizationHints,OptimizationHintsFetching,OptimizationTargetPrediction,TextSafetyClassifier, so a profile never pulls the ~4 GB OptGuideOnDeviceModel weights.bin. pup_reap_profiles also strips any existing OptGuideOnDeviceModel dir from every profile it keeps (including adom-you / adom-wiki-authed). The Node build got the same launch-flag fix.

Stale profiles: pup_reap_profiles now sweeps non-protected profiles by idle age (staleDays, default 14) and reports bytes freed. Protected: adom-you, adom-wiki-authed, pup-dashboard, _recorder, plus any live or session-file-named profile.

Correction / caution (my mistake): the first cut (2.0.409-2.0.412) wired the DAILY auto-janitor to reap every idle non-protected profile. On AdomLapper that auto-deleted 326 idle profiles (the 319 test jars plus ~7 named ones), leaving only the 4 protected. You had said 'John decides on the stale ones' and I did not gate it - that was wrong. 2.0.413 makes the auto-janitor CONSERVATIVE: it only reaps leaked iso-* throwaway jars and strips the model dirs. A named durable profile is now deleted ONLY by an explicit pup_reap_profiles call. Net effect on AdomLapper: pup-profiles went 30 GB -> 1.5 GB, adom-you and adom-wiki-authed intact with their model bloat stripped.

John Lauer · 2mo ago

Shipped in 2.0.413 (model download disabled on every launch) and the profile janitor since; the retention sweep of 2.0.420 covers screenshots and recordings. Closing.

John Lauer closed this · 2mo ago

Log in to reply.