feat(open, recall): actionable citations and palace resurfacing (Phase 3) - #50
Conversation
REVAMP_PLAN Phase 3 core: trust & recall UX. - `superton open <id>` resolves the short ids from citation footers (new Memory.find_by_prefix) to the full drawer — source, wing/room, age, complete text — and `--edit` jumps into the source file in $EDITOR. Virtual sources (notes, imports, web pulls) get a clear explanation instead of an error. Ambiguous prefixes list candidates. - `superton recall [--older-than N]` resurfaces random drawers with age labels (today / yesterday / N days ago), sampling via new Memory.random_drawers with an optional age floor so recall favors the almost-forgotten. - 9 new tests: prefix resolution, age-filtered sampling, open render / unknown-id / virtual-source / $EDITOR launch, recall render + empty + age-floor states. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0145446GXbqRfpA4NF5Tn89E
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
📝 WalkthroughWalkthroughThis PR adds two new CLI commands, ChangesOpen and Recall Feature
Estimated code review effort: 2 (Simple) | ~15 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant CLI
participant Memory
participant Editor
User->>CLI: superton open id --edit
CLI->>Memory: find_by_prefix(id)
Memory-->>CLI: matched drawer
CLI->>Editor: subprocess.run($EDITOR, source)
Editor-->>User: file opened
User->>CLI: superton recall --older-than N
CLI->>Memory: random_drawers(older_than=N)
Memory-->>CLI: sampled drawers
CLI-->>User: reveal_cards output
Poem
✨ Finishing Touches📝 Generate docstrings
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 |
Implements the core of REVAMP_PLAN Phase 3 (see #47): trust & recall UX.
superton open <id>— citations become actionableEvery answer footer shows 8-char drawer ids; until now they were dead text.
openresolves them (newMemory.find_by_prefix, indexed LIKE-prefix lookup) and renders the full drawer — id, wing/room, created date with age, source, complete text:--editopens the source file in$EDITORwhen the source is a real file.superton recall [--older-than N]— memory you forgot you hadResurfaces random drawers as a staggered card cascade with age labels (
today/yesterday/N days ago), backed byMemory.random_drawerswith an optional age floor so--older-than 30biases the walk toward the almost-forgotten. Ends with thesuperton open <id>follow-up hint, closing the loop with the feature above.Validation
tests/test_open_recall.py(prefix resolution incl. empty-prefix guard, age-filtered sampling, open render / unknown id / virtual source / real$EDITORlaunch viaEDITOR=true, recall render + empty + age-floor states) — 271 passing total on this branch, ruff + mypy clean.Note: independent of #48/#49; all branch from
main, so later merges may need a trivial CHANGELOG/README conflict resolution — happy to rebase whichever lands last.🤖 Generated with Claude Code
https://claude.ai/code/session_0145446GXbqRfpA4NF5Tn89E
Generated by Claude Code
Summary by CodeRabbit
superton opento look up drawers by short ID, show full details, and optionally open the source in your editor.superton recallto resurface a random set of older drawers, with age-based filtering and quick follow-up guidance.