Skip to content

Feat/agon everywhere#234

Merged
cukas merged 3 commits into
mainfrom
feat/agon-everywhere
Jun 24, 2026
Merged

Feat/agon everywhere#234
cukas merged 3 commits into
mainfrom
feat/agon-everywhere

Conversation

@cukas

@cukas cukas commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Answers "why maxsteps, why not goal?": the turn now ends when the GOAL is met,
the agent is blocked, or it's STUCK — not at an arbitrary step count.

- MAX_AGENT_STEPS 8 → 30, reframed as a far safety BACKSTOP, not the operative
  limit. An 8-step ceiling killed any task needing more (the "reached the step
  limit" stop). Real terminators are now: a genuine final answer (goal met),
  blocked, or the no-progress detector.
- No-progress detector (the old narration budget, generalized): gives up only
  after MAX_NO_PROGRESS_STEPS *consecutive* non-advancing replies, reset on every
  real DISTINCT tool call — so a long, genuinely-progressing browse is never
  killed for narrating/deferring earlier in the turn (the minimax mid-task stop).
- Identical-action LOOP detection: a tool call identical to the previous one is
  not progress — it's blocked (NOT re-executed, so the user is not re-prompted for
  the SAME approval — the double-approval bug), nudged to try something else, and
  stopped if it persists.
- DEFERRAL is now a non-agentic stall too: "How would you like me to proceed?" /
  a menu of options is caught (looksLikeDeferral) and nudged to decide and act.
- System prompt gains an AUTONOMOUS directive: decide and act, never ask the user
  how to proceed or for permission (the approval gate handles consent), finish the
  task and return the RESULT.

Tests: deferral detect+nudge, reset-on-progress completion, identical-loop stop
(no re-approval), distinct-call backstop past the old 8-step cap. 37 green.

Restart `agon serve` (or re-open the panel) to pick it up.

⚔️ Forged by [Agon](https://github.com/KERNlang/agon)

Co-Authored-By: agon (KERN) <292465531+KERN-Agon@users.noreply.github.com>
…o done

renderAgentTranscript now presents the user's request as "YOUR GOAL — keep
working until this is fully achieved" and re-sends it every step (the engine is
stateless in exec mode), closing each step with "you are NOT done until the GOAL
is met — act, or give the actual RESULT, never a question back." Keeps a weak
engine locked on the objective ("show me jobs that fit me") instead of doing one
thing and drifting or stopping. Pairs with the autonomous/no-deferral prompt and
the progress-driven loop.

⚔️ Forged by [Agon](https://github.com/KERNlang/agon)

Co-Authored-By: agon (KERN) <292465531+KERN-Agon@users.noreply.github.com>
…f flailing

The served brain would spin to the 30-step backstop on a long page: it re-screenshot/re-readPage the SAME view (no way to move) and re-clicked the same controls, never reaching the task. Two architectural fixes (not just prompts):

1) Re-view detector: a read-only tool that returns the IDENTICAL text for the SAME tool+input is a re-view — it gets a prepended NO-CHANGE note AND counts toward the no-progress budget, so the screenshot↔readPage flail now STOPS as 'stuck' in a few steps. noProgress resets only on REAL progress (a SUCCESSFUL mutating action, or a read revealing NEW content); opaque screenshots are neutral; read snapshots clear after a mutation. 2) System prompt gains a top-to-bottom long-page working strategy (read a section, act, SCROLL, repeat; never re-view the same screen).

Pairs with the extension's new scroll tool. +1 regression test proving the re-view loop now terminates instead of running to the backstop (39 pass).

⚔️ Forged by [Agon](https://github.com/KERNlang/agon)

Co-Authored-By: agon (KERN) <292465531+KERN-Agon@users.noreply.github.com>
@cukas cukas merged commit 2254f52 into main Jun 24, 2026
2 checks passed
@cukas cukas deleted the feat/agon-everywhere branch June 24, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants