Skip to content

Emergent Lifebooks: per-Lifebook briefing partitions #320

@jayzalowitz

Description

@jayzalowitz

Parent epic: #193

Context

The briefing generator runs daily and produces a single global briefing per user. With Emergent Lifebooks (#193 Child 1 shipped via #242), each user has 3-N detected life domains with their own wings, signals, and capability sets. A single global briefing doesn't surface the per-domain texture.

Scope

Partition the daily briefing into per-Lifebook sections, with a global "across all your domains" header that summarizes cross-cutting items, then sections per domain ordered by importance.

  • Briefing generator pulls signals and decision history per wing rather than globally
  • briefing-prose prompt gets a lifebook input variable so prose adapts per domain ("In Health this week, you had 2 appointments and skipped 4 walks…")
  • Briefing schema grows a sections: [{ lifebookId, prose, evidence }] field; the global prose stays as the lead-in
  • Falls back to single-section global briefing when no Lifebooks exist (new user)

Acceptance criteria

  • Briefing generator partitions signals by wing/lifebook before invoking the prose prompt
  • briefing-prose prompt accepts lifebook context; eval fixtures cover health-shaped, project-shaped, hobby-shaped sections
  • Briefing API response includes sections[] with per-Lifebook prose and evidence
  • Web dashboard renders the partitioned briefing (collapsible per-Lifebook sections)
  • Mobile briefing screen mirrors the partitioning (ties into Capability loop #G: Mobile parity (Capabilities + Briefing + voice + push) #179)
  • Falls back gracefully when user has no Lifebooks yet

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    capability-loopCapability Acquisition Loop epic + children (OSS launch v1)enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions