Repository navigation
Conversation
…time-anniversary Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
…time-anniversary Co-Authored-By: Codex <noreply@openai.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Several graph test doubles reimplement the new selector instead of delegating to the real adapter, contrary to the repository’s port contract.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 5
Open (5)
Delegate anniversary queries instead of returning an empty result · New Preserve anniversary ordering and filtering via adapter delegation · New Refactor the fake to wrap the real adapter · New Delegate anniversary selection to the real adapter · New Wrap Oxigraph instead of stubbing anniversary selection · New
What changed in this PR
Adds offset-aware anniversary recall while preserving UTC instants and integrating shared-occasion reservations with existing retrieval ranking.
Changes:
- Persists an episode’s derived local date and enforces replay equality.
- Adds bounded anniversary selection, ranking, trace reporting, and shared-participant handling.
- Expands tests and documentation for offsets, lifecycle behavior, and retrieval floors.
| File | Description |
|---|---|
tests/write_planning_tests.rs |
Updates scenes for offset-aware time. |
tests/scene_surface_tests.rs |
Updates scene fixture construction. |
tests/scene_reminder_tests.rs |
Migrates reminder scenes to fixed offsets. |
tests/retrieval_state_tests.rs |
Updates state retrieval scenes. |
tests/retrieval_scope_tests.rs |
Updates scoped scene fixture. |
tests/retrieval_resolution_tests.rs |
Updates resolution scenes. |
tests/retrieval_lifecycle_evidence_tests.rs |
Updates lifecycle evidence scenes. |
tests/retrieval_last_interaction_tests.rs |
Normalizes scene instants to UTC where required. |
tests/retrieval_guardrails_tests.rs |
Updates episode scene fixture. |
src/usecases/write_planning.rs |
Preserves offset scenes while normalizing observation instants. |
src/usecases/retrieve/scene.rs |
Uses UTC instants for interaction calculations. |
src/usecases/retrieve/activity.rs |
Marks activity roots as date-floor ineligible. |
src/usecases/retrieve.rs |
Integrates anniversary selection, ranking, floors, and tracing. |
src/usecases/remember.rs |
Extends its graph test double. |
src/usecases/link.rs |
Extends its graph failure fixture. |
src/usecases/correct_forget.rs |
Updates episode fixtures and graph wrapper. |
src/test_support.rs |
Adds legacy local-date fixture state. |
src/ports/retrieval_stats.rs |
Updates episode stats fixture. |
src/ports/graph_authority.rs |
Adds the anniversary selector contract. |
src/policy/embedding_surface.rs |
Updates embedding episode fixture. |
src/memory/write_turn_tests.rs |
Extends the gated graph wrapper. |
src/memory/scene_tests.rs |
Migrates scene tests to offset-aware time. |
src/memory/retrieval_turn_tests.rs |
Separates scene offsets from UTC metadata. |
src/memory/retrieval_time_tests.rs |
Adds comprehensive anniversary behavior tests. |
src/memory/retrieval_scene_tests.rs |
Normalizes non-scene timestamps to UTC. |
src/memory/retrieval_floor_tests.rs |
Updates floor fixtures for offset scenes. |
src/memory/notion_tests.rs |
Updates notion episode scene creation. |
src/memory.rs |
Updates memory-level scene fixtures. |
src/domain/tests.rs |
Adds legacy local-date coverage. |
src/domain/scene.rs |
Changes scene time to FixedOffset. |
src/domain.rs |
Adds persisted episode local date. |
src/api/types/retrieval.rs |
Adds anniversary overflow tracing. |
src/api/types/draft.rs |
Derives local dates during episode construction. |
src/adapters/oxigraph/vocabulary.rs |
Adds local-date RDF predicates. |
src/adapters/oxigraph/tests.rs |
Tests anniversary metadata selection. |
src/adapters/oxigraph/sparql_selectors.rs |
Implements anniversary SPARQL selection. |
src/adapters/oxigraph/shared.rs |
Hydrates local dates from RDF. |
src/adapters/oxigraph/rdf_mapping.rs |
Persists local-date metadata. |
src/adapters/oxigraph/embedded.rs |
Exposes the selector through Oxigraph. |
README.md |
Documents anniversary recall semantics. |
docs/design/database/schema_cheat_sheet.md |
Documents new RDF fields. |
docs/design/database/graph_schema_design.md |
Defines persistence and selection behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+557
to
+558
| let _ = (date, participants, limit, policy); | ||
| Ok(Vec::new()) |
Comment on lines
+3498
to
+3499
| let _ = (date, participants, limit, policy); | ||
| Ok(Vec::new()) |
Comment on lines
+575
to
+576
| let _ = (date, participants, limit, policy); | ||
| Ok(Vec::new()) |
Comment on lines
+1179
to
+1180
| let _ = (date, participants, limit, policy); | ||
| Ok(Vec::new()) |
Comment on lines
+3497
to
+3498
| let _ = (date, participants, limit, policy); | ||
| Ok(Vec::new()) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Time plan Task_3, stacked on #145.
On the day something happened in an earlier year, that experience comes back, first of all when the person it was shared with is present.
This branch also merges the approved Task_2 fix. Evidence: 490 tests; baseline showing the year-ago shared meeting never came before. Review and the time slice's measurement follow.
🤖 Generated with Claude Code