Skip to content

Document Stone v1#112

Open
livingsilver94 wants to merge 11 commits intoAerynOS:mainfrom
livingsilver94:stone_v1_payload
Open

Document Stone v1#112
livingsilver94 wants to merge 11 commits intoAerynOS:mainfrom
livingsilver94:stone_v1_payload

Conversation

@livingsilver94
Copy link
Copy Markdown
Member

@livingsilver94 livingsilver94 commented Apr 22, 2026

This PR documents the Stone v1 format.

I wrote this documentation by reading the old D code, our libstone-go library and crates/stone Rust crate. I've been careful not to miss anything, but there may be errors somewhere, or information may be partial, especially for the least used fields.

@livingsilver94 livingsilver94 force-pushed the stone_v1_payload branch 9 times, most recently from b5f2d99 to 70ff8f8 Compare April 29, 2026 17:37
@livingsilver94 livingsilver94 marked this pull request as ready for review April 29, 2026 17:41
@CookieSource CookieSource requested review from ermo and tarkah April 30, 2026 06:19
@CookieSource
Copy link
Copy Markdown
Member

Can the dev team take a look I'm not equipped to judge this documentation

@ermo
Copy link
Copy Markdown
Member

ermo commented May 6, 2026

@tarkah We kind of need your eyes on this when you have a few spare cycles.

Copy link
Copy Markdown

@tarkah tarkah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! Just a couple small things.

description: The format of the Content record
---

The Content record contains a blob. Its size is indicated in they Payload sub-header, as this kind
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they -> the


|Value|Name|Description|Meaning of `source`|
|---|---|---|---|
| 1 | Regular | Regular file of data. |<a href="https://xxhash.com">XXH3_128bits</a> hash of the file.<br></br>The source is a hash because our package manager, Moss, uses a [CAS](https://en.wikipedia.org/wiki/Content-addressable_storage) to store files. |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth pointing out this hash is what allows us to match against the index record & therefore content slice.

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.

4 participants