Outbox serves the same Note as /ap/notes/:id — no more column list
The hub could not find soundfabrics' hashtags. Fetched on its own
(/ap/notes/:id) a post carries #kawaii; read from the outbox, it does not.
outboxSlice loaded posts with a hand-kept column list, and that list fails
silently: a forgotten column is undefined, buildNote decides without it,
and nothing errors. tags was missing — and so were poll_json (a poll left
the outbox as a plain note), quote_uri/quote_actor (a quote post lost its
quote), cover_alt and language.
This was the fourth time. fan_only once sent a friends-only post out as
public; paid once put the full text of a paid post in the outbox. Each fix
added a name to the list and a warning above it. The note route has always
used SELECT *, so the outbox now does the same: the two paths can no longer
drift apart.
The new test compares the WHOLE object, outbox against the single Note,
rather than a handful of fields — a column added later that the outbox
doesn't carry fails it immediately. Verified it goes red on the old code.
Co-Authored-By: Claude Opus 5.5 <noreply@…>