Commit graph

38 commits

Author SHA1 Message Date
Virgil
5e14c79d64 Lock in io helper interfaces
Some checks failed
CI / test (push) Has been cancelled
CI / auto-fix (push) Has been cancelled
CI / auto-merge (push) Has been cancelled
2026-04-03 06:58:49 +00:00
Virgil
c60c4d95f0 docs: add AX examples to memory medium
Some checks are pending
CI / test (push) Waiting to run
CI / auto-fix (push) Waiting to run
CI / auto-merge (push) Waiting to run
2026-04-03 06:49:39 +00:00
Virgil
ef587639cd Refine io memory helpers
Some checks are pending
CI / test (push) Waiting to run
CI / auto-fix (push) Waiting to run
CI / auto-merge (push) Waiting to run
2026-04-03 06:46:19 +00:00
Virgil
8994c8b464 Infer in-memory directory paths
Some checks are pending
CI / test (push) Waiting to run
CI / auto-fix (push) Waiting to run
CI / auto-merge (push) Waiting to run
2026-04-03 06:43:35 +00:00
Virgil
3efb43aaf7 Improve memory medium metadata
Some checks are pending
CI / test (push) Waiting to run
CI / auto-fix (push) Waiting to run
CI / auto-merge (push) Waiting to run
2026-04-03 05:13:09 +00:00
Virgil
3c8c16320a Polish io memory medium naming
Some checks are pending
CI / test (push) Waiting to run
CI / auto-fix (push) Waiting to run
CI / auto-merge (push) Waiting to run
2026-04-03 05:10:15 +00:00
Virgil
35b725d2b8 Preserve MemoryMedium file modes
Some checks failed
CI / test (push) Failing after 3s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-04-01 09:50:24 +00:00
Virgil
cee004f426 feat(io): export memory file helpers
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-01 05:22:22 +00:00
Virgil
bf4ba4141d refactor(ax): demote internal memory helpers and document sigil errors
Co-authored-by: Virgil <virgil@lethean.io>
2026-03-31 14:08:24 +00:00
Virgil
e1efd3634c refactor(ax): align remaining AX docs and invalid-input errors
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 13:13:41 +00:00
Snider
702286a583 feat(ax): apply AX compliance sweep — usage examples and predictable names
Some checks failed
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 0s
CI / auto-fix (push) Failing after 0s
- Add // Example: usage comments to all Medium interface methods in io.go
- Add // Example: comments to local, s3, sqlite, store, datanode, node medium methods
- Rename short variable `n` → `nodeTree` throughout node/node_test.go
- Rename short variable `s` → `keyValueStore` in store/store_test.go
- Rename counter variable `n` → `count` in store/store_test.go
- Rename `m` → `medium` in store/medium_test.go helper
- Remove redundant prose comments replaced by usage examples

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 12:19:56 +01:00
Virgil
b3d12ce553 refactor(ax): remove fileget/fileset compatibility aliases
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 0s
Co-authored-by: Virgil <virgil@lethean.io>
2026-03-31 05:57:21 +00:00
Virgil
a290cba908 refactor(ax): remove redundant compatibility surfaces
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
CI / test (push) Failing after 2s
2026-03-31 05:50:19 +00:00
Virgil
9f0e155d62 refactor(ax): rename workspace provider surface
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 1s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 05:42:12 +00:00
Virgil
6aa96dc7b7 refactor(ax): align remaining example names and walk APIs
Some checks failed
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 1s
CI / auto-merge (push) Failing after 1s
2026-03-31 05:18:17 +00:00
Virgil
32cfabb5e0 refactor(ax): normalize remaining usage examples
Some checks failed
CI / test (push) Failing after 3s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 1s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 05:10:35 +00:00
Virgil
347c4b1b57 refactor(ax): trim prose comments to examples
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-30 23:02:53 +00:00
Virgil
3a5f9bb005 refactor(ax): encapsulate memory medium internals
Some checks failed
CI / test (push) Failing after 3s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-30 22:47:27 +00:00
Virgil
fc34a75fb2 refactor(ax): continue AX surface alignment
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 3s
CI / auto-merge (push) Failing after 0s
2026-03-30 22:39:50 +00:00
Virgil
e8b87dfbee refactor(ax): make memory medium primary
Some checks failed
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 1s
2026-03-30 22:26:50 +00:00
Virgil
25b12a22a4 refactor(ax): add memory medium aliases
Some checks failed
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 1s
CI / auto-merge (push) Failing after 0s
2026-03-30 22:00:45 +00:00
Virgil
bab889e9ac refactor(ax): clarify core storage names
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-30 21:39:03 +00:00
Virgil
a8eaaa1581 refactor(ax): tighten AX-facing docs
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 3s
CI / auto-merge (push) Failing after 0s
2026-03-30 21:29:35 +00:00
Virgil
16d968b551 refactor(ax): make public docs example-driven
Some checks failed
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
CI / auto-merge (push) Failing after 0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 21:23:35 +00:00
Virgil
b19617c371 refactor(ax): prune redundant api comments
Some checks failed
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 20:42:44 +00:00
Virgil
518309a022 refactor(ax): add explicit node traversal options
Some checks failed
CI / test (push) Failing after 2s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 20:37:40 +00:00
Virgil
d900a785e7 refactor(ax): replace placeholder doc comments
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-30 20:31:12 +00:00
Virgil
0cb59850f5 refactor(ax): expand remaining API names
Some checks failed
CI / test (push) Failing after 3s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-30 20:18:30 +00:00
Virgil
5f780e6261 refactor(ax): normalize remaining agent-facing names
Some checks failed
CI / test (push) Failing after 4s
CI / auto-fix (push) Failing after 0s
CI / auto-merge (push) Failing after 0s
2026-03-30 20:04:09 +00:00
Virgil
d9f5b7101b refactor(ax): replace option chains with config structs 2026-03-30 19:36:30 +00:00
Virgil
514ecd7e7a fix(io): enforce ax v0.8.0 polish spec
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 06:24:36 +00:00
Virgil
238d6c6b91 chore(ax): align imports, tests, and usage comments
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 06:22:48 +00:00
Virgil
6b74ae2afe fix(io): address audit issue 4 findings
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-30 06:21:35 +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
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
ef5437b207 fix: use UK English spelling throughout
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 10:10:46 +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
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