--- name: python-api description: Load PYTHON.md. Use when changing FastAPI, Pydantic, SQLAlchemy, Alembic, Taskiq, uv, api/ folders, SSE fastapi.sse, or OR-Tools jobs. --- # python-api Frames, not guards. Owner text this turn wins. Versions live in `build/stack-pin.json`. Catalogue: `standards/` next to this skill. 1. Confirm the worktree. This staging repo has no application source unless the owner opened the product remote. 2. Session, models, context, or spawn: edit `build/stack-pin.json` and `.codex/config.toml` together, then `just check`. 3. Open CORE.md, PYTHON.md, pin backend.* / environments.api_workers. CONTRACTS for the wire. AUTH: `modules/identity` + `http/v1/identity.py`, wire `/v1/auth/*`, tag `auth`. EDUCATION+PYTHON for OR-Tools. 4. Do not create api/ only to hold a frame. Do not `mount()` a version app. identity.py prefix `/auth`, not `/v1/identity`. SSE is `fastapi.sse`. 5. Open `build/stack-pin.json` for the exact version. Do not load the rest of the catalogue. Do not copy `docs/research/` into the change. Prefer `$hack-agent-standards:python-api` (plugin). Repo alias `$apply-stack-rule` still opens INDEX when the layer is unclear.