Expand description
A slice of the seat, packed so somebody else can open it.
“Give the new person project X and tasks Y” is not one of the questions any of these tools answers. The tracker knows the work, the deed store knows what the work produced, and the pack knows what was learned; handing over a piece of that means taking a slice across all three and making it stand on its own somewhere else.
What a slice has to carry, beyond the issues somebody named:
- what they stand on. An issue whose blockers are absent is a task with no account of why it is not done, so the closure walks blockers.
- what plan they belong to. A child with no parent is a task with no reason.
- what the work produced, by accession. The deeds themselves come from the deed store, which is the only thing that can vouch for them; this names them and the receiver fetches or refuses.
The shape is BagIt (RFC 8493): a data/ payload, a manifest of every file
in it with a digest, and a bag-info.txt saying who packed it and when. A
receiver checks the manifest before reading anything, which is the property
a tarball does not have. satchel.json beside the payload is the
self-description RO-Crate argues a package needs
(doi:10.3233/DS-210053): the parts alone do not say what the whole was
meant to be, or which of the parts were asked for rather than pulled in.
This packs what the tracker holds. Deed bytes are the deed store’s to
export and atoms are the pack’s, and needs is the list the deed store
takes, so the three halves compose on pipes without this crate depending on
either of them:
$ vissue satchel --out bag --project x --issue y
$ packset export --into bag/data/atoms | deedar export --into bag/data/deeds -
$ jq -r '.needs[]' bag/data/satchel.json | deedar export --into bag/data/deeds -
$ vissue satchel --seal bag && vissue satchel --verify bagThe accession is what makes that work. It is the one identifier crossing all three stores, so each of them can name what it needs from the others without reading their formats.
Structs§
- Report
- What a pack or a check found.
- Satchel
- The self-description written beside the payload.
- Slice
- What was asked for, as opposed to what came along with it.
Constants§
- VERSION
- The format this writes, so a reader that meets a later one can say so rather than guess.