Files
projax/store
mAi d0ec02cb63 feat(adapter): Phase 6 Slice C scaffold — ItemWriter interface + Server.Writes + MBrianWriter stub
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.
2026-06-01 12:11:53 +02:00
..