Skip to content

🔮 Prospective — Future Intents

Biological Analog: Prospective memory is the ability to remember to perform an intended action in the future — "Remember to call the doctor at 3pm." Unlike retrospective memory (recalling the past), prospective memory is future-oriented and time-triggered.


The Concept

An AI agent needs to remember not just what happened, but what to do next. Prospective memory enables:

  • "Remind me to check the build in 10 minutes"
  • "Flag this issue for follow-up tomorrow"
  • "Alert when deployment completes"

How It Works

flowchart TD
    SCHEDULE["Agent schedules reminder<br/><i>text + trigger time + tags</i>"] --> STORE["Stored in reminder queue<br/><i>sorted by trigger time</i>"]
    STORE --> WAIT["Waiting..."]
    WAIT --> CHECK{"Trigger time passed?"}
    CHECK -->|"Not yet"| WAIT
    CHECK -->|"Yes — due!"| INJECT["Inject into recall results<br/><b>with maximum score (10.0)</b>"]
    INJECT --> TOP["Appears at top<br/>of next recall"]

    style SCHEDULE fill:#4a90d9,color:white
    style INJECT fill:#e74c3c,color:white
    style TOP fill:#00b894,color:white

Reminder Lifecycle

stateDiagram-v2
    [*] --> Scheduled: Agent calls schedule()
    Scheduled --> Due: Trigger time passes
    Due --> Delivered: Next recall() collects it
    Delivered --> [*]: Removed from queue

    note right of Scheduled: Waiting for trigger time
    note right of Due: Ready for collection
    note right of Delivered: Injected at top of results

Each reminder carries:

Field Description
text The reminder content
triggerAt When to surface the reminder
tags Synaptic tags for contextual association

Where It Fits in the Pipeline

Due reminders are injected at Step 2 of the recall pipeline — before scoring, ensuring they always appear at the top of results with maximum score (10.0):

flowchart TD
    RECALL["memory.recall(query)"] --> PROSPECTIVE["Step 2: Collect due reminders<br/><b>inject at score = 10.0</b>"]
    PROSPECTIVE --> SCAN["Steps 3–4: Tier scanning + scoring"]
    SCAN --> SUPPRESS["Step 4: Suppression filter"]
    SUPPRESS --> HAB["Step 5: Habituation + graphs"]
    HAB --> SORT["Final sort → Top-K<br/><i>reminders at top</i>"]

    style PROSPECTIVE fill:#e74c3c,color:white
    style SORT fill:#00b894,color:white

Example Usage

Agent: "Remind me to check the deployment in 30 minutes"
→ memory.scheduleReminder(
      text: "Check deployment status",
      triggerAt: now + 30min,
      tags: ["deployment", "monitoring"]
  )

... 30 minutes later ...

Agent: memory.recall("what should I do?")
→ Result[0]: "Check deployment status" (score: 10.0, type: PROSPECTIVE)

Next Steps