Commit graph

3 commits

Author SHA1 Message Date
Snider
dbe5086a0a fix(dx): audit errors, update CLAUDE.md, clean up node import guard
- Replace errors.New() with coreerr.E() in sigil/sigils.go (HashSigil.In, NewSigil)
- Update CLAUDE.md: add missing deps (go-crypt, x/crypto, testify), fix go/pkg/core path,
  add GOWORK=off note, document sentinel error convention, add qa command
- Remove redundant unused import guard in node/node.go

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 07:19:20 +00:00
Snider
ef5437b207 fix: use UK English spelling throughout
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:10:46 +00:00
Snider
ea2343892c feat: standalone io.Medium abstraction
Universal I/O interface extracted from core/go.
Backend-agnostic file operations — local, S3, SQLite, DataNode, Sigil.

- io.Medium: Read/Write/Delete/List/Stat/Rename
- local: filesystem backend
- s3: AWS S3 backend
- sqlite: SQLite-backed virtual filesystem
- datanode: Borg DataNode in-memory fs (snapshot/restore)
- node: composite medium with routing
- sigil: content-addressed storage with crypto hashes

Depends on core/go-log for E() errors, zero core/go dependency.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:31:28 +00:00