TirOSMAN Demo Mode
Multi-agent demo powered by the real NVIDIA adapter (meta/llama-3.1-405b-instruct).
Five concurrent projects × 30 tasks each × agent roles (pm, dev, frontend, qa, ceo),
stored in Postgres with RLS, ticked through a Jira-like lifecycle:
backlog → analysis → in_progress → code_review → qa → done.
When to use
- User says "start the TirOSMAN demo" / "kick off the 150-task run" / "show the Jira board."
- User wants a cost preview before burning NVIDIA tokens.
- User needs to approve or reject QA-blocked tasks.
- User wants to wipe every demo-generated task and start over.
Call order
demo_estimatefirst — returns projected tokens + cost, zero DB writes. Use it to confirm intent.demo_start(company_id, auto_run=True)— creates tasks AND kicks off the batch executor. Passauto_run=Falseif you want a confirm step before burning tokens.demo_run(company_id, projects?)— resume execution whenauto_run=False, after QA approvals, or after an interruption. Idempotent.- Poll
demo_status(company_id)until all tasks aredone/failed/qa. - If any task lands in
qa, usedemo_qa_approveordemo_qa_reject, thendemo_runagain to push it through. demo_board(company_id, project?)for the visual column layout.demo_reset(company_id)wipes everything the demo created.
Notes
demo_startonly creates the rows. The batch executor runs inside TirOSMAN via FastAPI BackgroundTasks, triggered byPOST /api/companies/{id}/demo-mode. If you calleddemo_startdirectly over MCP, the UI "advance" button or the HTTP endpoint has to drive execution.- Task-status events are also POSTed to
$TIROSMAN_DEMO_WEBHOOK_URLif set. Downstream webhook plugins (n8n, Zapier, Slack) see every transition in real time. - Estimates are static — they do not change as tasks run.
Failure modes
- No agents on the company →
demo_startreturnsstarted=falsewith an explanation. - Invalid
company_id→ tools surface a 404 from the HTTP layer. - MCP bearer missing when
TIROSMAN_MCP_API_KEYis set server-side → 401.