Skip to content

Agent raise-hand: observe turns that may only propose (one-tap approve)Β #382

Description

@gbasin

Idea

When a session's thread gets new human messages while the agent is idle, give the agent a cheap observe turn: it may only emit a compact proposal chip β€” e.g. "πŸ’‘ I could fix this β€” run?" β€” which a human one-taps to approve (approve = real steer turn). It never acts or posts prose uninvited.

Why

  • Preserves the converged overhear + explicit address model (agents read everything via ~/context/channel/chat.md but only get turns when addressed) while adding consent-preserving proactivity.
  • Field research (2026-07): the winning proactive pattern everywhere is proposal object where the accept action already lives (incident.io "Code it up" button, Sentry Seer stopping-point dial, draft-in-drafts-folder). Nobody ships this inside team chat β€” unclaimed.

Sketch

  • Trigger: N new thread messages while session idle > X (debounced), budget-capped per hour (Devin-style rate caps).
  • Runtime: new turn kind ("observe") whose only allowed output is a structured proposal (title + one-liner + proposed steer text); rendered as a chip on the session's activity row, not a message.
  • Approve = sends the proposed steer as a normal turn (attributed "suggested by agent β€” accepted by "); dismiss teaches nothing in v1.
  • Guardrails: never fires in channels the session isn't bound to; per-session toggle default ON for spawner, mutable by driver.

Depends on

The agent-mode composer / thread-attached session work (steer-from-thread, activity ticker) currently in flight.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions