@@ -24,13 +24,13 @@ You can find a detailed overview of the taskflow grammar [here](doc/GRAMMAR.md)
2424```
2525┌─────────────────────────────────────────────────────┐
2626│ CLI (cli.py) │
27- │ Typer-based entry point: -p, -t, -l, -g KEY=VALUE │
27+ │ Typer-based entry point: -p, -t, -l, -g, --resume │
2828└─────────────────────┬───────────────────────────────┘
2929 │
3030┌─────────────────────▼───────────────────────────────┐
3131│ Runner (runner.py) │
3232│ Taskflow execution loop, model resolution, │
33- │ template rendering, repeat-prompt iteration │
33+ │ template rendering, session checkpointing │
3434└─────────────────────┬───────────────────────────────┘
3535 │
3636┌─────────────────────▼───────────────────────────────┐
@@ -45,6 +45,7 @@ You can find a detailed overview of the taskflow grammar [here](doc/GRAMMAR.md)
4545
4646Supporting modules:
4747 models.py — Pydantic v2 grammar models (validation)
48+ session.py — Task-level checkpoint / resume
4849 available_tools.py — YAML resource loader with caching
4950 template_utils.py — Jinja2 template environment
5051 mcp_utils.py — MCP client parameter resolution
@@ -80,6 +81,40 @@ Per-model `model_settings` can include:
8081- **`endpoint`** — API base URL override for this model
8182- **`token`** — name of an environment variable containing the API key
8283
84+ # ## Session Recovery
85+
86+ Taskflow runs are automatically checkpointed at the task level. If a task
87+ fails after exhausting retries, the session is saved and can be resumed :
88+
89+ ` ` `
90+ ** 🤖💾 Session saved: abc123def456
91+ ** 🤖💡 Resume with: --resume abc123def456
92+ ` ` `
93+
94+ Resume from the last successful checkpoint :
95+
96+ ` ` ` bash
97+ python -m seclab_taskflow_agent --resume abc123def456
98+ ` ` `
99+
100+ Failed tasks are automatically retried up to 3 times with increasing backoff
101+ before the session is saved. Session checkpoints are stored in the
102+ platform-specific application data directory.
103+
104+ # ## Error Output
105+
106+ By default, errors are shown as concise one-line messages. Use `--debug` (or
107+ set `TASK_AGENT_DEBUG=1`) for full tracebacks :
108+
109+ ` ` ` bash
110+ # Concise (default)
111+ Error: [BadRequestError] model 'foo' not found
112+ (use --debug for full traceback)
113+
114+ # Full traceback
115+ python -m seclab_taskflow_agent --debug -t examples.taskflows.echo
116+ ` ` `
117+
83118# # Use Cases and Examples
84119
85120The Seclab Taskflow Agent framework was primarily designed to fit the iterative feedback loop driven work involved in Agentic security research workflows and vulnerability triage tasks.
0 commit comments