P3: store group — kv_* + file_* tools (agent memory)
RegisterStore(reg, StoreDeps) registers the persistent-memory tools over the host's KV and/or File backends: - kv_get/set/list/delete (KVStorage seam) - file_save/get/get_text/get_metadata/list/delete (FileStorage seam), plus file_search (FileSearcher) and create_file_url (FileTokenMinter) when wired. Near-zero-config: Quota defaults to a generous static cap (staticQuota), the per-value/per-file caps default, and the kv vs file groups register independently (a host can take just one). Seams moved clean (interface-only): kv_storage.go, quota_provider.go, file_descendant_grant.go. The default in-memory KV/File backends come with contrib/store at P4. Core go.sum still free of gorm/redis/discordgo/sqlite. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -60,11 +60,12 @@ CORE (majordomo + stdlib):
|
||||
compact/ context compactor (WithCompactor hook) [P2 ✓]
|
||||
tools/ generic tool library: Register (think/now/ [P3 wip]
|
||||
cite, zero-config) + RegisterMeta (classify/
|
||||
extract_entities/summarize); seams in
|
||||
research_providers.go/file_storage.go;
|
||||
in-memory budget default. End-to-end "agent
|
||||
calls a tool" test green. Remaining: web/net/
|
||||
store/compose groups + their backends [P3]
|
||||
extract_entities/summarize) + RegisterStore
|
||||
(kv_*/file_*, default static quota); seams in
|
||||
research_providers.go/file_storage.go/
|
||||
kv_storage.go/quota_provider.go. End-to-end
|
||||
"agent calls a tool" test green. Remaining:
|
||||
web/net/compose groups + default backends [P3]
|
||||
|
||||
BATTERIES (opt-in siblings, each nil-safe + a default):
|
||||
persona/ Agent noun + AgentStore seam + yml loader [P4]
|
||||
|
||||
Reference in New Issue
Block a user