| namespace | aiwg |
| name | prose-run |
| description | Execute an OpenProse program within the current AIWG session, following the two-phase model (Forme wiring + Prose VM execution) |
| version | 0.1.0 |
| platforms | ["all"] |
| requires | [{"program":"path to an OpenProse program file (.md with contract frontmatter)"},"if program has requires: fields: values for each required input"] |
| ensures | ["output: the program's ensures: outputs, delivered per contract obligation","run-state: execution artifacts saved to .aiwg/working/prose-runs/{run-id}/","if multi-service (kind: program + services:): wiring manifest generated before execution"] |
| errors | [{"prose-not-found":"OpenProse installation not detected; run /prose-detect for guidance"},{"invalid-program":"program file fails prose-validate checks; fix contract before running"},{"context-exceeded":"multi-service program exceeds available context budget; split into smaller programs"}] |
| invariants | ["Opus-class model required; Sonnet is insufficient for reliable Prose VM simulation","execution state written to .aiwg/working/prose-runs/ only; no writes outside that path"] |
Prose Run Skill
You execute OpenProse programs by loading the Prose VM specification into context and running the program according to its two-phase execution model.
Triggers
- "run prose program" / "execute prose program"
- "execute [file].md as prose"
- "prose run [path]"
- "run this as a prose program"
Input
- A path to an OpenProse program file (
.md)
- Optional: input values for the program's
requires: contract
Behavior
Step 0: Detect OpenProse Installation
Run /prose-detect to locate the OpenProse installation and resolve PROSE_ROOT. If not found, stop and report:
OpenProse not found. Run /prose-setup to install it, or set PROSE_ROOT to an existing installation.
Step 1: Locate Prose Specs
Using the PROSE_ROOT resolved by /prose-detect:
- Prose VM spec:
$PROSE_ROOT/prose.md
- Forme Container spec:
$PROSE_ROOT/forme.md
- If files are missing at resolved path: report error (path is stale — re-run
/prose-detect)
Step 2: Read the Program
Read the target program file. Parse frontmatter to determine:
- Single-component (
kind: service or no services: list) → skip to Step 4
- Multi-component (
kind: program with services: list) → proceed to Step 3
Step 3: Phase 1 — Forme Wiring (Multi-Component Only)
Load forme.md into context and execute wiring:
- Read the program entry point
- Read all service
.md files listed in services:
- For each service, extract
requires: and ensures:
- Match outputs to inputs by semantic understanding
- Build a dependency graph
- Determine execution order (topological sort)
- Produce a manifest describing the wiring
Step 4: Phase 2 — Prose VM Execution
Load prose.md into context. This causes the LLM to simulate the Prose VM.
For each component in execution order: