Commit Graph

  • 5dd4230251 fix(replay): derive device space from screen extent, not first node pj 2026-07-13 14:14:32 +05:30
  • e6b9f6db3c feat(folio): show current balance on the add-transaction screen pj 2026-07-13 12:55:38 +05:30
  • 133ce17d72 fix(verifier): skip llm enumeration on cross-fade frames pj 2026-07-13 09:02:16 +05:30
  • c9e0f6a366 fix(runner): accept chosen_action echo that carries the weight suffix pj 2026-07-13 08:22:01 +05:30
  • 938b2cb714 test(runner): cover weight-suffixed echo and stripWeightSuffix pj 2026-07-13 08:21:49 +05:30
  • b65b8373e6 fix(verifier): label editable fields by hint, not the typed value pj 2026-07-13 08:21:49 +05:30
  • 9845b89173 feat(folio): drive spec.ts under --generator llm; drop spec-llm.ts pj 2026-07-13 07:27:51 +05:30
  • 98483926a6 refactor(verifier): drop the superseded AllCandidates enumeration pj 2026-07-13 07:25:02 +05:30
  • 17a0cd5fe5 test(runner): cover choice schema, strict-skip, and setup precedence pj 2026-07-13 07:23:21 +05:30
  • 37bdf59cbd feat(runner): llm picks one number from weighted candidates pj 2026-07-13 07:23:21 +05:30
  • 75aa1eefd6 feat(trace): record llm choice number and chosen_action echo pj 2026-07-13 07:23:21 +05:30
  • 0ead53757c refactor(llmclient): make JSONSchema.Schema raw json for pinned field order pj 2026-07-13 07:23:21 +05:30
  • 08e588a79f test(verifier): cover SetupAction setup-only precedence pj 2026-07-13 07:16:57 +05:30
  • 2dea0e57d4 feat(verifier): add SetupAction to walk setup without the seeded root pj 2026-07-13 07:16:57 +05:30
  • bf983266ed test(verifier): cover candidate enumeration walk pj 2026-07-13 07:14:59 +05:30
  • dcbe9e1a00 feat(verifier): enumerate llm candidates by walking actionsRoot pj 2026-07-13 07:14:59 +05:30
  • 46526f8014 test: cover --generator flag parsing and pickSources gating pj 2026-07-13 07:07:06 +05:30
  • 5b7a71358c feat(cmd): add --generator llm|seeded flag pj 2026-07-13 07:07:06 +05:30
  • c7402e8f7d feat(runner): gate llm source on --generator flag pj 2026-07-13 07:07:06 +05:30
  • dcf7c4a02a feat(verifier): read llm config off globalThis.generator pj 2026-07-13 07:05:11 +05:30
  • aa67d7ddcf feat(bundler): map generator export to globalThis.generator pj 2026-07-13 07:02:56 +05:30
  • c38c21dea1 docs(folio): describe app in llm spec instructions pj 2026-07-13 07:02:17 +05:30
  • 637f89ab08 feat(runner): append spec instructions to llm system prompt pj 2026-07-13 07:02:17 +05:30
  • d9d206ee00 feat(verifier): read llm instructions off config pj 2026-07-13 07:02:17 +05:30
  • 5fb01af59c feat(spec): llm() accepts optional instructions pj 2026-07-13 07:02:17 +05:30
  • 25ddf7d29e revert(runner): drop selector-first tap; broke path/testTag selectors pj 2026-06-18 11:56:28 -04:00
  • 39ccd5c7bf fix(runner): tap by selector to survive layout shift after observe pj 2026-06-18 11:50:43 -04:00
  • 1916bd9eea feat(runner): stamp llm ranked list and chosen rank on trace pj 2026-06-18 11:48:51 -04:00
  • 84adc0f177 feat(trace): record llm ranked list and chosen rank pj 2026-06-18 11:47:39 -04:00
  • 721a68e97b react blr talk presentation pdf react-blr-talk pj 2026-06-14 07:21:40 +05:30
  • 9b4c6707ab react blr talk presentation pj 2026-06-14 07:17:15 +05:30
  • fed3345325 fix(runner): explain action kinds in llm prompt to stop swipe loops pj 2026-06-12 11:18:03 +05:30
  • 7a7672a354 docs: add pr style rules to claude.md pj 2026-06-12 10:53:08 +05:30
  • ede495d935 docs: both api keys, example model gpt-5.4-nano pj 2026-06-12 10:52:14 +05:30
  • 3ca0e9a5b9 refactor(runner): rename openrouter package to llmclient pj 2026-06-12 10:52:14 +05:30
  • 8eabaaa842 feat(llmclient): support OPENAI_API_KEY, openrouter wins pj 2026-06-12 10:52:14 +05:30
  • 2bd40cc4ee docs(folio): document the LLM action backend run pj 2026-06-12 10:37:58 +05:30
  • db4113ce37 docs(folio): add llm action-backend example spec pj 2026-06-12 10:37:58 +05:30
  • da4a6f1d9f test(runner): cover llmSource selection, mapping, downscale pj 2026-06-12 10:36:19 +05:30
  • 8164971e0e feat(runner): wire llmSource selection and trace stamping pj 2026-06-12 10:33:20 +05:30
  • ad6b78c9bf feat(runner): llmSource selects actions via OpenRouter pj 2026-06-12 10:33:20 +05:30
  • bae2ca6e8d feat(runner): thread step screenshot into PushSnapshot pj 2026-06-12 10:29:56 +05:30
  • 1b3545abb2 feat(trace): record action Source and LLMReasoning pj 2026-06-12 10:29:09 +05:30
  • 58c9bb42e1 test(verifier): cover AllCandidates, LLMConfig, SampleInput pj 2026-06-12 10:28:54 +05:30
  • 276734cad0 feat(verifier): LLM accessors — candidates, config, sampler pj 2026-06-12 10:28:54 +05:30
  • 8d5f30c0ea feat(verifier): thread screenshot + capture corpus sampler pj 2026-06-12 10:27:25 +05:30
  • 2de3d79baa test(openrouter): cover request shape, parse, and errors pj 2026-06-12 10:26:41 +05:30
  • 3df8015e7e feat(openrouter): minimal chat-completions client pj 2026-06-12 10:26:41 +05:30
  • 71afe0c914 feat(spec): expose __sanderlingSampleInput__ corpus draw pj 2026-06-12 10:25:51 +05:30
  • 6a084b6740 feat(spec): make llm marker inert on the JS picker pj 2026-06-12 10:25:51 +05:30
  • e30ed6f7ed feat(spec): add llm() action-backend marker pj 2026-06-12 10:25:51 +05:30
  • 6b0d6cb971 WIP: Drive physical Android devices over USB (#67) pj 2026-06-11 10:10:05 +05:30
  • 9597433cc0 style(sidecar): trim non-load-bearing comments from this PR's driver code and tests android-physical-device pj 2026-06-11 09:45:29 +05:30
  • 724230e8bb style(runner): trim non-load-bearing comments from this PR's runner code and tests pj 2026-06-11 09:45:29 +05:30
  • 6d538e7594 refactor(android): remove unused AdbReverse/AdbReverseRemove pj 2026-06-11 09:39:56 +05:30
  • 80603446a3 perf(sidecar): reuse a single Jackson ObjectMapper pj 2026-06-11 09:33:15 +05:30
  • 75281d8e16 refactor(runner,android): drop unused bringToForeground return; grep no-match yields empty pj 2026-06-11 09:32:12 +05:30
  • c61114b2bb test(runner): make focusTapSettle injectable so apply tests don't sleep 250ms pj 2026-06-11 09:31:08 +05:30
  • b7d624662b fix(sidecar): default reinstallApp in SetClearStateReinstall; cover non-android clear pj 2026-06-11 09:29:16 +05:30
  • 4c931635d7 perf(verifier): memoize scopedElements per tree pj 2026-06-11 09:28:35 +05:30
  • d3182239dc refactor(android): move PrepareDevice doc onto it; extract tested wakeCommands pj 2026-06-11 09:27:35 +05:30
  • 600fb71c5b fix(android): require --device when several devices are connected pj 2026-06-11 09:26:01 +05:30
  • 194866511f fix(conformance): pin self-test p95 budget and score install failures as run failures pj 2026-06-11 09:24:40 +05:30
  • e7f7afcf32 fix(sidecar): harden android driver open, input guard, pressKey, foreground marker pj 2026-06-11 09:23:41 +05:30
  • d45f5d4869 test(runner): cover apply-time foreground skip and appIsForeground table pj 2026-06-11 09:17:51 +05:30
  • 663f9e7180 fix(runner): apply-time guard consults focused window, not just resumed activity pj 2026-06-11 09:17:44 +05:30
  • 72a0c1c26e fix(runner): translate gesture to safe area so near-top scrolls keep direction pj 2026-06-11 09:14:06 +05:30
  • 84c0041d84 feat(format): add make fmt targets for per-language 80-col formatting pj 2026-06-11 08:55:16 +05:30
  • 6404626869 chore(format): add swift-format config with 80-char lineLength pj 2026-06-11 08:55:16 +05:30
  • 5094f333af chore(deps): add prettier devDependency to spec package pj 2026-06-11 08:55:16 +05:30
  • fe67273c4c chore(deps): add prettier devDependency to folio-web pj 2026-06-11 08:55:16 +05:30
  • e406d8f3c9 chore(deps): add prettier devDependency to replay-ui pj 2026-06-11 08:55:16 +05:30
  • c7fcdc8085 chore(format): add prettier config with 80-char printWidth pj 2026-06-11 08:55:16 +05:30
  • 4026b62b3e chore(format): add .editorconfig enforcing 80-column limit pj 2026-06-11 08:55:16 +05:30
  • 25f5750bc9 refactor(runner): narrow gesture clamp to the top shade strip pj 2026-06-11 08:39:44 +05:30
  • 4edbdf4896 chore: ignore gate artifacts and local scratch files pj 2026-06-11 08:35:49 +05:30
  • 77aa6778c3 fix(android): type long ASCII via fast guarded path to stop keystroke escape pj 2026-06-11 08:05:51 +05:30
  • 3f8c6018f6 fix(runner): re-check foreground at apply time, skip stale actions pj 2026-06-10 21:53:21 +05:30
  • 505367f42b refactor(verifier): scope action candidates by window ownership pj 2026-06-10 21:53:21 +05:30
  • 71b521fa1d fix(sidecar): keep a leading dash off the fast input path pj 2026-06-10 21:21:20 +05:30
  • ee3dd480b7 style(cli): gofmt testOptions field alignment pj 2026-06-10 21:19:31 +05:30
  • 5e020615ff test(verifier): cover keyboardRegionTop, including the decor-view guard pj 2026-06-10 21:19:31 +05:30
  • 896cfc2cb5 fix(runner): restore scrollBounds doc; cover destination clamp and screenBounds pj 2026-06-10 21:19:31 +05:30
  • c48b13f304 fix(android): target the selected device in adb reads; don't strand nav mode pj 2026-06-10 21:19:30 +05:30
  • 542bf11a02 feat(android): force 3-button nav during runs to prevent app drift pj 2026-06-10 18:59:23 +05:30
  • 229f015281 web replay fix pj 2026-06-10 18:50:28 +05:30
  • 4ace78c36b chore(conformance): widen android G5 budget to 5500ms pj 2026-06-10 18:10:00 +05:30
  • 38618285c9 fix(sidecar): retry maestro android driver startup pj 2026-06-10 18:09:59 +05:30
  • 79275a792f chore(conformance): platform-aware G5 p95 budget for android pj 2026-06-10 16:53:12 +05:30
  • 419665100b perf(runner): replace focus-tap settle with a brief wait pj 2026-06-10 16:53:12 +05:30
  • 41955d5635 fix(verifier): exclude soft-keyboard region from action candidates pj 2026-06-10 16:53:12 +05:30
  • 02cd0983f5 perf(sidecar): faster Android text input and drop redundant settle poll pj 2026-06-10 16:04:50 +05:30
  • 9c9d3c934e fix(runner): clamp swipe/scroll origin out of edge gesture zones pj 2026-06-10 15:43:53 +05:30
  • d965ed4575 chore(folio): pass --android-app-path in just test pj 2026-06-10 15:20:41 +05:30
  • 921ecb910e feat(cli): add --android-app-path for clear-state reinstall pj 2026-06-10 15:20:41 +05:30
  • 015f619693 feat(driver): clear-state via APK reinstall when pm clear is blocked pj 2026-06-10 15:20:33 +05:30
  • 300af1305e feat(android): harden physical-device runs in device prep pj 2026-06-10 15:20:25 +05:30
  • da7557ac0b fix(runner): harden app-scope guard against launcher and overlays pj 2026-06-10 15:20:18 +05:30
  • f9aa44f7e8 fix(verifier): require positive bounds for swipe candidates pj 2026-06-10 15:20:10 +05:30
  • 4cf8626cb9 fix(android): make device prep best-effort so OEM-blocked commands don't abort the run pj 2026-06-10 12:08:49 +05:30