Changes touching this path

  • embargo CLI (#88) + attack demo (#89) + section-B evidence + maroon propagation fix + drive setup c670cc2b · dbf3dbe6…
  • day 1 logs: drive-log entry + evidence section A row cc57f391 · dbf3dbe6…diff
  • (working change) 02306b53 · dbf3dbe6…diff
  • Ferry drive binding: close the uncaptured-WIP clobber hole; ritual runs the bridge (#115) ferry_capture now snapshots unconditionally: disk edits that never saw a `loot status` had no working change, so the adopt path's full-tree materialize silently overwrote them. A capture snapshot identical to the anchor is dropped from the graph again (new DagRepo::drop_working over remove_head), so a quiet pass mints no redundant change and leaves no stray head for reconcile or the next pass's anchor derivation. tools/loot-day.ps1 now runs the daily ritual through the bridge (ADR 0028): capture day WIP when git sees it (-ForceSnapshot for git-ignored loot paths like docs/pitch), sync the local-only private mirror at .loot/git-mirror/mirror.git, one `loot ferry` pass, then the relay push and drive-log entry as before. Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com> 481fbc26diff
  • resolve conflict at tools\loot-day.ps1 cc490bdf · dbf3dbe6…diff
  • normalize working tree to LF: byte-stable co-located bridge (.gitattributes -text) e58fdda6 · dbf3dbe6…diff
  • Byte-stable checkout for the co-located bridge (#117) .gitattributes pins * -text: no eol conversion, so the working tree is byte-identical to the blobs and a ferry capture can recognize pulled content as the ingested target. With autocrlf smudging, the same file had different bytes on disk (CRLF) and in git (LF), and the first live co-located pass minted a spurious capture whose merge conflicted on every PR-touched file - same content, different line endings. loot-day.ps1 now force-pushes the checkout main into the private mirror: ferry re-points the mirror main at the loot dock tip after projecting, so a plain push stops fast-forwarding as soon as loot is ever ahead. The checkout is authoritative for that ref; projected history stays reachable under refs/loot/*. Existing checkouts realign once with: git config core.autocrlf false; git reset --hard Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com> a9ef83a4diff
  • Byte-stable checkout for the co-located bridge (#117) .gitattributes pins * -text: no eol conversion, so the working tree is byte-identical to the blobs and a ferry capture can recognize pulled content as the ingested target. With autocrlf smudging, the same file had different bytes on disk (CRLF) and in git (LF), and the first live co-located pass minted a spurious capture whose merge conflicted on every PR-touched file - same content, different line endings. loot-day.ps1 now force-pushes the checkout main into the private mirror: ferry re-points the mirror main at the loot dock tip after projecting, so a plain push stops fast-forwarding as soon as loot is ever ahead. The checkout is authoritative for that ref; projected history stays reachable under refs/loot/*. Existing checkouts realign once with: git config core.autocrlf false; git reset --hard Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com> d9c26ce3diff
  • Byte-stable checkout for the co-located bridge (#117) .gitattributes pins * -text: no eol conversion, so the working tree is byte-identical to the blobs and a ferry capture can recognize pulled content as the ingested target. With autocrlf smudging, the same file had different bytes on disk (CRLF) and in git (LF), and the first live co-located pass minted a spurious capture whose merge conflicted on every PR-touched file - same content, different line endings. loot-day.ps1 now force-pushes the checkout main into the private mirror: ferry re-points the mirror main at the loot dock tip after projecting, so a plain push stops fast-forwarding as soon as loot is ever ahead. The checkout is authoritative for that ref; projected history stays reachable under refs/loot/*. Existing checkouts realign once with: git config core.autocrlf false; git reset --hard Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com> 4c8c7fccdiff
  • Dogfood drive: log day 2 (clean bridge day, 2/5) Day 2 was a git-clean day: the CA epic close-out had landed on main via PRs, so the ferry carried it across (4 commits ingested, 0 conflicts, 0 projected back; 146 objects pushed, resumable). Record the day in the drive log + evidence table (2/5). Also fix loot-day.ps1 doubling the "ferry:" prefix in the logged line (loot's own output already carries it). bbcefde2 · dbf3dbe6…diff
  • Prototype the post-trio daily loot session + verb surface (#137) (#140) * Dogfood drive: log day 2 (clean bridge day, 2/5) Day 2 was a git-clean day: the CA epic close-out had landed on main via PRs, so the ferry carried it across (4 commits ingested, 0 conflicts, 0 projected back; 146 objects pushed, resumable). Record the day in the drive log + evidence table (2/5). Also fix loot-day.ps1 doubling the "ferry:" prefix in the logged line (loot's own output already carries it). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Prototype the post-trio daily loot session + verb surface (#137) A throwaway wayfinder prototype (map #132): a faithful scripted transcript of loot's reconciled verb surface once auto-snapshot (#135), stable change-ids (#134), and oplog/undo (#136) are all in. Surfaces five design seams before the spec (#138) is written — two medium (columnar `log`, divergent-change verb) that the three design tickets legitimately left to integration. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Git-Author: Connor Miller <53197564+Connor-Miller@users.noreply.github.com> a598aaa2diff
  • 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
  • drive day 3: the inversion day (loot led all ten lanes); fix loot-day.ps1 head parse for the columnar log 95e4cde0 · 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.