Dashboard Improvements
How Dashboard Research Works
The dashboard does not automatically start work when a task is created. It first stores task state, creates a workspace, and waits for a launch request. Logs only appear after Codex or Claude is actually started for that task.
create only
launch required for logs
review when process exits cleanly
Step By Step
- Create task in the UI. The browser sends the title, details, task type, difficulty, workflow flag, selected engines, and the launch checkbox.
- Server creates task storage. It makes
data/tasks/<task-id>/, then writestask.json,workspace/, andlogs/. - Optional research workflow is seeded. If the workflow checkbox is on, the task gets planning status, default subtasks, and an empty ranked source list.
- If launch is off, the task stays idle. This is the state your flowchart task was left in, so its log stayed empty.
- Launch starts a run. The UI calls
POST /api/tasks/<id>/launchwhen you useLaunch Codex,Launch Claude, or create with launch enabled. - The server queues a run record. It stores attempt metadata, target engine, log path, and status in
task.json. - A background thread builds the prompt. The prompt includes the task description, workspace path, finance research instructions, and workflow update instructions.
- The CLI process is spawned. Codex runs through
codex --search exec. Claude runs throughclaude -p. - The dashboard opens the engine log. It writes a run header with timestamp, cwd, and command to
logs/<engine>.log. - Process output streams into the log. Stdout and stderr are redirected into that log file for the whole run.
- The agent works inside the task workspace. It writes
report.mdand any supporting files underworkspace/. - The agent can self-update the workflow. It can call
POST /api/tasks/<id>/workflowto update subtasks, source status, ranks, raw links, synthesis notes, and events. - The UI keeps polling. The browser reloads task state every 5 seconds and refreshes the selected engine log, so the page reflects run progress.
- Workspace files become visible. Anything written under the task workspace shows up in the file list for direct review.
- Exit updates final run state. Exit code
0becomesready_for_human. Nonzero exit codes becomeerror. - The task can continue later. The continue form launches a new run with a continuation prompt for the same task.
Flow Chart
Create task in UI
|
v
POST /api/tasks
|
v
Create task folder + task.json + workspace/ + logs/
|
v
Workflow enabled?
yes / \ no
/ \
v v
Seed subtasks Skip workflow scaffold
\ /
v v
Launch requested?
|
no | yes
| | |
v | v
Task stays POST /api/tasks/<id>/launch
pending |
v
Queue run in task.json
|
v
Build prompt for engine
|
v
Spawn Codex or Claude CLI
|
v
Open logs/<engine>.log and stream output
|
v
Agent researches in workspace and writes report.md
|
v
Agent POSTs workflow updates as it gathers evidence
|
v
UI polls tasks/logs and updates the page
|
v
Process exits with code
/ \
v v
exit 0 -> ready nonzero -> error
Empty log usually means one of two things: the task was never launched, or the selected engine has no run record yet.
Liquid Put Screener
Open Full Page
Embedded from the local
SCREEN.html universe bundle, including ticker drill-down pages like BAH.html.