lab(pod): provisioning preflight — fail on broken file, warn on typos, ship example #289

Merged
omarz merged 1 commit from development_provisioning_preflight into development 2026-05-24 14:14:43 +00:00
Member

Follow-up to the runtime-configurable provisioning lists. Three changes:

  • source_note() reports the active source (file vs built-in defaults) so a
    build/up no longer silently uses defaults when an operator expected the file.
  • preflight() runs at the top of flow template install / flow common up:
    absent file → defaults (opt-in, unchanged); present + valid → used, with a
    warning for any repo/service name not in the buildable set / lab service
    map (catches typos); present + unparseable → hard error instead of silently
    shipping the defaults the operator meant to override. Stop/restart paths keep
    the lenient fallback (best-effort, shouldn't be blocked by a bad file).
  • Ship crates/lab/templates/provisioning.toml.example: a commented,
    copy-paste-ready file next to the existing env.nu / init.sh templates.

Unit-tested (source-note fallback + unknown-name detection).

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Follow-up to the runtime-configurable provisioning lists. Three changes: - `source_note()` reports the active source (file vs built-in defaults) so a build/up no longer silently uses defaults when an operator expected the file. - `preflight()` runs at the top of `flow template install` / `flow common up`: absent file → defaults (opt-in, unchanged); present + valid → used, with a warning for any repo/service name not in the buildable set / `lab service` map (catches typos); present + unparseable → hard error instead of silently shipping the defaults the operator meant to override. Stop/restart paths keep the lenient fallback (best-effort, shouldn't be blocked by a bad file). - Ship `crates/lab/templates/provisioning.toml.example`: a commented, copy-paste-ready file next to the existing env.nu / init.sh templates. Unit-tested (source-note fallback + unknown-name detection). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Follow-up to the runtime-configurable provisioning lists. Three changes:

- `source_note()` reports the active source (file vs built-in defaults) so a
  build/up no longer silently uses defaults when an operator expected the file.
- `preflight()` runs at the top of `flow template install` / `flow common up`:
  absent file → defaults (opt-in, unchanged); present + valid → used, with a
  warning for any repo/service name not in the buildable set / `lab service`
  map (catches typos); present + unparseable → hard error instead of silently
  shipping the defaults the operator meant to override. Stop/restart paths keep
  the lenient fallback (best-effort, shouldn't be blocked by a bad file).
- Ship `crates/lab/templates/provisioning.toml.example`: a commented,
  copy-paste-ready file next to the existing env.nu / init.sh templates.

Unit-tested (source-note fallback + unknown-name detection).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
omarz merged commit aac084365b into development 2026-05-24 14:14:43 +00:00
omarz deleted branch development_provisioning_preflight 2026-05-24 14:14:43 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_skills!289
No description provided.