Skip to content
Back to work

AITimeline: a knowledge feed that shows its sourcesAITimeline:一条句句有出处的知识信息流

Year
2026
Status
Building
Outcome
For three and a half weeks, my own accuracy check let through zero cards from outside articles

The check I wrote to keep this thing honest is what nearly killed it.

AITimeline is a knowledge feed I built for myself. Hand it a link; it reads the source, cuts it into two-minute cards, labels where each one came from, and quotes the exact words it drew on. Concepts I like or ask about wire themselves into a graph that pulls me back when a review comes due. It runs on my own machine off a few JSON files, and every model call has a fallback that needs no model, so the whole thing works with no API key.

That check is 1,641 lines and 72 tests, the largest file in the open part of the repo. Numbers, percentages and years must appear word for word in the cited evidence, or the whole card is thrown out.

In July I tightened it: every word of a clause had to appear, in order, in the chunk it cited. Long-form posts from X came through at 18–29 errors per Chinese card, 18–22 per English one. Five runs, nothing survived. After the tightening the model produced exactly one card from an outside article; for the next three and a half weeks every new card was the product quoting cards it had written itself, because self-quotation is the only thing that clears a word-order check. So I rebuilt the check around keywords — numbers, technical terms, direction and negation still have to match exactly, ordinary prose goes through. A head-to-head settled it: gate on, 8.2 minutes, zero cards; gate off, 7.3 minutes, two cards worth reading. Whatever the check can no longer catch gets stamped "source uncertain," and the reader decides.

I audited the concept graph the same week. Of 271 links, 211 had neither concept anywhere in the sentence cited as evidence; 42 of 49 marked "extends" and 58 of 60 marked "requires" had nothing in the quote suggesting either. 93 of 101 cards carried at least one such link, and 85 of those were labeled "supported." The numbers went into the spec unrounded, with my own conclusion: no citations were fabricated, but real ones were vouching for claims nobody had verified.

203 commits between June 8 and August 6, one person. Web app, local API, Electron build, Chrome clipper, macOS notch app, MCP server, mobile client, open kernel — about 64,000 lines. The last fifteen CI runs are green, and a clean clone still passes 377 tests plus six end-to-end scripts. 58 specs and 118 before/after screenshot sets are checked in. Nothing has moved since August 6. A hackathon was due on August 9; the four days of sprint work built for it — 162 files, +14,394 lines — is still sitting in PR #179, opened August 10, unmerged. One user. In an August 4 screenshot, my own library holds 99 cards, 192 concepts and 419 connections.