How armourpiercer1/dsh-research-control works
DSH Research Control is a Git-backed research-workflow cockpit plugin, not a scientific-judgment engine: people and research agents record and organize work while retaining control over plans. The principal user flow is project/topic/workstream navigation in the client, through host RPCs to research services, which read or update operational state and the declarative research tree; users can then inspect records, history, plans, and attention items. Agent tools provide a separate constrained entry point, though README notes that most handlers are currently stubs. The graph preserves documented Investigator, reporting, intervention, and checkpoint capabilities. Wiring beyond the sampled RPC implementation is based on the README’s architecture description.
Main entry points: rpc-services.ts Host RPC services · index.ts Operational persistence · index.tsx Cockpit UI · service.ts Plan forks
Components 26
User experience
- Cockpit UI
src/client/index.tsx - Project views
src/client/views/project/ProjectPage.tsx - Workstream views
src/client/views/workstream/WorkstreamView.tsx - Plan and topology
src/client/graph/index.ts - History timeline
src/client/views/history/HistoryTimelineView.tsx - Client state
src/client/stores/research-store.ts
Host interfaces
- Remote RPC client
src/client/dsh-adapter/remote/command-carrier.ts - Host RPC services
src/host/dsh-adapter/host/rpc-services.ts - Research tools
src/host/tools/index.ts
Research workflow
- Project hierarchy
src/host/service/hierarchy/service.ts - Research records
src/host/service/semantics/service.ts - Plan forks
src/host/service/select/service.ts - Attention and inbox
src/host/service/attention/service.ts - Interventions
src/host/service/intervention/service.ts - Read-only Investigator
src/host/service/investigator/index.ts - Reporting
src/host/service/reporting/service.ts - Run binding
src/host/service/runbinding/service.ts
State and history
- Event history
src/host/history/replay/index.ts - Operational persistence
src/host/persistence/store/index.ts - SQLite store
src/host/persistence/store/store.ts - Declarative tree
src/host/domain/loader/index.ts
External integrations
- Git and checkpoints
src/host/service/checkpoint/index.ts - DSH host
- DSH sessions
Other components
- Researcher
- Research agent
Connections 33
- Researcher → Cockpit UI: uses
- Cockpit UI → Project views: renders
- Project views → Workstream views: opens
- Workstream views → Plan and topology: shows
- Workstream views → History timeline: shows
- Cockpit UI → Client state: updates
- Cockpit UI → Remote RPC client: sends RPC
- Remote RPC client → Host RPC services: calls
- DSH host → Host RPC services: hosts
- Host RPC services → Project hierarchy: invokes
- Host RPC services → Research records: invokes
- Host RPC services → Plan forks: invokes
- Host RPC services → Attention and inbox: invokes
- Host RPC services → Interventions: invokes
- Host RPC services → Read-only Investigator: invokes
- Host RPC services → Reporting: invokes
- Host RPC services → Run binding: invokes
- Research agent → Research tools: calls
- Research tools → Plan forks: forwards active calls
- Research tools → Git and checkpoints: forwards active calls
- Host RPC services → Event history: queries
- Event history → Operational persistence: reads events
- Project hierarchy → Declarative tree: loads and writes
- Research records → Operational persistence: reads and writes
- Plan forks → Declarative tree: materializes plan
- Plan forks → Git and checkpoints: checks closure
- Run binding → Event history: appends events
- Attention and inbox → Operational persistence: reads state
- Interventions → Operational persistence: stores state
- Reporting → Operational persistence: stores reports
- Operational persistence → SQLite store: uses
- Git and checkpoints → DSH sessions: checkpoints project data
- Read-only Investigator → DSH sessions: reads session summaries