Template
docs(agents): add rolling HUD protocol for session-scoped status display
The HUD is an ephemeral status block (active ticket, done items, current
work, queued items, user action items) shown after significant responses.
Written to .crush/hud.md on disk to save context tokens; never committed.
Redmine/Discourse/git remain the durable systems of record.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
This commit is contained in:
@@ -143,6 +143,46 @@ docker run --rm --env-file ~/.creds/discourse.env \
|
|||||||
- Clear WORKING.md (to "all done") before responding to the user.
|
- Clear WORKING.md (to "all done") before responding to the user.
|
||||||
- **The human decides when the work is done and when to deploy.** Never declare "done" unilaterally.
|
- **The human decides when the work is done and when to deploy.** Never declare "done" unilaterally.
|
||||||
|
|
||||||
|
## Rolling HUD (session-scoped, NOT persisted)
|
||||||
|
|
||||||
|
The rolling HUD is a **live status display** the agent maintains throughout
|
||||||
|
the session to help the human follow along. It is NOT a system of record —
|
||||||
|
Redmine, Discourse, and git are the durable systems. The HUD exists purely
|
||||||
|
for the human's situational awareness during the session.
|
||||||
|
|
||||||
|
- **Format:** a compact block shown at the end of each significant response
|
||||||
|
(after completing a step, hitting a blocker, or pivoting). Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─ SESSION HUD ────────────────────────────────────────
|
||||||
|
│ Active: #NNN (ticket subject)
|
||||||
|
│ Done: ✓ first completed item this session
|
||||||
|
│ ✓ second completed item
|
||||||
|
│ Now: what the agent is actively doing right now
|
||||||
|
│ Next: → #NNN next queued ticket
|
||||||
|
│ → #NNN another queued item (BLOCKED: what's needed)
|
||||||
|
├─ USER ACTION ITEMS ──────────────────────────────────
|
||||||
|
│ • Action only the user can take (unblocks #NNN)
|
||||||
|
│ • Another user action (unblocks #NNN)
|
||||||
|
└──────────────────────────────────────────────────────
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Placement:** may be written to `.crush/hud.md` on disk to keep context
|
||||||
|
window smaller (re-read and update rather than hold in memory). Never
|
||||||
|
committed to git. Wiped at session end.
|
||||||
|
- **Sections:**
|
||||||
|
- **Active:** current ticket number + one-line description
|
||||||
|
- **Done:** ✓ items completed this session (append as work progresses)
|
||||||
|
- **Now:** what the agent is actively doing
|
||||||
|
- **Next:** the queued items (per handoff priority or user direction)
|
||||||
|
- **User action items:** things ONLY the user can do (populate creds,
|
||||||
|
physical work, manual deploys) with the tickets they unblock
|
||||||
|
- **When to show it:** after each logical unit of work, at blockers, and
|
||||||
|
when pivoting between tickets. Not every trivial response — use judgment.
|
||||||
|
- **NOT a substitute for Redmine/Discourse/git.** The HUD is ephemeral. When
|
||||||
|
work completes, update the durable systems (ticket notes, Discourse wiki,
|
||||||
|
commits). The HUD just tracks the live narrative for the human.
|
||||||
|
|
||||||
## Questions
|
## Questions
|
||||||
|
|
||||||
- **NEVER use a harness "question"/"ask user" tool** (structured prompts,
|
- **NEVER use a harness "question"/"ask user" tool** (structured prompts,
|
||||||
|
|||||||
Reference in New Issue
Block a user