Skip to content
quarry Timeline
Login

Timeline

48 ancestors of 6d7151de29aff157

2026-08-15
20:54
ticket.list: cursor pagination (updated~ticket), default 50 check-in: 6d7151de29 user: dmestas tags: trunk
20:45
web: escape wiki titles in every generated link

tcl's '(Initi/Fin)alize' page broke path routing; %2F keeps a slashed title one mux segment. check-in: 739eb90269 user: dmestas tags: trunk

20:40
wiki: edit history and revision views

wiki.history op + rev param on wiki.get; history page, historical- revision banner, timeline wiki rows link their exact revision. check-in: cadca370c1 user: dmestas tags: trunk

20:36
events: work-queue retention on ZITEVT; migrate old streams

Acked events leave the stream, so disk tracks the in-flight backlog, not store history (was 5.6GB beside sqlite's 218MB). Old-config streams are dropped with their cursors; the census republishes and idempotent folds converge. check-in: 14b0c96b83 user: dmestas tags: trunk

20:26
index: SQL-side ticket list fold; targeted TicketByPrefix

Full-history fold in Go took 1.3s per request on tcl (8.9k tickets). List now newest-updated first. check-in: 3dbf1759f6 user: dmestas tags: trunk

20:19
index: ticket_change(ticket) index; refresh ticket docs once per batch

tcl's ticket corpus crawled at ~20 changes/s: refreshTicketDoc scanned the whole table per change. check-in: 83fc12d336 user: dmestas tags: trunk

19:36
ingest: consumer pending count decides drained, not a fetch timeout check-in: 29aa399eea user: dmestas tags: trunk
19:23
index: scale branch recompute to real stores

Indexed reverse parent edge + tag lookup; recursive walk lands in an indexed temp table before the UPDATE probe. sqlite.org's repo (36k check-ins) hung for 15+ min before; milliseconds path now. check-in: cd81fba74d user: dmestas tags: trunk

19:01
index: WAL + one branch recompute per fold round

Per-batch recursive-CTE recompute was quadratic over bulk ingest; rollback-journal mode locked readers out during folds. Adaptive fold MaxWait so backlog delivery lag isn't mistaken for drained. check-in: 6da2e08171 user: dmestas tags: trunk

18:48
events: 8MB NATS payload cap for large-store artifacts check-in: 881e7d475e user: dmestas tags: trunk
18:33
phase 3: live timeline via Datastar SSE (Principle 3 enhancement)

events.Watch coalesces per-repo change ticks; composition root hands web a Notifier interface (planes stay sealed); timeline.sse re-renders the tl-body fragment through the op path and morphs #tl; vendored datastar v1.0.0-RC.7 (MIT, ledger row) is the page's only script; the no-JS page is unchanged. data-init, not the removed data-on-load. check-in: 263cff2b6b user: dmestas tags: trunk

18:23
reindex: create the per-repo data dir check-in: 83dea2f98c user: dmestas tags: trunk
18:22
reindex verb: drop derived state and replay stores (0001 §5)

Pipeline.Reindex resets tables + deletes the KV cursor, then syncs; refolding streamed events is idempotent. CLI: quarry reindex --repo. check-in: 7124d5e366 user: dmestas tags: trunk

18:13
timeline: unified events — wiki and ticket rows interleave (y= filter)

Union query over checkin/wiki_edit/ticket_change (ticket titles from the folded search doc); composite date~hash cursor; flat event rows with badges, rails passing through; Show selector in controls. check-in: 4681b2fbc4 user: dmestas tags: trunk

18:04
timeline: branch lines one color fork-to-merge, uniform stroke

Look-ahead branch map colors merge rails by the commit they descend to; join curves keep their branch color to the fork; off-page parents render neutral, never a hashed hue for the empty name; drop vector-effect (zoom-variant thickness) for plain 2.5px strokes. Lint now checks color continuity at every cell boundary and stroke uniformity; unit tests pin the dev-line coloring end to end. check-in: 54f1834d26 user: dmestas tags: trunk

17:45
timeline: seamless graph tiling, date-row rail carry, mobile pass

Tail layer at fixed px width (was stretching to 100% — x misalign); head at top:0 with cy=24; date rows render active rails so pills sit beside an unbroken graph; 5px card gaps; mobile keeps vertical card padding so alignment holds. tools/timeline-verify.js is the browser geometric lint: 0 violations on all three demo repos at 1280 and 375. check-in: 994815316c user: dmestas tags: trunk

17:34
timeline: adopt fossil's comment-flow and card metrics

Paragraphs reflow to card width (newlines are not line breaks, fossil semantics); node/time top-aligned via fixed head SVG over stretching tail rails; card padding/radius/detail values from fossil default.css (BSD-2, ledger row added). check-in: 1529a698c5 user: dmestas tags: trunk

17:24
timeline: graph cell min-width (absolute-only content collapsed td) check-in: 81ee450484 user: dmestas tags: trunk
17:21
timeline UX: fossil-modern cards, continuous rails, controls

Card layout with title/body split and bottom-right metadata; date pills; stretchable rail SVG + fixed node dot (rails continuous through tall rows, leaf tips as rings); Max control with fossil's n= name. check-in: a74b77467d user: dmestas tags: trunk

17:04
timeline: fossil-shaped rows + server-side SVG DAG graph

Day dividers, HH:MM times, comment cell with metadata tail and leaf/merge badges, per-branch colors (cleanroom hash_color), rail assignment after graph.c's shape rendered as per-row inline SVG — no JavaScript. check-in: bdb20a06eb user: dmestas tags: trunk

16:56
fix: timeline truncated at first row (web entry missing Branch)

Template errors now buffer-render to a logged 500 instead of silent truncation; populated-timeline regression test added. check-in: 81642956b5 user: dmestas tags: trunk

16:50
branch labels: tag facts + wholesale recompute, timeline filter

Manifest/control T cards fold as dated tag rows; branches recomputed per batch via recursive CTE (order-independent; latest tag wins); timeline branch column + ?branch= filter; checkin page shows branch. check-in: 3e10e3f43b user: dmestas tags: trunk

16:41
rfc 0003: pin fleet-registry alignment with zit#70

Flags stay ephemeral until zit's global db; OLTP registry is forge metadata only, never store locations; #59+#70 unblock bare stores. check-in: 342f8f00b5 user: dmestas tags: trunk

16:38
fleet: multi-repo serving, /r/{repo} routes, pagination

repo.list op + fleet home; per-repo indexes and pipelines on one NATS; repeatable --repo name=path; timeline before= cursor with older-link; harness runs two stores and asserts isolation. check-in: 0b245645c7 user: dmestas tags: trunk

16:15
highlight: dark theme covers every light token class (030)

Classes github-dark omits get explicit overrides at the dark base color; regression test pins full coverage incl. nx/p/na/nb/bp. check-in: 4fe9a80214 user: dmestas tags: trunk

16:15
layout: persistent nav, code-block styling, single h1, a11y (010/100/110/120/140)

Header nav + search form in base; markdown headings demoted one level; pre gets --code-bg; tables scroll in .tw wrappers; th scope attrs. check-in: 3253bba7bb user: dmestas tags: trunk

16:13
search fixes: folded ticket docs, mark snippets, honest limit (050/060/080/130)

search_doc gains label; tickets one folded doc per id; ⟦⟧ markers become <mark> post-escape; default= validate rule fills absent keys. check-in: 839e3e756a user: dmestas tags: trunk

16:10
error taxonomy: 404s, themed error pages, message hygiene (tickets 020/040/070/090)

ops.ErrNotFound sentinel; router maps to 404, hides internals on 500; JSON 404 for unmatched API paths; themed web 404/500; zitcli.ErrNoEntry; clean codec parse messages; shunned-diff note. check-in: f073a79918 user: dmestas tags: trunk

14:30
search: FTS5 over check-ins, wiki, tickets

External-content fts via triggers on search_doc (immutable-artifact upserts stay idempotent); token-quoted queries; /search page + op; required-input ops get explicit harness surfaces. check-in: c650d85c33 user: dmestas tags: trunk

12:20
diff: checkin.diff op + colored diff page (zit diff --from/--to)

Root check-ins report their file set as all-adds; zit#69 filed for diff -R; per-checkin diff surfaces in harness. check-in: bb37910fbb user: dmestas tags: trunk

12:16
highlight: chroma wrapper, fenced-code + file-view highlighting

Cleanroom (their wrapper is settings-coupled); classes only, both themes in one stylesheet; sanitizer learns chroma token classes. check-in: 689d0692d7 user: dmestas tags: trunk

12:11
files: zit cat behind file.get op and /file page

Rest-wildcard route; binary detection keeps bytes out of JSON; tip-file surfaces in harness; spec paths drop the ... spelling. check-in: 0821146a78 user: dmestas tags: trunk

12:09
tickets: folded state, list/get ops, pages, hash resolution

Deterministic (date,hash) fold, latest field wins; TicketByPrefix joins ResolveHash; /ticket surfaces in harness. check-in: 70f2007847 user: dmestas tags: trunk

12:05
checkin: detail op + page, hash resolution, zit ls on demand

CheckinByPrefix (unique-only); file set via zit subprocess at request time; timeline links hashes; harness snapshots every check-in page. check-in: d0e80a9156 user: dmestas tags: trunk

11:42
wiki: list/get ops, rendered pages, index-backed resolver

Latest-edit-wins queries; markup.Render behind the wiki.get op; [[name]] resolves only to existing pages; /wiki in harness surfaces. check-in: ae50247ab0 user: dmestas tags: trunk

11:20
markup: goldmark + cleanroom sanitizer + resolver seam (0002 §2)

Two-lineage conformance corpus in third_party (ledger rows, inputs only); parse-oracle fuzz target; [[wiki]]/hash resolution post-sanitize. check-in: 5ba3499b8a user: dmestas tags: trunk

11:14
events: embedded NATS leg of the ingest pipeline (0001 §4)

Watcher publishes parsed artifacts to zit.evt..artifact; durable pull consumer folds; cursors in KV; reset event on store rewrite. check-in: b0dc69c9a7 user: dmestas tags: trunk

10:52
phase 1 tracer (minus NATS): index, watcher, timeline op + page

SQLite fold via ncruces driver; ingest.Sync with cursor-loss rebuild; serve --repo; harness wipe is now a real rm -rf + re-ingest. check-in: 83db19e8c7 user: dmestas tags: trunk

10:41
corpus test: skip directories in testdata glob check-in: 42d82a6cae user: dmestas tags: trunk
10:40
sterilize artifact testdata (RFC §4.1.2)

Raw structural artifacts committed as content join this repo's DAG; a '#' first line breaks the framing gate, test loader strips it. check-in: 90a052ba22 user: dmestas tags: trunk

10:40
artifact: structural-artifact parser per the artifact-format RFC

Framing gates, escape decoding, card grammar/ordering, type classification, Z verification; corpus testdata from the fixture. check-in: 3129a9afe0 user: dmestas tags: trunk

09:16
zitcli: subprocess client for zit frames (zit 0.1.3)

Bootstrap/incremental/invalid-cursor handling per exit codes 0/3/4; rfc 0003 ledger notes zit#66/#67 shipped. check-in: 35bd00468a user: dmestas tags: trunk

02:10
phase 0 exit: serve, HTML page via op, harness loop, provenance gate

API router + web page as registry consumers; disposability loop over all surfaces; third_party ledger enforced by arch test. check-in: bf969e9d1a user: dmestas tags: trunk

00:32
rfc 0003: record zit CLI audit results and filed issues zit#66/#67 check-in: a9c85998a6 user: dmestas tags: trunk
00:31
rfc: read-verb payload is the RFC'd artifact format

0001 §2 + 0003 §6: watcher verb streams raw spec-format artifacts; container stays private, no invented schema. check-in: c29316042d user: dmestas tags: trunk

2026-08-14
22:29
OpenAPI reflector over the registry (dagnats 0.0.13)

quarry spec subcommand, RegisterAll with meta.version, required Op.Doc, validate rules feed schemas; make spec-lint via vacuum. check-in: cfd3f85ff3 user: dmestas tags: trunk

20:40
semdiff core + fixture corpus tooling

Canonical DOM/JSON/timestamp diff (0001 §11); synthetic fixture via fossil serve-and-clone; make fixtures / fixtures-real. check-in: b9d8e3692c user: dmestas tags: trunk

20:33
ops: form/URL-values codec + tag-driven validator

Field names from json tags; validate tags checked at Register time. check-in: 939f072f70 user: dmestas tags: trunk

20:06
root: RFCs, Go skeleton, ops registry core with import-graph gate check-in: 7619ba9563 user: dmestas tags: trunk