---
seed: SEED-002
created: 2026-05-10
title: Capsule project-status — psmux popup of latest work + do-next from commune metadata
area: capsule
milestone: v1.9
status: planted
---

## Idea

Extend live-agent commune/echo-commune payloads with two structured lists:

1. **Latest work** — 3-5 items, broad-stroke descriptions only (no fine detail). What the agent has been doing recently at a project-narrative level.
2. **Do next** — 1-3 items. Concrete next actions the agent (or a human resuming) should take.

Surface these on capsule entry:

- **New capsule session boot** → automatically render `latest_work` + `do_next` in a psmux popup (dialogue box / display-popup feature) so the user lands with situational awareness *before* engaging the agent.
- **On-demand recall** → user types `/spt:project-status` (or similar skill); agent runs an `owl.exe` subcommand that re-triggers the same popup against the current capsule session.

## Why this matters

Today, capsule re-entry is cold: user has no view into where the agent left off without engaging it directly (which costs a turn). A psmux popup is project-status-as-OS-affordance — zero friction, zero token cost, glance-and-go. The agent already builds this context internally for Psyche; promoting two lightweight structured fields to the popup makes that context a first-class user surface.

The on-demand variant means the popup is also a "what was I doing here?" recall tool any time during a session, not just at boot.

## Trigger conditions (when to plant → todo/phase)

Promote out of seed status when **any** of:

1. **Capsule launch UX work begins** — Phase 19 (Sendkeys Foundation & Capsule Launch) entering planning is the natural slot.
2. **psmux popup feature confirmed available** — verify `display-popup` / dialog primitives exist in the bundled psmux build and are callable from `owl.exe`.
3. **Commune schema change scheduled** — adding `latest_work` + `do_next` to commune frames is a wire-format addition; bundle with any other commune-frame change to avoid double-migration.

## Open design questions

- **Where do the lists live?** Embedded in commune frame? Separate `project_status.json` updated each commune? (separate file is simpler to read at popup time without parsing full commune log)
- **Who writes them?** Self instructed via SKILL.md to include both lists every commune? Psyche derived from commune history? Hybrid (Self proposes, Psyche compresses)?
- **Granularity of "latest work":** session-scoped, day-scoped, all-time-with-decay?
- **Popup mechanism:** psmux `display-popup -E` (interactive) vs `display-message` (statusline blip) vs custom popup window. Display-popup likely right for multi-line lists.
- **Boot detection:** how does capsule know "this is a fresh session" vs reattach? Tie-in with 2026-04-13 capsule reattach todo + SEED-001 selector.
- **`/spt:project-status` skill shape:** runs `$OWL project-status` (new subcommand) → reads `project_status.json` → fires psmux popup via `display-popup`. Stays inside owl.exe boundary so skill is portable.
- **Empty state:** brand-new project with no commune history → popup says "no status yet, do something then commune".
- **Multi-agent capsule:** which agent's status? Active agent? All agents? Selector?

## Related

- SEED-001 (capsule interactive agent selector) — same project-context surface; popup could share rendering code with selector list.
- 2026-04-18 todo (track project root + HEAD SHA in commune/signoff) — same theme of enriching commune metadata for resume context. Bundle.
- 2026-04-13 todo (capsule reattach existing psmux session) — fresh-vs-reattach detection feeds the boot-popup trigger.
- 2026-05-09 todo (SessionStart inject psyche-download into live listener) — Self-side equivalent (agent gets context); this is user-side equivalent (user gets context).
- v1.9 Phase 19: Sendkeys Foundation & Capsule Launch — natural home.
