Add complete paginated memory discovery for audits and maintenance #219
Description
Problem
Hosted memory_search takes only 30 results, KnowledgeService.List takes 100 before projection, and neither exposes a cursor or hasMore. The 2026-09-13 freshness audit needed multiple topic searches to inspect 62 project memories and still could not prove completeness. A keyword search is not a complete inventory.
Work
Add a documented, authorized memory-list/search continuation contract (or a dedicated paginated inventory tool). Return canonical references, published revision metadata, deterministic ordering and explicit completeness/hasMore. Support exact project scope without implicitly mixing personal entries, plus explicit archived/expired filters. Preserve legacy search compatibility.
Acceptance
- Exhaust a fixture with more than 100 authorized memories without gaps or duplicates.
- Include tests for equal timestamps, interleaved projects/scopes, archived/expired entries and concurrent changes; define snapshot/continuation semantics.
- No hidden titles, counts, revisions or continuation metadata leak.
- One discovery/read/mutation workflow can use #213 public references.
- Tools and system guide explain when an inventory is complete.
Coordinate with #116 (sorting before limits), #215 (truncation notices) and #216 (freshness metadata). No blanket export of account data or automatic external verification.