Changes touching this path
- loot ticket new, loot ticket show and loot tickets ship as slice 1 of the native tracker (spec §12, map #2422): a new ticket module in loot-cli holds the layout (tickets/<id>, tickets/public/<id>, tickets/<group>/<id>, where an 8-letter k-z segment is always an id and never a space), the one file format of header lines, a blank line and a verbatim body, ids of 16 random bytes shown as 8 letters and minted again on a collision with any ticket at the read position, and causal order keyed on the space-stripped path, found by walking the change graph from the read position in descending generation to the change where each key first appeared, with a key only the working tree holds sorting after every recorded one. a read folds the tree at the harbor tip, this position and the working tree, so a lane sees a ticket a sibling landed without adopt and its own uncaptured one. new writes meta, the body and one waits-on edge per --on as plain files in the working tree and prints the id alone on stdout; the body comes only through --body-file, a file or - for stdin, with a leading byte-order mark dropped and CRLF made LF, and --title refuses a tab or a line break. show --json and tickets --porcelain are the spec §7 shapes, recorded in an ADR 0023 amendment; the JSON leads with contract as ADR 0023 has every --json do, the open form and the sealed {contract, id, sealed: true} alike, the spec field list naming the payload after it. a ticket this identity cannot open is an S row, and a field filter keeps it. --restricted-to and --published are left to #2428. red under eleven named mutations over sixteen runs, each 0 passed and 1 failed and restored: position keyed on the spaced path, the harbor tip skipped, a colliding id kept, the byte-order mark kept (once through the binary), a tab allowed in a header, an unopenable meta dropped, an id-shaped segment read as a space, labels folded add-only, a field filter dropping a sealed ticket, and contract left off the sealed form and off the open form. the verb census moves: README 87 verbs, 137 usage lines, ADR 0066 at 87 dispatched and 35 with machine output, MACHINE_OUTPUT, the placeholder census and the site verb list. cargo test green in two runs, 4576 passed with 13 ignored, and the site gate green at 819 passed (#2424)
1a26ff0a · dbf3dbe6… - loot ticket comment, resolve, label, wait, edit and frontier ship as slices 2 and 3 of the native tracker (spec §12, map #2422): each write to a ticket adds one event file under it, c/ with author and created-at, r/ with a one-line gist and a body that are both required, l/ and w/ as add or remove events, or for edit rewrites meta or body and no other file, keeping every meta header it does not set; a write to a ticket this identity cannot open is refused. resolve prints the tickets its closing unblocks, and a second answer is kept beside the first, which stays the answer. frontier <map-id> is the open children with no open waits-on target, in causal order, where a target not filed yet counts as open; --porcelain is the tickets rows and nothing else, recorded in an ADR 0023 amendment, and the human form marks the rows a live lane holds and adds a line with the takeable count and the file opens. the index now counts every file it opens by kind, and the frontier opens each meta, the w/ files of each open child and the l/ files of each row, never a body, comment, attachment or resolution. show of a map renders its prose, then Decisions so far from the first gist of each closed child, then its frontier. the spec, CONTEXT.md and ADR 0066 record what shipped, and the usage line count moves to 143. red under sixteen named mutations, each restored, over the 26 ticket tests (23 passed and 3 failed for the first, 24 and 2 for three, 25 and 1 for the rest): events ordered by name not position, decisions taking the last answer, the frontier folding each child whole, an absent target read as closed, edit dropping unset headers, edit writing an event, a further answer unblocking again, unblocking past other open targets, a comma in a label, a sealed ticket writable, no lane holding a row, the summary in the porcelain, no index under a map, an empty gist, no note for an absent wait target, and a comment with no created-at. cargo test green, 4627 passed over 142 binaries with 13 ignored (#2427)
7d705601 · dbf3dbe6…diff
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.