Repository navigation
Maintenance release — documentation reconciled with the v3.0.0 code, plus
dead-code / dependency / deploy-path cleanup. No user-facing behavior change
(the published image is slightly slimmer after the dependency removals).
Changed
- Docs reconciled with code. The full
docs/layer chain (PRD → DDD →
System → Technical → API → Coding),README.md,CONTRIBUTING.md,
OPERATIONS.md, andCLAUDE.mdwere swept for v3.0.0 drift: no REST
API/JWT/React SPA/PDF, plain-Djangoapps/mvpUI, single-image-primary
deploy, correct tool/app counts (30 tools, 17 core apps), and the real HTTP
surface. New ADR D-018 records the v3.0.0 UI + deploy decision. make/just formatnow usesruff format(ruff is already the linter).
Removed
- Orphaned
LoginThrottlemodel (0 references — the JWT rate-limit
middleware that used it is gone), via drop-migration
core/0005_delete_loginthrottle. - Unused dependencies:
pypdf(PDF export removed),lxml(unused — nmap
parses XML viadefusedxml), and dev-onlyblack/isort/mypy. Keptidna
(CVE floor pin). Re-locked;pip-auditpasses without the former PyJWT ignore. - Broken/superseded deploy paths:
docker-compose.dev.yml+ the
just deploy-devrecipe (pulled web/worker GHCR images that are no longer
published), and the bare-metalinstall.sh(broken for v3 and counter to
D-003 Docker-only) with its README section. - Leftover frontend/JWT/PDF references:
.nvmrc,/frontend/*ignore/owner
entries, the deadenqueue_triagewrapper and unreadSCHEDULER_ENABLED
setting, and stale JWT/PDF/React wording in comments.