Changes touching this path
- catch up: GB1 loot ferry lands (PR #114)
6816f50d · dbf3dbe6… - normalize working tree to LF: byte-stable co-located bridge (.gitattributes -text)
e58fdda6 · dbf3dbe6…diff - loot-first tooling: ferry --with-wip review lane + loot-first.ps1 (#155) (#160)
The build half of map #148. `loot ferry --with-wip` projects the ambient
dock's unfinalized working change to a sealed-free review/<dock> branch:
provisional commits carry Loot-Change-Id + Loot-Provisional and NO
Loot-Signature (the missing trailer is the machine-checkable "not
finalized" marker) while staying SSHSIG-signed for integrity. Lanes are
keyed by the durable change_id in .loot/git-mirror/wip - deliberately
outside the mark map - and reaped lazily on every ferry pass once the
change id turns up signed (landed) or gone (abandoned). Rounds append
per revision (#150); ingest refuses provisional commits and mark
rebuilds skip them, so nothing throwaway can enter the round-trip spine.
tools/loot-first.ps1 is the orchestrator that owns every GitHub call
(loot core stays git-agnostic): `review` publishes the branch by
single-ref inline-URL push and opens the PR (pr-map ledger, #153 seam
2); `land -Pr` verifies approval, finalizes on the PR's dock (seam 3),
ferries, fast-forwards GitHub main and points the PR head at the landed
sha so GitHub marks it Merged by reachability, then pushes the relay;
`init-hook` installs the warn-only direct-commit guard (#151).
Shipped git-first, deliberately: this commit is the last one that has
to be - the tooling it lands is what flips the workflow.
Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com>
533d94d5diff - ADR 0033: ferry survives amends — predecessor-conditional threading, Loot-Predecessors trailer, amend-aware reap, reconcile supersession guard, land review-currency guard (#199)
f4129edb · dbf3dbe6…diff - Workspace accepts its clock; lane flag-gate goes pure so cmd_* tests never touch a real .loot (#322)
20ac82e1 · dbf3dbe6…diff - ferry: floor a projected commit date past its git parents (#626)
940772ac · dbf3dbe6…diff - GitMirror: the bridge owns its own layout (#665)
b0461c4c · dbf3dbe6…diff - tickets never reach git main (ADR 0098 section 8, map #2422): the ferry leaves every path under tickets/ out of each projected tree at every tier, set aside before the tier is asked so a sealed tickets/security path is not reported as an omitted sealed path, and drops any the git parent carries. a change whose projection repeats its one git parent tree and which writes a ticket path against one of its loot parents is commitless: it is marked at that parent commit and makes none, after the git parents are reduced so a merge with a commitless ticket change stands at the code commit in either order, while a sealed-only change still commits as before. one sha can now stand for several changes and change_for answers with the latest mark; the refs phase marks the change main moves to last, so mirror_main_change, adopt and the ticket harbor tip read a ticket-only land as landed, and the marks file keeps its format by writing the earlier marks at a sha before the latest, which older readers parse as the same map. the ingest leaves a git-side ticket path out with a note rather than refusing it, a review round of tickets alone is still made with no diff and a note saying why, and loot-first land lets through a land whose tip stands at main with no commit of its own, which the #195 guard refused. ADR 0028 records how it is built and its limits (a trailer rebuild loses commitless marks, a second machine learns such a land late), CONTEXT.md gains Commitless change and workflow.md the land case. red under sixteen named mutations, each 0 passed and restored, 1 failed unless noted: the ticket set-aside removed, the parent strip removed, both at once (2 failed), never commitless (3 failed), a commitless change left unmarked, refs not marking the anchor latest, the ingest taking tickets in, the land predicate skipping its trailer check, no parent reduction, writes_tickets asking the first parent only, the review note dropped, a text-prefix ticket path, the encode dropping earlier marks (seen in loot-core and through a re-ferry), the latest written first, and the land guard branch removed. cargo test green, 4614 passed over 142 binaries with 13 ignored (#2425)
f305ece5 · 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.