Shannon supports workspaces that allow you to resume interrupted or failed runs without re-running completed agents.
How It Works
- Every run creates a workspace in
audit-logs/ (auto-named by default, e.g. example-com_shannon-1771007534808)
- Use
WORKSPACE=<name> to give your run a custom name for easier reference
- To resume any run, pass its workspace name via
WORKSPACE= — Shannon detects which agents completed successfully and picks up where it left off
- Each agent’s progress is checkpointed via git commits, so resumed runs start from a clean, validated state
Usage Examples
Start with a named workspace
./shannon start URL=https://example.com REPO=repo-name WORKSPACE=my-audit
Resume the same workspace
Simply run the same command again — Shannon skips completed agents:./shannon start URL=https://example.com REPO=repo-name WORKSPACE=my-audit
Resume an auto-named workspace
./shannon start URL=https://example.com REPO=repo-name WORKSPACE=example-com_shannon-1771007534808
List all workspaces
View all workspaces and their status:
Important Notes
The URL must match the original workspace URL when resuming. Shannon will reject mismatched URLs to prevent cross-target contamination.
Workspace Structure
Each workspace is stored in the audit-logs/ directory with the following structure:
audit-logs/{hostname}_{sessionId}/
├── session.json # Metrics and session data
├── agents/ # Per-agent execution logs
├── prompts/ # Prompt snapshots for reproducibility
└── deliverables/
└── comprehensive_security_assessment_report.md
Git Checkpoints
Shannon uses git commits to checkpoint each agent’s progress. When you resume a workspace:
- Shannon loads
session.json to detect completed agents
- Validates that deliverables exist for completed agents
- Restores git checkpoints to ensure a clean state
- Cleans up any incomplete deliverables from failed agents
- Continues execution from the next pending agent
This ensures that resumed runs are reliable and don’t repeat work unnecessarily.