Skip to content

feat(config): replace prefetch.mode with prefetch.enabled (#340) - #341

Merged
samsoir merged 2 commits into
develop/0.5.0from
feat/prefetch-enabled-340
Oct 24, 2026
Merged

samsoir merged 2 commits into
develop/0.5.0from
feat/prefetch-enabled-340

Conversation

@samsoir

@samsoir samsoir commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Closes #340

Change

  • prefetch.enabled (default true) is the only prefetch switch, along with run --no-prefetch.
  • prefetch.mode is retired. aggressive and opportunistic behaved identically, because should_prefetch_now returned true for both. disabled duplicated enabled = false.
  • Removed PrefetchMode, StrategyMode, CoordinatorStatus::mode and PerformanceCalibration::recommended_strategy.
  • New FOLDED_VALUES in config/upgrade.rs moves a retired key's value to a current key. The parser applies folds after every section is read. config upgrade writes the result and names it, and the startup notice counts a leftover mode line as one deprecated setting.
  • Migration rule: the new enabled is the old enabled AND mode != disabled. Any other mode value is ignored, never refused.
  • The issue said the 0.4.x rollback copy must keep its mode line. It doesn't need to. 0.4.8 honours prefetch.enabled, and with no mode line it falls back to auto, which runs as opportunistic. This was checked against the v0.4.8 tag.
  • Also carries b185307, the README updates and the two beta screenshots for the 0.5.0 release.
  • Updated docs/configuration.md, the README, the prefetch design docs, CLAUDE.md and the CHANGELOG.

Verification

  • make pre-commit passes.
  • Tests cover every row of the migration table in the parser, including either line order and unknown values. They also cover config upgrade and its dry run, the startup notice count, and the 0.4.x rollback copy.
  • An end-to-end config upgrade on a scratch HOME turned mode = disabled into enabled = false and removed the mode line. Afterwards, config get prefetch.enabled returns false.

prefetch.enabled is now the only switch. Of prefetch.mode's values,
aggressive and opportunistic behaved the same (should_prefetch_now
returned true for both), and disabled switched prefetch off by a second
route, a coordinator that ran and planned nothing.

The mode is retired, and with it PrefetchMode, StrategyMode, the
status mode field and PerformanceCalibration::recommended_strategy.

A config that switched prefetch off keeps it off. FOLDED_VALUES moves a
retired key's value to a current key: the parser reads mode = disabled
as enabled = false after every section, so line order does not matter
and an explicit enabled = false is never turned back on. Any other mode
value is ignored, never refused. config upgrade writes the fold before
the line goes and names it, and the 0.4.x rollback copy carries the same
enabled value, which 0.4.x honours.

Closes #340
- Credit to dlicudi for macOS port of XEarthLayer
- Credit to NASA for useage of Blackmarble VIIRS data
- Added summary of Package Manager and screenshot
- Fixed and updated screenshot of XEarthLayer dashboard TUI
@samsoir
samsoir merged commit 346095f into develop/0.5.0 Oct 24, 2026
2 checks passed
@samsoir
samsoir deleted the feat/prefetch-enabled-340 branch October 24, 2026 20:41
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