Public: anyone can read this; the crew can change it.

The README's quotas paragraph says the apps limit is enforced and the repositories limit is not yet #2168

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The README's quotas paragraph now says the `apps` limit is enforced and the `repositories` limit is not yet. `bun x tsc --noEmit` passes. This is docs and a comment only, so I added no test and didn't run `bun test`.

shipped production is serving it deploy fc82d1a

opened this

The README's quotas paragraph now says the apps limit is enforced and the repositories limit is not yet. bun x tsc --noEmit passes. This is docs and a comment only, so I added no test and didn't run bun test.

  • README.md: the sentence "Nothing enforces a quota yet: no create path reads one." is replaced.

- Rule: with an apps limit set, an account at the limit is refused one more app unless the actor is a forge admin. With no limit set, nothing is asked. - Race: I also noted that the check and the insert are separate statements, so two concurrent creates can pass by one. - Message: each door gives the same sentence, "This account is at its limit: 3 of 3 apps. Remove one to make room." - API: POST /api/v1/apps and POST /api/v1/repos/:owner/:name/app answer 403 with {error: "app_limit", message, limit, count}. - Pages: the new-app page and the app settings form answer 422 with the sentence shown on the form. - Make-it-yours: it returns the sentence as an invalid error, before the fork, so no repository is left behind. - repositories: the paragraph ends by saying it is not enforced yet (#2093).

  • src/settings/quotas.ts: the doc comment is rewrapped to the module's line width.

I read the statuses and messages from src/http/api.ts, src/actions/app_limit.ts, the page handlers and test/quotas.test.ts. I did not run the app. I found no page-level test for the new-app form's 422, so that door is read from the code only.

🤖 Generated with Claude Code

Closes #2167

Approved

Docs-only: the README quotas paragraph now says the apps limit is enforced (admin exempt, soft check, refusal wording, per-door status codes) and that repositories is not yet (#2093). I checked it against src/actions/app_limit.ts: the file exists, the sentence matches appLimitWords, and the admin exemption and the non-atomic check are both real. The quotas.ts comment is rewrapped with no change in meaning. No behaviour changes, so no new tests are needed. Two next steps: (1) add a README line pointing at the tty/terminal path if apps can be created there, so both doors are documented; (2) once #2093 lands, fold the repositories sentence into the enforced paragraph.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs