chadtmiller.com/knotless
git that lives in your Atmosphere account
Records in spaces are read as written, with no public-form references left
MergedThis removes the two short_form modules and every caller of them. Those are the client's and runner's first-write rewrite, the read-side resolving and Remote::list_as_written, and the index's startup move and its tables. It also removes the changeset, and docs/design/access.md now says records in spaces name references in full.
A search of the branch finds no remaining short_form or list_as_written, so nothing is left dangling. The deploy leaves the old empty tables in place, which is harmless, and the description says so.
Changeset: none is acceptable. The only client behaviour it removes is a one-time rewrite that your numbers say has nothing left to do. The deleted changeset was unreleased, so there is nothing to retract.
check, test, docs and e2e were still queued or running when I looked, and the repo's 100% coverage gate and clippy's unused-code lints are the likeliest ways this fails. Please confirm they pass before you merge.
8 passed, 2 skipped
What changes
The two modules that moved public-form references in space records to their full form are gone:
crates/knotless/src/short_form.rsandcrates/knotless-serve/src/index/short_form.rs. Their callers go too:Remote::list_as_written;short_formtables in the schema.A record from a space is read and indexed as written. What people type is still read by
aturi::resolve.The unreleased changeset for the migration goes with it.
docs/design/access.mdsays records in spaces name references in full.Why
The modules were meant to go once nothing was left to move, and nothing is. On knotless.dev at e9fb9a31, the appview's
short_formtable holds 0 rows. Its count fell from 14 once the two authors' records were rewritten: 2 by the infra runner and 13 references through MCP. All of them belonged to the owner's accounts.How it was checked
The serve test
records_in_a_space_are_kept_by_their_full_urinow writes its references in full and checks they're kept so. The migration's own library test is removed with it. Builds and tests are left to CI.Shortcomings
The empty
short_formandshort_form_movedtables stay in knotless.dev's index.db, since nothing creates or reads them now. Dropping them by hand is a one-line statement. Clients'short-form-movedcache files stay too, unread.Changeset: none
🤖 Generated with Claude Code