Files
training-software/docs/TRA-252-point4-audit-matrix.md
Paperclip CTO 8054c1e1e4 feat(TRA-233): Django M1 foundation scaffold
- Environment-split settings: base/local/test/prod with django-environ
- Postgres + Redis + Celery wiring (broker, beat, result backend)
- All 9 domain app stubs: accounts, courses, cms, tracking, quizzes,
  training, certificates, reports, notifications
- api app: /healthz/ endpoint, custom DRF exception handler,
  SecurityAuditMiddleware, permissions/throttle/upload-validation stubs
- DRF global baseline: JWT+session auth, closed-by-default permissions,
  cursor/page pagination, drf-spectacular schema generation
- Dockerfile (multi-env build arg), docker-compose.yml (local),
  docker-compose.test.yml (CI-friendly tmpfs Postgres)
- pytest.ini with smoke + settings marker definitions
- tests/test_smoke.py: startup, URL resolution, healthcheck shape
- tests/test_settings_matrix.py: per-profile security assertions
- .github/workflows/ci.yml: test, lint, schema CI jobs
- .env.example with all required vars documented
- .gitignore

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-07 09:11:23 +02:00

3.8 KiB

TRA-252 Point-4 Audit Matrix

Date: 2026-05-06 Source section: TRA-207 -> # 4) Django-Umsetzung (Architektur-Entwurf) Parent decomposition: TRA-251

Mapping Rule

  • Every Point-4 architecture requirement must map to >=1 executable child ticket.
  • API-first and frontend-separate must be explicit in coverage notes.

Coverage Matrix

Point-4 Requirement Coverage Tickets Coverage Notes
accounts app (OIDC, profile, group->role mapping) TRA-253, TRA-254 API contract/auth surface in TRA-253; domain breakdown and OIDC sync in TRA-254.
courses app (course/module/lesson/page, enrollment, ordering) TRA-254 Explicitly covered in backend domain plan A.
cms app (rich text, media, themes, attachments) TRA-254, TRA-257 Backend/domain scope in TRA-254; frontend consumption/UX planning in TRA-257.
tracking app (heartbeat/focus events, dwell-time fulfillment, audit log) TRA-254, TRA-258 Core logic ownership in TRA-254; quality gates for dwell-time correctness in TRA-258.
quizzes app (questions/choices/attempts/grading/banks) TRA-255, TRA-258 Domain/service decomposition in TRA-255; grading and reliability tests in TRA-258.
training app (offline/blended sessions, attendance, signoff, evidence) TRA-255, TRA-257 Backend state model in TRA-255; frontend trainer/dashboard execution track in TRA-257.
certificates app (templates/render jobs/issues/verification) TRA-255, TRA-259 Functional pipeline in TRA-255; security/ops hardening and async controls in TRA-259.
reports app (aggregations, exports) TRA-256, TRA-257 Backend aggregation/export architecture in TRA-256; frontend/report UI consumption in TRA-257.
notifications app (email queue/events) TRA-256, TRA-259 Event and delivery model in TRA-256; operational resilience in TRA-259.
api app (DRF endpoints for UI/external) TRA-253, TRA-257, TRA-258 API-first contract governance in TRA-253; frontend decoupled dependency gates in TRA-257; contract-test/release quality in TRA-258.
Dwell-time core logic TRA-254, TRA-258 Domain logic plus test-gate ownership established.
Quiz evaluation core logic TRA-255, TRA-258 Assessment rules and verification test strategy both mapped.
Training modes core logic TRA-255, TRA-257 Backend mode state machine + separate frontend plan tracked.
Certificate pipeline core logic TRA-255, TRA-259 Functional flow and ops/security controls both mapped.
OIDC group-role sync core logic TRA-253, TRA-254 API authn/authz contract + backend synchronization responsibilities mapped.
UI/frontend track (catalog/course/player/quiz/trainer/cert download) TRA-257 Dedicated separated frontend execution plan exists and depends on versioned API contracts.
Tests/quality track TRA-258 Unit/integration/e2e and API contract quality gates explicitly defined.
Operations stack (Postgres/Redis/S3/Celery/Nginx/Docker/Nix/backups/metrics/logs/FFmpeg) TRA-259 Security/ops hardening issue owns operational controls and sequencing.

API-First + Frontend-Separate Enforcement

  • Backend API contracts are owned first by TRA-253.
  • Frontend execution is explicitly separated in TRA-257 and gated by API contract readiness.
  • Quality gates in TRA-258 enforce contract compliance between backend and frontend tracks.

Gap Audit

  • Gap status: no uncovered Point-4 bullets found as of 2026-05-06.
  • Gap-fill evidence: child tickets TRA-253 through TRA-260 cover all required Point-4 buckets (apps, core logic, UI track, quality track, operations stack, capacity).

Update Procedure

When new architecture requirements are added to Point-4:

  1. Add requirement row to this matrix.
  2. Link to at least one executable ticket.
  3. If no ticket exists, create it under TRA-251 scope and append identifier.