Why
The /info slash command currently renders a fixed 5-hour project overview (events, clusters, services, suggested actions) anchored to now. There is no way for the user to ask the same question for an arbitrary window — e.g. what did this project look like at 03:00 last night? or what happened in the last 24h? They have to fall back to chat or Deep Research for a question the overview endpoint already supports.
Scope (in)
- Slash command accepts an optional time argument:
/info 1h, /info 24h, /info yesterday, /info 2026-06-13T03:00.
- Argument is parsed in the UI (or passed through verbatim) and forwarded as the
window= query string to the existing GET /projects/{id}/overview endpoint, which already accepts arbitrary windows via parse_window.
ProjectOverview already handles the response shape; no React tree changes beyond reading the new arg.
- Update
CommandPicker.tsx description to reflect the new arg (e.g. /info [window] — show project overview, optional window like 1h, 24h).
- Bare
/info (no arg) keeps current behaviour.
Scope (out)
- A separate
/timeline command — explicitly rejected; this is just /info with a window.
- Service filtering in the slash command — pursue separately if needed (the overview endpoint already supports it).
Acceptance
/info 1h renders the overview for the last hour.
/info 24h renders the overview for the last day.
/info (no arg) renders the existing default.
- Invalid argument shows an inline error message, does not crash the chat surface.
Files
web/components/chat/CommandPicker.tsx — update description.
web/app/page.tsx — parse the arg from command string and pass through.
web/components/projects/ProjectOverview.tsx — accept optional window prop, forward to API call.
web/lib/api.ts — projects.overview(projectId, window?).
repi/api/projects.py — no change (endpoint already accepts window).
Why
The
/infoslash command currently renders a fixed 5-hour project overview (events, clusters, services, suggested actions) anchored to now. There is no way for the user to ask the same question for an arbitrary window — e.g. what did this project look like at 03:00 last night? or what happened in the last 24h? They have to fall back to chat or Deep Research for a question the overview endpoint already supports.Scope (in)
/info 1h,/info 24h,/info yesterday,/info 2026-06-13T03:00.window=query string to the existingGET /projects/{id}/overviewendpoint, which already accepts arbitrary windows viaparse_window.ProjectOverviewalready handles the response shape; no React tree changes beyond reading the new arg.CommandPicker.tsxdescription to reflect the new arg (e.g./info [window]— show project overview, optional window like1h,24h)./info(no arg) keeps current behaviour.Scope (out)
/timelinecommand — explicitly rejected; this is just/infowith a window.Acceptance
/info 1hrenders the overview for the last hour./info 24hrenders the overview for the last day./info(no arg) renders the existing default.Files
web/components/chat/CommandPicker.tsx— update description.web/app/page.tsx— parse the arg fromcommandstring and pass through.web/components/projects/ProjectOverview.tsx— accept optionalwindowprop, forward to API call.web/lib/api.ts—projects.overview(projectId, window?).repi/api/projects.py— no change (endpoint already acceptswindow).