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