{"ref":"main","files":[{"name":".config","kind":"directory","size":0,"lastCommitHash":"309f070bf487b37bad39957e1568e5113abf470d","lastCommitWhen":"2026-11-05T08:12:33+03:00","lastCommitMessage":"run the tests under cargo-nextest, from the dev shell\n"},{"name":"bench","kind":"directory","size":0,"lastCommitHash":"c4429a14bdca3080fbc4772e0a7ed58da9a9059e","lastCommitWhen":"2026-11-10T18:31:05+03:00","lastCommitMessage":"the write-latency bench takes the repos to write to, and records a repo with many writes\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"benches","kind":"directory","size":0,"lastCommitHash":"d8fb62f524cfb37c8719820cc746372dc885e5a2","lastCommitWhen":"2026-11-07T17:27:48+03:00","lastCommitMessage":"trim comments and clarify helper names\n"},{"name":"docs","kind":"directory","size":0,"lastCommitHash":"fdedbe00cf7021dcd4c4c5c21c0407182150537f","lastCommitWhen":"2026-09-21T02:39:37+03:00","lastCommitMessage":"feat(serving): refswap reference rows, dispatch rekey, carry fix, CAS shards (gen-9 base)\n\n- nginx dispatch rekey: 01_ref resolves spellings through c_$arg_ref so per-spelling\n  bodies are actually served (fixes ref-blind HEAD dispatch serving oid-echo bodies\n  for branch spellings; curl-proven, parity tests now cover nginx dispatch)\n- refswap reference rows: commit-spelling JSON rows reference the branch-spelling\n  body + refswap metadata instead of materializing 13k near-duplicate bodies per push\n- carry_file_rows: drop the phantom per-file Tree check gen-8 orphaned; untouched\n  file rows carry again (BlobJson + BlobRaw)\n- cas: pre-create 256 hex shards, optimistic hard_link, fallback copy\n- parity tests: portable nginx_binary stub (PATH-resolved 'true')\n- 13k bench: warm_changed p50 5.88s (was 10-11s), warm_full 3.05s, unchanged 9.5ms\n- all suites green on trimounts (134 tests)\n\nSigned-off-by: dawn <dawn@tangled.org>\n"},{"name":"firehose","kind":"directory","size":0,"lastCommitHash":"413b01291e51e597b36843abe99a7654bad9ef7f","lastCommitWhen":"2026-11-08T06:17:16+03:00","lastCommitMessage":"license because i forgot\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"nix","kind":"directory","size":0,"lastCommitHash":"5129f36ed4d526ab5de9888cc61a74bdd4c945df","lastCommitWhen":"2026-11-10T08:08:01+03:00","lastCommitMessage":"the drain timer can activate, and stops rebuilding a handles publish that failed\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"scripts","kind":"directory","size":0,"lastCommitHash":"99651f0367d0bd87c5495f139972384febae21d2","lastCommitWhen":"2026-11-11T14:56:43+03:00","lastCommitMessage":"a knot runs each configured [[hooks]] entry after an activation, with its own lock, pid, started record and log\n\nmigration: replace `[site_hook]` with `[[hooks]]` (`name = \"svfe-pages\"`, `command`, `args`), and remove old `runtime/site-hook.{lock,pid,started.json}` and `site-hook.log` files on trimounts.\n"},{"name":"src","kind":"directory","size":0,"lastCommitHash":"477463e635d478b773a63b43a4dc93bd143d9c94","lastCommitWhen":"2026-11-12T12:25:50+03:00","lastCommitMessage":"an activation waits for nginx's reload to swap its workers before publishing the generation\n"},{"name":"tests","kind":"directory","size":0,"lastCommitHash":"99651f0367d0bd87c5495f139972384febae21d2","lastCommitWhen":"2026-11-11T14:56:43+03:00","lastCommitMessage":"a knot runs each configured [[hooks]] entry after an activation, with its own lock, pid, started record and log\n\nmigration: replace `[site_hook]` with `[[hooks]]` (`name = \"svfe-pages\"`, `command`, `args`), and remove old `runtime/site-hook.{lock,pid,started.json}` and `site-hook.log` files on trimounts.\n"},{"name":"vendor","kind":"directory","size":0,"lastCommitHash":"351055963b6130c2fcda3318161c681e60518fba","lastCommitWhen":"2026-11-09T15:00:37+03:00","lastCommitMessage":"vendor tangled core master\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":".gitignore","kind":"file","size":76,"lastCommitHash":"8f8ea0006a6e9fd8bea3f4707fba779e81b399fa","lastCommitWhen":"2026-11-09T15:00:36+03:00","lastCommitMessage":"add a startup bench for the commands that answer one request\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"Cargo.lock","kind":"file","size":166777,"lastCommitHash":"7592e13176ecb921d8f384aafb28b2779ea9288f","lastCommitWhen":"2026-11-10T21:31:53+03:00","lastCommitMessage":"avatars are served at 42, 96 and 192 px, and kept up to 5 MB\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"Cargo.toml","kind":"file","size":3761,"lastCommitHash":"7592e13176ecb921d8f384aafb28b2779ea9288f","lastCommitWhen":"2026-11-10T21:31:53+03:00","lastCommitMessage":"avatars are served at 42, 96 and 192 px, and kept up to 5 MB\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"flake.lock","kind":"file","size":2547,"lastCommitHash":"fb0fe1b6d26e53b4fcb480ffb74996e5be3a7ded","lastCommitWhen":"2026-09-18T11:34:04+03:00","lastCommitMessage":"init project\n\nSigned-off-by: dawn <dawn@tangled.org>\n"},{"name":"flake.nix","kind":"file","size":3852,"lastCommitHash":"5129f36ed4d526ab5de9888cc61a74bdd4c945df","lastCommitWhen":"2026-11-10T08:08:01+03:00","lastCommitMessage":"the drain timer can activate, and stops rebuilding a handles publish that failed\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"knot-static.toml.example","kind":"file","size":3411,"lastCommitHash":"424e78e5f89c4434049c57fe00aac373725bfa9d","lastCommitWhen":"2026-11-09T19:49:17+03:00","lastCommitMessage":"link the index page's owners and repos to a configurable site\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"LICENSE","kind":"file","size":34523,"lastCommitHash":"413b01291e51e597b36843abe99a7654bad9ef7f","lastCommitWhen":"2026-11-08T06:17:16+03:00","lastCommitMessage":"license because i forgot\n\nSigned-off-by: dawn <90008@klbr.net>\n"},{"name":"README.md","kind":"file","size":8550,"lastCommitHash":"413b01291e51e597b36843abe99a7654bad9ef7f","lastCommitWhen":"2026-11-08T06:17:16+03:00","lastCommitMessage":"license because i forgot\n\nSigned-off-by: dawn <90008@klbr.net>\n"}],"branches":[{"name":"main","hash":"477463e635d478b773a63b43a4dc93bd143d9c94","when":"2026-11-12T12:25:50+03:00","isDefault":true,"message":"an activation waits for nginx's reload to swap its workers before publishing the generation\n"}],"totalBranches":1,"tags":[],"totalTags":0,"languages":[{"name":"Rust","size":3030275,"share":98.3590780273751,"percentage":98},{"name":"Nix","size":20456,"share":0.6639771308306952,"percentage":1},{"name":"Shell","size":13410,"share":0.43527245426474503,"percentage":1},{"name":"CSS","size":11185,"share":0.3630516331805498,"percentage":0},{"name":"JavaScript","size":5503,"share":0.17862075434891064,"percentage":0}],"failed":{"files":false,"refs":false,"languages":false},"compact":{"vendor":"core","vendor/core/lexicons/org":"tangled","vendor/core/lexicons/com/bad-example":"pocket","vendor/core/lexicons/org/tangled/temp/spindle":"allowList"}}