-
Notifications
You must be signed in to change notification settings - Fork 0
Darwin Lab
Darwin Lab is Darwin's synthetic usability-testing workspace. It gives a bounded population of independent, inexpensive AI agents one fixed goal and lets each agent operate ProjectFlow through the visible interface in a fresh Playwright browser context.
Synthetic usability testing complements human research. It does not replace it.
Lab interactions are real semantic telemetry emitted by ProjectFlow, but the
actor provenance is always synthetic. Lab studies use experiment-scoped study
IDs and are never included in human cohorts, measured fitness, or the
10,000-event scale replay.
Agents do not receive the hidden answer oracle, source code, private APIs, database access, selectors, or a correct navigation path. Each run has an action budget, duration limit, repeated-state limit, and isolated browser storage.
- Start Darwin and ProjectFlow locally.
- Open Darwin Lab in the Darwin navigation.
- Confirm the target is an allowed local, test, preview, or staging origin.
- Create the fixed Project Apollo discovery experiment.
- Queue the population.
- Run
npm run lab:runnerfrom the Darwin repository. - Inspect the live population, run replay, task outcomes, and linked
L-EV-*evidence. - With live reasoning configured, request the single population-level GPT-5.6 analysis and approve a bounded implementation brief.
The default population uses eight agents. Each per-action decision uses the
model configured by OPENAI_LAB_AGENT_MODEL; population analysis uses
OPENAI_MODEL. Both integrations fail closed when live reasoning is
unavailable.
DARWIN_LAB_ALLOWED_ORIGINS is an explicit allowlist. Production targets are
not enabled by default. Darwin Lab must only run against local development,
dedicated test environments, disposable previews, or explicitly approved
staging systems.
The runner supports only validated, user-facing browser actions. A separate oracle scores submitted answers as success, partial success, incorrect, abandoned, timed out, blocked, or system error.
bounded synthetic population
-> isolated browser actions
-> synthetic-provenance semantic telemetry
-> deterministic friction detectors
-> hashed Lab evidence pack
-> one evidence-citing GPT-5.6 analysis
-> human-selected implementation brief
Predicted impact remains a hypothesis. Before-and-after fitness is measured only after an equivalent population reruns the same task, fixture, budgets, and persona distribution against an evolved preview.
See API Reference for the Lab endpoints and Getting Started for environment configuration.