# aite: AI Integrated Test Environment A test environment where an AI writes small, readable browser-driving scripts and a human can confirm, in seconds, whether a failure is a broken app or a broken script. It is inspired by BITE (Browser Integrated Test Environment), created by Google's testing team (see [Acknowledgements](#acknowledgements)), whose source is archived in this repo (Apache License 2.0) as reference. aite is licensed under the Apache License 2.0 ([LICENSE](LICENSE)); [NOTICE](NOTICE) credits BITE and says what was derived from it. Status: Phases 0 to 3 are built and tested, Phase 4 is built and waits on people (manual QA and the reader panel), and Phases 5 to 7 are built as far as they can be without the test accounts and a real model. GitLab holds the status of each task; `docs/audit-2026-10-11.md` records what was checked and what is not done. Start with `docs/PLAN.md`. Run everything with `npm test` (type check, then unit, functional and integration, each over 70 percent coverage). ## Set up aite has two parts that you set up separately, and a third page that joins them: | I want to | Read | |---|---| | **Run the central system and the dispatcher**: the service that holds the tests, signs jobs, wakes devices and chooses which device runs a test | [docs/setup-dispatcher.md](docs/setup-dispatcher.md) | | **Set up the extension**: turn a browser into a device that takes tests, runs them and reports back | [docs/setup-extension.md](docs/setup-extension.md) | | **Put the extension on a second machine** over an SSH tunnel, step by step | [docs/runbook-laptop.md](docs/runbook-laptop.md) | | Check by hand that the safety controls work (parts A to G) | [docs/qa/security-qa.md](docs/qa/security-qa.md) | | Understand how the pieces fit and what is and is not protected | [docs/design/distributed.md](docs/design/distributed.md), [docs/design/security-review.md](docs/design/security-review.md) | The shortest path to a first test on one machine: start the service (`npm run central -- serve --tests-repo PATH --xmpp --dev-signing`), build the extension against its keys (`npm run build:worker -- --out dist/worker --central http://127.0.0.1:4790/api --release-key ... --dispatch-key ...`), load `dist/worker` unpacked in a browser, enrol it with a code from `npm run central -- enrol ...`, then send a test with `npm run central -- dispatch ...`. Each step is explained in the pages above. ## What is in the repo | Path | What | |---|---| | `source-archive-bite.zip`, `build.source-archive.zip` | Google's BITE source and build scripts, kept as reference in the private copy of this repository only. The published repository leaves them out (84 MB, mostly third-party libraries): get BITE from its upstream project (see Acknowledgements). | | `docs/PLAN.md` | The overview: principles, decisions with defaults, design, phases, risks, needs from Alex | | `docs/decisions.md` | Decisions D1 to D14 with status and alternatives | | `docs/design/` | Specs: `script-format.md`, `protocol.md`, `data-formats.md`, `locator-repair.md` | | `docs/journeys.md` | The mallbucks journeys the first scripts cover | | `docs/TASKS.md` | All 51 tasks with acceptance criteria, test tiers and test cases (status lives in GitLab issues and milestones) | | `docs/test-plan.md` | Risk-tiered test plan from the QA review: per-task cases with oracles, manual QA call-outs M-01 to M-07, gates, and the changes made after the review | | `docs/audit-2026-10-11.md` | What landed per phase (code and tests), what is weaker than asked for, what is not done | | `docs/adversarial-review.md` | Independent critique of the plan: 20 findings, each checked against the plan text | If you have the private copy, do not unpack the archives into the repo; read them in a scratch folder outside it: `mkdir /tmp/bite && cd /tmp/bite && unzip /path/to/aite/source-archive-bite.zip`. ## Acknowledgements aite exists because of BITE, the Browser Integrated Test Environment (the `bite-project`), which Google's testing team created and released as open source under the Apache License 2.0 (). Its ideas are the foundation here: a small scripting language for browser tests, element descriptors, locator repair, and record then edit. The people who wrote it are named in the `AUTHORS` and `CONTRIBUTORS` files at the top of that project (`AUTHORS` lists the authors; `CONTRIBUTORS` lists the people outside Google who contributed). We are grateful to all of them. aite is an independent rebuild, written for a different job (tests written by an AI, run across devices a person controls). It is not made by, endorsed by or affiliated with Google. Where files were copied from BITE they keep their original license headers, and [NOTICE](NOTICE) records what came from BITE and what is new.