From a clone, Nix supplies the development tools:
nix develop
just lint
just test
just checkjust lint checks Python, Nix, browser asset formatting, and JavaScript syntax.
just test runs the Python orchestration tests and Node frontend tests.
just check runs the flake checks, including the packaged website launcher.
These test the harness with temporary repositories and scripted agents, without
contacting models or running a target project's build.
Launch the development source with:
python -m lambda_harness --state-dir "/path/to/harness-state" --repo "/path/to/project"Without Nix, use uv run --locked pytest and uv run --locked ruff check . for
Python checks. Node runs node --test tests/web.test.cjs. Nix formatting and
flake checks still require Nix. Run uv lock when changing dependencies.
The default Nix package includes the website launcher and supported backend CLIs.
There are no per-provider harness executables or terminal workflow commands.
nix build builds the runnable website package; nix flake check validates it.
The shared Harness workflow owns checkpoints, gates, validation, and worktrees.
The HTTP interface is in webapp.py, startup in __main__.py, and browser assets
in web/. Provider adapters are described in BACKENDS.md.
ProjectHub selects an independent app and worker for each request using its
X-Harness-Project header. projects.py stores the project list; removal never
deletes a checkout or task state. Omit --repo to develop the empty Projects screen.