Skip to content

docs: roadmap — evals first (v0.4), then Speed: fewer agent turns (v0.5)#26

Merged
karngyan merged 3 commits into
mainfrom
docs/roadmap-speed-phase
Jul 17, 2026
Merged

docs: roadmap — evals first (v0.4), then Speed: fewer agent turns (v0.5)#26
karngyan merged 3 commits into
mainfrom
docs/roadmap-speed-phase

Conversation

@karngyan

@karngyan karngyan commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Roadmap restructure: adds a Speed phase and puts evals before it.

  • Phase 2 — Proof: eval harness (v0.4) — moved up
  • Phase 3 — Speed: fewer agent turns (v0.5) — new
  • Phase 4 — Depth (v0.6), Phase 5 — Reach (v0.7+) — renumbered

Why evals first

The speed phase rewrites the agent-facing contract (error shapes, snapshot format, the skill's core loop). Without a baseline there's no way to prove a turn cut helped — or didn't regress correctness — except user bug reports. Build the ruler, then optimize. The eval fixture site (login wall, paginated table, form wizard) doubles as the testbed the speed primitives are developed against.

New in the eval phase: a Baselines bullet — every run records tool-calls / tokens / wall-clock per task; those numbers are what every speed item is measured against, and the regression tripwire after it lands.

The speed phase

Speed is measured in agent turns and tokens-per-turn, not wire latency — IPC is milliseconds, LLM inference between commands is seconds. Routine flow today: 5–6 turns.

Rejected: broad push/pre-analysis across tabs (debugger conflicts, wasted work on untouched tabs, reads sites before directed — violates the v0.3 permission tiers); REPL mode (harnesses are one-command-per-turn; the daemon already holds session state). Concurrency is a standing constraint: several agents drive several tabs through one daemon and there's no reliable session identity — so no daemon-side "current tab" state; acting commands error with the roster when more than one tab is driven, mirroring the multi-browser rule.

Ship-now, win-per-effort order:

  1. Every error is an observe — failures return the context the agent would ask for next
  2. Guarded chains — reins run with per-step expect: assertions, halt-with-delta; deterministic, not a mini-agent
  3. SKILL.md as a zero-code turn compiler (&& batching, API-before-DOM, don't re-snapshot unless told)
  4. Snapshot epochs + delta-by-default + structural compression (50× listitem {…})
  5. reins observe + anticipatory payloads on acting commands
  6. reins fill-form — deterministic matching, ambiguity = report not guess
  7. Explicit tab for acting commands, console/network digests, screenshot --if-changed / --ref crops

Phase-later: paginate, self-healing refs (audit-logged), per-site recipe cache (origin-exact, selectors-only, tier enforcement extension-side), closed-vocabulary semantic hints (enums the page can trigger but never author).

Shipping bar: Phase 2 baselines move in the right direction and execution evals stay green — a speed item that buys turns by regressing correctness doesn't ship.

🤖 Generated with Claude Code

karngyan and others added 3 commits July 18, 2026 02:17
Insert a new phase above evals: speed measured in agent turns and
tokens-per-turn, not wire latency. Pull-shaped only — broad push
pre-analysis across tabs is explicitly rejected (debugger conflicts,
wasted work, permission-tier violations), as is a REPL mode.

Ship-now list in win-per-effort order: error responses that embed the
next observation, guarded chains (reins run with per-step assertions),
SKILL.md turn-frugal patterns, snapshot epochs + deltas + structural
compression, reins observe + anticipatory act payloads, declarative
fill-form, sticky tab / digests / screenshot economics. Phase-later:
paginate, self-healing refs, per-site recipe cache, closed-vocabulary
semantic hints.

Renumber subsequent phases (evals v0.5, depth v0.6, reach v0.7+) and
move the old Phase 4 batch-mode bullet into Phase 2 as guarded chains.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Daemon-side sticky tab breaks under concurrency: several agents drive
several tabs through one daemon, and there is no reliable session
identity to scope a pin by (fresh process per command, no persistent
shell state across harness invocations) — agent A pins, agent B
re-pins, A acts on B's tab.

Fix the underlying hazard statelessly instead: acting commands stop
defaulting to the active tab and error with the roster when more than
one tab is driven, mirroring the existing multiple-browser rule. Read
commands keep the convenience default.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Build the ruler before optimizing: the speed phase rewrites the
agent-facing contract (error shapes, snapshot format, the skill's core
loop), and without a baseline there is no way to prove a turn cut
helped or didn't regress correctness. The eval fixture site is also
the testbed the speed primitives are developed against.

Eval phase gains a Baselines bullet (tool-calls / tokens / wall-clock
per task recorded on every run) and a note that trajectory assertions
track whatever SKILL.md currently teaches. The speed phase's shipping
bar becomes: baselines move, execution evals stay green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@karngyan karngyan changed the title docs: roadmap Phase 2 — Speed (fewer agent turns) docs: roadmap — evals first (v0.4), then Speed: fewer agent turns (v0.5) Jul 17, 2026
@karngyan
karngyan merged commit 1aa2fee into main Jul 17, 2026
2 checks passed
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.

1 participant