myfeeds.sgit.ai v0.1.2

myfeeds.sgit.ai / The argument

Honest edges

What does not exist yet

This site publishes its argument before the thing it argues for. The cost of doing that is this page: every commitment, in the order it has to be built, with what it blocks — so that in six months anyone can check what was claimed against what exists, including the parts that were quietly dropped.

Status vocabulary. shipped it is in this repository and you can run it · argued a position, with its reasoning shown, and no code · unverified believed but not checked against a primary source. Nothing on this site is shipped except the site itself.

The order

#ItemStatusBlocks
0The argument — these pages and their markdown twins shipped v0.1.0Nothing. It is the thing that lets the rest be criticised before it is written.
1read-state/v1 as a JSON Schema, with the worked example validated against it in CI arguedEverything below. A contract in prose is a conversation; a contract with a validator is a dependency.
2The OPML importer — an export from any reader becomes feeds/feeds.jsonnot started The fetcher. Also the first point at which a real user has a vault at all.
3The fetcher — the only component that touches the network, writing feeds/<id>/items/ not startedThe reader has nothing to read without it.
4The reader as a vault app — renders feeds/, writes state/read.json not startedNothing downstream, but it is the first release where the argument is testable by using it.
5Two-device merge, demonstrated — two branches, a union merge, a published transcriptnot started Nothing. It is the proof obligation for the central claim on /read-state/.
6A published vault with a read key — a curated reading list somebody else can open with one stringnot started Nothing. It is the estate's own standard of proof and this site does not meet it yet.

The proof obligations

Three claims on this site are the kind that can be shown false. They are written here together so that nobody has to assemble the list themselves.

1. Read state merges without conflict

Claimed on /read-state/. Falsified by a single realistic case where two devices produce a read record that cannot be unioned without losing a fact or requiring a policy decision. Item 5 above is the demonstration that would support it; until then it is arithmetic on a page.

2. Item identity is stable enough to be useful

The weakest part of read-state/v1, and the one most likely to be wrong. Falsified by measurement: take a few hundred real feeds, fetch them over some weeks, and count how often the derived item_id changes for an item that a human would say is the same article. That measurement has not been done. If the churn is high, v1's identity rule is wrong and should be replaced rather than defended.

3. No reader exports per-item read state

The claim the whole site rests on, and the one it is least entitled to make right now, because it was written from memory. Card 003 is open against it. One counter-example — a mainstream reader whose export carries per-item read flags in a documented format — does not destroy the argument, but it does mean this site has to say so at the top of the page rather than in a footnote.

Deliberately not doing

What would make this site wrong

Not "incomplete" — wrong. If item 2 above turns out to be true and identity churn makes a portable read record unreliable in practice, then the correct conclusion is that read state is inherently reader-local and the whole argument collapses to "keep better backups". That outcome would be published on this page, above the claim it corrects, with the measurement that produced it. The Historian role exists to make sure that happens rather than the page quietly changing.