Repository navigation
docs(adr): ADR-0072 tape-native memory — semantic index v0 + read/write switch - #613
Conversation
…ite switch Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 34 minutes and 8 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughA new Architecture Decision Record (ADR-0072) is added, specifying the ChangesADR-0072: Tape-Native Memory Configuration and Semantic Index
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@coding-agent/docs/adr/0072-tape-memory-semantic-index-and-enable-switch.md`:
- Around line 61-79: The ADR Decision B section describes semantic retrieval as
hybrid support alongside TopicRangeIndex but does not specify the merge contract
for when both retrieval paths return results. Add explicit specifications to the
decision that define the ordering, deduplication, and tie-breaking strategy when
both the semantic index and TopicRangeIndex return hits. Include details on how
results will be merged into build_context output, how duplicate memories across
both indexes will be deduplicated, and what ranking or priority rules apply when
both paths return the same memory to ensure deterministic and predictable
behavior.
- Around line 39-54: The ADR section describing the memory read and write
switches does not clearly specify how the new `[memory].enabled` and
`read_enabled` configuration flags compose with the existing
`TopicRecallPlannerInput.enabled` field. Add a clear statement in the decision
section that explicitly defines the composition rule: specify whether
`TopicRecallPlannerInput.enabled` acts as an additional AND gate applied after
the effective_read calculation, serves as an override, or remains an
internal-only implementation detail. This clarification will prevent the
follow-up implementation from creating two independent sources of truth for
recall behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 2e71329d-e0df-475f-ab1a-2aab2ef71b64
📒 Files selected for processing (1)
coding-agent/docs/adr/0072-tape-memory-semantic-index-and-enable-switch.md
What
Adds ADR-0072 (
Proposed) — design only, no code change.Why
Records the decision for the next steps on tape-native memory. An external design proposal claimed the tape-native memory/retrieval layer was missing; two independent reviews (Claude + codex, read-only against the live tree) found that premise is broadly false — the layer already ships (
plugins/memory.pybuild_context/on_turn_end,topics/recall +ContextPackRenderergrounding,MemoryRecordinagentkit/directive/types.py, durable review store from ADR-0069). This ADR pins down the two genuinely narrow gaps.Decisions
[memory]withenabled/read_enabled/write_enabled, read/write separated. Invariant: memory off ≠ tape off. Generalizes the existingTopicRecallPlannerInput.enabled(read-half only) and adds the write half + config surface. Not coupled to the external KB/RAG toggle.TopicRangeIndex, never replaces it; must pass the same_FORBIDDEN_TEXT_MARKERSredaction guard. Only a minimalMemoryIndex/MemoryHitprotocol goes in AgentKit; embedding/backend/rerank/merge stay incoding_agentplugins.Consistency
Aligned with ADR-0039 / 0046 / 0067 / 0068 / 0069. Does not supersede ADR-0046 — the deterministic index stays the default recall path; semantic is additive/opt-in.
Validation
Design-only; the Acceptance Criteria tests (
test_memory_switch.py,test_semantic_tape_index.py) are intended/pending and will gate the follow-up implementation PRs.🤖 Generated with Claude Code
Summary by CodeRabbit