Skip to content

Defaults: re-score every 10 generations, drop bad hosts, wait 8 h for cores - #53

Merged
eliotmcintire merged 2 commits into
developmentfrom
rescore-default-10
Oct 14, 2026
Merged

eliotmcintire merged 2 commits into
developmentfrom
rescore-default-10

Conversation

@eliotmcintire

@eliotmcintire eliotmcintire commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Three settings that FireSense runs have always set by hand now take those values by default: DEoptim re-scores its surviving population periodically, a host that fails checks is left out instead of stopping the job, and a job waits for busy cores instead of failing. In the FireSense comparison, re-scoring converged in about half the generations and reached the best scores without lucky draws.

Affects: DEoptim runs that never set clusters.deoptimRescoreEvery now re-score every 10 generations, builds that never set clusters.onBadHost drop failing hosts, and builds that never set clusters.waitForCores wait up to 8 hours for cores.

Technical details

The defaults were hard-coded where read: R/DEoptim.R:253-254 (unset meant 0), R/estimateCluster.R:293 ("stop"), R/allocateWhenAvailable.R:41, R/estimateCluster.R:369 and R/reserveCapacity.R:55 (0). They now come from one list, .optionDefaults in R/optionDefaults.R, read with .clustersOption(); explicit settings, including 0, still win. New tests: tests/testthat/test-optionDefaults.R and the default-10 test in test-DEoptimRescore.R (both fail on development). The test setup sets clusters.waitForCores = 0 so tests that expect an immediate shortfall error do not wait 8 hours. R CMD check on the branch: 0 errors, 0 warnings, 3 existing notes, all tests pass.

Also fixed the two devtools::document() errors: in R/clusters.R the @export/@importFrom tags sat inside \dontrun{} (so plotMachine() and testMachine() were never exported and are now), and R/reservations.R had an @inheritParams for freeCoresLessReserved() that inherited nothing, now removed.

🤖 Generated with Claude Code

…, waitForCores to 8 hours

The three options FireSense production already sets are now the defaults, defined once in .optionDefaults.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@eliotmcintire eliotmcintire added the enhancement New feature or request label Oct 14, 2026
…ded @inheritParams on freeCoresLessReserved

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Oct 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 74.09%. Comparing base (a095faa) to head (ffd06c8).

Files with missing lines Patch % Lines
R/estimateCluster.R 50.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           development      #53   +/-   ##
============================================
  Coverage        74.09%   74.09%           
============================================
  Files               21       22    +1     
  Lines             2061     2061           
============================================
  Hits              1527     1527           
  Misses             534      534           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@eliotmcintire
eliotmcintire merged commit 95eff59 into development Oct 14, 2026
12 checks passed
@eliotmcintire
eliotmcintire deleted the rescore-default-10 branch October 14, 2026 23:49
eliotmcintire added a commit that referenced this pull request Oct 14, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant