firestige/execution-system0

wsr-execution

Host-neutral execution boundary for workflow-self-recursive: resolves and validates one exact Workflow Package, binds an immutable Delivery Manifest, coordinates the Delivery, and emits bounded OTLP observations. · 与宿主无关的 Agent 工作流执行边界:解析并校验确定的 Workflow Package,绑定不可变 Delivery Manifest,协调交付并发出有界观测。

包名
wsr-execution
版本
0.1.2
许可证
Apache-2.0
最近更新
2026年8月25日

安装

此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗

Workflow Self-Recursive — Execution System

English | 中文

Workflow Self-Recursive banner

License npm npm CI

Turn every agent conversation into an auditable, recoverable, version-bound delivery.

The Execution System is the host-neutral execution boundary of workflow-self-recursive: it resolves and validates one exact Workflow Package, binds it in an immutable Delivery Manifest, coordinates the Delivery inside an isolated Runner-owned execution context, recovers from the last durable boundary after crashes, and emits bounded observations over OTLP — observation never controls execution.

Delivery forms (交付形态)

The Execution System is a host-neutral product, not a plugin. DSH is one entry point among several:

FormPackageAudience
Embedded librarywsr-executionHost-neutral embedding — import ExecutionApplicationFactory and bootstrap with create(configFile, dependencies)
DSH plugin entrywsr-dsh-intakeDeepSeek Harness users — run workflows from chat and sidebar tabs
CLIexecution-config (in wsr-execution)Configuration init / copy / validate / dump-effective

The DSH plugin is the first product entry; every admitted Workflow Action runs in a Runner-owned, isolated DSH execution context (DSH-E), never in the Intake context (DSH-I).

Why it exists

Bare agent chatWhat actually happensExecution System
Execution is a black boxWhat the model did, and with which workflow definition, cannot be audited afterwardsEvery Delivery binds one exact version + SHA-256 into an immutable Manifest
Interruptions lose stateAfter a crash or restart there is nowhere to lookManifest/current-slot persist; /wsr recover resumes from the last durable boundary
Version driftThe same request can execute different definitions at different timesExact/latest selectors with a local READY store that stays authoritative
Observation couples to executionA telemetry outage can take the run down with itOne-way, best-effort OTLP; Execution continues when Evidence or telemetry is unavailable

How it works

Three modules carry the responsibility:

  • Delivery Binding resolves one exact, locally READY Workflow Package (selector → validation → local MISSING/STAGING/READY store) and constructs the Manifest content.
  • Runtime Interaction owns canonical worktree exclusivity, the current Delivery slot, Manifest persistence, Runtime invocation, recovery, and final handling.
  • Delivery Observation maps outbound bounded facts to a one-way, best-effort OTLP profile without controlling execution.

The default Source is the configured firestige/workflow-package GitHub Release. implementation-workflow@0.3.0 and system-design-workflow@0.3.0 are downloaded, validated, and published to the local READY store; neither is embedded in an Execution artifact.

Install (DSH entry, one command)

# 1. Approve the better-sqlite3 native build once (pnpm 11)
dsh plugin --profile web config set --location=project --json allowBuilds '{"better-sqlite3":true}'
# 2. Install the Intake entry — the engine (wsr-execution) comes as its dependency
dsh plugin --profile web add wsr-dsh-intake

Requires Node `>=24.12 /wsr recover [delivery-id] /wsr status [delivery-id] /wsr action finish /wsr abandon


The explicit first-party skill `/workflow-execution` performs exactly one closed operation through the DSH-I-only `workflow_execution_intake` tool.

## Compatibility

| Dimension | Requirement |
|---|---|
| Node.js | `>=24.12.0 <25` |
| DeepSeek Harness | `0.1.1-rc.2` (`@deepseek-ai/dsh`) |
| Workflow Package contract | `agentops.workflow-dsl@1.1.0` |
| Observation contract | `agentops.observation@1.0.0` |
| Checkpoint store | `better-sqlite3` (native build, approved via `allowBuilds`) |

## Known Limitations and Deferred Work

- **Developer preview** — version `0.1.x` is an MVP candidate for trusted local use by individuals and small teams; compatibility-breaking changes are possible.
- **Conversation workspace as provisional worktree** — until [#94](https://github.com/firestige/workflow-self-recursive/issues/94), an operation that must select a worktree uses the invoking conversation's registered workspace; authority is invocation-scoped and exact.
- **Observation disabled by default** — set `observation.enabled: true` with a loopback OTLP base `endpoint` to enable the non-controlling exporter.
- **DSH-only interactive surface** — the shipped `web` profile is the reference assembly; a custom profile contains only `dsh-base` and is not an interactive Intake surface.

## For maintainers

- **Release qualification** — see [the release process](https://github.com/firestige/workflow-self-recursive/blob/main/docs/guides/execution-release-process.md). `pnpm quickstart:prepare` builds and verifies both artifacts and initializes local E2E configuration in one operation.
- **Changelog** — generated from git history by `pnpm changelog:generate`; `pnpm changelog:check` (CI-gated) rejects hand-edited drift.
- **Local pre-release E2E** — [guide](https://github.com/firestige/workflow-self-recursive/blob/main/docs/guides/dsh-execution-local-e2e.md); final [DSH quickstart](https://github.com/firestige/workflow-self-recursive/blob/main/docs/guides/dsh-execution-quickstart.md); [configuration reference](https://github.com/firestige/workflow-self-recursive/blob/main/docs/reference/execution-configuration.md); [DSH Intake package reference](https://github.com/firestige/execution-system/blob/a1ab8c2f8cd853b7dc7d79b0bb5e2ec474f0853f/packages/dsh-intake/README.md).

### Direct embedding

For host-neutral embedding, import `ExecutionApplicationFactory`, `DefaultExecutionApplicationFactory`, `ExecutionRequest`, `TaskPrompt`, and the configuration types from the package root. Calling the default factory's `create(configFile, dependencies)` is the single production bootstrap path. The exact DSH runtime is an optional peer: package-root import/type consumers need not install it, while executing the current `dsh` Provider requires the embedding profile to provide `@deepseek-ai/dsh@0.1.1-rc.2`. The release includes `config/schema/execution.config.schema.json`, versioned defaults/examples, compiled TypeScript declarations, and `execution-config init|copy|validate|dump-effective`.

## Get the source

This repository is normally consumed as a submodule of [workflow-self-recursive](https://github.com/firestige/workflow-self-recursive):

```sh
git clone --recurse-submodules https://github.com/firestige/workflow-self-recursive.git

To clone it standalone:

git clone https://github.com/firestige/execution-system.git

Documentation

License

Apache-2.0