Skip to main content

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 (pass false to omit).
  • Focus: optional query picks the question-aware facts and steers memories; focus steers pack emphasis — not a fake time_range filter.

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.money with spend/income/top categories — no raw ledger dump.
  • Clean memories: user-authored / high-importance; public-notable junk filtered. get_memories uses the same columns.

Pack fields

FieldContents
identityName, handle, age_days, birthday, timezone, location object, location_label string, zodiac — who the Dayze user is.
pulseLatest mood and energy from the most recent check-in that actually recorded them (not a newer score-only row), plus streak.
who_mattersFavorites/VIP inner circle with relationship, recency-capped relationship_health, social edges, reach_out_suggestions, and online_finds (research only — not nudges).
whats_nextToday and week events, live trackers (no expired countdowns), goals, fresh pending replies (≤7 days), and money (30-day spend/income/top categories).
memoriesUser-authored / high-importance memories. Public-notable junk is filtered. Optional query focuses retrieval.
factsQuestion-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.
omittedCounts of facts left out by reason (budget, stale_unconfirmed, disputed, expired, …) so agents know what they did not see.
tracefact_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_pack and get_life_graph only) — 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.

Open Agent accessAgents & MCPJSON Schema