Commit graph

42 commits

Author SHA1 Message Date
b2fc6fe0e8 Merge pull request 'dev' (#14) from dev into main
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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
Some checks failed
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'
Some checks failed
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
Some checks failed
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
Some checks failed
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