Client Instance Attachment v1¶
Source schema: doc/schemas/client-instance-attachment.v1.schema.json
Machine-readable schema for the first pod-layer artifact that attaches a concrete client instance to a live serving-node session using an embedded participant bind. This remains above peer-handshake.v1 and is intended for post-MVP thin-client or hosted-user flows.
Governing Basis¶
doc/project/40-proposals/006-pod-access-layer-for-thin-clients.mddoc/project/40-proposals/007-pod-identity-and-tenancy-model.mddoc/project/40-proposals/014-node-transport-and-discovery-mvp.mddoc/schemas/participant-bind.v1.schema.json
Project Lineage¶
Requirements¶
Stories¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
Schema version. |
attachment/id |
yes |
string | Stable identifier of this client-instance attachment artifact. |
attached-at |
yes |
string | Timestamp when the client instance was attached to the serving node. |
profile/type |
yes |
enum: pod-client, hybrid |
Participation profile used by this attached client surface. |
serving-node/id |
yes |
string | Serving node that hosts the attachment. |
pod-user/id |
no |
string | Hosted-user identity when the attachment belongs to a later pod tenancy. In early post-MVP deployments this may still coincide with a participant-style role. |
client-instance/id |
yes |
string | Concrete client, device, or install instance being attached. |
models/local? |
no |
boolean | Whether the attached client keeps substantive local execution responsibilities. |
session/state |
yes |
enum: attaching, attached, degraded, suspended |
Operational state of the attached client session. |
export/capable? |
yes |
boolean | Whether the attachment contract claims user export capability. |
migration/allowed? |
yes |
boolean | Whether the attachment contract claims that migration away from the serving node is allowed. |
participant-bind |
yes |
ref: participant-bind.v1.schema.json |
Participant-scoped bind proving who is speaking over the already established node-to-node session. |
policy_annotations |
no |
object | Optional hosting or federation policy annotations that do not change the core attachment semantics. |
| ## Field Semantics |
schema/v¶
- Required:
yes - Shape: const:
1
Schema version.
attachment/id¶
- Required:
yes - Shape: string
Stable identifier of this client-instance attachment artifact.
attached-at¶
- Required:
yes - Shape: string
Timestamp when the client instance was attached to the serving node.
profile/type¶
- Required:
yes - Shape: enum:
pod-client,hybrid
Participation profile used by this attached client surface.
serving-node/id¶
- Required:
yes - Shape: string
Serving node that hosts the attachment.
pod-user/id¶
- Required:
no - Shape: string
Hosted-user identity when the attachment belongs to a later pod tenancy. In early post-MVP deployments this may still coincide with a participant-style role.
client-instance/id¶
- Required:
yes - Shape: string
Concrete client, device, or install instance being attached.
models/local?¶
- Required:
no - Shape: boolean
Whether the attached client keeps substantive local execution responsibilities.
session/state¶
- Required:
yes - Shape: enum:
attaching,attached,degraded,suspended
Operational state of the attached client session.
export/capable?¶
- Required:
yes - Shape: boolean
Whether the attachment contract claims user export capability.
migration/allowed?¶
- Required:
yes - Shape: boolean
Whether the attachment contract claims that migration away from the serving node is allowed.
participant-bind¶
- Required:
yes - Shape: ref:
participant-bind.v1.schema.json
Participant-scoped bind proving who is speaking over the already established node-to-node session.
policy_annotations¶
- Required:
no - Shape: object
Optional hosting or federation policy annotations that do not change the core attachment semantics.