This file is a fast onboarding guide for coding agents and new engineers.
It is intentionally secondary to the canonical docs.
If anything here conflicts with the root philosophy docs or current code:
- philosophy and principles: trust the root docs
- implementation reality: trust the code
/Users/anon16/Downloads/cleanapp_back_end_v2/README.md/Users/anon16/Downloads/cleanapp_back_end_v2/WHY.md/Users/anon16/Downloads/cleanapp_back_end_v2/THEORY.md/Users/anon16/Downloads/cleanapp_back_end_v2/INVARIANTS.md/Users/anon16/Downloads/cleanapp_back_end_v2/ARCHITECTURE.md
Then use:
/Users/anon16/Downloads/cleanapp_back_end_v2/docs/architecture/current-system-map.md/Users/anon16/Downloads/cleanapp_back_end_v2/docs/architecture/domain-model.md/Users/anon16/Downloads/cleanapp_back_end_v2/docs/decisions/decision-log.md
CleanApp turns messy reports about physical, digital, and operational defects into actionable routing toward actors who can fix them.
The product is not just a reporting inbox. The core loop is:
- ingest
- preserve raw signal
- enrich and structure
- cluster and case where useful
- route to responsible and interested parties
- execute outreach
- learn from outcomes
/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/cleanapp_wire_v1.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/human_ingest.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/database/cleanapp_wire_v1.go
/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/cases.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/database/cases.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/database/case_accumulation.go
/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/case_contact_discovery.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/case_notify_routing.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/contact_routing_context.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/handlers/report_contact_strategy.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/database/subject_routing_strategy.go
/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener/main.go/Users/anon16/Downloads/cleanapp_back_end_v2/report-listener-v4/src/main.rs
- defect-general, not physical-only
- shared routing engine for cases and solo reports
- public browsing remains open
- write-plane provenance matters
- routing quality matters more than raw notification volume
- outcome learning matters more than one-off sends
Before changing the system, ask:
- Does this preserve individual reports as first-class signals?
- Does this strengthen clusters/cases rather than collapse them into tickets?
- Does this improve routing quality?
- Does this preserve explainability?
- Does this help CleanApp learn from outcomes?