Mechanism-independent groundwork for the write-path migration. Mirrors the
slice-B ItemReader pattern:
- store/adapter.go: ItemWriter interface extracted from *Store's write
surface (Create/Update/Reparent/AddParent/SetPublic/SetPinned/
SoftDelete/SoftDeleteCascade + AddLink/AddLinkDated/DeleteLink), with a
compile-time witness that *Store satisfies it.
- store/mbrian_writer.go: MBrianWriter stub — an HTTP client (NOT a pgx
writer) against mBrian's scoped /api/projax/* write API per head's
mechanism call (option c). Bodies return errNotImplementedSliceC until
the HTTP impl + final spec land. Holds a pool for write-path read-backs.
- web/server.go: Server.Writes field (twin of Items), defaulted to the
concrete *Store in web.New. main.go will flip Items+Writes atomically —
the slice-B half-flip (reads mBrian, writes projax.items) was the bug.
No behaviour change: both Items and Writes still resolve to *Store.