- Outcome
- PASS17m
- Reward
- 100.0%
- Checks passed
- 35 / 35
- Runtime
- 16m 57s
- Harness
- Cursor CLI
- Task version
- v3.1.2
Checks
| Check | Result | Credit | Weight |
|---|---|---|---|
| migrations: a database the old runner migrated keeps its history and re-runs nothing | PASS | 100% | 11% |
| generator: root files and n1x.lock are in sync | PASS | 100% | 4% |
| generator: web/ is in sync | PASS | 100% | 8% |
| generator: db/ is in sync | PASS | 100% | 3% |
| generator: infra/ is in sync | PASS | 100% | 3% |
| generator: context/ is in sync | PASS | 100% | 2% |
| n1x.yaml requests the web, web-db, web-auth, web-posthog, db and context plugins | PASS | 100% | 5% |
| app/ and .base/ are gone | PASS | 100% | 3% |
| the .base notes moved into the context workspace | PASS | 100% | 5% |
| glue: app ApiErrors keep their status through the managed route wrapper | PASS | 100% | 6% |
| glue: no copies of the old framework glue outside the managed modules | PASS | 100% | 5% |
| glue: the cron routes keep their CRON_SECRET guard | PASS | 100% | 3% |
| web: npm run build passes | PASS | 100% | 8% |
| web: npm run lint passes | PASS | 100% | 5% |
| http: the thermal components API reads and writes | PASS | 100% | 4% |
| http: the power sites API reads and writes | PASS | 100% | 4% |
| http: the latest ERCOT prices are served | PASS | 100% | 3% |
| http: the ERCOT price history and day-ahead series are served | PASS | 100% | 3% |
| http: the thermal and power pages render for a signed-in user | PASS | 100% | 5% |
| http: / and /admin redirect into the thermal workbench | PASS | 100% | 2% |
| http: signed-out requests are refused and /login serves | PASS | 100% | 2% |
| http: the public assets are served at the same URLs | PASS | 100% | 2% |
| deploy: web/vercel.json keeps the cron schedules | PASS | 100% | 3% |
| repo: git ignores web's dependencies, build output and local env files | PASS | 100% | 2% |
| migrations: a fresh database gets the app's schema from db/migrations | PASS | 100% | 5% |
| preserve: the thermal components API (/api/components) | PASS | 100% | 0% |
| preserve: the power sites API (/api/power/sites) | PASS | 100% | 0% |
| preserve: the latest ERCOT prices (/api/ercot/lmp/latest) | PASS | 100% | 0% |
| preserve: the ERCOT price history (/api/ercot/lmp/history) | PASS | 100% | 0% |
| preserve: the day-ahead ERCOT prices (/api/ercot/lmp/day-ahead) | PASS | 100% | 0% |
| preserve: the ERCOT cron routes' guard and validation (/api/cron/ercot/...) | PASS | 100% | 0% |
| preserve: the pages, signed in and signed out | PASS | 100% | 0% |
| preserve: the public assets | PASS | 100% | 0% |
| preserve: the app's email domains can sign in (/api/auth/sign-in/email-otp) | PASS | 100% | 0% |
| preserve: the project's migrations build and keep the app's schema | PASS | 100% | 0% |