Commit graph

9 commits

Author SHA1 Message Date
Snider
2c18322dfe fix: address CodeRabbit PR #2 findings (batch 2)
- datanode/medium.go: add compile-time Medium interface check
- docs/RFC.md: remove duplicated MemoryMedium Read/Write method entries
- docs/RFC-CORE-008-AGENT-EXPERIENCE.md: add text language tag to fenced code block
- io.go: rename WriteMode param path→filePath to avoid shadowing path package
- io.go: add directory collision check in WriteMode and MemoryWriteCloser.Close
- io.go: Copy now preserves source file permissions via Stat+WriteMode
- node/node.go: add goroutine-safety doc comment on Node
- node/node.go: Rename handles directory prefix batch-rename
- node/node.go: rename CopyFile→ExportFile, document local-only behaviour, wrap PathError with core.E()
- node/node.go: filter empty path components in Walk depth calculation
- node/node_test.go: update tests to use ExportFile
- sigil/crypto_sigil.go: make Key/Obfuscator unexported, add Key()/Obfuscator()/SetObfuscator() accessors
- sigil/crypto_sigil.go: rename receiver sigil→s to avoid shadowing package name
- sigil/crypto_sigil_test.go: update to use accessor methods
- store/medium.go: use KeyValueStore.ListGroups() instead of direct DB query
- store/medium.go: add doc comment that WriteMode does not persist file mode
- store/store.go: add ListGroups() method to KeyValueStore

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 12:39:57 +01:00
Snider
a43a16fb0d fix: address CodeRabbit PR #2 findings
- datanode: add isFileLocked() helper to prevent RLock re-entry deadlock in Append
- io: MemoryMedium WriteMode rejects ancestor-is-file collision; EnsureDir rejects target-is-file collision
- io: copy fileModes during directory rename
- local: guard Delete/DeleteAll against removing sandbox root
- local: add TOCTOU TODO comment on validatePath symlink loop
- local: alias stdlib io→goio in medium_test.go
- datanode: alias stdlib io→goio in medium_test.go
- sqlite: add isValidTableName() whitelist to prevent table-name SQL injection in New()
- sqlite: remove duplicate WHERE clause args in List query
- sqlite: add mode field to sqliteWriteCloser; use it in Close (was hardcoded 420)
- sigil: GzipSigil.In returns nil when custom outputWriter is used (buffer was empty)
- sigil: capture hasher.Write error in HashSigil.In
- sigil: add comment explaining DecryptionFailedError hides raw AEAD error intentionally
- s3: add comment explaining WriteMode ignores mode (no POSIX on S3)
- s3_test: ListObjectsV2 mock sets IsTruncated+NextContinuationToken when maxKeys exceeded
- node: add comment explaining WriteMode ignores mode for in-memory nodes
- store: sort keys before building List entries for deterministic output
- store: add explanatory comment on NotFoundError sentinel
- workspace: replace sha256.Sum256 key derivation with HKDF (RFC 5869)
- docs: fix RFC-CORE-008 header (was RFC-025)
- docs: update import paths from forge.lthn.ai/core/go-io to dappco.re/go/core/io
- docs/RFC.md: remove duplicate Read/Write alias doc blocks

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 12:22:25 +01:00
Virgil
e922734c6e refactor(store): rename key-value store surface
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 13:54:58 +00:00
Virgil
45bd96387a refactor(workspace): harden path boundaries and naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 13:47:35 +00:00
Virgil
c6adf478d8 refactor(ax): rename nonce helper for clearer naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-31 13:41:04 +00:00
Virgil
378fc7c0de docs(ax): align sigil references with current surfaces
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-31 07:24:17 +00:00
Virgil
cc2b553c94 docs(ax): align RFC API reference with current surfaces
Some checks failed
CI / auto-merge (push) Failing after 0s
CI / auto-fix (push) Failing after 0s
CI / test (push) Failing after 2s
2026-03-31 06:26:16 +00:00
Virgil
d9f5b7101b refactor(ax): replace option chains with config structs 2026-03-30 19:36:30 +00:00
Virgil
bdd925e771 Add complete API reference
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-30 09:14:45 +00:00