4.1 KiB
4.1 KiB
Ecosystem Personal Timeline PRD
Status: Hardened baseline Owner:
learning_ai_common_platPurpose: Define a shared user activity timeline that makes cross-product behavior visible and useful.
1. Problem
The ecosystem can produce many meaningful user events and artifacts, but users cannot yet see them as one coherent stream.
Examples:
- transcript captured in LysnrAI
- note created in NoteLett
- memory created in MindLyst
- plan created in FlowMonk
- routine executed in ChronoMind
- agent run completed in Cowork
- approval granted in Auth App
Without a personal timeline:
- the ecosystem feels fragmented
- provenance is hard to understand
- “one action, many outcomes” is invisible
2. Product Goal
Give Saravana and future users one place to answer:
- what happened?
- what created it?
- what did it affect?
- what needs follow-up?
3. Timeline Inputs
The timeline should consume:
- canonical ecosystem events
- canonical artifact envelopes
- approval records
- selected trust/risk changes
4. Phase-1 User Stories
- As a user, I can see that one dictated transcript became a note and a memory candidate.
- As a user, I can see that one plan generated a routine and a habit.
- As a user, I can see that one Cowork run produced an output and required an approval.
- As a user, I can trace each item back to its source product and action.
5. Minimum Timeline Item Shape
type TimelineItem = {
itemId: string;
occurredAt: string;
eventName: string;
productId: string;
title: string;
summary?: string | null;
artifactRefs: string[];
relatedEventIds: string[];
actorType: 'user' | 'agent' | 'system' | 'device';
visibility: 'private' | 'org' | 'shared' | 'local-only';
};
6. Noise Filtering Rules
Not every ecosystem event belongs in the first user-facing timeline.
Default include:
- artifact creation and linking
- accepted memory creation
- plan, routine, and habit outcomes
- approvals that materially affected execution
- agent run milestones with user-visible outcome
Default suppress or collapse:
- low-level polling or sync churn
- internal projection or materialization events
- repeated update noise without a user-visible state change
- internal retry attempts unless they become failures or user-facing delays
Grouping rules:
- collapse dense chains by
correlationIdwhen they belong to one user-visible outcome - show source event and primary derived outcomes first
- allow drill-in for the detailed chain rather than making the main timeline noisy
7. Hosting Choice
Current baseline choice:
- internal hosted timeline remains in
admin-web
Near-term product rule:
- keep the current timeline in
admin-webwhile the event vocabulary and filtering model stabilize - defer public user-facing timeline placement until the product semantics are less admin-centric
Longer-term options:
- a user-facing portal shell in
learning_ai_common_plat - a NoteLett or MindLyst embedded personal activity view
- a dedicated cross-product "home" surface if the ecosystem grows materially
8. Open Decisions
- How should local-only events from local-memory products be represented?
- Should timeline items stay materialized, or should some views query live from source systems?
- When should the timeline graduate from admin-web into a user-facing home surface?
9. Acceptance Criteria
- The two phase-1 golden flows can be rendered in one unified timeline.
- Timeline items can link back to underlying artifacts and source products.
- Users can tell which outputs were created automatically vs manually.
- Approval and trust transitions can be surfaced when relevant.
10. Implementation Checklist
- define timeline item contract
- define event-to-timeline inclusion rules
- define artifact linking behavior
- define noise filtering rules
- define phase-1 UI hosting choice
- define verification flow using golden paths
Commits:
7a86a76drafted the initial version3f2482badded the baselineTimelineItemschema and event-to-timeline aggregator617d970tracked timeline hardening as remaining work