A manifest remembers how to build the stage; the actors still need their own travel plans.
1. Motivation
Workspace setup often needs to move between a laptop, CI, and production. A manifest captures that reconstructive shell: one Backend construction contract, requested optional extensions, and user Entity schemas with placements. It deliberately excludes stored rows and physical Backend data. That boundary keeps configuration reviewable without turning every export into an accidental database backup.2. Export and Replay
detached=True for a caller-owned facade that should not enter the Context workspace directory:
3. Version 2 Construction
Version 2 has one top-levelconstruction envelope and no parallel top-level config.
Runtime identifiers prove Backend identity, not connection configuration.
Replay never invents endpoints, credentials, paths, or clients from an identifier.
4. Manifest Shape
extensions stores requested optional roots.
Required and transitive dependencies are recomputed during replay, while extension-owned Entity schemas are rebuilt by their owners.
backend_summary may appear as inspection metadata.
It never configures or reconnects a Backend.
5. Save and Load Files
.json use JSON; other paths use YAML.
Manifest objects deep-copy nested construction values and serialized mappings, so editing an exported dictionary does not mutate the source object.
6. Replace the Environment
Preset and configured-Backend manifests may replace their complete construction envelope at replay:7. CLI Workflow
--active option; activation is a separate decision.
8. Scope and Recovery
After replay, reconnect or re-ingest domain data through its owning API.
For example, load the
database extension and call ws.database.ingest(...) when external catalog metadata is needed.
Version 1 manifests remain readable at the input boundary and are normalized to version 2.
New exports always emit version 2.
Summary
- A manifest reconstructs a workspace shell, not its rows.
constructionis the single Backend replay authority.- Import and activation remain separate operations.
- Required dependencies are recomputed from requested optional roots.

