query_project: implement the standup view (#28) #56

Merged
christian merged 2 commits from feat/standup-query-view into main 2026-07-09 21:53:47 +00:00
Owner

The StandupScreen already renders drift + plan + nag from real data (standup-view, #52), but the agent's query_project standup view was a notImplemented stub — so Reginald couldn't answer standup questions from deterministic data.

Implements standupView(snap, asOf):

  • plan — the scheduler's earliest pick per person, each with a why (critical path / what it blocks / dependency+priority order).
  • drift — real overnight anomalies only: issues sitting in review, or steeping past their estimate.
  • nag — the single stalest (longest-steeping) open issue + what it blocks.

All deterministic; the model narrates, never computes. Added standup to the query_project tool's view enum + description.

Acceptance — standup surfaces schedule drift + at least one stale blocker, and stays calm (no nag, empty drift) when nothing is steeping. +2 core tests; typecheck clean.

🤖 Generated with Claude Code

The **StandupScreen** already renders drift + plan + nag from real data (`standup-view`, #52), but the agent's `query_project` **standup** view was a `notImplemented` stub — so Reginald couldn't answer standup questions from deterministic data. Implements `standupView(snap, asOf)`: - **plan** — the scheduler's earliest pick per person, each with a *why* (critical path / what it blocks / dependency+priority order). - **drift** — real overnight anomalies only: issues sitting in review, or steeping past their estimate. - **nag** — the single stalest (longest-steeping) open issue + what it blocks. All deterministic; the model narrates, never computes. Added `standup` to the `query_project` tool's view enum + description. **Acceptance ✅** — standup surfaces schedule drift + at least one stale blocker, and stays calm (no nag, empty drift) when nothing is steeping. +2 core tests; typecheck clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
christian added 1 commit 2026-07-09 19:33:36 +00:00
The StandupScreen already renders drift + plan + nag from real data (standup-view,
#52), but the agent's query_project standup view was a `notImplemented` stub, so
Reginald couldn't answer standup questions from deterministic data.

Implement `standupView(snap, asOf)`: today's plan (the scheduler's earliest pick
per person, with why — critical path / blocks / order), overnight drift (real
anomalies: issues sitting in review, or steeping past their estimate), and the
single stalest blocker to nag about (+ what it blocks). All deterministic; the
model narrates. Added 'standup' to the query_project tool's view enum.

Acceptance met: standup surfaces schedule drift + at least one stale blocker
(and stays calm — no nag, empty drift — when nothing is steeping). +2 core tests;
typecheck clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
christian added 1 commit 2026-07-09 21:53:35 +00:00
christian merged commit 345b561591 into main 2026-07-09 21:53:47 +00:00
Sign in to join this conversation.
No description provided.