direkt-vermittlung-de/INTENT.md
tegwick 6a9d417c12
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 7s
Seeded INTENT.md and stuff
2026-07-08 14:33:11 +02:00

25 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Intent
DirektVermittlungDe (DVD) exists to collapse the multi-step "phone hunt" citizens go through to reach the right caseworker in a German public authority. Today, resolving a routine inquiry takes ~2 minutes once you reach the correct person, but ~30 minutes to get there (wrong contact → call center → transfer → re-identification → re-explanation).
DVD replaces that chain with a single step: the citizen submits a source document or a unique identifying feature (e.g. Aktenzeichen/Kassenzeichen). The system determines functional responsibility from that input and opens a direct communication thread with the correct caseworker — via callback, appointment, or text chat — instead of parking citizens in queues or burdening caseworkers with manual forwarding.
### Core architectural constraint
Documents use a split-payload model (ADR-0001): plaintext routing metadata (authorityId, referenceNumber, docType, issuedAt) is separated from an encrypted payload (the actual document/scan). The backend routes on metadata alone and never decrypts the payload — this is non-negotiable and shapes every service boundary.
### Where the project stands
Three independent prototype implementations (chatgpt5, geminiNbt3pro, grok4.1) explored the problem space. The project is now migrating to a single production codebase under `/src`, built test-first (TDD), governed by the ADRs in `docs/architecture/adr/` and tracked in `docs/WORKPLAN_MainCodebase_Integration.md`.
### In scope
- Document/reference-number intake and metadata-based routing to the responsible unit
- Citizenofficial communication threads (chat, callback requests, appointments)
- Stateless OAuth2/JWT authentication with citizen/official scopes
- Async data export for authority systems
- GDPR-compliant retention and cleanup of documents/threads
### Out of scope
- Decrypting or processing document payload contents in the main service
- General-purpose CRM or ticketing functionality unrelated to authority routing
- Non-government (private sector) support-routing use cases