Backend — delete 6 orphaned schema sub-modules never imported by any route:
compliance/schemas/{ai_system,bsi,dashboard,isms_governance,report,service_module}.py
All symbols were only accessible through the monolithic schemas.py barrel;
the split files were never wired up and created misleading import paths.
Frontend — delete 2 hollow "future implementation" stub pages:
app/sdk/agents/sessions/page.tsx
app/sdk/agents/statistics/page.tsx
Both showed a static placeholder with no API calls or real functionality.
Frontend — delete dead demo seed/clear API routes:
app/api/sdk/v1/demo/{seed,clear}/route.ts
Used a global in-memory store never connected to PostgreSQL.
The actual demo seeding (lib/sdk/demo-data/) goes through the real
state API (apiClient.saveState/deleteState), not these routes.
Frontend — remove unimplemented PDF export alert from retention page:
app/sdk/einwilligungen/retention/page.tsx
Removed the PDF button and alert('PDF-Export wird noch implementiert.')
stub. CSV and JSON export remain fully functional.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each page.tsx was 750-780 LOC. Extracted React components to _components/
and custom hooks to _hooks/ next to each page.tsx. All three pages are now
under 215 LOC (well within the 500 LOC hard cap). Zero behavior changes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Extract nav tabs, detail modal, table row, stats grid, search/filter,
records table, pagination, and data-loading hook into _components/ and
_hooks/. page.tsx reduced from 833 to 114 LOC.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>