One client story.
Flow and algorithm
Platform spec article
Flow and algorithm
Spec standingStandard
-
Hub authority
Context
Decision
Hub owns HTTP and auth.
Consequences
Extension defers.
Verification anchors
beskid_pckg; pckgClient.
-
Registry versions
Context
Manual semver drift.
Decision
Registry-assigned publish versions in routine flows.
Consequences
UI shows server version.
Verification anchors
publish API tests.
- Contracts and edge cases Registry client guarantees and failure modes.
- Design model Conceptual model for the Beskid pckg registry client (`beskid_pckg`).
- Examples Example `beskid pckg` invocations and configuration.
- FAQ and troubleshooting Common pckg client and registry issues.
- Flow and algorithm Pack, upload, and query flows for the pckg registry client.
- Verification and traceability Tests and traceability for the pckg client contract.
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).
beskid pckg pack algorithm
Section titled “beskid pckg pack algorithm”flowchart TD A[Resolve source root] --> B[detect_pack_profile] B --> C[collect_pack_entries walk] C --> D[apply_pack_readme] D --> E[build_package_json] E --> F[ZipWriter + SHA256] F --> G[.bpk artifact]
- Read
Project.projwhen present; choosePackProfile::LibraryorTemplate. - Walk files (respect template exclude strips via
strip_template_pack_excludes). - Include
.beskid/docs/**and package docs for library profiles. - Copy resolved readme to zip root
README.mdwhen not already present. - Emit
package.jsonmetadata (registry assigns version on publish—clients do not invent release versions in normal flows).
Publish / upload
Section titled “Publish / upload”- Build or locate
.bpkbytes. PckgClient::send_multipartto registry upload endpoint with publisher auth.- Server runs
PackageArtifactValidator+ documentation ingestion; failures return structured API errors mapped toPckgError::Api.
Fetch into workspace
Section titled “Fetch into workspace”beskid fetch (CLI command in beskid_cli) uses registry URLs from Workspace.proj and downloads through PckgClient, writing materialized roots recorded later in Project.lock. Version resolution follows registry-assigned versions, not ad-hoc client version strings.
Version state file
Section titled “Version state file”Pack may persist local version hints in .beskid/pckg state (PackVersionState) for iterative dev publishes; production CI should rely on server-assigned versions after upload.
Error handling
Section titled “Error handling”All HTTP failures surface as PckgError with status, message, and optional body text suitable for --verbose CLI output.