Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,12 @@

## What this is

**With OpenProse, you state what an agent must accomplish, which requirements it
must satisfy, and where it can choose its approach.** Contract authoring is
Contract authoring is
expressing intent by composing requirements. Reusable contracts provide the
building blocks; composition determines how their requirements apply together.

An agent performs the work, and an evaluator assesses whether the contract’s requirements are satisfied. The executor returns a result that includes the evidence needed for that assessment. Execution and evaluation repeat as needed.

This public repository supplies the **Contract Markdown and ProseScript**
format, the `open-prose` skill, and reusable libraries. A `responsibility`
expresses requirements for state maintained over time. A `function` performs a
Expand Down
7 changes: 3 additions & 4 deletions skills/open-prose/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ description: |

# OpenProse Skill

Contract authoring is expressing intent by composing requirements. State what
the agent must accomplish, which conditions it must satisfy, and where it can
choose its approach. Reuse and combine contracts through the interfaces in
this skill; see [requirements and composition](guidance/authoring.md#requirements-and-composition).
Contract authoring is expressing intent by composing requirements. An agent
performs the work, and an evaluator assesses whether the contract’s requirements
are satisfied. Reuse and combine contracts through the interfaces in this skill; see [requirements and composition](guidance/authoring.md#requirements-and-composition).

OpenProse has five load-bearing pieces:

Expand Down
6 changes: 3 additions & 3 deletions skills/open-prose/agent-onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

> State the requirements. Reuse and combine contracts.

Contract authoring is expressing intent by composing requirements. Start with
what the agent must accomplish, which conditions it must satisfy, and the
choices it may make. See [requirements and composition](guidance/authoring.md#requirements-and-composition)
Contract authoring is expressing intent by composing requirements. See [requirements and composition](guidance/authoring.md#requirements-and-composition)
for the public skill format.

An agent performs the work, and an evaluator assesses whether the contract’s requirements are satisfied. The executor returns a result that includes the evidence needed for that assessment. Execution and evaluation repeat as needed.

## Install

```
Expand Down
34 changes: 32 additions & 2 deletions skills/open-prose/guidance/authoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ Use this file when writing or reviewing OpenProse author-facing artifacts:

## Requirements and composition

State what the agent must accomplish, which requirements it must satisfy, and
where it can choose its approach. **Contract authoring is expressing intent by
**Contract authoring is expressing intent by
composing requirements.** A contract states requirements and the context needed
to interpret and apply them. Reusable contracts provide the building blocks;
composition determines how their requirements apply together.
Expand Down Expand Up @@ -58,6 +57,37 @@ same render with different or missing sections (the authored kinds in
*inside* a render or a cross-node *subscription* across responsibilities, never a
third internally-autowired graph kind.

## Execution and evaluation

The executor performs the work required by the contract and returns a result.
The evaluator assesses whether the contract’s requirements are satisfied using
that result and the available evidence. Execution and evaluation repeat as
needed. An evaluator can also assess the current state before more execution
is necessary. These are roles: the same agent can perform both unless a
composed contract requires independent review. A decision model can perform
evaluation.

The result includes evidence, partial work and relevant uncertainty. It can
be a document containing or referencing artifacts and records the evaluator
can access. Evidence is part of the result, not another return value. Follow
the selected kind’s existing interface: a function declares `### Returns`,
while a responsibility publishes its `### Maintains` state and receipt.
This vocabulary does not replace those interfaces or add a new file layout.

An assessment contains the evaluator’s findings about the subject contract.
Fulfillment means satisfaction of that contract’s applicable requirements.
An evaluation can complete while identifying unmet requirements or an
unresolved subject judgment. Compose contracts to express requirements for
source evidence, independent review and authorization; they are ordinary
requirements, not additional runtime phases.

Out names the normal result channel; error reports execution failure. A
completed evaluation that finds unmet subject requirements returns a normal
assessment. Preserve partial work and effects when execution fails. Map these
concepts to the selected runtime’s existing returns, receipts and declared
errors; they do not rename syntax, prescribe stdout/stderr or introduce a
third return channel for uncertainty.

## Core Principles

- Prefer the smallest artifact that expresses the work: a responsibility when an
Expand Down
10 changes: 10 additions & 0 deletions skills/open-prose/guidance/system-prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,16 @@ they leave choices open. See [requirements and composition](authoring.md#require
Requirements do not supply missing tools or grant permissions; use the host's
available primitives and authorization boundaries.

## Execution and evaluation

Act as executor when carrying out the contract’s work and as evaluator when
assessing whether its requirements are satisfied. Follow any composed
independent-review requirement. Return a result that includes the evidence
needed for assessment; preserve missing evidence and unresolved effects.
A completed evaluation can find unmet subject requirements. Follow the
selected kind’s existing result and error interfaces; an assessment of
nonfulfillment is not by itself an evaluation failure.

## Your Role

You are not merely describing a virtual machine. You are the OpenProse VM:
Expand Down
6 changes: 3 additions & 3 deletions skills/open-prose/help.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ Load this file when a user invokes `prose help` or asks about OpenProse.

## Welcome

With OpenProse, state what the agent must accomplish, which requirements it
must satisfy, and where it can choose its approach. Contract authoring is
expressing intent by composing requirements. Reusable contracts provide the
Contract authoring is expressing intent by composing requirements. Reusable contracts provide the
building blocks; composition determines how their requirements apply together.

An agent performs the work, and an evaluator assesses whether the contract’s requirements are satisfied. The executor returns a result that includes the evidence needed for that assessment. Execution and evaluation repeat as needed.

The public skill uses Contract Markdown for requirements and interfaces, and
ProseScript for required steps inside a render. A `responsibility` maintains
state over time; a `function` provides a one-time call. The agent follows the
Expand Down
Loading