Lock alignment.
Contracts and edge cases
Platform spec article
Contracts and edge cases
Spec standingStandard
-
Hub authority
Context
Decision
Hub owns workspace and lock rules.
Consequences
CLI/IDE defer.
Verification anchors
resolution tests.
-
CLI lock mutations
Context
Resolver bypass risk.
Decision
fetch/lock must use CLI resolver.
Consequences
Matches VSC-0002.
Verification anchors
CLI integration.
- Contracts and edge cases Workspace and lockfile guarantees for tooling operators.
- Design model Conceptual model for workspace manifests, lockfiles, and materialized dependency roots.
- Examples Workspace and lockfile examples for tooling workflows.
- FAQ and troubleshooting Workspace and lockfile troubleshooting for tooling users.
- Flow and algorithm Lock synchronization, fetch, and update flows for workspace tooling.
- Verification and traceability Tests and traceability for workspace and lock tooling contracts.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
what-this-feature-specifies | yes | yes |
implementation-anchors | yes | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Contracts
Section titled “Contracts”- Lock header version — Only
# Project.lock v1is accepted; unknown headers must error. - Required lock fields — Each dependency entry must include materialized and source roots for replay.
- Registry alias resolution — Unknown aliases must fail at fetch time with actionable messages.
- Workspace member integrity — Every
memberpath must resolve to aProject.projunder the workspace root. - Reproducible materialization —
materialized_rootpaths must be stable for a given lock file on the same machine class (OS-specific subtrees allowed when documented in compiler feature).
Edge cases
Section titled “Edge cases”| Case | Behavior |
|---|---|
| Missing lock under strict CLI policy | build/run fail before compile |
| Stale lock after manifest edit | lock/update rewrite; LSP invalidates compilation cache |
| Partial fetch failure | Unresolved dependency policy (Warn vs Error) controls whether graph proceeds |
| Duplicate dependency names | Validation error during graph build |
| Corelib-only path fallback | Implicit Std edge omitted for corelib workspace shards to avoid cycles |
pckg integration
Section titled “pckg integration”Published workspace bundles on the registry use server-side validation in pckg/src/Server/Services/Workspace/ (WorkspacePublishService, WorkspacePackageManifest). Client-side beskid pckg commands must emit manifests compatible with those validators before upload.