b2fc6fe0e8
Merge pull request 'dev' ( #14 ) from dev into main
...
CI / test (push) Failing after 7s
CI / auto-fix (push) Failing after 1s
CI / auto-merge (push) Failing after 0s
Reviewed-on: #14
2026-03-24 10:08:42 +00:00
Snider
9daab749ec
merge: resolve main→dev conflicts — migrate coreerr imports to dappco.re
...
CI / test (push) Failing after 1s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
CI / test (pull_request) Failing after 1s
CI / auto-fix (pull_request) Failing after 0s
CI / auto-merge (pull_request) Failing after 0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 20:49:08 +00:00
7dbb8fcafa
Merge pull request '[agent/codex] API contract extraction. Read CLAUDE.md. For every exported ...' ( #13 ) from agent/api-contract-extraction--read-claude-md into dev
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
CI / test (pull_request) Failing after 2s
CI / auto-fix (pull_request) Failing after 1s
CI / auto-merge (pull_request) Failing after 1s
2026-03-23 14:54:23 +00:00
Virgil
e208589493
docs: add API contract report
2026-03-23 14:53:51 +00:00
17e0624daf
Merge pull request '[agent/codex] Convention drift check. Read CLAUDE.md. Find: missing SPDX h...' ( #12 ) from agent/convention-drift-check--read-claude-md into dev
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-23 14:48:38 +00:00
Virgil
39d5ca8480
docs: add convention drift audit
2026-03-23 14:48:12 +00:00
0ed97567fc
Merge pull request '[agent/codex] Security attack vector mapping. Read CLAUDE.md. Map every ex...' ( #9 ) from agent/security-attack-vector-mapping--read-cla into dev
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-23 13:21:04 +00:00
Virgil
19c4339229
docs: add security attack vector mapping
2026-03-23 13:20:41 +00:00
f3272f2f2d
Merge pull request '[agent/codex] Fix ALL findings from issue #4 . Read CLAUDE.md first. Path t...' ( #6 ) from agent/deep-audit-per-issue--4--read-claude-md into dev
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 0s
2026-03-23 07:26:48 +00:00
Virgil
2acfc3d548
fix(io): address audit issue 4 findings
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-23 07:26:09 +00:00
dfea9a6808
Merge pull request '[agent/codex] Full audit per issue #4 . Read CLAUDE.md. Report ALL findings...' ( #5 ) from agent/deep-audit-per-issue--4--read-claude-md into dev
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-22 18:12:39 +00:00
3194c8e1ed
Merge pull request '[agent/claude] Update go.mod require lines from forge.lthn.ai to dappco.re ...' ( #3 ) from agent/update-go-mod-require-lines-from-forge-l into main
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-22 01:29:00 +00:00
Snider
e9aebf757b
chore(deps): migrate go-log import to dappco.re/go/core/log v0.1.0
...
CI / test (pull_request) Failing after 3s
CI / auto-fix (pull_request) Failing after 0s
CI / auto-merge (pull_request) Failing after 0s
Update go.mod require lines from forge.lthn.ai to dappco.re paths where
vanity redirects exist. Bump core to v0.5.0 and log to v0.1.0. Borg and
go-crypt remain at forge.lthn.ai until their vanity paths are published.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 01:28:41 +00:00
Snider
163692870f
Merge remote-tracking branch 'github/dev'
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
CI / test (push) Failing after 1s
2026-03-22 00:25:27 +00:00
Snider
4b8d05559b
ci: add Core ecosystem CI workflow with CodeRabbit auto-fix
...
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
Uses dAppCore/build actions for test, auto-fix on CodeRabbit changes,
and auto-merge on CodeRabbit approval.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-22 00:25:20 +00:00
Snider
94950c711f
Merge remote-tracking branch 'github/dev'
2026-03-22 00:25:08 +00:00
Claude
61d66f45a8
chore: migrate to dappco.re vanity import path
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 23:44:10 +00:00
00279e457a
Merge pull request '[agent/claude] Update all Go files that import forge.lthn.ai/core/go or for...' ( #2 ) from agent/update-all-go-files-that-import-forge-lt into main
2026-03-21 12:08:30 +00:00
Snider
92e85351a6
refactor: migrate core import to dappco.re/go/core
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-21 12:08:11 +00:00
Snider
1b147f4680
chore: sync dependencies for v0.1.7
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:52:56 +00:00
Snider
949b0098dc
chore: sync dependencies for v0.1.6
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:47:54 +00:00
Snider
f3f741c0a7
feat(security): add WriteMode to Medium interface for file permissions
...
Codex security review found that migrating os.WriteFile(path, data, 0600)
to coreio.Local.Write() changed permissions from owner-only to world-readable
(0644). This is a security regression for encryption output, private keys,
and auth hashes.
WriteMode(path, content, mode) allows callers to specify permissions.
Write() remains the default (0644) for non-sensitive files.
Affected implementors updated: local.Medium, MockMedium, Node, datanode.Medium.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 17:23:31 +00:00
Snider
1f3fdfc5f0
ci: add Core ecosystem CI workflow with CodeRabbit auto-fix
...
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
Uses dAppCore/build actions for test, auto-fix on CodeRabbit changes,
and auto-merge on CodeRabbit approval.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-17 14:05:15 +00:00
9c7a447214
Merge pull request '[agent/claude:opus] DX audit and fix. 1) Review CLAUDE.md — update any outdate...' ( #1 ) from agent/dx-audit-and-fix--1--review-claude-md into main
2026-03-17 08:03:32 +00:00
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
a6bc2fefcc
chore: sync dependencies for v0.1.4
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 22:13:03 +00:00
Snider
e743cd927d
fix(errors): replace fmt.Errorf with coreerr.E() in store, local, and s3
...
Standardise error handling in store/store.go, store/medium.go,
local/client.go, and s3/s3.go to use coreerr.E() from go-log,
matching the pattern used across the rest of the codebase.
Remove now-unused "fmt" imports from store packages and s3.
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-16 18:19:50 +00:00
Snider
729ec078ee
chore: sync workspace dependencies
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:44:44 +00:00
Snider
1a3c884ed3
chore: bump core/go to v0.3.1
...
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:16:28 +00:00
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