Lockfile (`Project.lock`)
Beskid Project Lockfile (`Project.lock`)
Lockfile (`Project.lock`)
Project.lock records resolved dependency identities for deterministic builds.
File location
Section titled “File location”- Path:
<project-root>/Project.lock
Lifecycle rules
Section titled “Lifecycle rules”- If lockfile is missing during resolve/build/run, create it automatically.
- If dependency graph identity changes, update lockfile automatically.
- Build/run uses lockfile as the authoritative resolved graph snapshot.
--frozenforbids an update.--lockedrequires an existing file and forbids an update.
Minimal schema (conceptual)
Section titled “Minimal schema (conceptual)”- Root project identity (
name,version, canonical manifest path). - Resolved dependencies list:
- package identity
- source kind (
pathorregistry) - source descriptor (canonical path)
- source root
- dependency aliases
- Graph metadata:
- deterministic projection order
- lock format version
Source-provider behavior
Section titled “Source-provider behavior”path: records the canonical manifest, source root, and materialized root.registry: records the selected version, registry alias when present, and materialized root.git: is not materialized by the current workflow and fails before compilation.
Failure modes
Section titled “Failure modes”- Read error (
E3020): failed to read lockfile. - Parse error (
E3021): malformed lockfile content. - Out-of-date lock (
E3022): lock does not match resolved graph. - Frozen mismatch (
E3023): update required but forbidden in frozen mode. - Source mismatch (
E3024): lock entry does not match resolved source identity.
Relationship to materialization
Section titled “Relationship to materialization”- Lock sync happens before dependency materialization.
- Materialization consumes lock-resolved identities and writes to
obj/beskid/deps/src. - Build stages consume materialized roots only.
Interop migration note
Section titled “Interop migration note”When Std is a dependency, Project.lock must reflect Std resolution identity before compilation proceeds.