Skip to content

Carry varve-serve: the layer shipped documentation and not its viewer - #18

Merged
avrabe merged 1 commit into
mainfrom
carry-varve-serve
Sep 25, 2026
Merged

avrabe merged 1 commit into
mainfrom
carry-varve-serve

Conversation

@avrabe

@avrabe avrabe commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

This realm has carried a docs payload since v0.35.0 — varve-core-api, the
rustdoc for the crate it also carries — and has never carried the tool that
reads it
.

varve-serve exists for exactly that: it reads documentation payloads out of
the store, against the signed manifest, with no export step. A consumer of
this layer had the documentation and no way to open it short of exporting the
tree by hand.

Checked, not assumed

varve-serve has been published for all four triples since v0.35.0.
varve-producer plan against this manifest resolves every one:

55 payload(s) from 11 release(s), realm 'pulseengine'
  varve-serve  aarch64-apple-darwin       varve-serve-v0.38.0-aarch64-apple-darwin.tar.gz
  varve-serve  x86_64-apple-darwin        varve-serve-v0.38.0-x86_64-apple-darwin.tar.gz
  varve-serve  aarch64-unknown-linux-gnu  varve-serve-v0.38.0-aarch64-unknown-linux-gnu.tar.gz
  varve-serve  x86_64-unknown-linux-gnu   varve-serve-v0.38.0-x86_64-unknown-linux-gnu.tar.gz

Same shape as the assembler beside it: repo spelled out because the
payload's name is not the repository's, and the default asset template already
names the archives exactly.

What stays out, and why

varve itself. It is what installs this layer, so a consumer has it
before the layer exists for them; carrying it would put the bootstrap inside
the thing it bootstraps.

This realm has carried a `docs` payload since v0.35.0 — `varve-core-api`, the
rustdoc for the crate it also carries — and has never carried the one tool
that reads it.

`varve-serve` exists for exactly this: it reads documentation payloads out of
the STORE, against the signed manifest, with no export step. A consumer of
this layer therefore had the documentation and no way to open it short of
exporting the tree by hand — which is the workaround `export-docs` exists to
make unnecessary.

It is published for all four triples and has been since v0.35.0. Checked
against the v0.38.0 release rather than assumed, and `varve-producer plan`
resolves every one:

  varve-serve  aarch64-apple-darwin       varve-serve-v0.38.0-aarch64-apple-darwin.tar.gz
  varve-serve  x86_64-apple-darwin        varve-serve-v0.38.0-x86_64-apple-darwin.tar.gz
  varve-serve  aarch64-unknown-linux-gnu  varve-serve-v0.38.0-aarch64-unknown-linux-gnu.tar.gz
  varve-serve  x86_64-unknown-linux-gnu   varve-serve-v0.38.0-x86_64-unknown-linux-gnu.tar.gz

Same shape as the assembler beside it: `repo` is spelled out because the
payload's name is not the repository's, and the default asset template already
names the archives exactly, so no `asset` is needed.

`varve` itself stays out, deliberately. It is what INSTALLS this layer, so a
consumer already has it before the layer exists for them; carrying it would
put the bootstrap inside the thing it bootstraps.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019TNtfRjLNhEz82G2ggeeNu
@avrabe
avrabe merged commit 9106817 into main Sep 25, 2026
1 check passed
@avrabe
avrabe deleted the carry-varve-serve branch September 25, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant