Developer preview. Not production-ready, not audited, not for sensitive code. Read the limits

Record
WS-RECORDS
Status
in force
Built
built
Decided
2026-10-22 by the coordinator

Older workspace records are read-only, upcast in memory, and never written

A workspace record is stored in the store of the version that wrote it. The stores share the repository registry (<git common dir>/bridlewise/):

Version What it added Store
v2 the record before the forge workspaces/
v3 ws publish and ready workspaces-v3/
v4 ws land workspaces-v4/
v5 stacks (stackedOn) workspaces-v5/ (current)

Code of a given version writes only its own store. It reads every older store and upcasts each record through the one migration chain (v2 → v3 → v4 → v5, migrateWorkspaceRecord). The upcast is in memory only. It never writes a migrated copy, never writes back to the older store, and never writes anything derived from an older record. Older code, in another checkout of the same repository, keeps reading and writing its own store unchanged.

A workspace known only to an older store belongs to the checkout of the version that made it. It stays read-only to newer code until its recorded cutover (runbook P7):

  • the store refuses a save of it, as does every saving or destructive verb, before touching anything (workspace_owned_by_v<N>_checkout, naming its record and its worktree);
  • sweep never ends it.

Each store holds only its own version: a record of another version found in a store is refused, never silently migrated. A version that changes the record’s shape adds its own store and one step to the chain. It never rewrites the stores before it.

Search the documentation

Type to search the curated record.

↑↓ move Enter open Esc close