How deepbluemoon/rm works
This repository implements a consumer-contract risk analysis platform: users submit contract text or files, the backend extracts and structures clauses, runs detection and evidence-backed analysis, then presents results for review. Separate capabilities cover knowledge-base updates, feedback and evaluation, API access, and operational monitoring. The source excerpts and index support several backend call paths; UI-to-API and some service integrations are not shown, so those links are marked unverified rather than asserted.
Main entry points: structuring.pipeline.ts Clause structuring · pool.ts MySQL database · results.service.ts Results and explanations · gates.service.ts Policy gates
Components 21
User application
- Analysis workspace
frontend/src/views - API client
frontend/src/api/client.ts
Contract analysis
- Document intake
backend/src/modules/intake/intake.routes.ts - Text extraction
backend/src/modules/extract - Clause structuring
backend/src/modules/structuring/structuring.pipeline.ts - PII deidentification
backend/src/modules/deid/deid.service.ts - Risk detection
backend/src/modules/detection - Model API client
backend/src/modules/modelApi/client.ts - Model gateway
model-server/app/main.py - Evidence search
backend/src/modules/evidence - Results and explanations
backend/src/modules/results/results.service.ts - Analysis routes
backend/src/modules/analysis/analysis.routes.ts
Knowledge and review
- Knowledge ingestion
backend/src/modules/knowledge/ingest.service.ts - Feedback review
backend/src/modules/feedbackReview/feedbackReview.service.ts - Expert evaluation
backend/src/modules/evaluation
Platform services
- Authentication and roles
backend/src/modules/auth - Policy gates
backend/src/modules/gates/gates.service.ts - MySQL database
backend/src/db/pool.ts
Operations dashboard
- Operations dashboard
ops-dashboard/src/public/app.js - Operations API
ops-dashboard/src/server.mjs
Other components
- Contract user
Connections 22
- Contract user → Analysis workspace: submits contract
- Analysis workspace → API client: uses API
- API client → Document intake: sends request
- Document intake → Text extraction: extracts text
backend/src/modules/intake/intake.routes.ts - Document intake → Policy gates: checks gates
backend/src/modules/intake/intake.routes.ts - Analysis routes → Clause structuring: queues analysis
- Clause structuring → Text extraction: extracts document
backend/src/modules/structuring/structuring.pipeline.ts - Clause structuring → PII deidentification: deidentifies text
backend/src/modules/structuring/structuring.pipeline.ts - Clause structuring → Model API client: calls model client
backend/src/modules/structuring/structuring.pipeline.ts - Analysis routes → Risk detection: runs detection
backend/src/modules/analysis/analysis.routes.ts - Analysis routes → Results and explanations: loads results
backend/src/modules/analysis/analysis.routes.ts - Results and explanations → Evidence search: reads evidence
backend/src/modules/results/results.service.ts - Results and explanations → Policy gates: raises gates
backend/src/modules/results/results.service.ts - Model API client → Model gateway: calls gateway
- Knowledge ingestion → MySQL database: writes batches
backend/src/modules/knowledge/ingest.service.ts - Knowledge ingestion → Policy gates: checks gates
backend/src/modules/knowledge/ingest.service.ts - Feedback review → Results and explanations: loads clause detail
backend/src/modules/feedbackReview/feedbackReview.service.ts - Feedback review → MySQL database: reads and updates
backend/src/modules/feedbackReview/feedbackReview.service.ts - Policy gates → MySQL database: records events
backend/src/modules/gates/gates.service.ts - Clause structuring → MySQL database: updates stages
backend/src/modules/structuring/structuring.pipeline.ts - Authentication and roles → MySQL database: reads roles
- Operations dashboard → Operations API: requests status