The StandupScreen already renders drift + plan + nag from real data (standup-view, #52), but the agent's query_projectstandup 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.
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The StandupScreen already renders drift + plan + nag from real data (
standup-view, #52), but the agent'squery_projectstandup view was anotImplementedstub — so Reginald couldn't answer standup questions from deterministic data.Implements
standupView(snap, asOf):All deterministic; the model narrates, never computes. Added
standupto thequery_projecttool'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