pattern moderate impact

approval maximization

@agent_appr

approval maximization: agent behaviors that earn user approvals

distilled from 4,656 threads, 208,799 messages. focus: what AGENT BEHAVIORS (not user behaviors) correlate with approval.


the core insight

approvals cluster around state transitions. users approve when agents signal completion of a phase and request permission to proceed. the pattern:

agent: [completes work] → [explicit completion signal] → [asks about next phase]
user: "do it" / "ship it" / "commit"

NOT:

agent: [takes action without signaling] → [continues autonomously]
user: [steering or silence]

tier 1: highest-impact agent behaviors

1. CONFIRMATION BEFORE ACTION

47% of all steering messages are “no…” — flat rejections of agent actions. 17% are “wait…” — premature action.

maximize approvals by:

approval vocabulary this unlocks: “do it”, “yes”, “proceed”, “go ahead”

2. EXPLICIT COMPLETION SIGNALS

users can’t approve what they don’t know is done. most common approval triggers:

approval vocabulary this unlocks: “ship it”, “commit”, “push”, “good”

3. PHASE TRANSITION AWARENESS

approvals happen at boundaries:

maximize approvals by:

4. REMEMBERING USER FLAGS

concise_commander steering example: “DON’T ADD THE -race FLAG PLEASE” — agent added flag, user corrected.

maximize approvals by:

approval vocabulary this unlocks: approval by absence of steering


tier 2: high-impact agent behaviors

5. TERSE COMPLETION SUMMARIES

medium assistant responses (500-1000 chars) get best approval rates. verbose explanations trigger redirect.

pattern:

# bad (triggers steering)
"I've made the following changes to the codebase. First, I modified file X 
to handle case Y. This was necessary because Z. Additionally, I updated..."
[800 words]

# good (triggers approval)
"done. fixed the race condition by adding mutex in handler.go:45. 
tests pass. ready to commit?"

6. READ BEFORE RESPOND

when user provides file paths (@path/to/file), reading them BEFORE responding:

7. SPAWN 2-6 TASKS FOR PARALLEL WORK

78.6% success at 4-6 spawned tasks. over-delegation (11+) drops to 58%.

approval pattern: spawn returns → agent summarizes → user approves next phase

8. VERIFICATION BEFORE CLAIMING DONE

threads with verification (running tests, checking build) succeed 78% vs 61% without.

approval vocabulary this unlocks: “ship it” — confidence that work is validated


tier 3: moderate-impact behaviors

9. ACKNOWLEDGE STEERING, THEN DIVERGE

87% of steerings don’t cascade. the pattern:

user: "no, don't do X"
agent: "understood. doing Y instead." ← explicit acknowledgment
[proceeds with Y]
user: "good" ← approval

if 2+ consecutive steerings happen, agent should PAUSE and ask about approach change.

10. ORACLE AT PLANNING, NOT RESCUE

46% of FRUSTRATED threads reached for oracle vs 25% of resolved. oracle correlates with frustration because users reach for it when already stuck.

maximize approvals by:

11. SOCRATIC PACING FOR MARATHON THREADS

concise_commander pattern: “OK, what’s next?” — user controls pace.

maximize approvals by:


anti-patterns (approval killers)

behavioreffectapproval rate impact
acting without confirmationtriggers “no…” / “wait…”-47% of steerings are rejections
verbose explanationstriggers redirect-approval rate drops for >1000 char responses
ignoring user file refstriggers “read what I sent”-25pp success rate
weakening tests when stucktriggers frustration spiralescalates to profanity
asking permission for obvious actionstriggers “just do it” (annoyed)technically approval, but negative sentiment
open-ended questions backtriggers QUESTION not APPROVALno approval e@swift_solverd

approval vocabulary reference

phrasemeaningagent action that e@swift_solverd it
”ship it”commit and pushcompletion + verification
”do it”execute proposed planconfirmation before action
”commit”save to gitexplicit completion signal
”go on” / “continue”proceed to next steppartial progress shown
”ok [instruction]“approval + redirectphase transition point
”good” / “great”satisfied with workclean execution
”yes” / “yeah”affirmative responsepermission request

approval:steering ratio as health metric

ratiomeaningagent response
>4:1COMMITTED territorymaintain current approach
2-4:1RESOLVED territoryhealthy, continue
1-2:1caution zoneincrease confirmation frequency
<1:1doom spiralSTOP, ask about approach change

the approval maximization formula

approval_probability = 
    + (explicit_completion_signal × 3)
    + (confirmation_before_action × 2)  
    + (phase_transition_awareness × 2)
    + (file_refs_read_first × 2)
    + (terse_summary × 1)
    + (verification_run × 1)
    - (autonomous_action × 2)
    - (verbose_explanation × 1)
    - (ignoring_user_context × 2)
    - (consecutive_steering_ignored × 3)

implementation: what agents should do

  1. before every action: ask “does user expect this?” — if unsure, confirm
  2. after every completion: explicit signal + ask about next phase
  3. on user file refs: Read them FIRST before responding
  4. on steering: acknowledge explicitly, do NOT repeat behavior
  5. on 2+ steerings: STOP, meta-ask about approach
  6. on phase transitions: present decision point, wait for approval
  7. on flags/conventions: remember and preserve across thread

don_tickleski | synthesized from thread analysis corpus | 2026-01-09