Skip to main content
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

Durable replay creates an absent workspace or opens a compatible registered one. It does not activate the workspace. Use detached=True for a caller-owned facade that should not enter the Context workspace directory:
Detached does not mean temporary storage, automatic cleanup, or relaxed Backend identity checks.

3. Version 2 Construction

Version 2 has one top-level construction 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

Paths ending in .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:
Replacement is whole-envelope substitution, never recursive merge. The manifest still owns the workspace id, requested extensions, and Entity schemas. Treat explicit Backend maps as sensitive when they contain credentials. Prefer environment-owned replacements when secrets should not travel with the manifest.

7. CLI Workflow

Import registers the reconstructed workspace and leaves active selection unchanged. Creation and import intentionally have no --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.
  • construction is the single Backend replay authority.
  • Import and activation remain separate operations.
  • Required dependencies are recomputed from requested optional roots.

Further Exploration

Related resources:
  • Workspace — Lifecycle, Context ownership, and durable identity
  • Backends — Construction, tags, and routing truth
  • Extensions — Requested roots and activation dependencies