Files
openprose__prose/packages/std/ops/wire.prose.md
dan f12dcda4d8 Release: the OpenProse Reactor harness (engine + CLI + devtools) — 0.3.0 ideal API surface (#106)
Ships @openprose/reactor 0.3.0, @openprose/reactor-cli 0.2.0, @openprose/reactor-devtools 0.2.0: the Reactor harness (compile-once-intelligent then dumb reconciler, content-addressed receipts, cost scales with surprise) with the distilled ideal public API — curated front door, full @openai/agents passthrough, one typed handle, one Substrate, unified observe, branded ids, and additive forward seams for the fixpoint.
2026-06-02 14:06:56 -07:00

1.5 KiB

name, kind
name kind
wire function

Run Forme wiring to produce a manifest. This function implements the Forme wiring layer's wiring algorithm — reading contracts, auto-wiring dependencies by semantic matching, and producing an execution manifest. Previously a top-level command, now available as prose run std/ops/wire.

Parameters

  • target: path to the system *.prose.md file to wire

Returns

  • manifest: forme.manifest.json written to /runs/{id}/ containing the full wiring graph. The returned manifest is guaranteed to contain the full wiring graph for the target.

Errors

  • not-found: target file does not exist
  • unresolvable: one or more services could not be wired — no contract match found

Strategies

  • recursively resolve all contracts reachable from the target system (intra-node call targets in ### Execution, and cross-node ### Requires subscriptions)
  • for each contract, read it and build the DAG by matching ### Requires facet-contracts to the ### Maintains facets of other responsibilities using semantic matching
  • detect cycles and report them as errors (acyclicity is a postcondition on the topology)
  • write the compiled Forme manifest to /runs/{id}/forme.manifest.json with the full wiring graph and execution order

Execution

let resolved = call resolver
  target: target

let matched = call matcher
  contracts: resolved.contracts

let manifest = call manifest-writer
  graph: matched.graph

return { manifest: manifest.manifest }