CI / policy (push) Successful in 48s
CI / validate (push) Successful in 1m25s
CI / test (push) Successful in 3m43s
CI / build (push) Successful in 1m20s
CI / security (push) Successful in 1m31s
CI / benchmark (push) Failing after 5m52s
CI / images (push) Failing after 1m2s
CI / required (push) Failing after 1s
CI / policy (pull_request) Successful in 9s
CI / validate (pull_request) Successful in 1m6s
CI / test (pull_request) Successful in 3m30s
CI / benchmark (pull_request) Canceled after 3s
CI / build (pull_request) Successful in 1m5s
CI / security (pull_request) Successful in 1m27s
CI / images (pull_request) Successful in 2m24s
CI / required (pull_request) Successful in 5s
37 lines
2.3 KiB
Plaintext
37 lines
2.3 KiB
Plaintext
# Agent Rules and Verification Constraints
|
|
|
|
All AI agents (including Cline, Antigravity, Cursor, and Copilot) must adhere to the following rules before declaring a task complete:
|
|
|
|
1. **Test Coverage (>= 80%)**:
|
|
- The overall project code coverage (Statements, Lines, and Functions) must be maintained at **80% or higher**.
|
|
- Verify coverage by running:
|
|
```bash
|
|
bun scripts/generate-langs.js
|
|
NODE_OPTIONS=--max-old-space-size=2048 bunx vitest run --coverage --maxWorkers=1 --exclude='src/app/benchmark/**'
|
|
```
|
|
- If your changes introduce new code or modify existing code in a way that drops the coverage below 80%, you must write appropriate unit tests in `.spec.ts` files to bring it back up.
|
|
|
|
2. **Code Formatting (Prettier)**:
|
|
- All code files must be correctly formatted according to the project's Prettier config before finishing.
|
|
- Run the formatter with:
|
|
```bash
|
|
bun run format
|
|
```
|
|
|
|
3. **Successful Build**:
|
|
- The project must always build successfully for production without compilation or bundling errors before ending.
|
|
- Verify the build with:
|
|
```bash
|
|
bun run build
|
|
```
|
|
|
|
4. **CI Checks**:
|
|
- You must execute the local validation commands before completing your task. The Gitea workflow is `.gitea/workflows/ci.yml`; owner activation is tracked in issue #268, and local checks do not satisfy the migration gate. All of the following commands must pass:
|
|
- **Linting check**: `bun run lint` (or use `bun run lint:fix` to resolve auto-fixable issues)
|
|
- **Formatting check**: `bun run format:check`
|
|
- **TypeScript Type check**: `bunx tsc --noEmit -p tsconfig.app.json` and `bunx tsc --noEmit -p tsconfig.spec.json`
|
|
- **Unit Tests and Coverage**: generate the language registry, then run the coverage command in rule 1, matching the Gitea functional-test job.
|
|
- **CI policy and publication**: `node scripts/ci-policy.test.mjs` and `node scripts/ci-image.test.mjs`
|
|
- **Production Build**: `bun run build -- --configuration production`
|
|
- The separate performance benchmark remains advisory while issue #78 is open. Run it outside coverage with `NODE_OPTIONS=--max-old-space-size=2048 bunx vitest run src/app/benchmark/leave-planner-benchmark.spec.ts --maxWorkers=1` when verifying performance; see `docs/benchmark/README.md`.
|