# Separate model extraction development check — 2026-09-24

Browser Use documents a separate `page_extraction_llm` that can use a smaller model than the main Agent. Tablaze already had deterministic DOM field extraction and a provider-neutral, quote-checked aggregation API. This stage adds `extractWithPlanner` and the `tablaze-extract` command so an explicitly selected Codex, Anthropic, Ollama, or compatible model can supply a candidate to the existing validator. It does not yet route Agent page extraction to that model automatically.

The local test suite uses a real Chrome page with two offers. `tab_extract` reads visible text from the page; a scripted HTTP model supplies the Lisbon record. The validator checks the JSON Schema and binds both citations to exact substrings of the observed text. Separate tests reject a fabricated quote, a string where the schema requires a number, a non-submission decision, and multiple submissions. A Codex protocol fixture checks the same tool contract. These are control-flow and browser-source tests, not paid-model accuracy measurements.

A separate visible smoke ran the installed `codex-cli 0.155.0-alpha.9.2` with `gpt-6-astra`, medium reasoning, over one synthetic source: `City: Lisbon. Price: 25 EUR. Another offer: Porto 15 EUR.` The output passed the schema requiring `{city:"Lisbon",price:25}` and returned exact quotes for both leaves. The [raw validated JSON](evidence/model-extraction-codex-live-20260924.json) records **1/1** accepted result, one inference call, **14.757 s** reported model latency, **9,377 input / 86 output tokens**, and no fabricated token count. The Codex CLI wrapper contributes substantial prompt overhead, so this single small example does not show a cost or speed advantage. The source URL was synthetic and was not fetched in this smoke. Raw-output SHA-256: `98941e1ba51e03b7f6c8b1d9623bcb5a89cfdff98b2f04d63a4d03cc4fee79c4`.

Remaining acceptance: integrate the separate model into the Agent's page workflow, test longer and adversarial sources with independent semantic judging, and compare task success, time and actual provider charges against a pinned Browser Use run. Exact quote presence alone does not prove that a quote supports a claim.

The [complete Node 24 + Chrome development log](evidence/development-tests-model-extraction-node24.txt) records **521/521** passing tests (SHA-256 `d8b1d156918c1de5f870aef941ea4fdb3cb75b4c4e839aa1f9d5155ad78e2501`). A package dry run includes `dist/model-extraction.js` and the `dist/extract-cli.js` binary. These checks cover packaging and regression behavior, not npm publication.
