fabro/apps
Bryan Helmkamp 1d61611f68
feat: seed environments at install, make default deletable
Built-in environments (default, docker, daytona) are now seeded only by
the installer, not re-created on every server startup. The running
server loads whatever is on disk and never self-heals seeds, so an
uninstalled instance has no managed environments and a run that selects
an absent environment fails explicitly instead of silently resurrecting
a built-in.

The `default` environment is no longer protected from deletion. Deleting
it removes the run fallback on purpose: a later run that selects
`default` fails with "unknown environment: default", forcing an explicit
choice. `local` is unchanged (reserved, in-memory).

- fabro-environment: `EnvironmentStore::load_or_seed` -> `load` (no
  seeding); new public `seed_environments(dir)` (idempotent, preserves
  edits); drop the `default` delete guard and the `Protected` error.
- fabro-server: startup loads without seeding; web install seeds after
  persistence; drop the Protected->409 mapping; test_support seeds so
  tests exercise an installed instance.
- fabro-cli: install seeds after persisting outputs.
- web: remove the "protected" tag and disabled Delete for `default`.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 20:10:33 -04:00
..
fabro-web feat: seed environments at install, make default deletable 2026-06-01 20:10:33 -04:00
marketing refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
remotion Add Remotion video app with Fabro brand intro animation 2026-03-19 11:03:19 -04:00