Files
CHORUS/docs/progress/report-SEC-SLURP-1.1.md
2025-09-28 13:45:43 +10:00

3.6 KiB
Raw Blame History

SEC-SLURP 1.1 Persistence Wiring Report

Summary of Changes

  • Wired the distributed storage adapter to the live DHT interface and taught the temporal persistence manager to load and synchronise graph snapshots from remote replicas, enabling SynchronizeGraph and cold starts to use real replication data.
  • Restored the slurp_full temporal test suite by migrating influence adjacency across versions and cleaning compaction pruning to respect historical nodes.
  • Connected the temporal graph to the persistence manager so new versions flush through the configured storage layers and update the context store when role metadata is available.
  • Hardened the temporal package for the default build by aligning persistence helpers with the storage API (batch items now feed context payloads, conflict resolution fields match types.go), and by introducing a shared storage.ErrNotFound sentinel for mock stores and stub implementations.
  • Gated the temporal integration/analysis suites behind the slurp_full build tag and added a lightweight stub test harness so GOWORK=off go test ./pkg/slurp/temporal runs cleanly without libp2p/DHT dependencies.
  • Added LevelDB-backed persistence scaffolding in pkg/slurp/slurp.go, capturing the storage path, local storage handle, and the roadmap-tagged metrics helpers required for SEC-SLURP1.1.
  • Upgraded SLURPs lifecycle so initialization bootstraps cached context data from disk, cache misses hydrate from persistence, successful UpsertContext calls write back to LevelDB, and shutdown closes the store with error telemetry.
  • Introduced pkg/slurp/slurp_persistence_test.go to confirm contexts survive process restarts and can be resolved after clearing in-memory caches.
  • Instrumented cache/persistence metrics so hit/miss ratios and storage failures are tracked for observability.
  • Implemented lightweight crypto/key-management stubs (pkg/crypto/role_crypto_stub.go, pkg/crypto/key_manager_stub.go) so SLURP modules compile while the production stack is ported.
  • Updated DHT distribution and encrypted storage layers (pkg/slurp/distribution/dht_impl.go, pkg/slurp/storage/encrypted_storage.go) to use the crypto stubs, adding per-role fingerprints and durable decoding logic.
  • Expanded storage metadata models (pkg/slurp/storage/types.go, pkg/slurp/storage/backup_manager.go) with fields referenced by backup/replication flows (progress, error messages, retention, data size).
  • Incrementally stubbed/simplified distributed storage helpers to inch toward a compilable SLURP package.
  • Attempted GOWORK=off go test ./pkg/slurp; the original authority-level blocker is resolved, but builds still fail in storage/index code due to remaining stub work (e.g., Bleve queries, DHT helpers).
  • Wire SLURP runtime initialisation to instantiate the DHT-backed temporal system (context store, encryption hooks, replication tests) so the live stack exercises the new adapter.
  • Stub the remaining storage/index dependencies (Bleve query scaffolding, UCXL helpers, errorCh queues, cache regex usage) or neutralize the heavy modules so that GOWORK=off go test ./pkg/slurp compiles and runs.
  • Feed the durable store into the resolver and temporal graph implementations to finish the SEC-SLURP1.1 milestone once the package builds cleanly.
  • Extend Prometheus metrics/logging to track cache hit/miss ratios plus persistence errors for observability alignment.
  • Review unrelated changes still tracked on feature/phase-4-real-providers (e.g., docker-compose edits) and either align them with this roadmap work or revert for focus.