Wiki Log, July 2026
- title
- Wiki Log, July 2026
- type
- log
- summary
- Activity log for July 2026: 51 entries, 2026-07-22 to 2026-07-29
- created
- 2026-07-22
- updated
- 2026-07-29
[2026-07-22] update | Declared gaps β planned: frontmatter and the check that honours it
Follow-up to the maintenance pass earlier today, which left six wikilinks pointing at pages that do not exist and argued each was a real gap rather than a defect. That argument lived only in a log entry, so warren check still failed on them and the vault had no way to tell a deliberate gap from a typo.
Now it does. planned-pages declares the six in a planned: frontmatter list and explains in a table what references each and why the page is worth writing. CLAUDE.md gains a "Deliberate Gaps" rule under Cross-References: a dangling wikilink is a defect unless some page declares its target, stubs are still forbidden, and dangling links inside sources/ are expected because those are clipped documents pointing into their own repositories.
warren was changed to match β internal/vault parses planned:, internal/linkcheck marks each dangling link declared or not, and warren check now fails on undeclared links outside sources/ rather than on any dangling link at all. It also warns when a declared target starts resolving, so the list gets pruned instead of decaying into a permanent allowlist. Eight tests cover the gate, the sources exemption, spelling variants of a declaration, and staleness.
The vault now passes warren check for the first time: 6,555 wikilinks, 6 dangling, 6 declared, 0 undeclared. Pages created: planned-pages. Pages updated: index (1 entry).
[2026-07-22] lint | Vault maintenance pass β catalog pages, orphans, dangling links, summaries
Consistency pass, not an ingest. Five separate problems, all of them consequences of the vault never having had a way to distinguish structural pages from content pages.
Catalog and log pages marked. wiki/index, toolbox/index, books/index and the root index are now type: catalog; log is type: log. All five had opened straight into an H1 with no frontmatter at all; each now carries title, summary, created (taken from git history) and updated, and the duplicate H1 is gone. CLAUDE.md gains both types and a short section explaining why link metrics have to skip them: the five together carry roughly a third of the vault's wikilinks, which is why the Orphans (no inbound links) view in wiki.base has never been able to return a row.
Orphans, computed for the first time. Excluding those five, 44 of 665 pages in wiki/, toolbox/ and books/ had no inbound wikilink. 42 now do. The wiki cluster was systematic β 13 blog-entity pages each linked out to the summary written from that blog and no summary linked back; fixed by making the author's name in each opening sentence the link, which is what the pages that got it right already do. All 19 book pages were orphaned because books/index was their only referrer; each is now cited from the wiki page whose topic it covers. Nine of eleven toolbox orphans found a genuine relative. slogbox and openscreen were left orphaned on purpose β the vault has no page on Go structured logging and none on screen recording, so every candidate link would have been decorative.
Dangling wikilinks: 28 down to 6, measured with warren check. Two were a wrong folder prefix ([[meta/llm-wiki-pattern]] for a page in wiki/), two were PDFs linked without their extension in ingested-urls. Three pages written because the reference count said they were owed: claude-code (four referring pages, and 75 pages mention it in prose), andrew-bosworth (three), obsidian-bases (two, and nothing explained the dashboards the front page is built from). Nine unlinked as prose rather than concepts. Six left as honest gaps: dtrace, gvisor, xray-core, anthropic-and-pentagon, oldnewthing-20260423, stable-urls-as-public-api β each referenced once, two by text that already says the page does not exist.
summary: backfilled on 139 pages β 115 in toolbox/, all 24 in books/ β which had none because neither frontmatter template included the field. Both templates now do. These become the meta description and Open Graph text when the vault is served, so each was written as a search-result line.
Six frontmatter blocks were invalid YAML and always had been: five summary: values contained an unquoted ": ", and early-stage-reality opened with a quoted phrase YAML read as the whole value. Obsidian tolerates them; a stricter parser drops the frontmatter entirely. All 670 blocks in wiki/, toolbox/, books/, meta/ and the root now parse.
Also documented in CLAUDE.md: the optional aliases: field for surviving renames, why filename uniqueness is what allows addressing a page by stem alone, and a decision on inbox-assets/ β it stays, as the staging area ingest drains into sources/assets/, which is what the ingest skill already does.
Not done, deliberately: the catalog listings were not regenerated from summary:. A 20-page sample found no contradictions between the two descriptions β every pair agrees on what the page is, differing only in which secondary detail each keeps β so the duplication is real but not currently harmful, and whether to generate the listings is an open decision in the site spec.
[2026-07-18] ingest | The LLM Critics Are Right. I Use LLMs Anyway
Ingested Jeremy Theocharis's reconciliation-stance essay (from a Telegram saved message; Local-First Conf Berlin, July 2026). Pages created: llm-critics-are-right-use-anyway (summary), theocharis-blog (entity), credibility-as-slop-test (concept). Pages updated: anti-llm-discourse (added the reconciliation slot between refusal and adapt-or-die; wired into "what the cluster is missing"), index. Kept the sharpest Lobsters counter-arguments (bad-writing blind spot, amplificationβ augmentation, friction as a gating function).
[2026-07-18] ingest | Speculative Growth and the AI "Bubble" (Caballero, MIT)
Ingested Caballero's July 2026 working paper (from a Telegram saved message; PDF via pdftotext). Pages created: speculative-growth-ai-bubble (summary), speculative-growth (concept). Pages updated: ai-bubble-pale-horses (added the "bubble can pop and still leave a legacy" counterweight; bumped updated), index. Positioned as a nuance/counterweight to the Zitron doom framing rather than a contradiction. Kept the HN thread's capital-reusability crux (dot-com fiber vs fast-depreciating GPUs), the labor-incidence and "propaganda"/K-shaped objections, and the LLM-writing accusations.
[2026-07-18] ingest | Batch from Telegram saved messages (13 articles + 2 tools)
Processed a batch of saved-message links via parallel subagents. Details below.
[2026-07-18] ingest | git history: safer history rewrites in core git
Lalit's post on git's experimental git history command (fixup/reword/split, autorebases local branches). Created git-history-command, source lalitm-git-history. Linked git-magic-files, pgit, linux-kernel-pgit.
[2026-07-18] ingest | Old and new apps via modern coding agents (Tao)
Terence Tao porting his 1999 Java math applets to JS and vibe-coding new visualizations with a coding agent. Created summary tao-apps-coding-agents and entity terry-tao. Reconciliation/disciplined-use data point alongside chatgpt-5-5-pro-mathematical-research, llm-mathematical-research.
[2026-07-18] ingest | Mindwalk
cosmtrek/mindwalk (778β , MIT) β replays Claude Code/Codex sessions as light over a 3D citymap of the repo. Created toolbox/mindwalk.md; added to watchlist.
[2026-07-18] ingest | Mesh LLM: Distributed Inference over iroh
iroh blog post on distributed LLM inference across a p2p mesh, plus HN discussion. Created summary mesh-llm and toolbox iroh; source mesh-llm-on-iroh.
[2026-07-18] ingest | ZeroFS vs. Amazon S3 Files
zerofs.net head-to-head of ZeroFS against AWS S3 Files (both POSIX-over-S3). Created summary zerofs-vs-s3-files and toolbox zerofs; source zerofs-vs-aws-s3-files. Author-written comparison, framed as such.
[2026-07-18] ingest | Know Thine Enemy (Amy J. Ko)
Amy J. Ko's three-month Claude Code experiment as an LLM skeptic. Created summary know-thine-enemy (reconciliation/harm-reduction slot) and entity amy-ko-blog. Source via Wayback (Medium was Cloudflare-blocked).
[2026-07-18] ingest | Speeding up the Gleam formatter with Rust arenas
Giacomo Cavalieri closed a three-year-old Gleam issue via Rust arena allocation. Created summary gleam-pretty-printer-arenas and concept arena-allocation; source gleam-rust-arenas.
[2026-07-18] ingest | Slow Software: The Case for High-latency Systems Development
Irene Y. Zhang (SIGOPS) on reinstating development friction for critical infrastructure. Created summary slow-software-high-latency; source slow-software-high-latency-systems. Lobsters thread empty.
[2026-07-18] ingest | A Place for Everything β Zornek's Work-Tracking System
Mike Zornek on tracking work in GitHub Issues/Projects. Created summary tracking-work-github-issues; source zornek-a-place-for-everything. Lobsters link 404'd.
[2026-07-18] ingest | In Defense of Not Understanding Your Codebase
Sean Goedecke on partial understanding as the honest baseline at scale. Created summary not-understanding-your-codebase (parent sean-goedecke-blog); source saved.
[2026-07-18] ingest | Control the Ideas, Not the Code
antirez (antirez.com/news/169) on why line-by-line review of LLM code is low-value; own the design. Created summary control-the-ideas-not-the-code and entity antirez; source antirez-control-the-ideas.
[2026-07-18] ingest | commonforms
jbarrow/commonforms (1.2kβ ) β auto-detects PDF form fields and writes fillable widgets via FFDNet models. Created toolbox/commonforms.md; added to watchlist.
[2026-07-18] ingest | reaction
ppom/reaction (framagit, Rust) β fail2ban-generalized daemon scanning output for patterns. Created toolbox/reaction.md; added to watchlist. Repo ships an AGENTS.md prompt-injection (no-LLM policy); noted, not obeyed.
[2026-07-18] ingest | gap
cdacamar/gap (60β , MIT) β native GUI diff tool, testbed for linear Myers diff bound for the fred editor. Created toolbox/gap.md; added to watchlist.
[2026-07-18] ingest | Computer Science Off Course β Naur: Programming as Theory Building
Podcast S1E1 (Hermans & Schraffenberger). Judged a restatement of Naur; no new page β saved source record computer-science-off-course-theory-building and added a "see also" pointer to programming-as-theory-building.
[2026-07-18] ingest | Second Telegram batch (16 pages from 18 sources)
Second parallel-subagent batch from saved messages. Details below.
[2026-07-18] ingest | Please make my predictions come out wrong (PHK's last Bikeshed)
Poul-Henning Kamp's final ACM Queue "Bikeshed" column. LLM code review dismissed as a bounded, bubble-funded fad; the real thesis is that age verification, attested computing, and EU Cyber-Resilience-Act accountability end single-maintainer BDFL FOSS. Created phk-goodbye-bikesheds (summary), source via Wayback (ACM was Cloudflare-403).
[2026-07-18] ingest | Moonstone β Zig-based Lua environment and package manager
moonstone-sh/moonstone (Zig, Apache-2.0) β content-addressed store + per-project symlink envs for Lua/LuaJIT. NOT a Lua VM. Created toolbox/moonstone.md; watchlist (young, single-author, POSIX-only).
[2026-07-18] ingest | DIY-CNC-machine β 3D-printed CNC router build guide
maxvfischer/DIY-CNC-machine β hardware/CAD build guide (STL/OBJ + Fusion 360) for a 3D-printed CNC router (Ivan Miranda design). Created toolbox/diy-cnc-machine.md. First hardware entry; off the usual software focus.
[2026-07-18] ingest | Prefer Strict Tables in SQLite
Evan Hahn on SQLite STRICT tables vs default type affinity. Created sqlite-strict-tables; source prefer-strict-tables-in-sqlite.
[2026-07-18] ingest | Who manages the agents? (Don't Go Quietly Into the AI Night)
off-policy.com essay: distribute agent management to every worker rather than concentrate frontier AI; vision-manifesto-plus-product-pitch. Created who-manages-the-agents; source dont-go-quietly-into-the-ai-night. Adapt-or-die counter-cluster.
[2026-07-18] ingest | Lucky Code β cosmetic C edit, 6x faster quicksort
Christof Kaser (tiki.li): *p++ = x vs *p = x; p++; flips Clang's SimplifyCFG into csel/cmov, 6Γ on quicksort. Created compiler-codegen-luck + concept conditional-move; source lucky-code.
[2026-07-18] ingest | Soviet Control Room Aesthetics
Design You Trust photo essay + HN. Created soviet-control-rooms; source soviet-control-rooms-design-essay. HN thread carries the substance (real vs staged facilities, lighting/wiring constraints).
[2026-07-18] ingest | Agent Memory Strategy Decision Tree
Machine Learning Mastery: five-question tree classifying agent info into working/semantic/episodic/procedural memory. Created agent-memory-strategy-decision-tree; source choosing-ai-agent-memory-strategy.
[2026-07-18] ingest | AI Cannot Forget or Forgive
Tejas Sud: machine memory has no native decay and no per-record "forgiveness" op; forgetting is adaptive compression. Created ai-cannot-forget-forgive; source ai-cannot-forget.
[2026-07-18] ingest | Good Tools Are Invisible
Ginger Bill (Odin creator): good tooling gets out of the way; reframing friction as a "fun puzzle" is a tell it's failing you. Created good-tools-are-invisible + entity gingerbill-blog; source good-tools-are-invisible-src.
[2026-07-18] ingest | flint-chart
Microsoft Flint β a visualization intermediate language agents emit as compact specs; compiles to Vega-Lite/ECharts/Chart.js, ships an MCP server. Created toolbox/flint-chart.md; watchlist.
[2026-07-18] ingest | SWE-1.7 β Cognition's Coding Model
Cognition's SWE-1.7 (RL-trained from Kimi K2.7), near GPT-5.5 on coding benchmarks β all vendor-reported, closed weights, Devin-only. Created swe-1-7; source cognition-swe-1-7.
[2026-07-18] ingest | kastor β declarative source-of-truth layer for AI agents
weirdGuy/kastor (Go, Apache-2.0) β HCL agent specs β LangGraph codegen + Terraform-style plan/apply/state. Created toolbox/kastor.md; watchlist.
[2026-07-18] ingest | Notes on Software Quality (Hobday)
Anthony Hobday: absence-of-problems definition, six software quality signals, "quality can't survive scale" thesis. Created notes-on-software-quality; source notes-on-software-quality-src.
[2026-07-18] ingest | Kokoro local CPU TTS
Ariya Hidayat how-to β toolbox/kokoro.md (hexgrad/kokoro, 82M-param TTS, Apache-2.0, CPU-fast, OpenAI-compatible). Mature; not watchlisted.
[2026-07-18] ingest | sp4rk β Golang multi-agent SDK
v0lka/sp4rk (Go, MIT) β classic + fluent agent APIs, MCP, Plan & Execute, reflection/retry. Created toolbox/sp4rk.md; watchlist (0 stars, early alpha). Could not verify the "extracted from c0wrk" claim β omitted.
[2026-07-18] ingest | showagent
aytzey/showagent (Go, MIT) β TUI unifying coding-agent sessions across Codex/Claude Code/Gemini/OpenCode/Pi; resume, branch, convert. Created toolbox/showagent.md; watchlist.
[2026-07-18] ingest | dockerscan
cr0hn/dockerscan (Go, source-available) β v2 defensive Docker image scanner (CIS/supply-chain/secrets/CVE/runtime); the old Python offensive tool was rewritten. Created toolbox/dockerscan.md; watchlist (single-author, proprietary license).
[2026-07-18] ingest | Reviewing AI Code (Thomas Depierre)
Ingested Thomas Depierre's softwaremaxims.com essay arguing that the "just review the AI's code like an intern's" defense collapses against the empirical code-review literature (β€400 LOC/h, ~1h effective sessions, no parallelism β sub-1k-LOC/day ceiling), plus evidence that reviewers of LLM code find fewer defects while more confident. Created summary reviewing-ai-code, concept code-review-throughput-limits, and entity thomas-depierre-blog. Updated anti-llm-discourse (engineering/craft slot) and index. Noted the direct tension with control-the-ideas-not-the-code (antirez's opposite prescription).
[2026-07-20] ingest | pve-microvm β Firecracker-like microVMs for Proxmox VE (Tao of Mac)
Ingested Rui Carmo's taoofmac.com writeup of pve-microvm, a .deb that patches Proxmox's qemu-server Perl internals to add QEMU's microvm machine type as a first-class managed guest β host-provided kernel, kernel-agnostic OCI rootfs, sub-300ms boot with a real KVM boundary. Notable technical divergence: falls back from virtio-mmio to PCIe non-transitional virtio for Linux guests (QEMU 10.x MMIO device-probing bug). Pages created: pve-microvm (source pve-microvm-taoofmac). Pages updated: qemu-microvm, microvm, microvm-2026 (cross-refs + dates), index, watchlist (added row, next check 2026-10-18). URL logged in ingested-urls (pending backup).
[2026-07-20] ingest | LazyPi β one-command installer/distribution for the Pi coding agent
Ingested lazypi.org (Rob Zolkos). LazyPi is "LazyVim for Pi": npx @robzolkos/lazypi installs vanilla Pi if missing, then configures it with 60+ community skills, 67 themes, MCP adapter, sub-agents, persistent memory, planning mode, cost tracking β idempotent, zero config. Key distinction captured: LazyPi is an installer over unmodified upstream, where oh-my-pi is a fork that owns the binary β fork-vs-installer is the axis that now separates the two batteries-included Pi distributions. Pages created: lazypi. Pages updated: pi-coding-agent (ecosystem note + date), oh-my-pi (fork-vs-installer contrast + date), index, watchlist (added row, next check 2026-10-18). URL logged in ingested-urls.
[2026-07-21] ingest | Seven-source batch β READMENOT, Dan Luu AI coding, OpenSSL errors, homelab build, Spindle microVM, Pierre diffs/trees
Batch-ingested seven sources.
- yossarian READMENOT β summary readme-not + concept slop-marker-convention; entity yossarian-blog.
- danluu AI coding (~19k words) β summary danluu-ai-coding-testing + concepts testing-heavy-no-review-workflow, llm-output-variance, agent-failure-mode-skill; entity danluu-blog. Wired as the third position (testing replaces review) against reviewing-ai-code / control-the-ideas-not-the-code.
- klode OpenSSL β summary openssl-error-handling-pandemic + concept error-stack-anti-pattern.
- cleberg server build β short summary cleberg-server-build-summary.
- tangled Spindle microVM β summary spindle-microvm; entity tangled. Cross-linked into microvm, qemu-microvm.
- Pierre diffs + trees β toolbox pierre-diffs, pierre-trees (same pierrecomputer/pierre monorepo, Apache-2.0). Pages updated: reviewing-ai-code (danluu counterpoint + date), microvm & qemu-microvm (Spindle cross-ref + date), features-to-steal-from-npmx (Tangled link), index, index. URLs logged in ingested-urls (articles pending backup).
[2026-07-21] ingest | Eighteen-source batch β local AI, agent tooling, AI skepticism, internet decay, supply-chain & systems
Batch-ingested 18 sources across six themes.
- Local AI / codegen limits: local-ai-is-not-opus (Alex Ellis; entity alex-ellis), constraint-decay-backend-agents (arXiv 2605.06445) + concept constraint-decay.
- Agent search / memory: agentic-search-context-engineering (entity leonie-monigatti-blog) + concept agentic-search (updated context-engineering); agent-memory-anatomy (entity brgsk-blog) + concept agent-memory-components.
- AI skepticism / consciousness: twelve-ways-wrong-ai-coding (Greg Wilson; entity greg-wilson-blog) + concept measuring-ai-coding-productivity; ai-is-not-conscious-chiang (Ted Chiang; entity ted-chiang) + concept moral-agency-vs-patienthood.
- Internet / founder culture: lapsarianism-doctorow (entity cory-doctorow) + concept enshittification; what-happened-to-nerds + build-a-new-internet (entity mrmarket-blog) + concepts founder-brand-liquidation, high-friction-commons.
- Supply chain / builds / Wasm: anubis-wasm-vendor-binary (Xe Iaso; entity xe-iaso) + concept reproducible-builds; reuse-less-software (icefox; entity icefox-alopex) + concept dependency-vendoring; toolbox wazero, manylinux + concept webassembly.
- Systems: go-privilege-dropping (oxzi; entity oxzi-blog) + concept privilege-dropping; toolbox tc-lang.
- Agent tooling toolbox: kanbots, claude-code-workflow-creator; updated agentsview (now 50+ agents, ~4.5kβ , DuckDB/Quack, semantic search) and kenn-software-suite. Pages created: 12 summaries, 10 entities, 12 concepts, 5 toolbox. Pages updated: context-engineering, agentsview, kenn-software-suite. Watchlist rows added for tc-lang, kanbots, claude-code-workflow-creator (next check 2026-10-19). 18 URLs logged in ingested-urls (pending backup).
[2026-07-21] ingest | The cheap reverse-engineering of home devices (Simon Willison)
Ingested Willison's one-paragraph note on how coding agents flip the ROI of reverse-engineering home devices β the unlock is disposability (cheap to write, cheap to fail, cheap to throw away), not possibility, and the maintenance dread of undocumented/unstable APIs was doing more to suppress projects than the writing effort. Pages created: summary cheap-reverse-engineering, concept disposable-code. Pages updated: simon-willison-blog (coverage + date), index. Cross-linked to port-not-patch-contribution, llm-as-average-democratizer, average-is-all-you-need, with peril-of-laziness-lost as the counterweight. URL logged in ingested-urls (pending backup).
[2026-07-21] ingest | Two-source batch β "No AI" statements (Zhan) and Claude Is Not a Compiler (Bleecher Snyder)
Batch-ingested two sources on opposite ends of the AI-and-authorship question.
- James Zhan, "No AI" statements β summary no-ai-statements + concepts human-made-disclosure (the declare-human marker as stance, not evidence) and ai-detector-arms-race (surface detection failing both ways; the equilibrium where writers strip formatting and detail to pass automated detectors); entity james-zhan-blog. Wired as the mirror image of slop-marker-convention / readme-not β same producer-declares structure, opposite claim, and a sharply different incentive (slop markers cost something to attach, human-made markers are free to fake). Added a "Disclosure and marking" slot to anti-llm-discourse, noting it's the only part of that cluster compatible with heavy AI use.
- Josh Bleecher Snyder, Claude Is Not a Compiler (blog.exe.dev, 2026-07-20) β summary claude-is-not-a-compiler + concepts vibe-engineering and differential-spec-analysis (build the system N times with concurrent agent loops, diff the results, treat divergence as an unspecified decision); entity exe-dev-blog, kept distinct from the existing crawshaw-blog (crawshaw.io, personal). Positioned as the constructive worked answer to agent-principal-agent-problem from the same company, and as the nearest ally of control-the-ideas-not-the-code with a different verification method. Pages created: 2 summaries, 4 concepts, 2 entities. Pages updated: crawshaw-blog, agent-principal-agent-problem, slop-marker-convention, credibility-as-slop-test, readme-not, anti-llm-discourse, control-the-ideas-not-the-code, cult-of-vibe-coding, index. Both URLs logged in ingested-urls (pending backup).
[2026-07-21] ingest | Seven-source batch β agent-memory wiki convergence, Block's Buzz, CACM cognition, acoup empires, open e-readers
Batch-ingested seven sources across four themes.
- The LLM Wiki convergence β three independent projects picked the same substrate, which is this vault's own pattern. Created concept llm-wiki-as-agent-memory plus toolbox codealmanac (codebase wiki fed from Codex/Claude transcripts on a 5h
launchdjob, gardened daily; own README admitsalmanac/is "an instruction and commit policy, not an OS sandbox"), agentmemory (25.5kβ ; LongMemEval-S R@5 95.2%, and unusually honest that on its in-house corpus it barely beats grep), and openhuman (35.2kβ Rust, memory tree mirrored to an Obsidian vault, Privacy Mode enforced in-core). Updated llm-wiki-pattern and agent-memory-components with the store-layer framing. - Block's Buzz β summary block-buzz-workspace + concept agent-identity-attribution; entities block-inc, runtimewire. The article's real contribution is checking Dorsey's "decentralized and self-sovereign" against Block's
ARCHITECTURE.md: no P2P, no gossip, no inter-relay replication β decentralization is deployment and ownership, not protocol. Concept page draws the narrower conclusion that signed per-agent identity recovers attribution but not effort, which is the thing agent-principal-agent-problem actually lost. - CACM, Jeremy Osborn β summary programming-differently-difficult + concept recall-to-judgment. Peer-reviewed, argues from the programming-cognition literature (Brooks, Pennington, Soloway, Siegmund's fMRI, Hutchins, Extended Mind) and cites the evidence against its own optimism. Filed as a partial answer to the gap anti-llm-discourse lists as missing from the cluster; also wired into skill-atrophy-supervision-paradox as the cognitive-science route to the same paradox. Kept the accessibility paradox β the barrier to code falls while the barrier to good code rises β and the objection that judgment may itself be accumulated recall.
- acoup, Age of Empires β summary no-empires-in-age-of-empires + concept empire-core-periphery; entity acoup-blog. Empire = core extracting from a culturally distinct periphery; socii always over half the Roman army, "Roman armies were essentially never majority Roman"; games render subject populations as a flat malus when historically diversity was the asset.
- freeink.org β toolbox freeink, covering all three layers (CrossPoint 6.2kβ , freeink-sdk 38β , de-link hardware). Site is a JS SPA, so content came from the bundle; star split shows the SDK is a recent generalization of the firmware that actually has users. Pages created: 3 summaries, 4 concepts, 3 entities, 4 toolbox. Pages updated: llm-wiki-pattern, agent-memory-components, anti-llm-discourse, skill-atrophy-supervision-paradox, index, index, watchlist (3 rows, next check 2026-10-19). CACM was Cloudflare-403 and freeink JS-only; both worked around. 4 URLs logged in ingested-urls.
[2026-07-23] ingest | 35-source Telegram batch β Golang/systems, agent runtimes, self-hosted tools, terminal search
Harvested the backlog of links saved to Telegram Saved Messages. Ingested 35 sources into 34 pages: 18 summaries, 1 comparison, 15 toolbox, 1 book.
The harvest needed a server patch first. Telegram keeps a message's links in Message.entities, not in its text. For a MessageEntityTextUrl the visible words are arbitrary and the URL is metadata, so every forwarded HN/lobsters post rendering as "Article, Comments" came back from the MCP as exactly those two words with both URLs dropped β silently, no error, and no webpage-preview fallback either. About 23 of the sources below were invisible until list_message_links / get_message_links were added to the telegram-mcp server (phoebe-lab/telegram-mcp, commit bc254d5). Entity offsets are UTF-16 code units, so the slicing needed a conversion that naive indexing gets wrong on any message containing an emoji. Recorded as the telegram-ingest skill (.claude/skills/telegram-ingest/) so the next run doesn't rediscover it.
- Golang and systems β go-bounds-checks-unsafe (
unsafe.SliceData+unsafe.Addremoving a check the compiler won't, valid only on little-endian unaligned-OK platforms), false-sharing-alignment-128 (Skylake's adjacent-line prefetch makes 128-byte padding measurable; Ice Lake and M1 don't show it), scylladb-trie-index (page-packed prefix tree replacing Summary.db + Index.db β the post's headline table disagrees with its own appendix on two tests, flagged inline), meerkat-introduction (Cloudflare on QuePaxa, dropping Raft's required leader because wide-area timeout assumptions don't hold), cursed-bundler-go-get-ruby-gems (Golang's module proxy as an accidental content-addressed transparency-logged CDN), adding-go-to-a-browser-code-runner (GOOS=jshangs in a V8 isolate;GOOS=wasip1plus a WASI shim doesn't), toolbox ratatoskr (Yggdrasil node in-process via gVisor, no TUN or root). - Agent runtimes and the memory argument β log-is-the-agent (ActiveGraph: the event log is truth, the graph is a deterministic projection; determinism is a property of re-projecting a log, never of running the agent) plus toolbox activegraph and oak. memorizing-session-transcripts is the negative result and sits in real tension with the vault's agent-memory cluster and five toolbox products built on that pipeline β named plainly on the page rather than smoothed over. short-leash-ai-method and rakyll-coding-agents fill two more corners of the review argument, against control-the-ideas-not-the-code and testing-heavy-no-review-workflow; google-code-review-looking-for is the baseline all of them argue around.
- Self-hosted and desktop tools β moonshine, romm, cut-it-out, bramble, delirehberi-news, wasmer, quality-md, foundation-framework, local-llm-guide, claude-design-system-prompt, bento, hn-hall-of-fame.
- Search and the web β terminal-search-clients compares ddgr, googler and the two Kagi CLIs from four sources in one page rather than four thin ones. pulpie-web-cleaning is the model-based counterpart to this vault's own structure-based extraction, including the code-block case where structural extractors measurably lose. marginalia-systemd-migration and dark-mode-web-standards round it out.
- Book β intro-compilers-language-design added as want-to-read. Every compiler page in the vault starts after the front end; this is the gap.
Two sources resisted: kyrall.com returned nothing even with --browser and was dropped rather than reconstructed from link-preview metadata, and bento.page needed browser rendering plus stripping ~29 KB of inline data: URI backgrounds. webfetch suffixes on filename collision instead of overwriting, which cost one page a full rewrite when a successful retry was misread as a failure β now documented in the skill.
Pages created: 18 summaries, 1 comparison, 15 toolbox, 1 book. Pages updated: zig, retrocatalog, lsm-tree, distributed-consensus, compiler-codegen-luck, yggdrasil-network, nesbitt-io, lucumr-blog, webassembly, reviewing-ai-code, behavior-tree, agent-memory-components, vibe-engineering, local-ai-is-not-opus, claude-code, llm-quantization, build-a-new-internet, specification-website-checklist, agentic-search, claude-defuddle, index, index, index, watchlist (6 rows, next check 2026-10-21). 38 URLs logged in ingested-urls.
[2026-07-29] ingest | 36-source Telegram batch β Kimi K3, SQLite/Valkey internals, Zig and Rust systems work, AI-built software
Second run of the telegram-ingest skill. 40 link-bearing messages scanned, one already in the vault (microvm-2026), 37 sources fetched into 35 pages: 20 summaries, 1 concept, 4 entities, 10 toolbox.
- Kimi K3 and the open-weight economy β Moonshot's 2.8T flagship shipped two days before this batch and arrived from four directions at once, so it got one page per angle rather than four overlapping ones. kimi-k3 is Raschka's architecture read (LatentMoE, 896 experts per layer with top-16 routing, attention residuals, NoPE); kimi-delta-attention derives the DeltaNet family from first principles and is the mechanism page the others point at; deltafin is the extreme end of running it β 2.8T weights on one M1 Max by streaming MXFP4 experts over HTTP into a disk cache, at 14.6 seconds per token; telnyx is the provider entry, deliberately not a fifth K3 article, and its source is a vendor release note so its claims are attributed rather than stated (it also rounds 2.8T up to "the 3-trillion-parameter class" and says "open-source" where "open-weight" is accurate). rl-finetune-beats-frontier is the economic argument underneath: a ~$500 GRPO fine-tune of a 9B model beating every frontier config on catalog review at $0.50 per 1,000 listings, with the numbers published. neutrino-1-8b ships one 3.88 GB artifact that serves an H100, a MacBook and a desktop CPU.
- Databases β sqlite-in-production merges two sources that disagree in kind. Hynek Schlawack's TIL is the precise first-hand finding: WAL mode can block short-lived readers, because readers coordinate through
-shmand opening an empty WAL database can need exclusive locks, with the C library'sbusy_timeoutdefaulting to 0. The Micrologics piece is a competent pragma blueprint, and two of its claims are wrong β it files Litestream as a custom VFS (it is a separate process reading the WAL; LiteFS is the FUSE one) and putsauto_vacuum = INCREMENTALin a per-connection bootstrap where it is a no-op. Both flagged on the page rather than repeated. The real tension is at the end: the blueprint assumes pooled connections, Hynek's workload has none, andbusy_timeout = 5000would have masked his bug rather than fixed it. valkey-secret-life-of-data is the encoding layer as a cost lever β listpack to hashtable at 65 bytes, and 100 GB across 5 primaries becoming 58.8 GB across 3. pgsimcity renders PostgreSQL internals as a 3D city. - Systems and languages β zig-incremental-compilation on 50β70ms rebuilds via per-file ZIR caching and an incremental linker, and the language design decisions bent to keep semantic analysis tractable. golang-maps-swiss-tables keeps the gap that matters: 30β35% in microbenchmarks, ~1.5% on Sweet, with golang/go#70700 showing power-of-two sizes and predictable keys moving the measured deltas. safety-in-an-unsafe-world frames Rust safety as define/enforce/consume, from three field bugs in eleven months of Netstack3. tokio-progress-not-ordering spawns 1M tasks and finds no correctness bug and a memory spike β the fairness guarantee assumes a task bound the application has to supply. Plus bytecode-to-source-mapping, radv-win32-port, so-you-want-to-make-a-game-engine, and toolbox allyourcodebase.
- Software written by AI, and the argument about it β benchmarking-opus-5-slopcodebench is the first page here that could settle the clean-code dispute empirically: 24% is the best strict pass rate, every model's complexity rose across checkpoints, and its deterministic slop rules flagged 89β98% of every model's lines, which the author reads as evidence against the rules. starling-desktop is sorted into what is demonstrated (line counts, repos, commits, a
.deb) and what is only asserted (that AI wrote it) β the page also notes the hero screenshot reads v0.1 / Ubuntu 25.10 against a v0.2.1 / Ubuntu 26.04 release. a-voice-from-nowhere argues the craft case from Leo XIV's encyclical without asking the reader to accept its authority. hartos is pitched as an AI OS with boot untested and 19 VM checks defined but never green; the page's move is to name the README's candour as part of its persuasion. - Tooling β zstd-lean-proof-automation is bounded carefully: LLM-written Lean proofs killed the seL4 tax for one theorem in ~20 minutes, and did not touch verified assembly, proof effort at scale, or Langley's decoder being 10Γ slower than
zstd. profiling-ebpf-code keeps the whole method and flags that the post withholds before/after p50/p99 on purpose. Plus toolbox python-build-standalone, yap, feynobg, toolcraft, cursor-bridge. - Architecture and practice β what-even-are-microservices, tools-matter, being-linux-torvalds, misago-react-to-htmx.
- Reference and fun β mac-classic and fonts-in-use as site entities, audio-cassette-simulation for six named tape profiles including the Soviet MK-60. Kept deliberately short; only homepage snapshots are on file for the first two.
Two fetch lessons. webfetch ran the SlopCodeBench raw markdown through defuddle and produced 291 bytes β one heading β so raw .md URLs want curl, not the extractor. And hubble.md was dropped: the landing page yielded 726 bytes of marketing fragments, --browser added 81 more, and no source repo is findable despite the "open source" pitch, so there was nothing to write a page from. The one link dropped by the user's own filter was reFrame; mac-classic, Fonts In Use and the cassette repo were kept on their instruction, the first two as site entities rather than as the articles that surfaced them.
Pages created: 20 summaries, 1 concept, 4 entities, 10 toolbox. Pages updated: index, index, watchlist (8 rows, next check 2026-10-27), plus cross-references onto ~45 existing pages. 40 URLs logged in ingested-urls.
[2026-07-29] ingest | 39-source Telegram tail β Green Tea GC, prompt caching, open-weights politics, sandboxing runtimes
Second pass over Saved Messages the same day. The first run hit its 40-message limit, so an older backlog was sitting underneath it going back to 2026-07-06; this batch is that tail. 50 link-bearing messages scanned (not truncated β the whole remainder), 39 sources ingested into 39 pages: 26 summaries, 2 entities, 11 toolbox.
- Golang and systems β golang-green-tea-gc measures Go 1.26's new default collector and keeps the counter-intuitive result: wall clock nearly halves while the L3 cache-miss rate triples, because the reads that disappeared were the ones L3 was serving. everyone-should-know-simd is Hashimoto's five-step shape worked through a Ghostty scan loop. memory-safety-absolutists argues Fil-C and Rust are complements and that "Rust has unsafe" is a bad standard, which lands next to the vault's existing simplified-model-of-fil-c. delightful-integration-tests-rust is RAII plus testcontainers-rs giving every test its own infrastructure. macos-executable-replacement is the one with teeth: user-level code can swap the binary inside any web-downloaded app, and Apple reproduced it and declined to fix. revisit-microkernels is genuinely thin β a page of unsigned prose, no benchmarks β so it is written as an argument sketch with a section on what it leaves unexamined, rather than padded.
- Agent tooling β prompt-caching-in-agents is the substantive one, and the page carries the mechanism: KV cache, session affinity against distributed blocks, additive tool loading, TTLs, and the pruning break-even formula. why-software-factories-fail turns out to be the source of the line already quoted on benchmarking-opus-5-slopcodebench β RL scores passing tests and has no fast oracle for maintainability. code-mode-token-savings is a vendor number and labelled so throughout; the page also notes that per-run payload size moves inversely with run count in their own published samples, so pooling into a mean and multiplying likely overstates the raw path. Toolbox: boffin, onecli, agent-shell, palmier-pro.
- How agents fail, and how models get measured β reward-hacking-in-the-wild keeps the category and severity counts and the limits the site states about itself: reports rather than verified events, only 5 of 14 categories published, AIID and X excluded. llm-cross-entropy-similarity needed care β the source is a runnable notebook, not an article, and the corpus was truncated on ingest, so the page documents the method and says plainly that the Kimi-resembles-Claude headline is a hardcoded default view in the UI code with no number or argument attached anywhere in the source. evaluating-quantized-models explains why KLD and bits-per-weight stop ranking anything once candidates cluster near baseline. Plus slicer-agents-guess-code, how-do-we-stop-vibe-coding, fooling-yourself-with-ai.
- Open weights and the argument around them β arguments-against-open-source-ai was written in response to Kimi K3 and reaches back to PGP and SSL export controls for precedent; the page also records what Bedor skips, which is the capability-uplift version of "dangerous". how-ai-is-changing-open-source is Eischmann on project inflation and review overwhelm, with 4,000- and 9,000-line AI PRs as the concrete cases. ai-companies-hidden-debt separates the Nikkei/Bloomberg reporting from Futurism's own "hide"/Enron framing. Plus checking-for-human-writing, ai-superpowers-focus-followthrough, service-with-a-software.
- we-are-not-special is the best source in the batch and got the depth: Hillel Wayne's crossover interviews with people who did both jobs, three differences that survive scrutiny and the many claimed ones that don't, carried by named evidence rather than summary β hazelnut shells and screw conveyors, Β£1000 board respins, resistor tolerance bands, and the 737 MAX as the cost of the velocity asymmetry.
- Runtimes and sandboxing β pullrun runs one OCI image as a runc container, a Firecracker microVM or an Apple Silicon VM off a zero-copy content-addressed DAG store. wanix puts Plan 9-style per-process namespaces in the browser. petals is filed honestly: still the clearest design for volunteer-computing inference, repo dormant since August 2024, landing page presenting a 2023β2024 model lineup in the present tense. Plus mtproxy-reanimation, building-on-atproto, your-harddrive-is-full.
- Learning resources and small tools β learn-opengl and learn-webgpu-cpp as entities (LearnOpenGL was already cited inside the source behind so-you-want-to-make-a-game-engine), jep-540-json-api, postgres-listen-notify-scaling (2.9K β 60K writes/sec by batching NOTIFY), and toolbox whetuu, remux, pvz-ps2.
Four links were not ingested and are recorded as such in ingested-urls rather than dropped silently: worseonpurpose.com is a newsletter landing page with no published articles and --browser returned the identical 938 bytes; the Andrew Kelley talk is video with no fetchable transcript; one Show HN carried no article URL at all, only its comments thread; and pkg.go.dev/golang.org/x/tools/go/analysis was already covered by go-analysis-framework from April. The typebulb clip arrived at 807 KB because the notebook inlines its full response corpus β trimmed to 43 KB with the truncation marked in the file.
Pages created: 26 summaries, 2 entities, 11 toolbox. Pages updated: index, index, watchlist (10 rows, next check 2026-10-27), plus cross-references onto pre-existing pages. 43 URLs logged in ingested-urls, 4 of them as not-ingested.
[2026-07-29] lint | Watchlist tag/row reconciliation
Checked toolbox/watchlist.md against the watchlist frontmatter tag across all toolbox pages, after noticing a count mismatch while adding this day's rows. The convention in CLAUDE is that an entry carries three things β the tag, a table row, and a one-line mention linking watchlist from the page β and eight entries had drifted out of that shape.
Six pages had a row but no tag: floci, goose-relay-vpn, oh-my-pi, sandbox-agent-sdk, statewright, surf. Tagged all six; four of them also lacked the body mention and got one. statewright had the sentence already ("on the watchlist as a young single-vendor project") but as plain text rather than a link, so the page never showed up in a backlink query.
Two were the reverse β tagged, listed in index with the watchlist marker, and mentioned in their own bodies since 2026-05-22, but never given a table row: kata and msgvault. Both rows reconstructed from what the pages already said they were waiting on (unstable command contracts and no tagged release for kata; the storage-format-may-change warning for msgvault), with a next check of 2026-08-20 to preserve the original 90-day intent rather than resetting the clock to today. The rows say they were reconstructed.
One further gap turned up in the same sweep: needle was tagged and rowed but its body said "on the watchlist" in plain text. Linked.
The tag was the unreliable half β six of eight drifts were a missing tag rather than a missing row, which makes sense given the row is what you write while thinking about the tool and the tag is a separate edit to a different part of the file. Worth folding into warren check as a rule if this recurs.
Watchlist now reconciles exactly: 73 rows, 73 tagged pages, every tagged page carrying a body mention. warren check exits 0. Pages updated: 7 toolbox pages, watchlist (2 rows added).
[2026-07-29] update | Video support β ytfetch, talks/, and the first talk page
Videos were the one source type the vault could not take. webfetch gets a player shell from YouTube and writes a file containing frontmatter and nothing else, so video links either died at triage or produced a stub that looked ingested. The batch earlier today recorded the failure honestly β the Andrew Kelley talk went into ingested-urls as "video with no fetchable transcript" β but the premise was wrong. The captions were always fetchable; nothing in the vault knew how to ask.
tools/ytfetch is a Go CLI alongside tools/webfetch, same output contract: markdown into sources/, kebab slug, --name override, never overwrites. It resolves a video with yt-dlp, prefers uploaded subtitles, falls back to automatic captions, and falls back again to a local whisper.cpp run over the downloaded audio. Output is prose with a timestamp on every paragraph that deep-links into the video, chapters as headings where the uploader provided them, and a captions: manual | auto | whisper field recording where the text came from.
Two things that were not obvious. YouTube's json3 caption format interleaves each spoken line with an aAppend event carrying only a newline β the on-screen scroll, not speech β and keeping those duplicates the entire transcript; ytfetch drops them, and the VTT path collapses the same duplication by dropping repeated lines. And YouTube publishes machine translations of its own ASR under every language tag, so asking for en on a Russian talk returns translationese with no marker; the -orig track is the real one and is preferred.
webfetch now refuses video hosts with a message pointing at ytfetch, instead of writing the stub. That guard is the actual fix for what happened this morning.
Schema. New talks/ folder and type: talk, parallel to books/ β conference talks, lectures, and recorded courses, with status: and a video_id: dedup key, since the same talk arrives as watch?v=, youtu.be/, and timestamped links and only the id is stable. A multi-lecture course is a parent page plus one page per lecture, because lectures are watched months apart and cover unrelated concepts. CLAUDE gains the Talk Pages section and a Video Ingest workflow; index is the fifth catalog page; the ingest and telegram-ingest skills route video URLs to the new ytfetch skill.
First talk page. kelley-dont-take-the-black-pill β Kelley's argument that software quality was sustained by programmers' accidental bargaining power rather than professional standards, and that despair about losing it is the trap. It sits against enshittification (he keeps one of Doctorow's four checks and drops the rest) and against llm-enshittification (same premises about scraping, opposite conclusion about whether to keep publishing free software). The page cites minute-level timestamps throughout, which is the point of the format β the transcript makes a moment as citable as a page number.
The transcript is machine-generated and the page says so rather than presenting the quotes as verified. talks/ sits outside wiki.base's folder filter, exactly as books/ does, so talk pages do not appear in the orphan and staleness dashboards yet.
Pages created: kelley-dont-take-the-black-pill, index. Pages updated: CLAUDE, index, zig, enshittification, ingested-urls. Tools: tools/ytfetch added, tools/webfetch video-host guard.