In the n1x project factory, make the backend-api plugin own the FastAPI runtime so projects generated without it get no FastAPI code, packages or API start command, and the rest of the backend keeps working.
- Version
- Category
- Engineering
- Model configurations
- 1
- Attempts
- 8
- Public trials
- 164 passed
- Median runtime
- 9m 46s
Instruction
`backend-python` ships the FastAPI runtime to every Python project, whether or not `backend-api` is selected: `_lib/service.py`, the `fastapi`, `uvicorn` and `pydantic` dependencies, and a Dockerfile `CMD` that starts `api.main:app`. Make `backend-api` own the FastAPI runtime. A project generated without `backend-api` should get none of it (no FastAPI code, no FastAPI packages, no API start command), and everything else in its backend should keep working as it does today. A project with `backend-api` should keep a working API that still deploys and runs on Cloud Run as it does today. ## Environment This is the n1x repository itself: it has no app or database of its own to run. `node src/cli.mjs init <dir> --plugins <a,b>` (or `apply --project <dir>` over an `n1x.yaml`) renders a project to try. `just`, `uv` with Python 3.13, and `terraform` are installed, and the Terraform providers a generated project's `infra/` uses (google, github and random) come from a local mirror, so `terraform init` works offline in a rendered `infra/`. There are no Google Cloud or GitHub credentials here, and no `gcloud` or `docker`.
Public trials
Results by model
| Model · harness | Mean reward | Range | ± SE | Attempts |
|---|---|---|---|---|
| Frontier model ACursor CLI | 50.0% | 0% – 100% | 18.9 pp | 8 |