Life Context · pack v0.2.0
Life Context
Dayze · founded by Luke Goh
Life Context is a structured, correctable record of your people, plans and days. Dayze makes it available to the AI tools you connect through MCP.
Each Dayze user's people, plans, and memories become a versioned pack that ChatGPT and other connected assistants read in one call — MCP tool get_context_pack (Dayze).
What Life Context is (and isn't)
Life Context is the private graph of a signed-in Dayze user — days lived, people, calendar, money signals, and memories — delivered as structured JSON so agents reason with the user's life, not a blank chat.
- Is: longitudinal life graph + day-accurate timeline + relationships (personal CRM), with a source on every fact you can inspect and correct.
- Is not: chat-transcript memory across AI tools, generic RAG over notes, or public Wikipedia scraping alone.
Machine-readable schema: /schemas/life-context-pack.v0.1.json. MCP server v1.60.2. Public notable-people packs are a separate catalog — not a substitute for a user's Life Context.
Example: a sourced, correctable fact
Ask your assistant “When did I last have coffee with Maya?” With a query, the pack returns question-aware facts. A person tagged on a calendar event comes back as a linked fact that points at its evidence:
{
"id": "event_people:<id>",
"kind": "event_person",
"text": "Maya was at "Coffee at Tiong Bahru" (…)",
"state": "completed",
"provenance": "stated",
"evidence_ref": "events:<uuid>",
"source_label": "tagged on the event"
}Every fact carries a record id, state, provenance, and a source_label; a name-only match says matched by name, not confirmed instead. Agents can call explain_fact for the evidence behind a claim. If something is wrong, fix the person or event in Dayze and the next pack reflects the correction; disputed and stale-unconfirmed facts are counted in omitted rather than served as current.
How an external AI integrates via MCP
When ChatGPT, Claude, or another connected assistant needs your personal context — to draft an email, plan a trip, or decide if you have budget room for a concert — it calls the Dayze MCP endpoint with the tool get_context_pack. Dayze authenticates the request (API key, OAuth, or share token), applies your scopes and privacy defaults (money and location stay opt-in; addresses stay coarse), and returns a structured context pack the model can reason over.
Example MCP JSON-RPC tools/call (real arguments):
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_context_pack",
"arguments": {
"include_money": true,
"include_relationships": true,
"include_memories": true,
"include_location": false,
"query": "budget room for a concert this week"
}
}
}- Opt-in slices:
include_money,include_location,include_places,include_trips— off by default for money / location / places / trips. - Default on:
include_relationships,include_memories(passfalseto omit). - Focus: optional
querypicks the question-awarefactsand steers memories;focussteers pack emphasis — not a faketime_rangefilter.
Endpoint: https://dayze.com/api/v1/mcp. Response is a versioned JSON pack (protocol + identity / pulse / who_matters / whats_next / memories / facts) plus a text summary for the chat UI — so the model can answer questions like “Look at my calendar and spending from last week and tell me if I have budget room to buy that concert ticket today.”
Top-tier pack
A Dayze-hosted pack is top-tier when every slice is current and personal — not a stale cache with blank identity or campaign leftovers. Nested field changes are patches; top-level keys are only ever added, as a minor bump (now 0.2.0).
- Identity complete: name, handle, birthday, age_days, timezone, location city/country (not an address dump), location_label for the long string. Zodiac derived from birthday.
- Pulse from last real check-in: mood and energy skip score-only rows for latest values. Streak counts a day if mood, energy, or score is present.
- Fresh pending: replies ≤ 7 days; expired birthday copy dropped; iMessage/WhatsApp above campaign drafts.
- Live trackers: no expired countdowns or zeroed streaks; small cap.
- Money summary:
whats_next.moneywith spend/income/top categories — no raw ledger dump. - Clean memories: user-authored / high-importance; public-notable junk filtered.
get_memoriesuses the same columns.
Pack fields
| Field | Contents |
|---|---|
| identity | Name, handle, age_days, birthday, timezone, location object, location_label string, zodiac — who the Dayze user is. |
| pulse | Latest mood and energy from the most recent check-in that actually recorded them (not a newer score-only row), plus streak. |
| who_matters | Favorites/VIP inner circle with relationship, recency-capped relationship_health, social edges, reach_out_suggestions, and online_finds (research only — not nudges). |
| whats_next | Today and week events, live trackers (no expired countdowns), goals, fresh pending replies (≤7 days), and money (30-day spend/income/top categories). |
| memories | User-authored / high-importance memories. Public-notable junk is filtered. Optional query focuses retrieval. |
| facts | Question-aware facts from the same assembler Dayze chat uses (family, names, dates, merchants). Each has a record id like people:<id>, state, provenance, and a source_label. Scoped to what the caller was granted. |
| omitted | Counts of facts left out by reason (budget, stale_unconfirmed, disputed, expired, …) so agents know what they did not see. |
| trace | fact_ids (always equal to facts[].id), selection_notes, caller, scope_key and token budget for the slice. |
Auth
- API key with scope
context—Authorization: Bearer dayze_k_… - OAuth 2.1 (Claude / ChatGPT MCP install) —
Bearer dayze_at_…after consent at/oauth/authorize - Share token (read-only;
get_context_packandget_life_graphonly) —Bearer dayze_share_…
Create and revoke all three under Settings → Agent access.
Quick call
curl -X POST https://dayze.com/api/v1/mcp \
-H 'Authorization: Bearer dayze_k_YOUR_KEY' \
-H 'Content-Type: application/json' \
-d '{"tool":"get_context_pack","parameters":{"query":"this week"}}'Full MCP install configs and public notable tools: /docs/agents · /ai · /AGENTS.md
Reading a Dayze context pack
Every pack includes a protocol object — protocol.name, protocol.version, protocol.schema — plus preferred_tool. These are wire fields for versioning the pack shape: new top-level keys are a minor bump, nested changes are patches. Validate against the JSON Schema at /schemas/life-context-pack.v0.1.json.