Term
ProjectSnapshot
An immutable resolved project definition at an exact revision. It is the pinned meaning of a Project that a WorkSession actually ran against.
Parent: Project 1 via snapshots
Purpose
Give WorkSessions a frozen, portable project definition so later mutation of the live Project cannot rewrite history.
Relationships
| Name | Target | Kind | Cardinality | Inverse |
|---|---|---|---|---|
project | Project | references | 1 | snapshots 0..* |
pinned_by_work_sessions | WorkSession | observes | 0..* | project_snapshot 0..1 |
Invariants
- MUST
immutable: A ProjectSnapshot MUST be immutable after publication. - MUST NOT
no-runtime-state: A ProjectSnapshot MUST NOT contain PIDs, ports, heartbeats, or current workspace/run/conversation state. - MUST NOT
no-credentials: A ProjectSnapshot MUST NOT serialize credentials or other secrets. - MUST
pin-exact-revision: A project-bound WorkSession MUST pin exactly one ProjectSnapshot revision.
Aliases
project-revision
Deprecated aliases
None.
Not synonyms
- Project: The live Project remains mutable; the snapshot is a frozen revision.
- WorkSession: A snapshot is definition, not an episode of work.
Examples
- Hash-addressed export of project policy and resource names used to open a WorkSession.
Anti-examples
- A live project record that still accepts policy edits.
- A bundle that includes API tokens or raw credentials.
Fields
The identity field is the index of the handle. fields is the exchange shape.
| Name | Kind | Type | Portable | Notes |
|---|---|---|---|---|
project_snapshot_id | identity | name | True | |
project_id | reference | name | True | |
revision | metadata | string | True | Exact revision identifier of the resolved definition. |
definition_hash | metadata | string | True | |
resolved_definition | payload | object | True | Must not embed credentials or live runtime handles. |
Native mapping hooks
| System | Native term | Fidelity | Notes |
|---|---|---|---|
project-interop | _none_ | tbd | Snapshot/export objects may exist; equivalence is unverified. |