Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/ai-memory/issues.md or /mcp/ai-memory/issues.json, or Pod over MCP.

Reported issues for ai-memory

Pod holds 24 of 1,821 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to ai-memory.

Most discussed

🎯 ai-memory v1.0.0 — GLOBAL DEVELOPMENT EPIC (orchestration + tracking; 100% autonomous AI NHI; GA cut authorized)

Authority

Operator grant 2026-07-09 (ai-memory f9a0f397, verbatim in the memory): AI NHI 100% approved to make all decisions and run the entire v1.0.0 development epic, 100% autonomous via loop/goal — including temp admin-lift merges to main and triggering the CI release for the GA cut. Decision protocol: any decision point → 2 waves × 5 adversarial agents → converge → move forward. Loop driver SSOT: [docs/v1.0.0/AI-NHI-V1.0.0-DEVELOPMENT-EPIC-PROMPT.md](../blob/main/docs/v1.0.0/

Read the thread · 2026-07-09 · open · 36 comments

v0.7.0 grand-slam execution log — Option B (L0.7-first) selected 2026-05-13

Purpose

Operational execution log + decision record for the v0.7.0 grand-slam delivery. Complements META #687 (long-lived master tracker) with a session-aware timeline. Updated as each phase ships.


Decision (2026-05-13): Option B — L0.7-first sequencing

After a full-spectrum audit (issues × git × ai-memory) AI NHI selected Option B over A (L1-first per memory 39b47c4f) and C (hybrid).

Rationale (3 forces)

  1. Procurement-grade discipline is load-bearing. ROADMAP2 §11 mak

Read the thread · 2026-05-13 · closed · 31 comments

🎯 v0.8.0 — Distributed Coordination Substrate — global tracking / orchestration EPIC

🎯 v0.8.0 — Distributed Coordination Substrate — global tracking / orchestration EPIC

Scope. ALL v0.8.0 work per ROADMAP §11.4 (Distributed Coordination Substrate) + §22 (Policy-Engine audit-trail closeout) + §5 (decorrelation enforcement, COMMITTED v0.8/v0.9). Unlike v0.7.1 (which hardened v0.7.0), v0.8.0 expands the §2-property surface: federation across organizational trust boundaries + the Pillar-4 connection-scaling substrate that lets a hive scale past the single-backbone con

Read the thread · 2026-06-15 · closed · 24 comments

v0.7.0 fix campaign — close all 47 review findings (2026-05-13)

Purpose

Close all 47 findings from the 6-agent full-spectrum review (#689) inside v0.7.0. Operator directive 2026-05-13: 100% fix, no v0.7.1 deferral.

Source META verdict: ai-memory 5ad05a11 (_v070_grand_slam/review/meta).

Parallel agent assignments

Each agent works in own worktree under `/Users/fate/v07/fix-` branched off the appropriate base, writes verdict memory, comments on this issue, single feat-style commit. Worktrees consolidate into `feat/v0.7.0-fix-campaign`

Read the thread · 2026-05-13 · closed · 21 comments

Phase 1 Task 1.1: Schema Migration — Add metadata JSON column

Branch: feature/schema-metadata Track: A (Schema & Agent Identity) Milestone: v0.6.0 Depends on: None — CRITICAL PATH, unblocks all other Phase 1 tasks

Add metadata TEXT NOT NULL DEFAULT '{}' column to memories table. Preserve through all CRUD operations. Schema migration for existing databases. See docs/PHASE-1.md Task 1.1 for full specification.

PR Checklist:

Read the thread · 2026-04-14 · closed · 16 comments

API-backed embeddings facility: allow [embeddings].backend=openai-compatible/openrouter so CPU-only nodes need no Ollama (wire support already exists)

Parent: #1588 (dogfood eval). Filed at operator request (2026-06-11): "we have the OpenRouter backend llm Gemma 4 26B — should we have API facility for the smaller llm also?"

Current state (v0.7.0 @ 361f6163):

Read the thread · 2026-06-11 · closed · 11 comments

Feature Request: customized expiry dates per tier

First off, thanks for this MCP server - it's exactly what I've been looking for.

I've noticed that the mid-tier memories have a very short TTL. I'd like to be able to customize this. Any chance of this happening, or would it break too many other things? (I know I can set the expiry date individually for a given memory, but I'd like to ensure that mid-tier lasts at least an academic semester.)

Also - have you given any thought to archiving memories before they're deleted from the memory store?

Read the thread · 2026-04-11 · closed · external user · 10 comments

🎯 v0.9.0 — Development EPIC — global tracking / orchestration

Umbrella tracking issue for the v0.9.0 development line. Milestone: v0.9.

v0.8.1 (hardened-patch, #1821) shipped GA as a defect-closure + security-hardening patch. A post-GA 3×7 adversarial audit of v0.8.1 against its CHANGELOG (21 claim-verifiers + triage, codegraph-driven) returned MATCHES_WITH_MINOR_GAPS: 18/21 claims fully supported, 0 refuted, no fabricated or falsely-claimed security fix. Every one of the 9 security findings (#1843–#1851) ships real, correct, both-back

Read the thread · 2026-06-29 · closed · 9 comments

Most recent

[v1.0.0 GA · #3266 MVG] Per-lineage token/cost accounting — the "$50k on the screen"

Decision (operator, #3266 scope): MVG-in-GA. MVG piece 2 of 3.

Goal: per-lineage + per-namespace token/cost accounting so a runaway cascade shows a dollar figure, not a discovery. Feeds memory_swarm_rewind's cost report.

Build-on: derives_from lineage DAG; recall/write funnels; budget_tokens (input budget only — NOT metering). Net-new (fully): counters on write + recall tied to a lineage; a cost model; a per-namespace rollup table. No tokens_spent/cost_usd/meter exist

Read the thread · 2026-08-31 · closed · 1 comment

[v1.0.0 GA · #3266 MVG] memory_swarm_rewind — one-command intercept + rewind of a memory cascade

Decision (operator, #3266 scope): MVG-in-GA. This is MVG piece 1 of 3.

Goal: one atomic, resumable operation memory_swarm_rewind --to <checkpoint|claim-id> that intercepts and unwinds a cascade without data loss.

Build-on (already ships): memory_kg_invalidate + handle_dependents_of_invalidated / db::transitive_suspects (cycle-safe, depth-bounded downstream walk); Checkpoint + witness dual-head whose resolution wire already carries a rollback object (v2) (`src/governance

Read the thread · 2026-08-31 · open · 0 comments

Cross-backend parity: tombstoned-root OWNER keeps conserved lineage on sqlite (200) but not pg (404) — get_lineage

Finding (surfaced during #3303 coverage work)

The #3270 total lineage-authz gate has a cross-backend behavior divergence for a tombstoned root's OWNER requesting its own conserved lineage:

Read the thread · 2026-08-27 · open · 2 comments

Per-Module Coverage red: handlers/links.rs 77.98% < 79% floor — #3270 authz HTTP-lineage-gate branches need handler-level tests

Severity: MEDIUM (required-check red — Per-Module Coverage). Regression from the #3270/#3271 authz merge (6e5a6157). CONFIRMED.

Per-Module Coverage Thresholds is red on release/v1.0.0 (tip 9f73b857): FAIL: handlers/links.rs measured 77.98% < threshold 79%. The playbook: thresholds rise across releases, never fall; lowering one needs explicit operator approval in the PR — so the fix is to ADD coverage, not lower the floor.

Root cause: the #3270 fix made the HTTP lineage route in `sr

Read the thread · 2026-08-27 · closed · 1 comment

Certified pg+AGE cells red: store_parity_gaps.rs AI_MEMORY_ENCRYPT_AT_REST env-leak panics 22 seed helpers (#2905 class; unmasked by the D1 fix)

Severity: HIGH (cert-lane blocker, test isolation #2905 class). Surfaced 2026-08-27 by the D1 fix (336a21b5). CONFIRMED.

The "Certified pg+AGE cells" required check is red on release/v1.0.0: 22 postgres_side tests in `tests/store_parity_gaps.rs` panic at the seed helper (`store_parity_gaps.rs:118`) with "seed memory: at-rest encryption enabled but memory has no agent_id to key encryption to (fail-closed)".

Root cause: the encryption tests in the same binary (`store_parity_gaps.r

Read the thread · 2026-08-27 · closed · 1 comment

fed-receive MEMORY metadata still bypassable by the *_b64 subtree carve-out (#3269 sibling; memory funnel's carve-out is load-bearing for attestation JWTs)

Severity: MEDIUM (security, follow-up to #3269). Found by the #3269 fixer, CONFIRMED.

The #3269 fix closed the key-name carve-out bypass on the coordination receive path (Signal.body / Checkpoint.condition / Checkpoint.metadata) by screening those with the name carve-out disabled. The same {"x_b64": {subtree}} object-subtree bypass still exists for MEMORY metadata on the receive funnel (insert_if_newer / merge_inbound / postgres screen_storage_memory → `redact_memory_for_storage

Read the thread · 2026-08-27 · closed · 1 comment

pg archive_by_ids bypass lane counts phantom archives; sqlite probe masks DB error (unwrap_or false); FOR UPDATE caller-order deadlock (#3243)

Severity: LOW-MEDIUM (correctness on the bypass lane). PR #3243 (A2/A5/A6). CONFIRMED (latent). Three archive/authz correctness issues in the pg adapter, latent today (the sole prod caller uses for_agent per-id):

Read the thread · 2026-08-27 · closed · 1 comment

Untested security fixes: #3173 synthesis candidate-pool owner filter (primary mechanism) and #3246 unreadable-corpus gate have no real coverage

Severity: MEDIUM (test coverage of a security fix). PR #3239 (B6) + #3251 (B2). CONFIRMED. Two security/integrity fixes whose PRIMARY mechanism is untested:

Read the thread · 2026-08-27 · open · 0 comments

store::Filter needs #[non_exhaustive] + ..Default literals — a new field broke four test literals during the D1 gate (#3252/#3240)

Severity: MEDIUM (API stability — hit live during the D1 gate). PRs #3252 (B-4) + #3240 D1. CONFIRMED. store::Filter is a public struct that keeps gaining fields (source_uri in #3252, skip_access_ledger in the #3240 D1 fix) but is not #[non_exhaustive] and its consumers use positional struct literals. Fable hit this LIVE completing the D1 gate: adding skip_access_ledger broke four test literals with E0063 (missing field), which had to be patched one by one. Any future field break

Read the thread · 2026-08-27 · closed · 1 comment

Governance divergence + undocumented breaking change: Approve arm (pg auto-allows owner) and MCP update/capture_turn deny on Owner-governed ns (#3237)

Severity: MEDIUM (governance divergence + undocumented breaking change). PR #3237 (M6/M7). CONFIRMED. Two sqlite↔pg governance divergences the "sqlite matches postgres" PR left/introduced:

Read the thread · 2026-08-27 · closed · 1 comment

memory_links.created_at is caller-supplied after #3178 but absent from SignableLink — unattested timestamp on a self-signed edge (#3237)

Severity: MEDIUM (unattested audit field). PR #3237 (M4). CONFIRMED. #3178 makes memory_links.created_at caller-supplied on the SAL surface, but created_at is NOT in the SignableLink pre-image (six fields: src_id/dst_id/relation/observed_by/valid_from/valid_until). Pre-#3178 the sqlite funnel forced created_at=now (substrate-attested); it is now a caller/peer-chosen unattested column on a self-signed edge, indistinguishable to an auditor from a substrate stamp. Reachable via consolidate_

Read the thread · 2026-08-27 · closed · 1 comment

asi-hard cert-peer-binding cluster: empty-string=>Enforce, inert-without-map but docs claim ENFORCES, CLAUDE.md 'never bricks' false, infallible parse (#3236)

Severity: MEDIUM (cluster). PR #3236 (A1/A2/A3/A5). CONFIRMED. asi-hard cert-peer-binding. The asi-hard knob-pin work is sound (all 5 knobs really pinned, count SSOT honest, meets_floor delegates to the live grammar, fail-closed+loud), but the cert-peer-binding pin has four coupled defects:

Read the thread · 2026-08-27 · closed · 1 comment

pg admin export is unbounded and fully buffered — needs paging/streaming and a machine-readable skipped count (#3240)

Severity: MEDIUM (unbounded resource). PR #3240 (F6). CONFIRMED. pg admin export (postgres_parity.rs:114-188 + handlers/admin.rs:700-729) is correct (the keyset walk + #1724 collation are right, and #3174's uncapping fixes the old silent 1000-row clamp) but materializes the whole corpus as Vec and serializes it into one JSON body — no ceiling, no streaming, no resume cursor, on a multi-million-row target = OOM/daemon-kill. The undecryptable skipped count is WARNed to logs only

Read the thread · 2026-08-27 · open · 0 comments

Concurrent deletes contend on signed_events.sequence UNIQUE with no retry; run_gc unbounded FOR UPDATE + serial in-tx chain appends starve writers (#3240/#3253)

Severity: MEDIUM (delete/federation availability). PRs #3240 (F5) + #3253 (C-5) — related. CONFIRMED mechanism / PLAUSIBLE severity. Two coupled contention issues from adding delete to the signed-events chain writer set and from unbounded gc:

Read the thread · 2026-08-27 · open · 0 comments

Eviction funnel leaves federation_push_dlq / transcript_line_dedup remanence that #3192 purges on delete (both backends) (#3240/#3253)

Severity: MEDIUM (crypto-erase remanence, both backends). PRs #3240 (F4) + #3253 (C-4) — same defect. CONFIRMED. The eviction funnel leaves federation_push_dlq cleartext + transcript_line_dedup content-hash remanence that #3192 purges on hand-delete. pg now has THREE tombstone+erase primitives: delete (pg_tombstone_and_erase_in_tx, purges), evict (postgres_parity::evict_tombstone_and_erase_in_tx #3177, does not), forget. On sqlite the purge lives in delete_inner not the shared tombstone_

Read the thread · 2026-08-27 · closed · 1 comment

forget_tombstones is written on every delete with no reaper/retention — unbounded growth; needs a retention design (not just a reap) (#3253)

Severity: MEDIUM (scale). PR #3253 (C-3). CONFIRMED. forget_tombstones is now written on EVERY delete (MCP/HTTP/CLI delete, consolidate source, synthesis dedup, inbound deletions[]) — previously only forget+eviction — and is never reaped (no gc/size_gc/migration prunes it; grep finds only test cleanup). Unbounded monotonic growth of a PK-indexed table that every insert_if_newer/apply_remote_memory probes. Note: naive reaping RE-OPENS resurrection (an expiring tombstone lets LWW win again),

Read the thread · 2026-08-27 · open · 0 comments

The remaining reports are on the project's issue tracker.