Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
3124185
docs(52): generate context from PRD
RichardHightower Mar 22, 2026
3a0d0da
docs(52): research phase domain
RichardHightower Mar 22, 2026
df7e3ef
docs(52): create phase plan for simple CLI API
RichardHightower Mar 22, 2026
5e2135e
docs(52): add validation strategy and phase plans
RichardHightower Mar 22, 2026
b79dece
feat(52-01): scaffold memory-cli crate with CLI parsing and route_query
RichardHightower Mar 22, 2026
b4c8fb8
feat(52-01): implement JsonEnvelope, TTY-aware output, and client helper
RichardHightower Mar 22, 2026
c2ef833
docs(52-01): complete CLI scaffold plan
RichardHightower Mar 22, 2026
ddcab14
feat(52-03): implement memory add command with gRPC ingest
RichardHightower Mar 22, 2026
86305c4
feat(52-02): implement search command via RouteQuery RPC
RichardHightower Mar 22, 2026
9d57993
feat(52-02): implement recall and context commands
RichardHightower Mar 22, 2026
6176aa5
feat(52-03): implement timeline and summary commands with gRPC queries
RichardHightower Mar 22, 2026
5d2079c
docs(52-02): complete read-path commands plan
RichardHightower Mar 22, 2026
2653903
chore(52-03): remove dead_code annotations and apply formatting
RichardHightower Mar 22, 2026
fe2d08e
docs(52-03): complete write and query commands plan
RichardHightower Mar 22, 2026
30d4170
docs(phase-52): complete phase execution
RichardHightower Mar 22, 2026
696f56c
docs(52): final planning update for Phase 52 PR
RichardHightower May 12, 2026
38bfce1
style(52): cargo fmt
RichardHightower May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions .planning/REQUIREMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,16 @@ Requirements for the Competitive Parity & Benchmarks milestone. Each maps to roa

### CLI API (CLI)

- [ ] **CLI-01**: New `memory` binary with `search`, `context`, `recall`, `add`, `timeline`, `summary` subcommands
- [ ] **CLI-02**: `memory search "query" --format=json` returns JSON envelope with results, meta, confidence
- [ ] **CLI-03**: `memory recall` delegates to search with `--rerank=llm --top=10`
- [ ] **CLI-04**: `memory add` writes via gRPC MemoryClient — exits non-zero with clear error if daemon not running
- [ ] **CLI-05**: TTY detection: JSON when piped, human-readable when interactive
- [ ] **CLI-06**: `memory context` returns structured context for prompt injection
- [ ] **CLI-07**: `memory timeline` and `memory summary` query TOC by entity/range
- [ ] **CLI-08**: `memory-daemon` binary and existing skill hooks unchanged
- [ ] **CLI-09**: All commands exit 0 on success, non-zero on hard failure
- [ ] **CLI-10**: `meta.tokens_estimated` included in JSON envelope for context budget decisions
- [x] **CLI-01**: New `memory` binary with `search`, `context`, `recall`, `add`, `timeline`, `summary` subcommands
- [x] **CLI-02**: `memory search "query" --format=json` returns JSON envelope with results, meta, confidence
- [x] **CLI-03**: `memory recall` delegates to search with `--rerank=llm --top=10`
- [x] **CLI-04**: `memory add` writes via gRPC MemoryClient — exits non-zero with clear error if daemon not running
- [x] **CLI-05**: TTY detection: JSON when piped, human-readable when interactive
- [x] **CLI-06**: `memory context` returns structured context for prompt injection
- [x] **CLI-07**: `memory timeline` and `memory summary` query TOC by entity/range
- [x] **CLI-08**: `memory-daemon` binary and existing skill hooks unchanged
- [x] **CLI-09**: All commands exit 0 on success, non-zero on hard failure
- [x] **CLI-10**: `meta.tokens_estimated` included in JSON envelope for context budget decisions

### Benchmark Suite (BENCH)

Expand Down Expand Up @@ -71,16 +71,16 @@ Requirements for the Competitive Parity & Benchmarks milestone. Each maps to roa
| ORCH-06 | Phase 51 | Complete |
| ORCH-07 | Phase 51 | Complete |
| ORCH-08 | Phase 51 | Complete |
| CLI-01 | Phase 52 | Pending |
| CLI-02 | Phase 52 | Pending |
| CLI-03 | Phase 52 | Pending |
| CLI-04 | Phase 52 | Pending |
| CLI-05 | Phase 52 | Pending |
| CLI-06 | Phase 52 | Pending |
| CLI-07 | Phase 52 | Pending |
| CLI-08 | Phase 52 | Pending |
| CLI-09 | Phase 52 | Pending |
| CLI-10 | Phase 52 | Pending |
| CLI-01 | Phase 52 | Complete |
| CLI-02 | Phase 52 | Complete |
| CLI-03 | Phase 52 | Complete |
| CLI-04 | Phase 52 | Complete |
| CLI-05 | Phase 52 | Complete |
| CLI-06 | Phase 52 | Complete |
| CLI-07 | Phase 52 | Complete |
| CLI-08 | Phase 52 | Complete |
| CLI-09 | Phase 52 | Complete |
| CLI-10 | Phase 52 | Complete |
| BENCH-01 | Phase 53 | Pending |
| BENCH-02 | Phase 53 | Pending |
| BENCH-03 | Phase 53 | Pending |
Expand Down
15 changes: 8 additions & 7 deletions .planning/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,9 @@ See: `.planning/milestones/v2.7-ROADMAP.md`

**Milestone Goal:** Close the three gaps that keep Agent-Memory from being the category leader: retrieval pipeline orchestration, a dead-simple CLI API, and a benchmark suite that produces a publishable LOCOMO score.

- [x] **Phase 51: Retrieval Orchestrator** - Query expansion, RRF fusion, LLM reranking, and context building as a new crate wrapping RetrievalExecutor (executed 2026-03-22; landing on main via PR)
- [x] **Phase 51: Retrieval Orchestrator** - Query expansion, RRF fusion, LLM reranking, and context building as a new crate wrapping RetrievalExecutor (merged 2026-04-28 via PR #28)
- [x] **Phase 51.5: API Summarizer Wiring** - Wire `ApiSummarizer` from config (out-of-band; merged 2026-04-28 via PR #27)
- [ ] **Phase 52: Simple CLI API** - New `memory` binary with search, context, recall, add, timeline, summary subcommands
- [x] **Phase 52: Simple CLI API** - New `memory` binary with search, context, recall, add, timeline, summary subcommands (PR in review 2026-05-12)
- [ ] **Phase 53: Benchmark Suite** - Custom TOML-fixture harness with LOCOMO adapter and publishable scoring

## Phase Details
Expand Down Expand Up @@ -185,11 +185,12 @@ Plans:
3. Running `memory add "note"` writes an event via gRPC; exits non-zero with a clear error when the daemon is not running
4. Output is human-readable in a terminal and JSON when piped (TTY detection), and all commands exit 0 on success / non-zero on hard failure
5. Running `memory context` returns structured context suitable for prompt injection, including `meta.tokens_estimated` in the JSON envelope
**Plans**: TBD
**Plans**: 3 plans

Plans:
- [ ] 52-01: TBD
- [ ] 52-02: TBD
- [ ] 52-01-PLAN.md — Scaffold crate, CLI structs, JsonEnvelope, client helper, route_query RPC
- [ ] 52-02-PLAN.md — Search, context, and recall commands (read path via gRPC)
- [ ] 52-03-PLAN.md — Add, timeline, summary commands and full QA verification

### Phase 53: Benchmark Suite
**Goal**: Users can measure and compare Agent Memory retrieval quality with reproducible benchmarks and a publishable LOCOMO score
Expand Down Expand Up @@ -223,8 +224,8 @@ Phases execute in numeric order: 51 -> 51.5 (merged out-of-band) -> 52 -> 53
| v2.5 Semantic Dedup | 35-38 | 11/11 | Complete | 2026-03-10 |
| v2.6 Cognitive Retrieval | 39-44 | 13/13 | Complete | 2026-03-16 |
| v2.7 Multi-Runtime Portability | 45-50 | 11/11 | Complete | 2026-03-22 |
| v3.0 Competitive Parity | 51-53 + 51.5 | 4/TBD | In progress | Phase 51.5 merged 2026-04-28; Phase 51 landing |
| v3.0 Competitive Parity | 51-53 + 51.5 | 4/TBD | In progress | Phase 51 merged 2026-04-28; Phase 52 (CLI API) in PR review |

---

*Updated: 2026-04-28 — Phase 51 implementation cherry-picked from gsd/phase-51 branch; landing via PR*
*Updated: 2026-05-12 — Phase 52 (Simple CLI API) opening PR*
44 changes: 24 additions & 20 deletions .planning/STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ milestone: v3.0
milestone_name: Competitive Parity & Benchmarks
status: in_progress
stopped_at: null
last_updated: "2026-04-28T00:00:00.000Z"
last_activity: 2026-04-28 — Phase 51 (Retrieval Orchestrator) cherry-picked from local branch; landing via PR
last_updated: "2026-05-12T00:00:00.000Z"
last_activity: 2026-05-12 — Phase 52 (Simple CLI API) rebased onto main and opening PR
progress:
total_phases: 4
completed_phases: 2
total_plans: 4
completed_plans: 4
percent: 50
completed_phases: 3
total_plans: 7
completed_plans: 7
percent: 75
---

# Project State
Expand All @@ -21,29 +21,30 @@ progress:
See: .planning/PROJECT.md (updated 2026-03-22)

**Core value:** Agent can answer "what were we talking about last week?" without scanning everything
**Current focus:** v3.0 Phase 51Retrieval Orchestrator
**Current focus:** v3.0 Phase 52Simple CLI API (PR review)

## Current Position

Phase: 51 of 53 (Retrieval Orchestrator) — landing via PR
Plan: 3 of 3 complete (51-01, 51-02, 51-03 all summaries land in this PR)
Status: Phase 51 + 51.5 both done; Phase 52 next
Last activity: 2026-04-28Cherry-picked 12 commits from gsd/phase-51-retrieval-orchestrator into feature branch
Phase: 52 of 53 (Simple CLI API) — opening PR
Plan: 3 of 3 complete (52-01 scaffold, 52-02 read-path, 52-03 write/query commands)
Status: Phase 51 + 51.5 + 52 done; Phase 53 (Benchmark Suite) next
Last activity: 2026-05-12Rebased gsd/phase-52-simple-cli-api onto post-Phase-51 main; opening PR

Progress: [█████░░░░░] 50% (2 of 4 phases)
Progress: [████████░░] 75% (3 of 4 phases)

## Out-of-band Work

### Open PRs

| PR | Branch | Status | Reviewed | Notes |
|---|---|---|---|---|
| #25 | `feature/v3.0-cross-project-memory` | Open, CI green | Not yet | Self-describes as "v3.0 Phase 51" but local Phase 51 is Retrieval Orchestrator — phase-numbering conflict to resolve before review/merge |
| #25 | `feature/v3.0-cross-project-memory` | Open, CI green | Not yet | Recorded as Phase 53.5 (decimal-phase pattern, mirrors 51.5); rebased onto main 2026-05-08 |
| #27 | merged 2026-04-28 as `3a73582` | Merged | — | Recorded as Phase 51.5; supersedes closed PR #26 |
| #28 | merged 2026-04-28 as `85f3303` | Merged | — | Phase 51 Retrieval Orchestrator |

### Local-only Branches (not yet pushed)
### Local-only Branches (still stacked, pending PRs)

- `gsd/phase-{51..58}` — 7-phase stack of GSD phase work covering v3.0 (Phases 51-53), v3.1 (Phases 54-56), and v3.2 (Phases 57-58 done; 59 pending). ~80 commits total, no PRs. Pending strategic decision: per-milestone PRs vs. omnibus push vs. squash-and-rebase per phase. **Note:** the planning files on these branches describe v3.0/v3.1 as "shipped" — that reflects local execution intent, not origin/main reality.
- `gsd/phase-{53..58}` — 6-phase stack of GSD work covering remaining v3.0 (Phase 53 Benchmark Suite), v3.1 (Phases 54-56), and v3.2 (Phases 57-58). Each branch backed up to origin 2026-05-12 (no PRs). Pending strategic decision: per-milestone PRs vs. per-phase. **Note:** the planning files on these branches describe v3.0/v3.1 as "shipped" — that reflects local execution intent, not origin/main reality.

## Performance Metrics

Expand All @@ -69,6 +70,9 @@ See .planning/MILESTONES.md
- [Phase 51]: HeuristicReranker trims to top 10 (MAX_RESULTS const)
- [Phase 51]: Token estimation: chars * 0.75 + 50 overhead
- [Phase 51]: MemoryOrchestrator accepts Box<dyn Reranker> via with_reranker() for test injection
- [Phase 52]: All CLI commands route through gRPC (no direct RocksDB access) — daemon stays single source of truth
- [Phase 52]: JsonEnvelope output pattern: ok/error/context_ok constructors, TTY detection via IsTerminal
- [Phase 52]: New `memory-cli` crate (binary name: `memory`) added to workspace — separate from `memory-daemon`

## Blockers

Expand Down Expand Up @@ -97,12 +101,12 @@ See: .planning/MILESTONES.md for complete history

## Cumulative Stats

- ~56,400 LOC Rust across 15 crates + memory-orchestrator (new in Phase 51)
- 51 phases (50 + Phase 51), 150 plans across 9 milestones (counting Phase 51's 3 plans + 51.5)
- 46+ E2E tests + 144 bats CLI tests + new orchestrator unit tests
- ~58,000 LOC Rust across 16 crates (memory-orchestrator from Phase 51, memory-cli from Phase 52)
- 52 phases (Phase 1-52), 153 plans across 9 milestones (counting Phase 51's 3 plans + 51.5 + 52's 3 plans)
- 46+ E2E tests + 144 bats CLI tests + orchestrator unit tests + memory-cli unit tests

## Session Continuity

**Last Session:** 2026-04-28
**Stopped At:** Phase 51 cherry-picked from gsd/phase-51 branch; awaiting PR merge
**Last Session:** 2026-05-12
**Stopped At:** Phase 52 rebased onto main; opening PR
**Resume File:** None
Loading
Loading