Skip to content

Releases: ZephyrDeng/ego-jev

v0.3.2 — fix table-cell label pairing

Choose a tag to compare

@ZephyrDeng ZephyrDeng released this 22 Sep 16:31

Fixed

  • parseSnapshot naming blind spot on table-layout forms (HN-style: label text in the preceding table_cell, not a sibling of the input). Unnamed textboxes all looked identical to Jev — it filled title then couldn't tell which field was url, answered none twice and went blocked. Unnamed nodes now take the nearest earlier-sibling subtree text, walking up ancestors.
  • Found by dogfooding: this exact path was exercised live submitting the project's own Show HN post. With the fix: fill title → fill url → click submit → done in 4 steps / 3.8 s.

Tests

  • New BDD regression case covering table-cell label pairing. 16/16 passing (npm test).

v0.3.1 — timings attribution + verify recheck

Choose a tag to compare

@ZephyrDeng ZephyrDeng released this 22 Sep 16:20

What's new

Richer timings attribution

  • llmCalls now records the served model, not just the requested alias: the typesafe backend reports body.model (e.g. jev-latest → jev-1.13.0), the gateway reports providerMetadata.gateway.routing.canonicalSlug. Response metadata rides back on the answers object under the exported ASK_META symbol.
  • Token usage captured per call (rec.usage) and summed into timings.tokens — formatTimings shows 41.2K tok in in the header.
  • timings.planner names the driving agent harness: pass options.planner ("devin/swe-2-high" or {agent, model}) for full attribution, or let env markers (AI_AGENT, CLAUDECODE, CODEX_HOME, …) identify the harness automatically.
jev timings · 3 steps · 3.90s total · llm 3 calls 2.26s (avg 753ms) · jev-1.13.0 · 30.9K tok in · planner devin/swe-2-high

Reliability

  • New verifyRecheckMs (default 400): when Jev claims done but verify fails, recheck once in the same step after a short grace — absorbs "done while navigation still commits" without spending another loop step + LLM call.
  • state.elements name/context clipped (80/60 chars): smaller Jev payload on heavy pages.
  • Fixed option_retry calls being recorded under the wrong kind.

Tests

  • vitest BDD specs (scripts/jev-loop.test.mjs): 15 cases covering every timings exit path, retry/option_retry kinds, served-model override, planner attribution, and verify recheck. npm test — pure Node, no browser or API key needed.

No changes to decision logic or confidence thresholds.

v0.3.0 — per-call latency timings

Choose a tag to compare

@ZephyrDeng ZephyrDeng released this 22 Sep 15:46

What's new

  • runJevLoop now records where every step's time goes. All exit paths (done / escalate / blocked / max_steps) return result.timings:
    • timings.llmCalls — one {seq, step, kind, ms, ok} per System One request, including decide-retry and option_retry calls, with ERR flags on failures
    • timings.steps — per-step phase breakdown: snapshotMs / domMs / askMs / actMs / verifyMs / stepMs
    • timings.totalMs / timings.llmMs — wall time and summed Jev latency
  • New formatTimings(result) export renders a compact per-step latency table to show the user after the loop:
jev timings · 3 steps · 155ms total · llm 3 calls 153ms (avg 51ms)

  #  op     target  snap  dom  llm   act  step
  1  fill   2       0ms   1ms  41ms  0ms  42ms  ▮▮▮▮▮▮▮▮
  2  click  Search  0ms   0ms  51ms  0ms  51ms  ▮▮▮▮▮▮▮▮▮▮
  3  done           0ms   0ms  61ms  -    61ms  ▮▮▮▮▮▮▮▮▮▮▮▮
  • SKILL.md / reference.md document the timings structure; selftest prints the table.

No behavior changes to the decision logic — instrumentation only.

v0.2.1

Choose a tag to compare

@ZephyrDeng ZephyrDeng released this 21 Sep 04:07

What's in v0.2.1

Docs polish release — the skill itself is unchanged from v0.2.0.

  • README homepage: banner, loop diagram, per-step latency table, sibling link to jev-ultrafast
  • SKILL.md: explicit requirements — ego lite, the ego-browser skill, and TYPESAFE_API_KEY or AI_GATEWAY_API_KEY in ~/.config/ego-jev/secrets.env
  • Listed on skills.sh

Install

npx skills add ZephyrDeng/ego-jev
# or
gh skill install ZephyrDeng/ego-jev

Offline smoke test (mock decider, no key):

cd skills/ego-jev && ego-browser nodejs < scripts/selftest.mjs

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@ZephyrDeng ZephyrDeng released this 21 Sep 03:36