Durable Executor
July 1, 2026 ยท View on GitHub
Durable-executor is the optional first-hop for tool-backed work. It exists so work that uses CLIs, adapters, browsers, local processes, files, or external services can leave durable evidence instead of disappearing into chat scrollback.
Context Burden Reduced
Durable-executor moves execution state out of the prompt and into a named workspace:
- command logs become workspace records;
- artifacts become files or handles;
- local capability seeds replace ad hoc tool memory;
- token stats are collected as evidence;
- final answers carry compact references instead of full transcripts.
1. First Hop For Tool-Backed Work
When a request needs durable execution, durable-executor owns the workspace, substrate selection, evidence, alignment, token stats, and closure.
flowchart LR
A[tool-backed request] --> B[durable-executor]
B --> C[named workspace]
B --> D[domain route or capability seed]
B --> E[execution substrate]
E --> F[rote exec, adapter, browser, or local command]
F --> G[evidence files and handles]
Review check:
- The workspace is named.
- Tool output is captured as evidence.
- Work does not rely on untracked stdout as proof.
2. Capability Seeds Before Fallback
When no reviewed domain SkillSpec owns a needed capability, durable-executor can
consult the local capability seed store before falling back to an unseeded local
tool. The seed records live outside the durable-executor skill, under
~/.skillspec/capabilities/<domain>/<seed-id>.yml.
flowchart LR
A[capability needed] --> B{domain SkillSpec found}
B -->|yes| C[route to domain skill]
B -->|no| D[capability search]
D --> E[ranked local seeds]
E --> F[inspect seed]
F --> G[verify seed]
G --> H{close match or risk}
H -->|yes| I[ask user]
H -->|no| J[execute with seed]
I --> J
D -->|empty| K[broaden related terms]
K --> D
K -->|still empty| L[ask before unseeded fallback]
Grounded commands:
skillspec capability store
skillspec capability search <capability> --domain <domain> --explain --json
skillspec capability inspect <seed-id> --domain <domain> --json
skillspec capability verify <seed-id> --domain <domain> --json
skillspec capability update <seed-id> --domain <domain> --mark-failed
skillspec capability prefer <seed-id> \
--domain <domain> \
--for <capability> \
--priority <0-100>
Review check:
- A seed is not a SkillSpec and not a handoff target.
- The agent searches, inspects, and verifies the seed before relying on it.
- Empty first search broadens to related capability and domain terms before fallback.
- Unseeded local fallback requires an explicit ask or a created and verified seed.
- Failed seeds are marked failed or lowered in priority before replacement.
3. Durable Handoff To Domain Skills
Durable-executor can hand off domain interpretation to another skill while preserving the durable packet.
sequenceDiagram
participant User
participant Durable as durable executor
participant Domain as domain skill
participant Workspace as durable workspace
User->>Durable: task needing tool-backed work
Durable->>Workspace: create trace/evidence envelope
Durable->>Domain: handoff packet with workspace and return_to
Domain->>Workspace: record domain evidence
Domain->>Durable: return packet
Durable->>User: result, evidence, alignment, token stats
Review check:
workspace,trace_dir,return_to, and execution policy are preserved.- Domain skill owns domain interpretation.
- Durable-executor owns durable closure.
4. Evidence And Token Reporting
Durable work should end with a compact report whose detailed evidence can be retrieved from the workspace instead of reloaded into prompt context.
flowchart LR
A[workspace commands] --> B[command log]
A --> C[artifacts]
A --> D[stats]
B --> E[progress evidence]
C --> F[artifact evidence]
D --> G[token usage and savings]
E --> H[final response]
F --> H
G --> H
Grounded commands:
rote workspace stats <workspace>
skillspec progress stats <run-dir> \
--workspace <workspace> \
--workspace-stats-report <file>
skillspec trace align <spec> \
--decision-trace <run-dir> \
--execution-trace <run-dir>/execution.jsonl \
--summary \
--proof-digest <run-dir>/proof-digest.json
Review check:
- Token usage is measured or explicitly marked not recorded.
- Evidence refs point to workspace files, response ids, or artifacts.
- Alignment can be partial when proof is missing.
- Final response summarizes evidence instead of reloading the full workspace.
5. Observed Work Can Become A Skill
SkillSpec can synthesize a draft skill from an observed durable workspace. This is how a one-off durable workflow becomes a reusable SkillSpec-backed skill.
flowchart LR
A[observed durable workspace] --> B[workspace stats]
A --> C[workspace log]
A --> D[workspace metadata]
A --> E[workspace deps]
B --> F[observed result approval]
C --> F
D --> F
E --> F
F --> G[synthesize-from-workspace]
G --> H[draft skill.spec.yml]
H --> I[review, QA, release]
Grounded command:
skillspec synthesize-from-workspace <workspace> \
--task '<observed task>' \
--out <skill-folder> \
--observation-approved
Review check:
- Synthesis depends on real workspace evidence.
- The observed result and evidence summary must be shown and approved before synthesis writes a scaffold.
- If live rote workspace lookup fails, capture stats, log, and metadata from
inside the workspace and pass
--workspace-stats-report,--workspace-log, and--workspace-meta. - Inferred behavior is marked for review.
- The resulting draft still needs validation, tests, dependency review, and proof before release.
6. Durable Has A Managed Lifecycle
Durable-executor is optional. It is not silently installed by router mode, and it has its own lifecycle.
flowchart LR
A[explicit source folder] --> B[durable install]
B --> C[managed marker]
B --> D[durable config]
D --> E[update with backup]
D --> F[delete marker-protected dirs]
E --> G[router refresh if configured]
F --> G
Grounded commands:
skillspec durable-executor install <source-folder> --target <target> --json
skillspec durable-executor disable --json
skillspec durable-executor enable --json
skillspec durable-executor update --json
skillspec durable-executor delete --json
Review check:
- Install requires an explicit local durable-executor source folder.
- Install, update, and enable preflight that
roteis available onPATH; dry-run reports the preflight without writing files. - Disable does not uninstall; it makes recorded durable installs explicit-only.
- Enable makes recorded durable installs implicit again.
- Update refuses existing unmarked folders.
- Delete removes only recorded marker-protected installs.
- Router state refreshes when router mode is configured.
What This Workflow Does Not Do
- It does not replace domain skills.
- It does not treat a capability seed as a reviewed domain SkillSpec.
- It does not use an unseeded local tool before the fallback ask or seed verification gate.
- It does not make untracked stdout into proof.
- It does not install itself through router mode.
- It does not delete unmarked durable-executor folders.
Mental Model
Durable-executor reduces context burden by moving execution evidence, command history, capability seed selection, and token accounting into named records. The prompt carries handles and summaries, not the whole execution transcript.