Skip to content

pkgs/store Overview

pkgs/store Provides GizClaw with basic persistence and indexing capabilities that are used in multiple fields. This defines a storage abstraction and generic implementation that does not own business rules for Peer, Agent, AI, Gameplay or other product resources.

Package structure

text
pkgs/store/
├── graph/        # Entity / Relation graph abstraction
├── kv/           # Ordered hierarchical key-value store
├── logstore/     # Searchable immutable/mutable records and log drivers
├── memory/       # Observation extraction, fact recall, and provider adapters
├── metrics/      # Time-series sample write and query
├── objectstore/  # Prefix-addressable binary object storage
├── vecid/        # Vector locality-sensitive identity registry
└── vecstore/     # Vector similarity index
PackageCore BoundaryKey Consumers
graphEntity, Relation and adjacency queryAgent memory, recall
kvOrdered hierarchical key, CRUD and range traversalGizClaw services, Agent memory, other stores
logstoreStructured record append/mutation, backend-neutral query and paginationProcess logs and conversation/event producers
memoryRaw observations, fact recall/update/delete, and asynchronous operationsAgent runtimes and memory evaluation harnesses
metricsSample writing, instant/range query and aggregationPeer telemetry, Server metrics
objectstoreBinary object, prefix list/delete and expirationFirmware, workspace, gameplay assets, HNSW
vecidVector hashing, bucket and identity clusteringVoiceprint detection
vecstoreVector add/search/delete and HNSW persistenceAgent recall, memory index

Dependencies

cmd/internal/storage and cmd/internal/stores are responsible for reading the process configuration, selecting specific backends and injecting stores into the Server; pkgs/store does not read the GizClaw Server config, nor does it decide which physical backend to use in a certain field.

Placement rules

Storage interfaces, backend adapters, and common key, query, index, expiration, and persistence semantics that can be reused across domains are stored here. Domain resource schema, HTTP/RPC, authorization, process configuration, and repositories belonging only to a single domain should not be placed in pkgs/store.