Files
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
..

std/roles

Standard role services for OpenProse. Each role is a reusable service contract that defines what a service does, what it requires, and what it ensures. Roles are the atoms -- everything else is molecules.

Roles by Category

Analysis

Role Description
classifier Assign a category label to an input given a defined category set
critic Evaluate a work product against quality criteria and render a subjective verdict
verifier Check a result against formal constraints and report pass/fail for each

Transformation

Role Description
extractor Pull structured data from unstructured input given a target schema
summarizer Compress content while preserving specified key information
formatter Transform structured data into a specified output format with no information loss

Creation

Role Description
researcher Investigate a topic using available tools and return sourced, confidence-scored findings
writer Produce a written artifact given requirements, audience, and constraints
planner Produce an ordered plan with dependencies, decision points, and fallback paths

Flow

Role Description
router Select the best handler for an input from a set of candidates and explain the choice

Decision Matrix

When you need to... Use
Label an input against a known taxonomy classifier
Judge whether work meets a quality bar critic
Check formal correctness against rules verifier
Lift structured fields from raw text extractor
Compress content without losing key points summarizer
Reshape data into Markdown, JSON, HTML, CSV formatter
Discover information via search or tools researcher
Create a new document, report, or email writer
Sequence work into an ordered plan planner
Dispatch a request to the right handler router

Common Confusions

Classifier vs. Router. Classifier produces a label (data). Router selects a handler (action). A classifier says "this is a billing question." A router says "send this to the billing service."

Critic vs. Verifier. Critic renders subjective quality judgments ("is this analysis thorough?"). Verifier checks objective formal constraints ("does this JSON match the schema?"). A result can pass verification and fail criticism, or vice versa.

Extractor vs. Formatter. Extractor goes from unstructured to structured (raw text to schema). Formatter goes from structured to structured (data to Markdown). They point in opposite directions.

Summarizer vs. Writer. Summarizer compresses existing content. Writer creates new content. If the input already contains the information and you need less of it, use summarizer. If you need to synthesize, argue, or explain, use writer.

Researcher vs. Extractor. Researcher discovers new information using tools and search. Extractor lifts information already present in its input. If the data is in the input, extract. If the data needs to be found, research.