Commit graph

60 commits

Author SHA1 Message Date
Snider
345fa26062 feat(store): add Exists, GroupExists, and Workspace.Count methods
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Add public existence-check methods across all store layers (Store,
ScopedStore, StoreTransaction, ScopedStoreTransaction) so callers can
test key/group presence declaratively without Get+error-type checking.
Add Workspace.Count for total entry count. Full test coverage with
Good/Bad/Ugly naming, race-clean.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-05 08:58:26 +01:00
Virgil
72eff0d164 refactor: tighten store AX documentation
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 21:29:27 +00:00
Virgil
e1341ff2d5 refactor(store): align internal lifecycle naming with AX
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Use more descriptive private lifecycle, watcher, and orphan cache field names so the implementation reads more directly for agent consumers while preserving the exported API and behaviour.\n\nCo-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 21:09:20 +00:00
Virgil
466f4ba578 refactor: align workspace and scoped store names
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Use the repo's primary store noun for internal references so the implementation matches the RFC vocabulary more closely.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 20:11:54 +00:00
Virgil
529333c033 fix(workspace): close partial workspaces without filesystem
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 19:02:35 +00:00
Virgil
7ad4dab749 refactor(store): clarify config guidance and naming
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 18:52:33 +00:00
Virgil
ba997f7e6b docs(store): align public comments with AX
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 17:43:55 +00:00
Virgil
fd6f1fe80a docs(store): sharpen agent-facing examples
Some checks are pending
Security Scan / security (push) Waiting to run
Test / test (push) Waiting to run
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 17:05:51 +00:00
Virgil
32e7413bf4 feat(store): make workspace state paths declarative
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 14:43:42 +00:00
Virgil
5587e301bd refactor(store): copy journal result maps
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 14:15:53 +00:00
Virgil
85bef185e8 refactor(store): clone cached orphan slice
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 13:07:36 +00:00
Virgil
dd4c9a2585 refactor(store): clarify workspace summary prefix naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 12:13:08 +00:00
Virgil
11b23b99c0 docs(store): refine AX-oriented comments
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 12:05:00 +00:00
Virgil
92db4b72ff docs(store): clarify shared journal flow
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:57:37 +00:00
Virgil
9450a293cf refactor(store): rename journal write helper
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:54:03 +00:00
Virgil
ed51aa021d refactor(store): rename parent store fields
Use parentStore in the scoped and workspace wrappers so ownership reads more clearly for agents.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:47:49 +00:00
Virgil
3bd0ee531b refactor(store): align workspace naming with AX
Rename the workspace database field for clearer agent-facing semantics and improve one public usage example.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:43:54 +00:00
Virgil
57da334a1d docs(store): tighten AX API guidance
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:30:13 +00:00
Virgil
edf9162c21 docs(store): clarify workspace query support
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:19:22 +00:00
Virgil
f2e456be46 refactor(store): clarify journal helper names
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 11:05:48 +00:00
Virgil
05c34585db refactor(store): clarify helper naming
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 10:33:25 +00:00
Virgil
21ce2938c8 refactor(workspace): clarify shared cleanup error context
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 10:23:00 +00:00
Virgil
7c59f9d011 fix(store): allow discard after workspace close
Make workspace cleanup idempotent so a closed workspace can still be discarded and removed from disk later. Also clarify the configuration comments for AX-oriented usage.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 10:13:27 +00:00
Virgil
9d6420d37f test(events): cover re-entrant callback subscriptions
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 10:09:25 +00:00
Virgil
4bd6b41d78 fix(workspace): preserve orphan aggregates during recovery
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 09:23:05 +00:00
Virgil
b10f4771bd fix(store): guarantee notification timestamps
Clarify the workspace comments and ensure notify always stamps events before dispatch.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 09:16:52 +00:00
Virgil
37500c56ae refactor(store): clarify SQLite handle names
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 09:04:56 +00:00
Virgil
4581c09631 fix(store): normalise default directory paths
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 09:01:23 +00:00
Virgil
a662498891 docs(ax): fix misleading store usage examples
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 08:57:06 +00:00
Virgil
cc8bebb8e0 refactor(store): clarify journal configuration and workspace errors
Add a declarative journal configuration check and wrap workspace database errors with package context.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 08:41:28 +00:00
Virgil
28ea397282 fix(workspace): normalise orphan recovery paths
Handle the documented .core/state/ form the same as the default cache key and add a regression test for cached orphan recovery.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 08:28:07 +00:00
Virgil
7a4997edd9 feat(workspace): add explicit orphan-preserving close
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 08:17:20 +00:00
Virgil
e1cb275578 fix(store): preserve orphan files for recovery
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 08:12:29 +00:00
Virgil
1c92e47b24 fix(store): cache orphan workspaces during startup
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-04 07:57:24 +00:00
Virgil
1b5f59ebc5 refactor(store): align workspace docs with AX
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 09:16:59 +00:00
Virgil
13db0508e0 docs(store): clarify workspace database comment
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 09:06:29 +00:00
Virgil
828b55960b refactor(store): clarify constructor naming and docs
Prefer struct-literal configuration in package docs and rename internal constructor helpers for clarity.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 08:54:19 +00:00
Virgil
a616a21c04 refactor(store): expose workspace database path
Add a semantic accessor for the workspace backing file and cover it with a test.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 08:49:45 +00:00
Virgil
5af3f90e2d fix(workspace): leave orphaned workspaces recoverable
Stop New() from eagerly discarding orphaned workspace files so callers can recover them explicitly through RecoverOrphans().

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 08:23:31 +00:00
Virgil
757e973097 feat(workspace): restore startup orphan cleanup
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 08:15:01 +00:00
Virgil
3e450fdc35 feat(store): expose workspace names
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 08:07:32 +00:00
Virgil
a2067baa5a feat(store): scan orphan workspaces on startup
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:22:12 +00:00
Virgil
79581e9824 docs(store): tighten workspace AX comments
Align workspace public comments with the AX guidance by using more concrete examples and clearer phrasing.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:17:46 +00:00
Virgil
2ef3c95fd5 docs(store): clarify workspace recovery flow
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:08:33 +00:00
Virgil
abf8fc20af refactor(workspace): keep orphan recovery explicit
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 07:04:33 +00:00
Virgil
406825917b refactor(store): tighten AX workspace naming
Align workspace and journal comments with the current contract while keeping the API stable.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 06:51:49 +00:00
Virgil
f9a7e542bf docs(store): clarify workspace lifecycle comments
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 06:39:35 +00:00
Virgil
2d9c5b2b49 refactor(store): clarify backing store names
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 06:35:23 +00:00
Virgil
bff79c31ca fix(store): add nil-safe guards
Add nil/closed checks across the store, scoped store, workspace, journal, event, and compact entry points so agent callers get wrapped errors instead of panics.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 06:31:35 +00:00
Virgil
a2adbf7ba6 refactor(store): tighten AX doc comments
Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-03 06:23:51 +00:00