How som007-builds/indigent-dev works
Indigent is a sovereignty-first industrial engineering AI workbench: users submit tasks, the bounded agent routes inference and evidence/tool work, verifies results, and gates artifacts for approval. The frontend streams task updates through its API client and proxy to the backend; task and knowledge APIs expose persisted work and ingestion. README capabilities are included even where their implementation was not sampled; those links reflect documented architecture, not inspected call sites. Detailed wiring beyond the excerpts is therefore intentionally limited.
Main entry points: orchestrator.py Bounded Agent · taskrunner.py Task Runner · route.ts Streaming Proxy · tasks.py Tasks API
Components 29
Workbench
- Workbench UI
frontend/ai-harness-sih-main/app/page.tsx - API Client
frontend/ai-harness-sih-main/lib/api-client.ts - Streaming Proxy
frontend/ai-harness-sih-main/app/api/[...path]/route.ts
Task Control
- Chat API
app/api/chat.py - Task Runner
app/core/taskrunner.py - Bounded Agent
app/agent/orchestrator.py
Inference Control
- Model Router
app/agent/router.py - Resource Manager
app/agent/resource_manager.py - Inference Providers
app/providers
Evidence and Tools
- Knowledge API
app/api/knowledge.py - Policy Validator
app/policy/validator.py - Evidence Retrieval
app/rag/retrieval.py - Document Ingestion
app/rag/production.py - Vector Store
app/rag/store.py - Coding Agent
app/agent/coding.py - P&ID Pipeline
app/pid_ml/pipeline.py - Tool Runtime
app/runtime/executor.py
Artifacts and Records
- Tasks API
app/api/tasks.py - Verification
app/agent/verification.py - Citation Checks
app/rag/verification/citation.py - Artifact Generation
app/core/artifacts.py - Artifact Validation
app/artifact_validation/validator.py - Human Approval
app/api/tasks.py - Task Repository
app/core/repo.py - Task Events
app/core/events.py - Application Database
app/core/db.py
Other components
- Engineer
- Ollama
- Groq
Connections 34
- Engineer → Workbench UI: submits task
- Workbench UI → API Client: requests
- API Client → Streaming Proxy: sends API calls
- Streaming Proxy → Chat API: forwards chat
- Streaming Proxy → Knowledge API: forwards uploads
- Streaming Proxy → Tasks API: forwards task calls
- Chat API → Task Runner: starts task
- Knowledge API → Document Ingestion: ingests documents
- Tasks API → Task Runner: approves task
- Tasks API → Task Repository: reads task data
- Tasks API → Task Events: subscribes events
- Task Runner → Bounded Agent: runs agent
- Task Runner → Task Repository: persists task
- Task Runner → Task Events: publishes updates
- Bounded Agent → Model Router: routes inference
- Bounded Agent → Policy Validator: checks tool proposal
- Bounded Agent → Evidence Retrieval: retrieves evidence
- Bounded Agent → Coding Agent: delegates coding
- Bounded Agent → P&ID Pipeline: requests P&ID analysis
- Bounded Agent → Tool Runtime: executes authorized tools
- Bounded Agent → Verification: verifies results
- Bounded Agent → Artifact Generation: creates artifacts
- Bounded Agent → Artifact Validation: validates artifacts
- Bounded Agent → Human Approval: requests approval
- Model Router → Resource Manager: checks capacity
- Model Router → Inference Providers: selects provider
- Inference Providers → Ollama: calls local inference
- Inference Providers → Groq: calls configured inference
- Evidence Retrieval → Vector Store: searches evidence
- Document Ingestion → Vector Store: stores chunks
- Verification → Citation Checks: checks citations
- Artifact Generation → Task Repository: records artifacts
- Task Repository → Application Database: reads and writes
- Task Events → Application Database: persists events