Commit graph

13 commits

Author SHA1 Message Date
Snider
691f2cf221 chore: add .core/ and .idea/ to .gitignore 2026-03-15 10:17:49 +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
7950b56988 fix: update stale import paths and dependency versions from extraction
Resolve stale forge.lthn.ai/core/cli v0.1.0 references (tag never existed,
earliest is v0.0.1) and regenerate go.sum via workspace-aware go mod tidy.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-14 13:38:59 +00:00
Snider
b2f017e94e docs: add CLAUDE.md project instructions
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-13 13:38:01 +00:00
Snider
a97bbc4ae2 docs: add human-friendly documentation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:02:40 +00:00
Snider
af78c9db18 fix: improve Delete safety guard and init resilience
- Replace arbitrary len<3 check with explicit root/home protection
- Return error instead of nil on protected path deletion
- Handle init() failure gracefully instead of panicking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 08:21:28 +00:00
Snider
08f8272fe6 chore: add .core/ build and release configs
Add go-devops build system configuration for standardised
build, test, and release workflows across the Go ecosystem.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 18:52:36 +00:00
Snider
6b7b6267a8 refactor: swap pkg/framework imports to pkg/core
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 14:11:06 +00:00
Snider
9bb9ec7218 feat: add workspace subpackage (moved from core/go/pkg/workspace)
Core service implementing encrypted workspace management
via io.Medium interface.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:50:02 +00:00
Snider
65b39b0de5 feat(store): add KV store subpackage with io.Medium adapter
SQLite-backed group/key/value store extracted from core/go pkg/store.
Includes Medium wrapper that maps group/key paths to the io.Medium
interface — first segment is group, rest is key. Both the direct KV
API (Get/Set/Delete) and Medium API (Read/Write/List) work on the
same underlying data.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 13:14:32 +00:00
Snider
c282ba0a6f refactor: swap pkg/{io,log,i18n} imports to go-io/go-log/go-i18n
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 12:35:41 +00:00
Snider
739898e332 fix: use forge.lthn.ai/Snider/Borg v0.3.1
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 09:35:33 +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