Skip to content

✨ What happened lately comes to mind when nothing else claims the room - #145

Open
ebigunso wants to merge 12 commits into
feature/2026-09-22/write-warningsfrom
feature/2026-09-22/time-recency
Open

ebigunso wants to merge 12 commits into
feature/2026-09-22/write-warningsfrom
feature/2026-09-22/time-recency

Conversation

@ebigunso

Copy link
Copy Markdown
Owner

Time plan Task_1, stacked on #138. It also merges the approved scene-words closeout, the cues eligibility fix and the plan reconciliation so the stack stays linear.

A person walking into a room in the evening already carries what they did lately, with nobody named and nothing said. Before this, a scene that gave only a time brought nothing at all.

  • The latest experiences at or before the scene's own reference time (by recorded scene time, never creation time, and only ones that may be recalled) are contributed as roots of a new cue kind, recency, in one bounded read. What they bring is what rests on them; being reminded of an occasion does not open the history of whoever was in it.
  • They carry no similarity score of their own and reserve no room: with a topic that fills every cap the result is exactly what it was before, and with room to spare they fill it. This is the correction the measurement forced: an earlier draft contributed one occasion, and a character that arrives carrying one thing is not the character the philosophy describes.
  • Retrieval reads no clock; the reference time is the scene's. Forgetting the latest experience offers the one before it, and an experience recorded after the scene's time is not "lately".

Evidence: 461 tests; a 23-case witness through the public interface on the real stores, with every changed expectation listed and the parent parity controls passing. The companion evaluation repository's before/after measurement on the time family is running at this tip and its numbers, with their reading for the character, go into the worker report before this is called done.

🤖 Generated with Claude Code

…2/time-recency

Co-Authored-By: Codex <noreply@openai.com>
@ebigunso
ebigunso changed the base branch from feature/2026-09-22/v0-2-time-plan to feature/2026-09-22/write-warnings September 22, 2026 22:00
@ebigunso
ebigunso added this pull request to stack #149 September 22, 2026 22:00
…2/time-recency

Co-Authored-By: Codex <noreply@openai.com>
Copilot AI balanced review requested due to automatic review settings September 22, 2026 22:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Critical reminder-boundary correctness and moderate provenance, serialization, and query-scaling issues remain unresolved.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Adds scene-time recency and explicit time-range retrieval, including lifecycle-aware graph traversal, public API support, tests, and documentation.

Changes:

  • Adds recency and date-match retrieval cues, floors, tracing, and ranking.
  • Extends graph authority and Oxigraph temporal selection.
  • Expands temporal retrieval and reminder-boundary coverage.
File Review
tests/​scene_surface_tests.rs Updates recency cue expectations.
tests/​scene_reminder_tests.rs Expands reminder-boundary and root-limit coverage.
tests/​retrieval_scope_tests.rs Includes temporal graph roots.
tests/​retrieval_last_interaction_tests.rs Updates recent-episode expectations.
src/​usecases/​retrieve.rs Implements temporal selection. Moderate: Time cues leak onto overlapping topic candidates before admission.
src/​usecases/​remember.rs Updates graph test delegation.
src/​usecases/​link.rs Updates graph test delegation.
src/​usecases/​correct_forget.rs Updates graph test delegation.
src/​ports/​graph_authority.rs Adds temporal queries and reminder filtering. Critical: Reminder-root matching ignores object type, allowing ID collisions to reopen episode history.
src/​policy/​graph_expansion.rs Applies reminder-aware filtering.
src/​memory/​write_turn_tests.rs Updates graph test infrastructure.
src/​memory/​retrieval_turn_tests.rs Updates floor and cue expectations.
src/​memory/​retrieval_time_tests.rs Adds temporal retrieval coverage.
src/​memory/​retrieval_scene_tests.rs Reconciles scene behavior with recency.
src/​memory/​retrieval_floor_tests.rs Covers temporal floor interactions.
src/​memory.rs Registers temporal tests and telemetry.
src/​lib.rs Exports TimeRange.
src/​api/​types/​retrieval.rs Adds temporal API and tracing. Moderate: Missing serde(default) breaks trace round-trips. Nit: Date-range Task_2 expands the stated Task_1 scope without corresponding evidence.
src/​api/​types.rs Re-exports TimeRange.
src/​adapters/​oxigraph/​tests.rs Tests temporal selection and eligibility.
src/​adapters/​oxigraph/​sparql_selectors.rs Implements temporal SPARQL selection. Moderate: Unconditional recency requires an unbounded store-side scan/sort.
src/​adapters/​oxigraph/​embedded.rs Connects temporal selection to the graph port.
README.md Documents temporal retrieval behavior.
docs/​coding-agent/​plans/​completed/​v0-2-write-warnings-plan.md Normalizes a companion-repository path.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +216 to +218
&& (!self.reminder_only
|| object.object_type != ObjectType::Episode
|| object.id == self.root_id)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants