How codevizsiyam/dq-doctor works
Data Steward AI is a governed customer-data investigation and remediation app. A steward selects an incident in the Streamlit work queue; the runtime investigates it with read-only tools and a loaded skill, validates and grades the recommendation, then pauses for human review. Only an approved decision reaches remediation, which writes the golden record and audit history. A separate schema-impact path reports breaking changes and downstream lineage without migration. The graph reflects documented workflow ownership; unsampled wiring is omitted, and optional provider integrations are dashed.
Main entry points: graph.py Workflow graph · service.py Steward runtime · app.py Streamlit app · repositories.py Repository boundary
Components 21
Steward experience
- Streamlit app
app.py - Workbench views
src/data_steward/ui.py
Investigation workflow
- Steward runtime
src/data_steward/workflow/service.py - Workflow graph
src/data_steward/workflow/graph.py - Investigator agent
src/data_steward/workflow/investigator.py - Read-only toolkit
src/data_steward/workflow/toolkit.py
Governance and domain
- Investigation skills
skills - Customer contract
contracts/customer.yaml - Evidence and schema tools
src/data_steward/tools.py - Policy validation
src/data_steward/governance.py - Recommendation rubric
src/data_steward/rubric.py - Approved remediation
src/data_steward/remediation.py
Persistence
- Repository boundary
src/data_steward/repositories.py - Application database
src/data_steward/sqlite.py - Workflow checkpoints
src/data_steward/workflow/service.py
Reporting and evaluation
- Activity reports
src/data_steward/reports.py - Evaluation runner
src/data_steward/evaluations.py
Other components
- Data steward
- OpenAI model
- Arize tracing
- LLM grounding judge
Connections 28
- Data steward → Streamlit app: selects incident
- Streamlit app → Steward runtime: requests workflow
- Streamlit app → Workbench views: renders views
- Data steward → Streamlit app: submits decision
- Steward runtime → Workflow graph: invokes and resumes
- Steward runtime → Repository boundary: loads incident data
- Steward runtime → Workflow checkpoints: persists workflow state
- Workflow graph → Investigator agent: runs investigation
- Investigator agent → Read-only toolkit: executes tools
- Investigator agent → OpenAI model: requests completion
- Read-only toolkit → Evidence and schema tools: runs read-only tools
- Read-only toolkit → Investigation skills: loads procedure
- Read-only toolkit → Customer contract: reads contract
- Evidence and schema tools → Repository boundary: reads records and lineage
- Workflow graph → Policy validation: validates proposal
- Workflow graph → Recommendation rubric: grades recommendation
- Workflow graph → Repository boundary: records workflow events
- Workflow graph → Streamlit app: pauses for review
- Streamlit app → Steward runtime: submits decision
- Workflow graph → Approved remediation: applies approved decision
- Approved remediation → Repository boundary: persists approved change
- Repository boundary → Application database: reads and writes
- Steward runtime → Activity reports: builds activity report
- Streamlit app → Evaluation runner: runs evaluations
- Evaluation runner → Repository boundary: reads incidents and records
- Evaluation runner → LLM grounding judge: scores grounding
- Evaluation runner → Arize tracing: publishes evaluation scores
- Steward runtime → Arize tracing: traces investigation