Request Flow
End-to-End Path
The current request lifecycle is centered on the orchestrator and request router.
text
Telegram update
-> TelegramBridge
-> OrchestratorAgent
-> RequestRouter
-> EffectiveContextResolver + IntentInterpreter
-> Selected use case
-> Specialized agent or service
-> TelegramPresenter
-> TelegramBridge responseDetailed Steps
src/jarvis/main.pystarts the Telegram polling loop when configuration is present.TelegramBridgereads inbound messages or callback interactions.OrchestratorAgentreceives the instruction and builds the runtime dependencies it needs.RequestRouterchecks deterministic routes first, such as slash commands, approval replies, repo activation, and episode history requests.- For free-form instructions,
EffectiveContextResolverprepares the working context andIntentInterpreterclassifies the intent. - The router returns a canonical
RoutedRequestdescribing route, authority mode, action, and metadata. - The orchestrator dispatches to the matching use case, such as status, workspace query, repo activation, or proposed code change.
- The selected use case calls into an agent or service layer to do the work.
TelegramPresenterconverts the result into a transport-ready message and optional attachment.TelegramBridgesends the final response back to the user.
Safety Controls
Two controls already shape the flow:
- authority mode gates whether the system may perform write operations
- pending change management creates an approval step before applying certain code results
These controls sit above tool execution so the orchestrator can block risky paths before a workspace or git action occurs.