Auditor Objections
AUDITOR OBJECTIONS — agent-memory-manager
Pre-written hostile objections and the evidence response to each.
Objection 1: "Your precision numbers are meaningless — the corpus is rigged."
Response (accepted as a seam). Correct that the corpus is synthetic and lexically separable by construction — this is disclosed in LIMITATIONS.md. The benchmark validates that the *retrieval mechanism* (embedding → vector search → relevance re-ranking) correctly recovers the planted answer key, on both the in-memory store and real pgvector. It does not claim semantic quality on real text. No "best/world-class/proven" retrieval claim is made anywhere.
Objection 2: "PGlite isn't real Postgres; you haven't tested pgvector."
Response. PGlite is the actual Postgres engine compiled to WASM with the real vector extension. verification-report.json records the engine version and the pgvector extension version, asserts that 1 - (embedding <=> q) agrees with the independent JS cosine implementation within 1e-5, and persists/counts rows in the DB. The same SQL runs against an external server via pg; that path is a disclosed seam.
Objection 3: "Summarization is fake — it just copies sentences."
Response (accepted as a seam). The default summarizer is extractive and is labelled as such. The verified claim is narrow: summarizeThread produces a non-empty summary, persists it as a summary-typed memory, and that memory is retrievable and prioritized by getContextForTask. Abstractive LLM quality is a disclosed seam (ClaudeSummarizer).
Objection 4: "Decay/eviction could silently drop important data."
Response. Decay and eviction are pure, unit-tested functions. Verification asserts that a hot memory is demoted (not deleted) when its decayed importance falls below the hot floor, that tiers respect capacity, and that cold-tier eviction is the only path that deletes — and emits a memory_evict_total metric when it does, so drops are observable. Importance and recency both protect a record from eviction.
Objection 5: "Fleet sync would loop or leak private data."
Response. Verification asserts a node ignores its own events (no echo loop), that shareScope: 'fleet' memories replicate to a peer, and that shareScope: 'local' memories do not replicate. Replication is recorded via memory_replicated_total{from=…}.
Objection 6: "This won't build or run on a clean machine."
Response. verify.mjs compiles from source and runs the unit suite as its first two steps; REPRODUCE.md gives exact commands; CHECKSUMS.json pins every file. The only runtime dependency for the verified path is @electric-sql/pglite.
Objection 7: "The metrics are decorative."
Response. manager.metrics.snapshot() returns real counters, gauges, and latency histograms; verification asserts store counters and a memory_retrieve_ms histogram are populated, and manager.stats() reports live per-tier sizes.
Residual, openly conceded
Retrieval quality on real traffic, hosted-LLM summary quality, external-server durability, and distributed-broker behaviour are unverified and disclosed. This outcome is not claimed to be PRODUCTION_VALIDATED.