Files
irl-dan 63c8ce4b23 Migrate std and co into packages/ monorepo layout
Move the standard library (previously `github.com/openprose/std`) and
the company-as-prose library (previously local dir
`/Users/sl/code/openprose/company-as-prose`) into this repository
under `packages/std/` and `packages/co/` respectively.

Motivation: concentrate attention on one repository so stars,
discussions, and issues aggregate. `openprose/std` was a genuinely
useful asset nobody could find because ~50 stars on its own repo
told a much worse story than 1,106 stars on `openprose/prose`
would have. Same logic applies to co.

Layout choice: `packages/{std,co}/` rather than `std/` + `co/` at
the repo root. Root siblings accumulate over time, and a flat
top-level made future libraries (hub, kit, dev, etc.) compete with
spec infrastructure. `packages/` is bounded — new libraries land
there without cluttering root. Matches pnpm/Deno/monorepo tooling
conventions.

Changes:

- New: `packages/std/` (copied from openprose/std, `.git` excluded)
- New: `packages/co/` (copied from company-as-prose, README updated
  for new name and location)
- `packages/std/README.md`: updated shorthand expansion reference
- `packages/co/README.md`: renamed "company-as-prose" to "co" in
  self-references, added std-vs-co split heuristic, updated
  `prose run` examples to use `co/` shorthand
- `skills/open-prose/deps.md`:
  - `std/` shorthand now expands to
    `github.com/openprose/prose/packages/std/`
  - `co/` shorthand added, expands to
    `github.com/openprose/prose/packages/co/`
  - Both shorthands resolve into the same clone of
    `openprose/prose` under `.deps/github.com/openprose/prose/`;
    `packages/std/` and `packages/co/` are sibling subdirectories
  - `prose.lock` format row updated to `host/owner/repo sha`
    (matches the explicit-host resolution that landed in #35)
  - `.deps/` directory structure example redrawn to show the
    `{host}/{owner}/{repo}/packages/{std,co}/...` shape
  - Error message and Interaction tables refreshed accordingly
  - Resolution Algorithm step 1 now documents both shorthands
- `skills/open-prose/forme.md`: Step 2 resolution list updated to
  include co/ shorthand and the host-keyed `.deps/` layout
- `skills/open-prose/help.md`: Q&A "How do dependencies work?"
  rewritten to name both shorthands and the new explicit-host model
- `skills/open-prose/state/filesystem.md`: `.deps/` directory
  tree re-drawn to include the `{host}/` layer with std/co as
  sibling packages inside the clone
- `skills/open-prose/guidance/patterns.md`,
  `skills/open-prose/guidance/antipatterns.md`: examples now use
  the `std/` shorthand or explicit `github.com/...` rather than
  the deprecated bare `openprose/std/` form
- `skills/open-prose/examples/registry-import/index.md`: sample
  service reference switched to `std/evals/inspector`
- `README.md`: Stdlib badge replaced with internal `packages/std/`
  link plus new `packages/co/` link; "Standard Library" section
  rewritten as "Libraries" with both packages described

Out of scope for this PR (deliberately):
- Tooling changes to `prose install` and Forme's `.deps/` writer
  to adopt the `{host}/{owner}/{repo}/` layout in practice — this
  PR is spec-only. Existing tooling continues to work against
  whatever layout it currently implements; the spec now describes
  the target.
- Retiring the `openprose/std` GitHub repo. Delete that repo
  separately after this merges.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 14:14:31 -07:00
..

OpenProse Standard Library

Reusable Contract Markdown programs, services, composites, controls, roles, and memory agents for OpenProse.

Usage

use "std/evals/inspector"
use "std/composites/worker-critic"
use "std/controls/pipeline"
use "std/roles/critic"
use "std/delivery/email-notifier"
use "std/memory/project-memory"

Install with prose install. std/... is the shorthand for github.com/openprose/prose/packages/std/...; see deps.md for dependency resolution details.

Library

All Markdown entries use the current Contract Markdown section form (### Services, ### Requires, ### Ensures, and related sections). The .prose memory entries are legacy ProseScript variants retained for compatibility.

evals/

Programs for evaluating and improving OpenProse runs, contracts, and platform behavior.

Program Purpose
inspector Post-run analysis — runtime fidelity and task effectiveness
contract-grader Scores a program against its declared contract
regression-tracker Tracks quality regressions across runs
cross-run-differ Compares runs and recommends follow-up investigation
eval-calibrator Validates light evals against deep evals for reliability
program-improver Analyzes inspections and proposes program improvements
platform-improver Analyzes inspections and proposes platform/runtime improvements

ops/

Operational programs for profiling, debugging, validation, and wiring.

Program Purpose
lint Validate structure, schema, shapes, and contract consistency for a program and its service tree
preflight Check that all runtime dependencies are satisfied before executing a program
status Summarize recent runs from .prose/runs/
wire Run Forme wiring to produce an execution manifest
diagnose Investigate failed or suspicious runs and propose fixes
profiler Cost, token usage, and time profiling for completed runs

delivery/

Services for delivering program outputs to humans and external systems.

Service Purpose
human-gate Present output for human review, block until approved or rejected
slack-notifier Format and deliver content to Slack via webhook or API
email-notifier Send an HTML email via a configured email provider (Resend, SendGrid, Postmark, SES, SMTP)
email-renderer Render structured report data into a branded, email-safe HTML string
html-renderer Render an HTML document from a template and structured data
webhook-notifier Deliver content to an HTTP endpoint via webhook
file-writer Write content to a local, S3, or GCS destination

composites/

Named multi-agent topology patterns (kind: composite) for reusable coordination shapes.

Pattern Purpose
worker-critic Two-agent loop: worker produces, critic evaluates, repeat until accepted
ensemble-synthesizer N-agent ensemble that independently solves then synthesizes into a consensus answer
ratchet Iterative improvement loop with regression prevention
dialectic Two-agent debate structure producing a synthesized conclusion
proposer-adversary Adversarial proposal testing: proposer generates, adversary stress-tests
oversight Actor-observer-arbiter structure for independent observation and decision
assumption-miner Surfaces implicit assumptions in a solution for explicit evaluation
blind-review Independent evaluation without exposure to other agents' assessments
contrastive-probe Generates contrasting solutions to expose decision boundaries
stochastic-probe Introduces controlled randomness to test solution robustness
coherence-probe Tests whether two corpora that should agree are actually in sync

controls/

Reusable flow-control composites for sequencing, distribution, guarding, retrying, and fallback.

Pattern Purpose
pipeline Sequential stage pipeline: output of each stage feeds the next
map-reduce Parallel fan-out across inputs followed by aggregation
fan-out Parallel delegation without reduction; parent consumes raw results
race Parallel speculative execution; first acceptable result wins
guard Conditional delegation: run target only when guard passes
refine Iterative improvement guided by an evaluator
fallback-chain Sequential failover through candidate delegates
retry-with-learning Retry loop that accumulates failure context to guide subsequent attempts

roles/

Single-agent role guides for programs and composites.

Role Purpose
classifier Classifies inputs into a fixed set of categories; returns structured label
critic Evaluates a proposed solution against criteria; returns scored feedback
extractor Extracts structured data from unstructured text; returns JSON
summarizer Condenses long content into a concise representation
verifier Checks a solution for correctness against known constraints or test cases
researcher Investigates a topic and produces sourced findings
writer Produces prose for a specified audience and purpose
planner Breaks an objective into ordered work with dependencies
router Routes an input to the right tool, role, or next step
formatter Transforms structured data into a target presentation format

memory/

Programs for persistent agent memory management.

Program Purpose
project-memory Project-scoped memory
user-memory Cross-project memory (user-scoped)