Expand description
Capability lockfile and runtime attestation (spine §4.1).
pointlock lock runs system.hello + device.capabilities against a
real daemon and freezes the result into a CapabilityLockfile (checked
into the repository like a dependency lockfile). At openSession the
provider replays the handshake and compares the live world against
lockfileDigest; any mismatch is capability_drift — refuse to run,
never silently degrade.
Structs§
- Capability
Attestation - The runtime attestation result exposed on an open session (spine §4.2
CapabilityAttestation).openSessionhas already compared it against the expectedlockfileDigest; it is surfaced for Evidence and reports. - Capability
Lockfile - The capability lockfile
pointlock lockfreezes after talking to a real daemon (spine §4.1CapabilityLockfile). Itsdigestis embedded intoFlowIR.lockfileDigestat compile time and re-checked by attestation at everyopenSession. - Lockfile
Device - The frozen
device.capabilitiesoutcome (spine §4.1CapabilityLockfile.device). - Lockfile
Hello - The frozen
system.hellooutcome (spine §4.1CapabilityLockfile.hello). - Lockfile
Provider - Identity of the provider package the lockfile was produced by
(spine §4.1
CapabilityLockfile.provider). - Peer
Info - Daemon identity (DeviceRail
PeerInfo, spine A.8). - Protocol
Version - A negotiated protocol version (
{ major, minor }).
Constants§
- LOCKFILE_
DIGEST_ DOMAIN_ TAG - Domain tag of the lockfile digest, following the 02 §12.2 domain-hash
construction (
sha256(utf8(tag + "\n" + JCS(content)))).
Functions§
- lockfile_
digest - Computes the canonical digest of a lockfile’s content — every field
except
digestitself and the volatileattestedAttimestamp — viapointlock_ir::domain_hashunderLOCKFILE_DIGEST_DOMAIN_TAG.