Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
75c8da9
[Deps] Require laya 0.3.9 and drop the local weight-init skip
cacheline999 Sep 27, 2026
4cccf98
[Deps] Move laya to 0.3.20, the version the served worker runs
cacheline999 Sep 30, 2026
162a37d
[Docs] Design and API spec for served Laya (#20)
cacheline999 Sep 30, 2026
61d6de9
[Feat] Add the laya-served decision model (#20)
cacheline999 Sep 30, 2026
d873bc2
[Feat] Offer laya-served wherever laya is offered (#20)
cacheline999 Sep 30, 2026
d82f5ce
[Feat] Record the answering model and served provenance in ticks (#20)
cacheline999 Sep 30, 2026
0b3d23c
[Docs] Document laya-served and how to run it (#20)
cacheline999 Sep 30, 2026
fb682ed
[Feat] Say when a served Laya is not up yet (#20)
cacheline999 Sep 30, 2026
073f2d4
[Docs] Ticket router: in-process against served Laya (#20)
cacheline999 Sep 30, 2026
9811906
[Docs] List the dev extra's spec-check packages in CONTRIBUTING (#20)
cacheline999 Oct 1, 2026
ff39ede
[Feat] Follow system1-omni#30's final worker (#20)
cacheline999 Oct 1, 2026
b67e822
[Fix] Read and write the served-Laya files as UTF-8 on Windows (#20)
cacheline999 Oct 1, 2026
39afcc0
[Fix] Keep the /health refresh inside the decision deadline; compare …
cacheline999 Oct 1, 2026
3a1712b
[Docs] Keep benchmark figures out of served-Laya code comments and er…
cacheline999 Oct 1, 2026
9c90f13
[Fix] Bound whole served-Laya requests; attribute only what /health d…
cacheline999 Oct 2, 2026
b4085a2
[Docs] Trim served-Laya comments to what the code does not say (#20)
cacheline999 Oct 2, 2026
e525471
[Fix] Follow the merged Laya worker: late checkpoint loads, /health f…
cacheline999 Oct 3, 2026
5f91f26
[Docs] Offer the late checkpoint load as a possible cause of a timeou…
cacheline999 Oct 3, 2026
d91f6f7
[Fix] Tie the served window to the checkpoint; say when this client c…
cacheline999 Oct 3, 2026
168b7f1
[Docs] Add each model's window to the target /health (#20)
cacheline999 Oct 3, 2026
95f44c4
[Fix] Fail on a LAYA_SERVED_MODEL the server routed itself (#20)
cacheline999 Oct 3, 2026
dd4e619
[Deps] Leave the laya extra as on main; the bump moves to its own PR …
cacheline999 Oct 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,13 @@ MODEL_NAME=google/gemini-2.5-flash
# LAYA_MAX_LEN=1024
# LAYA_HEAD_MAX_LEN=512 # raise for choice questions with many options

# ---- Served Laya (behind --model laya-served; a system1-omni worker or laya-serve, no extra needed) ----
# LAYA_SERVED_URL=http://127.0.0.1:8000 # the worker; :8080 for the omni-jev frontend
# LAYA_SERVED_MODEL=english
# LAYA_SERVED_API_KEY= # the worker's LAYA_API_KEY, when it sets one
# LAYA_SERVED_TIMEOUT_S=5 # per decision, the retry and any /health refresh included
# LAYA_SERVED_MAX_LEN=512 # the served checkpoint's window: english 512, multilingual 1024

# ---- Cua-S1 Nano (the in-process option scorer behind --model cua; needs `uv sync --extra cua`) ----
# CUA_S1_CHECKPOINT=cua-ai/cua-s1-nano-0.1 # a Hugging Face id, or a local directory holding <subfolder>/
# CUA_S1_SUBFOLDER=text # the text-only checkpoint; the window is 256 bytes of state
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); ver

### Added

- `--model laya-served`: Laya served over HTTP by system1-omni's worker (or plain laya-serve), on every front that
takes `laya`, in `decide` and in MCP `decide`. Configured by `LAYA_SERVED_URL` and optional `LAYA_SERVED_*`
variables; no cloud key. Run records name the served checkpoint, revision and device. Design, API spec and the
run steps: `docs/served-laya.md`, `docs/api/`.
- Tool-front ticks keep the answering model as `model`, and a served model's `served_by`, `url`, `request_id` and
`server_timing`.
- The MCP `decide` tool accepts `model="jev"|"laya"|"cua"`, defaulting to `jev`. Local backends use their
optional extras and need no Jev API key.
- `docs/benchmarks.md`: the Google Flights driver comparison rerun on 2026-09-23 from Poland, every arm three times on
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Everything outside `openjiuwen` is an extra. An agent whose extra is missing say
| `report` | pillow, playwright | `python -m evals.replay`, the showcase pages and GIFs; `--gif` also needs `uv run playwright install chromium` |
| `laya` | laya (torch, transformers) | `--model laya` on every agent and on `decide` and `probe`: Laya in process, no Jev key; the checkpoint downloads into the Hugging Face cache (`HF_HOME`) on first use |
| `cua` | cua-s1 (torch), huggingface-hub | `--model cua` on tool and browser agents and on `decide` and `probe`: Cua-S1 Nano in process; the 3 MB checkpoint downloads into the Hugging Face cache (`HF_HOME`) on first use |
| `dev` | pytest, pytest-asyncio, ruff, ty | the test suite, `scripts/smoke.sh` and the lint and type checks |
| `dev` | pytest, pytest-asyncio, ruff, ty, jsonschema, pyyaml, referencing | the test suite, `scripts/smoke.sh` and the lint and type checks; the last three check the served-Laya fixtures against `docs/api/` |

`uv sync --all-extras` installs all seven. The CLI runs from a checkout; a wheel install (`uv tool install`,
`pip install`) is unsupported, because the data folders (`evals/2048`, `evals/millionaire`, `evals/labelled`) sit
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ interface fits: [docs/architecture.md](docs/architecture.md), [docs/decision-mod
- [docs/agents.md](docs/agents.md): every agent with its flags, run command and extra.
- [docs/architecture.md](docs/architecture.md) and [docs/decision-models.md](docs/decision-models.md): the fronts, the model slot, the model interface, adding a backend.
- [docs/browser-front.md](docs/browser-front.md): the browser policy, decision by decision.
- [docs/served-laya.md](docs/served-laya.md): Laya served by system1-omni as a decision model over HTTP, with its [API spec](docs/api/laya-systemone.openapi.yaml).
- [docs/configuration.md](docs/configuration.md): environment variables, defaults and reader subsystems in one table.
- [docs/glossary.md](docs/glossary.md): terms the documentation glosses on first mention.
- [docs/why.md](docs/why.md): the problem, the philosophy, the precedents.
Expand Down
Loading
Loading