Files
nanoclaw/src
Gabi Simons df6c393346 fix(harness): grandfather two upgrade paths the migration UPDATE can't reach
Migration 019 grandfathers rows that exist when it runs, but two paths
sidestep it and silently flipped pre-existing groups to the lean
defaults:

- A legacy group with no container_configs row at upgrade time gets its
  row from the startup backfill, which ran AFTER the migration and
  stamped '{}'. The backfill now stamps the same legacy all-on state —
  any group it touches by definition pre-dates the feature.
- During the update window (bind-mounted runner source already new, old
  host still running), container.json lacks the harnessCapabilities
  field and the runner defaulted it to {} = all-off. A missing field can
  only mean a pre-capability host (new hosts always emit the resolved
  map), so the runner now defaults it to legacy all-on.

Regression tests cover both: the migration→backfill boot sequence, and
the raw-config mapping (extracted as configFromRaw for testability).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 11:40:05 +03:00
..
2026-07-10 21:11:38 +03:00