← wyo.town

The timeline

How this place was built, from the records themselves. 1660 events extracted from the git history, the claims journal, and the deploy log — grouped into arcs by the work's own labels, never by hand. Every entry carries its receipt: a commit hash you can check, a claim you can read on the ledger. This page is generated, hourly, from the same sources. Humans commit; agents execute; the record connects. Commit subjects are shown in this house’s own tongue — SI, never the other initials — the hashes underneath are untouched.

The whole company, in the record

1548 commits · 104 days · 104 work arcs · net +236,328 lines · 1660 record events

Roerick Sweeney 1194gregor 199hollis 147gregor (al) 3roerick 3

Where the work went: general (449) · spec (86) · docs (85) · kernel-core (84) · merge (78) · scratch-test (53) · notes (48) · glochid (40).

The habitat's declared capabilities, smoke-tested in the borge image, grew 0 → 142 over the same period:

The claims ledger was unreachable at build time - the ledger strand shows its last known state; the derivation claim lands when it returns.

ledger the claims ledger (tuna) 0 writes

Claims are how the agents close work: a dated, hash-chained write saying what was done. These are the most recent.

2026-07 Foundation 378 commits 6 burst days (≥25 commits)

The first image: kernel, storage, the ship path to OpenBSD. 378 commits by Roerick Sweeney (378). Peak day 2026-07-10 at 67 commits - a burst. Net +81,141 lines across 24 work arcs.

general 107 commits 2026-07-10 → 2026-07-19 human ×107

107 commits over 10 days by Roerick Sweeney. Opened with \“Initial commit: Pricklypear v1 foundation\”; closed with \“scripts: verify-wiki-llm-loop.sh — monitor-rerunnable acceptance for wiki loop\”. Net +21,322 lines.

07-10 c7b9036d54 Roerick Sweeney Initial commit: Pricklypear v1 foundation
07-10 cb28d3b89f Roerick Sweeney Port to mirage-crypto 1.x + awa 0.6 so poohstack keeps Dream
07-10 92e3312ab1 Roerick Sweeney promote: kill stale processes before restart (EADDRINUSE)
07-10 e84f3028aa Roerick Sweeney promote: warm-boot image after restart so relayd :80 works
07-10 e151e121f9 Roerick Sweeney Page≠function UX: missing-edit create, page inspector, nav fix
07-10 630d115370 Roerick Sweeney home: link Functions list instead of /edit/greet
… and 101 more in the repo (107 total)
kernel-core 70 commits 2026-07-10 → 2026-07-15 human ×70

70 commits over 6 days by Roerick Sweeney. Opened with \“fix: awa-ssh spike for awa-mirage 0.6 Make(Flow only)\”; the heaviest change landed 07-12 (+2224 lines); closed with \“Fix notes selection snap-back and top-level sibling; harden CDP\”. Net +11,464 lines.

07-10 52e17ba304 Roerick Sweeney fix: awa-ssh spike for awa-mirage 0.6 Make(Flow only)
07-10 b932f1dd22 Roerick Sweeney fix post-receive: unset GIT_DIR before worktree git ops
07-10 f51ada1886 Roerick Sweeney fix post-receive: quote bug on promote ssh; self-update hook body
07-10 af3314a9ba Roerick Sweeney fix: kernel package URL uses pkg=kernel (no broken % encoding)
07-10 625163e6ab Roerick Sweeney fix: encode + in package URLs; use pkg=root/kernel keys
07-10 96b4d4a929 Roerick Sweeney fix: /inspect/binding/ route prefix length (17 not 18)
… and 64 more in the repo (70 total)
docs 19 commits 2026-07-31 → 2026-08-05 human ×19

19 commits over 6 days by Roerick Sweeney. Opened with \“docs: P3 debt handoff (package-surface, session, crud)\”; the heaviest change landed 08-05 (+543 lines); closed with \“docs: populate docstrings across 6 packages + polish ref/ai/verify\”. Net +2,053 lines.

07-31 6fb3ed4efe Roerick Sweeney docs: P3 debt handoff (package-surface, session, crud)
07-31 0d1558c0da Roerick Sweeney docs(notes): refresh tree-cutover + outline-actions after I1–I4
07-31 6fc8448ef0 Roerick Sweeney docs(borge): links-and-roam op-protocol align; status flips; kernel issues
07-31 6f81c11308 Roerick Sweeney docs(borge): code-history + land subsections; notes tree-cutover spec updates
07-31 605e36b2db Roerick Sweeney docs(borge): habitat-workflow chapter — spec-in-the-image, promote as gate
07-31 8ef434d324 Roerick Sweeney docs(borge): mark merge + graduate-promote implemented after A2
… and 13 more in the repo (19 total)
lisp 18 commits 2026-07-24 → 2026-08-05 human ×18

18 commits over 13 days by Roerick Sweeney. Opened with \“fix(lisp): macro string literals round-trip as VStr (c11-4013)\”; the heaviest change landed 07-24 (+596 lines); closed with \“feat(lisp): optional (&optional) and rest (&rest) lambda params\”. Net +2,223 lines.

07-24 73a789499f Roerick Sweeney fix(lisp): macro string literals round-trip as VStr (c11-4013)
07-24 c1c454ddb6 Roerick Sweeney feat(lisp): Scheme-style TCO via trampoline in eval
07-24 d9d27f66c5 Roerick Sweeney feat(lisp): add function-ast prim for raw body as quoted data
07-24 16e296f3ca Roerick Sweeney feat(lisp): read-string / read-all-string — parse s-expr text to data
07-24 b3bd087d72 Roerick Sweeney fix(lisp): as-str treats empty list as empty string
07-24 3b5a17ae6f Roerick Sweeney feat(lisp): Nopales roadmap phases 1–3 — symbols, dialect, capabilities
… and 12 more in the repo (18 total)
spec 16 commits 2026-07-10 → 2026-07-18 human ×16

16 commits over 9 days by Roerick Sweeney. Opened with \“spec: page≠function editor empty state + page call graph (plan)\”; the heaviest change landed 07-14 (+1166 lines); closed with \“spec: macro status partial + handler-only fn guard notes (prior session annotati\”. Net +3,827 lines.

07-10 446d49f360 Roerick Sweeney spec: page≠function editor empty state + page call graph (plan)
07-10 f43d8e142b Roerick Sweeney spec: packages + functions browser (system-browser plan)
07-10 d281707450 Roerick Sweeney spec: agent-portal subsection for unified (agent) surface
07-10 7a64f16471 Roerick Sweeney spec: library sync CLI and export prims in packages section
07-10 3413a6f87f Roerick Sweeney spec: notes chapter — outline-first PKM (org/roam-shaped)
07-11 e995587dd9 Roerick Sweeney spec: ltree deferral note in notes storage section
… and 10 more in the repo (16 total)
notes 15 commits 2026-07-30 → 2026-08-01 human ×15

15 commits over 3 days by Roerick Sweeney. Opened with \“feat(notes): hierarchical tree notes K0–M1 (folders, headings, garden import)\”; the heaviest change landed 07-31 (+2330 lines); closed with \“fix(notes): render large tree folders in OCaml\”. Net +4,504 lines.

07-30 00d15ae686 Roerick Sweeney feat(notes): hierarchical tree notes K0–M1 (folders, headings, garden import)
07-30 5a0bf09f72 Roerick Sweeney fix(notes): tree/list-kind + skip outline load on index list
07-30 eccaa2678d Roerick Sweeney fix(notes): OCaml tree/note-index for budget-safe note listings
07-30 35043ccdab Roerick Sweeney fix(notes): nest let bindings in tree/node->row (title unbound)
07-30 bfae6eb28d Roerick Sweeney fix(notes): flat budget-safe notes index instead of nested folder tree
07-30 84b18337e9 Roerick Sweeney fix(notes): outline/html-lite without per-node action panels
… and 9 more in the repo (15 total)
one-tree 10 commits 2026-07-30 → 2026-08-02 human ×10

10 commits over 4 days by Roerick Sweeney. Opened with \“one-tree: P0 — pin path grammar, node envelope, physical layout (009_tree)\”; the heaviest change landed 07-30 (+1109 lines); closed with \“feat(one-tree): Phase 2b user-scoped datum paths + RLS floor\”. Net +2,298 lines.

07-30 899494fe9d Roerick Sweeney one-tree: P0 — pin path grammar, node envelope, physical layout (009_tree)
07-30 a4512fe8b8 Roerick Sweeney one-tree: P1 — tree substrate (migration 009 + tree_store module)
07-30 57b4862aa8 Roerick Sweeney one-tree: P1 — add tree substrate files (009 migration, tree_store, tests, chapter)
07-30 3e0e0387b2 Roerick Sweeney one-tree: P3 — flip reads to tree behind unchanged prim ABI (flag PP_TREE_READS)
07-30 bb96104cea Roerick Sweeney one-tree: P4 — write cutover; tree is truth by default (Option A)
07-30 8381fbf79f Roerick Sweeney one-tree: P5 — empty-lens fork (branches as lenses)
… and 4 more in the repo (10 total)
image 9 commits 2026-07-24 → 2026-07-31 human ×9

9 commits over 8 days by Roerick Sweeney. Opened with \“feat(image): Smalltalk combo pack — senders, impact, changes, DNU, 3-pane\”; closed with \“feat(image): soft spec lint checklist on promote\”. Net +3,046 lines.

07-24 367298a992 Roerick Sweeney feat(image): Smalltalk combo pack — senders, impact, changes, DNU, 3-pane
07-26 35f910fa50 Roerick Sweeney image: await define persist (fix fire-and-forget race)
07-27 887203bc2f Roerick Sweeney image: fail-closed public-route gate inferred from env (BORGE-1785212463, BORGE-1785212603)
07-27 6f4cb63645 Roerick Sweeney image: anonymous CRUD guard raises + reads per-request context (BORGE-1785213376)
07-28 0f80a20e0b Roerick Sweeney image: kernel I/O primitives — http-get, xml-parse, html-decode, parse-date, string helpers, url-encode/decode
07-28 86a7e8d4ec Roerick Sweeney image: fix http-get status-line parse for HTTP/2 (short status line)
… and 3 more in the repo (9 total)
everything else 113 commits
07-10 a9d24029dd Roerick Sweeney Ship path: OpenBSD release build, promote, rc.d for Vultr habitat
07-10 f9f19bb211 Roerick Sweeney docs: AGENTS notes for mirage-crypto 1.x RNG init
07-10 8618886263 Roerick Sweeney Deploy complete: public HTTP, git push-to-deploy, direct ship
07-10 25e21c2e90 Roerick Sweeney UI: classic Mac/mainframe CSS — flat gray, black borders, mobile
07-10 dbae2bf296 Roerick Sweeney image: POST user routes + request context + interactive todo recipe (it33)
07-10 a8e7ada33f Roerick Sweeney todo page: render HTML list instead of raw Lisp dump
07-10 3c50d76c7c Roerick Sweeney Todo: check-off, delete, tighter list UI
07-10 109bac7ce9 Roerick Sweeney Lisp html/* helpers + html-escape; todo rewritten
07-10 9440eb65a3 Roerick Sweeney Lisp menu/bar for navbar: link + group dropdowns
07-10 e6a3ea23ae Roerick Sweeney docs: laptop/agent pp_eval usage in README
07-10 07755617f6 Roerick Sweeney docs: dabar.borg study-layer chapter inlined from root book
07-10 2e58f2577f Roerick Sweeney dabar: drop notes/bookmarks from chapter (separate module)
07-10 e6fd1ec417 Roerick Sweeney dabar: nav prev/next/random, Strong's + study UI, dogfood interlinear
07-11 c41aa12e45 Roerick Sweeney UI: fold arrows on nodes, right-align actions, collapse JSON debug
2026-08 The habitat takes shape 282 commits 3 burst days (≥25 commits)

Specification discipline, notes, the object store hardens. 282 commits by Roerick Sweeney (282). Peak day 2026-08-16 at 55 commits - a burst. Net +60,964 lines across 24 work arcs.

general 311 commits 2026-08-30 → 2026-10-19 human ×201, gregor ×72, hollis ×34

311 commits over 51 days by Roerick Sweeney, gregor, hollis, ralph, ralph-loop, roerick. Opened with \“test: sample-book-export fixture — real borge book export of a tiny root\”; closed with \“qlib-test: bisect chunk 2 (depth-buckets..page+route)\”. Net -203,667 lines.

08-30 d10b31c6c1 Roerick Sweeney test: sample-book-export fixture — real borge book export of a tiny root
08-30 9e947abb4e Roerick Sweeney release: borge book export + reader flavor ship with the public artifacts
08-31 8684cc8051 Roerick Sweeney media: audio/* uploads (type-aware caps) + Range/206 serve for audio seek
08-31 fb477ca7dd Roerick Sweeney music kernel support: (request-multipart) + (media-put-raw) + multipart route-POST cap
09-01 3596f1f39e Roerick Sweeney music: package shipped to system/main — vault snapshot + spec status
09-01 25e270d7f9 Roerick Sweeney music: fix browser upload — form lacked enctype/hx-encoding
… and 305 more in the repo (311 total)
spec 28 commits 2026-08-06 → 2026-08-16 human ×28

28 commits over 11 days by Roerick Sweeney. Opened with \“spec(drift): fix stale implements paths in lisp-interpreter\”; the heaviest change landed 08-16 (+539 lines); closed with \“spec(structural-editing): campaign 9.3b — flip client-eval to implemented\”. Net +2,294 lines.

08-06 45aec500b5 Roerick Sweeney spec(drift): fix stale implements paths in lisp-interpreter
08-06 3558dbf350 Roerick Sweeney spec(drift): declare migration files in migrations.borg
08-06 edc4b2d564 Roerick Sweeney spec(drift): excuse docs/ orphans via (untracked ...) in root book
08-06 b8e93ade51 Roerick Sweeney spec(drift): excuse scripts/ orphans via (untracked ...)
08-06 70e93fe27f Roerick Sweeney spec(drift): declare/excuse libs/ packages — drift to 0
08-06 cbaad8fccb Roerick Sweeney spec(structural-editing): sanction hx-optimistic for display-placeholder optimism
… and 22 more in the repo (28 total)
general 24 commits 2026-08-06 → 2026-08-16 human ×24

24 commits over 11 days by Roerick Sweeney. Opened with \“upgrade htmx 1.9.12 → 4.0.0-beta6 (vendored); port hx-multipart ext to v4 API\”; the heaviest change landed 08-16 (+1930 lines); closed with \“media_scoping (campaign 9.7): visibility-confine media get-by-uuid — BORGE-17856\”. Net +6,495 lines.

08-06 352953e57c Roerick Sweeney upgrade htmx 1.9.12 → 4.0.0-beta6 (vendored); port hx-multipart ext to v4 API
08-06 7f5fb446e0 Roerick Sweeney add hypermedia-harness borge chapter: headless htmx swap simulator spec (planned)
08-06 a2e565e6ed Roerick Sweeney implement hypermedia-harness kernel prims + Nopales client (hyper/visit works)
08-06 f95b163793 Roerick Sweeney hyper/click swap loop works: inherited-trigger ancestor walk + immutability
08-06 d485d8f47e Roerick Sweeney add fidelity-gate smoke: CDP vs hyper byte-identical #outline DOM
08-06 0264140785 Roerick Sweeney add alcotest tests for soup/* prims + improve soup/diff text-change detection
… and 18 more in the repo (24 total)
docs 15 commits 2026-08-09 → 2026-08-16 human ×15

15 commits over 8 days by Roerick Sweeney. Opened with \“docs: scope borge-issue filing to make-mode escape hatch only\”; the heaviest change landed 08-15 (+248 lines); closed with \“docs(agents): document new /issues workflow (browser, file-issue.sh, notes/issue\”. Net +1,870 lines.

08-09 bef5c03537 Roerick Sweeney docs: scope borge-issue filing to make-mode escape hatch only
08-09 06334f99a7 Roerick Sweeney docs: plan to remove the Lwt rim (eio-floor Phase 5)
08-12 d2c858c87a Roerick Sweeney docs: one-tree userland cutover loop outline
08-12 a15e7809de Roerick Sweeney docs(crud): refresh stale data_rel + module-header comments (i-stale-comments-2026-08-12)
08-14 3995e167be Roerick Sweeney docs(log): snapshot resolved fix-loop issues from habitat
08-14 5a4d2d032b Roerick Sweeney docs(agents): note /timing system page in system-pages list
… and 9 more in the repo (15 total)
sec 14 commits 2026-08-28 → 2026-08-28 human ×14

14 commits over 1 day by Roerick Sweeney. Opened with \“fix(sec): enforce branch-owner checks on checkout/fork/merge/unbind (i-178797064\”; the heaviest change landed 08-28 (+277 lines); closed with \“fix(sec): never bootstrap default admin/admin without opt-in (i-1787971357)\”. Net +662 lines.

08-28 511ebdf36c Roerick Sweeney fix(sec): enforce branch-owner checks on checkout/fork/merge/unbind (i-1787970640)
08-28 3c8e5075cb Roerick Sweeney fix(sec): cap request body reads at PP_MAX_BODY_BYTES (default 1 MiB) (i-1787970693)
08-28 1e5c08e462 Roerick Sweeney fix(sec): reject CR/LF in redirect targets (i-1787971411)
08-28 6598306ae8 Roerick Sweeney fix(sec): add nosniff/frame-ancestors/referrer headers to all responses (i-1787970880)
08-28 c8e95d3135 Roerick Sweeney fix(sec): serve uploaded SVG as attachment (i-1787970809)
08-28 cf3938e097 Roerick Sweeney fix(sec): Secure cookie + https garden redirects when base domain set (i-1787970928)
… and 8 more in the repo (14 total)
forge 10 commits 2026-08-09 → 2026-08-09 human ×10

10 commits over 1 day by Roerick Sweeney. Opened with \“feat(forge): graph-model layer — nodes/flags/graphs CRUD, children index, status\”; the heaviest change landed 08-09 (+257 lines); closed with \“fix(forge): tighten verify seed (outcome assertions) + guard draft-node\”. Net +1,579 lines.

08-09 0823d93ead Roerick Sweeney feat(forge): graph-model layer — nodes/flags/graphs CRUD, children index, status transitions, constraint accum
08-09 961913619a Roerick Sweeney feat(forge): frontier layer — free-vars AST walk, image-bound oracle (function-doc), unresolved refs, frontier
08-09 883e8f546f Roerick Sweeney feat(forge): mechanical-flags layer + forge-effects prim — capability escalation (effect.ml infer exposed), vi
08-09 098a676c11 Roerick Sweeney feat(forge): loop-and-gates layer — forge/step state machine (judgment→approval→frontier→descent), draft-promp
08-09 bad862b114 Roerick Sweeney fix(forge): raw llm-chat prim (not agentic install loop), robust first-form extractor (balanced parens, ignore
08-09 37e7da420f Roerick Sweeney test(forge): end-to-end smoke (scripts/smoke_forge.sh) — 11 checks covering frontier/draft/effects/flags/gate/
… and 4 more in the repo (10 total)
book 8 commits 2026-08-30 → 2026-08-30 human ×8

8 commits over 1 day by Roerick Sweeney. Opened with \“feat(book): load-book loader — seed a borge book export into the one tree\”; the heaviest change landed 08-30 (+897 lines); closed with \“fix(book): docstrings were inside lambda bodies (closer off-by-one) + json-array\”. Net +3,401 lines.

08-30 4a4d292545 Roerick Sweeney feat(book): load-book loader — seed a borge book export into the one tree
08-30 6cda84be58 Roerick Sweeney feat(book): libs/book package — the spec rendered as live habitat pages
08-30 c523b89d96 Roerick Sweeney feat(book): example-eval prim — read-time eval of book examples in a restricted env
08-30 8686778588 Roerick Sweeney feat(book): book/verify — the book's dune runtest, hole-rendered
08-30 b410af8d64 Roerick Sweeney feat(book): first course — /book/course/<slug> renders a composition over chapters
08-30 fad2481025 Roerick Sweeney fix(book): seed-time binding resolution + cheap spec index — pages fit budget
… and 2 more in the repo (8 total)
tree-time 7 commits 2026-08-16 → 2026-08-16 human ×7

7 commits over 1 day by Roerick Sweeney. Opened with \“tree-time (5.1): dump migration 018_tree_versions.sql per the pinned schema cont\”; the heaviest change landed 08-16 (+809 lines); closed with \“tree-time (5.3 consumers+gc): GC retention worker on the jobs runner + notes-und\”. Net +3,201 lines.

08-16 71a0f43b0f Roerick Sweeney tree-time (5.1): dump migration 018_tree_versions.sql per the pinned schema contract
08-16 7142586117 Roerick Sweeney tree-time (5.1): Phase 1 dual-write shadow write path via migration 019 + verify
08-16 32d19ff5cc Roerick Sweeney tree-time (5.2): land versioned read surface + echo guard (read-surface foundation)
08-16 c9c49dc2e4 Roerick Sweeney tree-time (5.2): user-facing reads-as-of-gen prim surface — gen-read/gen-diff/undo + tree/get :gen
08-16 72d538055b Roerick Sweeney tree-time (5.2): projections — code-history/code-diff over tree_versions (Phase 3) + 021 reconcile + Phase-2 e
08-16 d30ea07213 Roerick Sweeney tree-time (5.3 consumers): code-restore prim — code-path analogue of (undo)
… and 1 more in the repo (7 total)
everything else 160 commits
08-01 2a65f91607 Roerick Sweeney docs(one-tree): record children-by-level indexing invariant
08-01 ace8f0c506 Roerick Sweeney fix(one-tree): list_children by nlevel (GiST-friendly)
08-01 096df55526 Roerick Sweeney fix(notes): refile via slug modal, not O(n) select
08-01 06ed79e87a Roerick Sweeney spec(notes): search-modal subsection — typeahead find for open-note + refile
08-01 2895987327 Roerick Sweeney feat(notes): typeahead find modal for open-note + refile
08-01 0c5d1dd81b Roerick Sweeney chore: unstash WIP — find-code, UTF-8 cleanup, bible-ref outline
08-01 e85b431811 Roerick Sweeney fix(notes): collapse create-note form behind details summary
08-01 759af1ef9f Roerick Sweeney fix(notes): surface large folder trees past the 2k index cap
08-01 6eed55fbd9 Roerick Sweeney fix(notes): raise tree/list child limit for large folders
08-01 098ef8289b Roerick Sweeney fix(notes): render large tree folders in OCaml
08-01 501b3b1cab Roerick Sweeney feat(observability): function inspection on binding pages
08-01 f3eb58ad35 Roerick Sweeney fix(analyze): tolerate prose LLM replies for complexity JSON
08-01 b7a693bfa5 Roerick Sweeney fix(analyze): real LLM JSON for complexity (not placeholders)
08-01 57ca226f79 Roerick Sweeney fix(ui): keep bindings three-pane chrome across Edit/Inspect/Observe
2026-09 Agents move in 435 commits 5 burst days (≥25 commits)

glochid and borge, the workstreams face, the first agent machinery. 435 commits by Roerick Sweeney (339), gregor (93), gregor (al) (3). Peak day 2026-09-13 at 59 commits - a burst. Net +52,663 lines across 27 work arcs.

glochid 24 commits 2026-09-11 → 2026-09-21 human ×24

24 commits over 11 days by Roerick Sweeney. Opened with \“glochid: persistent sessions in the local pp store (sessions-persist)\”; closed with \“glochid: shelf-verb fix — htmx implicit-inheritance leak + hx-disinherit support\”. Net +4,548 lines.

09-11 2f4f61b69f Roerick Sweeney glochid: persistent sessions in the local pp store (sessions-persist)
09-11 a7eb06c28a Roerick Sweeney glochid: habitat memory bridge — share gregor's agent-memory store (memory-bridge)
09-11 f881034175 Roerick Sweeney glochid: /remember and /memories — terminal ergonomics over the habitat memory bridge
09-11 678924f9ab Roerick Sweeney glochid: the filmstrip shell — habitat surface boots as the agent's screen
09-11 f1645e64ab Roerick Sweeney glochid: filmstrip AXIS toggle — vertical full-width pane stack
09-11 5f9bc3f35e Roerick Sweeney glochid: SIGTERM exit-wedge — exit explicitly once serve returns
… and 18 more in the repo (24 total)
pp-flow 20 commits 2026-09-25 → 2026-09-28 human ×11, gregor ×9

20 commits over 4 days by Roerick Sweeney, gregor. Opened with \“fix(pp-flow): single-owner write-back — the double-advance bug\”; the heaviest change landed 09-27 (+372 lines); closed with \“pp-flow: structured EVIDENCE/DESTINATION bridge + box-local CONTEXT override\”. Net +1,085 lines.

09-25 5ee3e15b8b Roerick Sweeney fix(pp-flow): single-owner write-back — the double-advance bug
09-25 d5fa82e18c gregor pp-flow: PP_TOKEN bearer auth, drop jq+python deps, harden claim/write-back
09-25 8e6b724f0a Roerick Sweeney pp-flow: autolith runner adapter — PP_FLOW_PI via headless run-job
09-27 21ad4e477b Roerick Sweeney pp-flow: post the agent EVIDENCE line verbatim, not a transcript tail
09-27 337ce4805a Roerick Sweeney pp-flow: release the executor claim lease on every write-back exit path
09-27 f2dc494225 gregor pp-flow: adapter scanner + OpenBSD sed + empty-cycle guard (vultr trial findings)
… and 14 more in the repo (20 total)
filmstrip 14 commits 2026-09-13 → 2026-09-16 human ×14

14 commits over 4 days by Roerick Sweeney. Opened with \“filmstrip v2 task 1: shelf = default close\”; the heaviest change landed 09-14 (+1410 lines); closed with \“filmstrip main-strip-v5: the main region is the niri strip again\”. Net +3,148 lines.

09-13 174c639a37 Roerick Sweeney filmstrip v2 task 1: shelf = default close
09-13 49945bc849 Roerick Sweeney filmstrip v2 task 2: virtual desktops by CSS hiding
09-13 1a0dca2ddf Roerick Sweeney filmstrip v2 task 3: windows rail + focus-by-id, desktop-aware focus healing
09-13 8094d99d6d Roerick Sweeney filmstrip v2 task 4: filmstrip/app-link prim + chat nav re-authored
09-13 c20d17ec7d Roerick Sweeney filmstrip v2 task 5: final 8-pane 3-desktop smoke + self-contained CDP smoke
09-13 40861237d2 Roerick Sweeney filmstrip: open-or-focus unshelves + controlbox OOB honesty (UI review A1-A3)
… and 8 more in the repo (14 total)
borge 10 commits 2026-09-12 → 2026-09-13 human ×10

10 commits over 2 days by Roerick Sweeney. Opened with \“borge bugs: BORGE-1789192449 (silent persist swallow), BORGE-1789192457 (bible/c\”; the heaviest change landed 09-13 (+51 lines); closed with \“borge: declare filmstrip/pads/soil/book/vault scripts (drift cleanup 11 -> 0)\”. Net +209 lines.

09-12 b05ed60759 Roerick Sweeney borge bugs: BORGE-1789192449 (silent persist swallow), BORGE-1789192457 (bible/chapter live sort breakage)
09-13 efaf8b1b81 Roerick Sweeney borge: declare lisp walker-split + pure-prim split modules (drift cleanup 112 -> 100)
09-13 55ced46114 Roerick Sweeney borge: declare seven migrations in owning chapters (drift cleanup 100 -> 93)
09-13 b1badf5224 Roerick Sweeney borge: place six split/leaf modules in owning chapters (drift cleanup 93 -> 87)
09-13 a8611bb0a3 Roerick Sweeney borge: declare store-split + db-prim-split module families (drift cleanup 87 -> 69)
09-13 eee26e35d3 Roerick Sweeney borge: declare session-split + client-leaf lib modules (drift cleanup 69 -> 53)
… and 4 more in the repo (10 total)
spec 9 commits 2026-09-23 → 2026-09-27 human ×9

9 commits over 5 days by Roerick Sweeney. Opened with \“spec: bumpers chapter — the feedback half of agent bowling bumpers (planned)\”; the heaviest change landed 09-27 (+139 lines); closed with \“spec: the notes path-grammar migration (data.note.u.* -> data.u.note.*) + ignore\”. Net +603 lines.

09-23 28069dc875 Roerick Sweeney spec: bumpers chapter — the feedback half of agent bowling bumpers (planned)
09-23 12511c3ae5 Roerick Sweeney spec: gen-drift + temporal-log subsections in habitat-workflow (planned)
09-25 d1a6050302 Roerick Sweeney spec(work-triage): allow list deletion + per-workstream lists (manual, 2026-09-25)
09-25 e08d3af193 Roerick Sweeney spec(workstreams): orchestration layer chapter — per-workstream lists, card detail v2 (comments+events+accepta
09-25 d8d396cbee Roerick Sweeney spec(workstreams): fix chapter parse regression + bind workstreams lib (orchestration task 11 drift)
09-25 d578956b5c Roerick Sweeney spec(pipeline): the status machine is an ordered list — the unifying model (roerick, 2026-09-25)
… and 3 more in the repo (9 total)
image 8 commits 2026-09-20 → 2026-09-20 human ×8

8 commits over 1 day by Roerick Sweeney. Opened with \“cleanup(image): drop dead lookup_handler from request_context (zero callers)\”; closed with \“cleanup(image): refresh stale session/control-prim comments (eval_string_auto/PP\”. Net -43 lines.

09-20 edc50aeca1 Roerick Sweeney cleanup(image): drop dead lookup_handler from request_context (zero callers)
09-20 b73fc096ef Roerick Sweeney cleanup(image): drop dead timing clear affordance (zero callers/tests)
09-20 a72c94d629 Roerick Sweeney cleanup(image): dedupe store_branch hash_eq to Branch_algebra.hash_eq (drop local copy)
09-20 325637dd75 Roerick Sweeney cleanup(image): drop unreachable pre-migration 2-column arm in list_routes
09-20 5fc7e7a05e Roerick Sweeney cleanup(image): collapse dead twin branch in http_code static_root (identical fallback arms)
09-20 c11cf1b46d Roerick Sweeney cleanup(image): dedupe header_ci to Http_kit.header_ci in http_media and agent_discovery
… and 2 more in the repo (8 total)
todo 8 commits 2026-09-25 → 2026-09-26 human ×8

8 commits over 2 days by Roerick Sweeney. Opened with \“todo: land gregor's assignment + priority/queue on master lib (orchestration tas\”; the heaviest change landed 09-25 (+175 lines); closed with \“todo: list/get with empty list-id resolves default inbox, not ltree 42601\”. Net +870 lines.

09-25 286360dfd0 Roerick Sweeney todo: land gregor's assignment + priority/queue on master lib (orchestration task 1)
09-25 113ea2ce7c Roerick Sweeney todo: card detail v2 datum layer — deftype todo-comment/todo-event + comment/event/feed helpers (orchestration
09-25 554ceacef9 Roerick Sweeney todo: record a todo-event on every real card-state transition (orchestration task 3)
09-25 a4060355ec Roerick Sweeney todo: acceptance + branch fields on todo-item (orchestration task 4)
09-25 3668bbba17 Roerick Sweeney todo: card detail v2 — activity feed render + comment POST route (orchestration task 5)
09-25 49f749ed06 Roerick Sweeney todo: per-column agent recipes on the todo-list datum (orchestration task 6)
… and 2 more in the repo (8 total)
promote-window 7 commits 2026-09-03 → 2026-09-03 human ×7

7 commits over 1 day by Roerick Sweeney. Opened with \“promote-window task 1: boot baseline + measure-boot.sh harness\”; the heaviest change landed 09-03 (+174 lines); closed with \“promote-window task 7: boot-phase timing + warm-seed eval skip\”. Net +642 lines.

09-03 20fdba212c Roerick Sweeney promote-window task 1: boot baseline + measure-boot.sh harness
09-03 0ffd3f7824 Roerick Sweeney promote-window task 2: rc_stop polls until listen ports actually free
09-03 0688a5d633 Roerick Sweeney promote-window task 3: promote script drops redundant teardown; 0.25s health gate with rollback-on-timeout
09-03 24612f3f0e Roerick Sweeney promote-window task 4: /health boot_epoch + promote gate proves the NEW release
09-03 ebf275906e Roerick Sweeney promote-window task 5: watchdog orphan cull + pidfile-aware honest recheck
09-03 2531fc96a2 Roerick Sweeney promote-window task 6: image bind retry — EADDRINUSE self-heals for 10s instead of fatal
… and 1 more in the repo (7 total)
everything else 321 commits
09-01 3596f1f39e Roerick Sweeney music: package shipped to system/main — vault snapshot + spec status
09-01 25e270d7f9 Roerick Sweeney music: fix browser upload — form lacked enctype/hx-encoding
09-01 277a634285 Roerick Sweeney music spec: record the enctype/hx-encoding lesson (browser upload fix)
09-02 7f0041b64c Roerick Sweeney branching.pin-hygiene: no diff => no pin
09-02 9478f3c044 Roerick Sweeney pin-hygiene: batch prune-synced deletions into one SERIALIZABLE tx
09-02 3b4550d78c Roerick Sweeney fix(sessions): kill per-identity boot-seed stall (BORGE-1788334666)
09-02 ebd16ef55d Roerick Sweeney perf(db): TCP_NODELAY on the pgx-over-Eio socket — kills the fixed ~124ms per-statement stall (BORGE-178835631
09-02 0f1b9a4433 gregor feat(todo): card assignment - todo/item/assign, assignee, unassign, for-user
09-02 b7059e6c4f gregor feat(todo): priority field + work queue - set-priority, priority, queue
09-02 133b228e98 gregor feat(kanban): org card vocabulary as lib functions - make-card, move-card, stale
09-02 89e5ddf9b4 gregor feat(kanban): /kanban-review work-order page
09-03 a66120346e gregor fix(kernel): tree/find-by garden-scoped by default (i-1788348645)
09-03 1a1c69f69e gregor local(dune): lang 3.23 -> 3.8 for OpenBSD pkg dune-3.8.3 (vultr.guest)
09-03 7495b29c8a gregor Revert "local(dune): lang 3.23 -> 3.8 for OpenBSD pkg dune-3.8.3 (vultr.guest)"
2026-10 Governance and proof 453 commits 7 burst days (≥25 commits)

Gates, claims, the fence, deploys on record - the audit era. 453 commits by Roerick Sweeney (195), hollis (147), gregor (106), roerick (3). Peak day 2026-10-19 at 87 commits - a burst. Net +41,560 lines across 21 work arcs.

scratch-test 53 commits 2026-10-19 → 2026-10-19 hollis ×53

53 commits over 1 day by hollis. Opened with \“scratch-test: minimal data-define + lambda-define + route shapes\”; the heaviest change landed 10-19 (+131 lines); closed with \“scratch-test: removed (debug harness served its purpose - route dropped so /quak\”. Net +0 lines.

10-19 db9f196e4e hollis scratch-test: minimal data-define + lambda-define + route shapes
10-19 9aedaec2e4 hollis scratch-test r2: docstring-after-lambda shape
10-19 8c9d6470aa hollis scratch-test r3: quake-like shapes (multiline lambda + docstring, page fn + docstring)
10-19 33a30d0ee3 hollis scratch-test r4: bar-svg verbatim shape
10-19 18cdaac8d2 hollis scratch-test r5: 52-entry quoted pair list
10-19 82e50108f3 hollis scratch-test r5b: 52-entry list, balanced
… and 47 more in the repo (53 total)
deploy 27 commits 2026-10-06 → 2026-10-18 hollis ×14, gregor ×10, human ×3

27 commits over 13 days by Roerick Sweeney, gregor, hollis. Opened with \“deploy: retrigger post-receive (previous hook hit the deploy lock)\”; closed with \“deploy retry: todo lib prio-sorted part 2d (retrigger hook)\”. Net +14 lines.

10-06 bbf20ee875 hollis deploy: retrigger post-receive (previous hook hit the deploy lock)
10-06 5a74aa9f3e hollis deploy: retry — prior hooks were lock-blocked by the in-flight 13:06 deploy
10-08 351de75866 hollis deploy trigger: the loop's first live run
10-08 dd351dca75 hollis deploy trigger: host key pinned, ship retry
10-08 49b8e63489 hollis deploy trigger: incoming dir writable
10-08 a96558dcdc hollis deploy trigger: promote rule in place — first full self-hosted deploy
… and 21 more in the repo (27 total)
filmstrip 22 commits 2026-10-12 → 2026-10-19 gregor ×10, human ×7, hollis ×5

22 commits over 8 days by Roerick Sweeney, gregor, hollis. Opened with \“filmstrip v5 restore: main-strip CSS (niri scroll-into-view + fs-single one-up) \”; the heaviest change landed 10-14 (+744 lines); closed with \“filmstrip: fix sentinel extra-attrs paren (shell render crash); glochid: doc lan\”. Net +1,758 lines.

10-12 16efeb76cd hollis filmstrip v5 restore: main-strip CSS (niri scroll-into-view + fs-single one-up) re-landed after vault-mirror r
10-13 2c9e65d0f5 gregor filmstrip: declare filmstrip-ws row type at boot (ws-init!) -- undeclared type made pane saves silently no-op
10-13 891401db6b hollis filmstrip: calendar/browse-years returns (label . value) pairs so the cascade column shape stays uniform with
10-13 b82a274c86 hollis filmstrip: balance cal/browse-years to (label . value) pairs + balanced parens after the v5 cascade revert (fi
10-13 f9c7520bc9 hollis filmstrip: docstring to the define's third slot (matches house convention per todo/browse-lists; probe via raw
10-13 9ce001195e hollis filmstrip: calendar/browse years entries are 2-lists (name value), not dotted pairs - house entry shape per br
… and 16 more in the repo (22 total)
quake 16 commits 2026-10-19 → 2026-10-19 hollis ×16

16 commits over 1 day by hollis. Opened with \“quake lib v1: USGS catalog aggregates (273k events M4.5+ 1975-2026) as server-re\”; the heaviest change landed 10-19 (+42 lines); closed with \“quake: the other 3-arg minus calls (bh, y) - minus is strictly 2-arg on this ker\”. Net -23 lines.

10-19 d94b9db263 hollis quake lib v1: USGS catalog aggregates (273k events M4.5+ 1975-2026) as server-rendered SVG charts - yearly cou
10-19 7b5468dfdf hollis quake: docstrings -> comments on quote-valued defines (deployed reader rejects the 3-slot define shape there;
10-19 8374a1ac43 hollis quake lib: clean rebuild - proper package close, quote-valued defines without docstrings, bar-svg paren fix (d
10-19 78de615b4d hollis quake: depth-buckets had one extra close (ate the package scope, cascading the reader error) + explicit packag
10-19 98f3902da0 hollis quake: single-quoted HTML attrs (zero escaped quotes - suspected load-reader limitation); quote-test lib to co
10-19 e6e1b7b4cd hollis quake: final structure - verified closer counts (empirical: 4 after last pair value), single-quoted attrs, lis
… and 10 more in the repo (16 total)
glochid 13 commits 2026-10-13 → 2026-10-18 gregor ×13

13 commits over 6 days by gregor. Opened with \“glochid follow-up renames: glochid config-home + legacy .agent/.agent-window fal\”; closed with \“glochid: fix optimistic-loader test Nopales reader escapes (card c7be7174)\”. Net -115 lines.

10-13 f4cdd40c30 gregor glochid follow-up renames: glochid config-home + legacy .agent/.agent-window fallback, GLOCHID_* env window (l
10-14 4c91b0d2b0 gregor glochid: app copy sheds desktops/railmode/save-all redefs; framework bodies are the truth (phase 2)
10-14 2be140fe33 gregor glochid: boot-load repair in app copy (p2 verify): close register-store! read/write pair, tree-boxes bindings
10-17 9927a5de40 gregor glochid: habitat eval Bearer auth + supervisor queue scan within step budget
10-17 7cedee9fe1 gregor glochid supervisor: runs_scan_expr projected the row id twice; the empty second projection clobbered the real
10-17 f090a4fcde gregor glochid: habitat eval timeout env-configurable (GLOCHID_HABITAT_EVAL_TIMEOUT, default 30)\\n\\nCard be999157-2
… and 7 more in the repo (13 total)
todo 13 commits 2026-10-16 → 2026-10-21 gregor ×9, human ×4

13 commits over 6 days by Roerick Sweeney, gregor. Opened with \“todo: align export manifest with merged lib (T4 lib-hygiene check green)\”; the heaviest change landed 10-17 (+682 lines); closed with \“todo: one board snapshot per /todos render - thread items into todo/ui/nav (budg\”. Net +1,024 lines.

10-16 95c05f4676 Roerick Sweeney todo: align export manifest with merged lib (T4 lib-hygiene check green)
10-17 9c80706fdb Roerick Sweeney todo: dependency DAG (beads-parity) + kanban blocked marker - todo-dep datum rows (from_id, to_id) hold blocke
10-18 3c0a6f0975 gregor todo: node->pair emits the true id for rows stored with a dashed id segment (ghost-card fix)
10-18 ceac58357e gregor todo: item/get + tree/save resolve rows whose stored path diverges (ghost fix part 2)
10-18 3ce21fc6d8 gregor todo: row-id? matches by O(1) path-suffix (ghost fix part 2b)
10-18 cb6d6b8f7a gregor todo: path-id probes O(1) instead of char loop (ghost fix part 2c)
… and 7 more in the repo (13 total)
spec 12 commits 2026-10-01 → 2026-10-02 human ×11, other ×1

12 commits over 2 days by Roerick Sweeney, roerick. Opened with \“spec(todo): shared-store, default-pipeline, note-todos, lib-hygiene\”; the heaviest change landed 10-02 (+421 lines); closed with \“spec: songs chapter — chord charts + the layered music representation (plan phas\”. Net +1,190 lines.

10-01 3f84e67b51 roerick spec(todo): shared-store, default-pipeline, note-todos, lib-hygiene
10-01 e15c0551b3 Roerick Sweeney spec(todo): flip lib-hygiene to implemented-live; plan T4 done
10-01 80869d4d07 Roerick Sweeney spec(todo): name scripts/verify_todo_exports.sh in lib-hygiene implements
10-02 48b8837575 Roerick Sweeney spec: reconcile workstreams issue model + close stale borge bugs
10-02 2c91fb6cd9 Roerick Sweeney spec: retire glochid axis toggle + cascade column claims (SPEC-DELETE)
10-02 cb710c6130 Roerick Sweeney spec: reconcile glochid BINDINGS app in the filmstrip host-variation note
… and 6 more in the repo (12 total)
activity-ledger 9 commits 2026-10-02 → 2026-10-02 human ×9

9 commits over 1 day by Roerick Sweeney. Opened with \“activity-ledger T3.1: migration 035 + ring/flush/rollup module + boot fiber\”; the heaviest change landed 10-02 (+877 lines); closed with \“activity-ledger Phase 4: IKEA 365-day rollup smoke\”. Net +2,814 lines.

10-02 ca0c0b3185 Roerick Sweeney activity-ledger T3.1: migration 035 + ring/flush/rollup module + boot fiber
10-02 68965f0581 Roerick Sweeney activity-ledger T3.2: emit seams (api.eval, route.hit, auth/admin mirror, tree/data/rls, content-read, promote
10-02 8efa015352 Roerick Sweeney activity-ledger T3.3: (ops/activity) read prim (admin unfiltered, non-admin force-filtered at SQL)
10-02 ac21372770 Roerick Sweeney activity-ledger T3.4: acceptance tests + status flips
10-02 988c1f95b0 Roerick Sweeney activity-ledger Phase 4: deterministic knock schema + trifecta row
10-02 f0fb0c7b99 Roerick Sweeney activity-ledger: register knock_policy + ops_incidents in the two spec implements lists
… and 3 more in the repo (9 total)
everything else 271 commits
10-01 10e46eca00 Roerick Sweeney Merge remote-tracking branch 'wyo/fix-find-by-index'
10-01 6a1e4ccef6 Roerick Sweeney Merge remote-tracking branch 'wyo/fix-sync-prim-encoding'
10-01 688feab12b Roerick Sweeney Merge remote-tracking branch 'wyo/fix-impossible-cron'
10-01 c8a393095c Roerick Sweeney Merge remote-tracking branch 'wyo/fix-update-field'
10-01 435e3599db Roerick Sweeney security: session cookie Secure is effective on prod + HSTS (i-1787970928, i-1787970880)
10-01 cb54cfd680 Roerick Sweeney notes: make upsert-in ONE transaction (i-1790546235 item 1)
10-01 6cb46a5ace Roerick Sweeney notes: upsert-in refuses a malformed outline by RAISING (i-1790546235 item 3, card 623f6a1f)
10-01 0f6d721be0 Roerick Sweeney workout: ksf-cleared? reads doc elapsed_min, Duration row is fallback (i-1788461093, card 3bfba572)
10-01 0a46a51ad6 Roerick Sweeney tools: pp-issue-reconcile.sh — read-only board-vs-commits reconcile (card a80bef58)
10-01 61335b68c7 roerick loop: todo-loop.sh + hardened plan (T1 partial from child 1)
10-01 b0af6cd3ae roerick loop: retry transient provider faults; only credit exhaustion stops
10-01 cbf41a3571 Roerick Sweeney spec/docs: lock nomenclature — filmstrip = the window-manager interface, glochid = strictly the local agent ha
10-01 8517800298 Roerick Sweeney glochid: Bearer token support for the habitat bridge (AGENT_HABITAT_TOKEN/PP_TOKEN)
10-01 9f5edc06e3 Roerick Sweeney agent.txt/agent.json: onboarding ceremony — token-first agent setup

5 entries withheld by the public-safety gate at build time. The boundary is enforced in the pipeline, not by promise. What is shown is what survived it.

the record · the fence · the claims digest · wyo.town