Skip to content
Draft
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
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Two independent outer runners, Rust and Bun (packaged through npm), connect an opaque Markdown-owned image and task to an existing agent harness. They do not interpret Contracts or implement the OpenProse language. Keep the kernel, standard library, and component definitions in the separate Markdown library.

OpenProse composes contracts that define outcomes to achieve and conditions to maintain. Execution weaves assessment and action: assess fulfillment, act when needed, and reassess. Assessor and actor are roles that may be supplied by the same agent, ordinary code or other authorized participants, subject to any independence required by the selected agreement; classifiers and generators are possible implementations. The selected kernel and program define the complete invocation, including required reviews, reports and constraints. The runners carry those instructions without deciding their meaning. The optional [weave experiment](experiments/weave-seed/README.md) explores explicit coordination of these roles.

## Choose the image and output contract

Ordinary compiled Bun and Rust builds resolve and verify the published kernel before launching an installed harness, append it to native instructions, and keep the task separate. See [kernel startup](docs/kernel-startup.md) for integrity checks, limits and provider-readiness qualifications. Explicit verified-image builds remain available for frozen selections and hermetic fixtures; see [image bundle configuration](cli/shared/image/bundle/README.md).
Expand Down
2 changes: 2 additions & 0 deletions docs/weave-v1-readiness.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Status: unpublished local candidate, September 18, 2026. The local implementation is usable for bounded review. It is **not qualified for v1 promotion or public distribution**. Login, hosted transfer and backend work remain deferred.

The conceptual model is assessment and action over contracts defining outcomes to achieve and conditions to maintain. Assessor and actor are provider-neutral roles, potentially supplied by the same agent, ordinary code or other authorized participants, subject to the selected agreement's independence requirements. The implemented adapters and their qualification limits remain narrower than that model. Required reviews, reports, constraints and other invocation obligations still apply when maintained artifacts are already correct. This framing does not qualify a new kernel or change the retained evidence below.

## Current implementation

The [SDK](../experiments/weave-seed/SDK.md) provides independent Bun and Rust loop implementations. Native coordinators provide `check`, `status`, bounded `step` and `serve`, and explicit `settle`. Both observe selected files, preserve cumulative attempts and pending effects, and share checkpoint and binding formats. The Rust coordinator no longer delegates observation to Bun; the selected Jev and native action adapters still require Bun.
Expand Down
6 changes: 3 additions & 3 deletions experiments/weave-seed/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Weave development seed

Weave is an unpublished experiment in deciding when a caller's evidence needs work. This directory contains independent Rust and JavaScript loop implementations for comparison. It is a locally consumable source SDK and sidecar, not a published package or a `prose weave` command. Start with the provider-free seed examples below; see [candidate readiness](../../docs/weave-v1-readiness.md) before making product or release claims.
Weave is an unpublished experiment in coordinating assessment and action for outcomes to achieve and conditions to maintain. This directory contains independent Rust and JavaScript loop implementations for comparison. It is a locally consumable source SDK and sidecar, not a published package or a `prose weave` command. Start with the provider-free seed examples below; see [candidate readiness](../../docs/weave-v1-readiness.md) before making product or release claims.

The selected OpenProse kernel and adopted contracts remain authoritative. They define the entire invocation's obligations, including required reports and steps. The loop receives an explicit binding and evidence through caller-supplied capabilities. It neither parses prose nor discovers an agreement. An assessor judges evidence against the resolved agreement; an actor attempts permitted work. The runtime controls their sequence and checks for changed or expired evidence.
The selected OpenProse kernel and adopted contracts remain authoritative. They define the entire invocation's obligations, including required reports and steps. The loop receives an explicit binding and evidence through caller-supplied capabilities. It neither parses prose nor discovers an agreement. An assessor judges evidence against the resolved agreement; an actor attempts permitted work. These are provider-neutral roles: the same agent, ordinary code or other authorized participants may supply either role, subject to any independence required by the selected agreement. A classifier and a generator are possible implementations, not requirements. The runtime controls their sequence and checks for changed or expired evidence.

## Start here

Expand Down Expand Up @@ -47,7 +47,7 @@ rustc --edition=2021 --test experiments/weave-seed/rust/lib.rs -o "$WEAVE_TEST_D
"$WEAVE_TEST_DIR/tests"
```

The measured results are 25 shared lifecycle cases in each implementation, with additional save-failure and settlement checks. Rust reports four test functions containing those checks and a 10,000-step sequential stress run. Bun also runs 10,000 sequential transitions. Both check cumulative actions, reuse, changing bindings, expiry, and budget exhaustion. Bun also checks mutable observation snapshots and rejection of asynchronous callback results. See [the validation record](../../docs/weave-v1-readiness.md#checks-actually-performed) for scope and versions.
The measured results are 25 shared lifecycle cases in each implementation, with additional save-failure and settlement checks. Rust reports four test functions containing those checks and a 10,000-step sequential stress run. Bun also runs 10,000 sequential transitions. Both check cumulative actions, reuse, changing bindings, expiry, and budget exhaustion. Bun also checks mutable observation snapshots and rejection of asynchronous callback results. See [the validation record](../../docs/weave-v1-readiness.md#retained-qualification-evidence) for scope and versions.

Read the [walkthrough](examples/README.md) to understand the evidence and action boundary. Then read the [seed specification](SPEC.md) for the Rust and JavaScript capability interfaces and parity fixtures. The [Python reference](../weave/README.md) also includes a local checkpoint host and file/SQLite observers; their presence does not establish equivalent host services in the seeds.

Expand Down
2 changes: 2 additions & 0 deletions experiments/weave-seed/SDK.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

The weave is a small execution library. A host supplies observation, assessment, action, durable checkpoint storage, a clock and attempt identifiers. The library decides whether to reuse a judgment, assess evidence, attempt work, or stop for recovery. The selected OpenProse kernel and contracts define the obligations; the library does not parse Markdown or discover dependencies.

Contracts can define outcomes to achieve and conditions to maintain. Assessor and actor name roles, not provider types: ordinary code, the same agent or other authorized participants may supply either capability, subject to any independence required by the selected agreement. A classifier and a generator are possible implementations. Embedding this optional loop does not replace the selected agreement's required reviews, reports, constraints or other invocation obligations.

Both implementations are unpublished source packages at version `0.0.0`. They are suitable for local experiments, not a released v1 compatibility commitment. No account, network connection or provider key is required to embed the core.

## Bun
Expand Down
2 changes: 2 additions & 0 deletions experiments/weave-seed/getting-started/BYOK.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

This is an explicit local configuration guide, not a live test or a promise that a classifier establishes fulfillment. No OpenProse account is required for the local sidecar. Provider credentials, authorization to send the selected data, spending limits and installed native tools remain your responsibility. The offline example uses none of these.

Contracts define outcomes to achieve and conditions to maintain, together with the invocation's required reviews, reports and constraints. Assessor and actor are provider-neutral roles; the same agent, ordinary code or other authorized participants can supply them through the generic [SDK](../SDK.md), subject to the selected agreement's independence requirements. This configuration helper supports the narrower Jev assessor and Agents SDK/OpenAI-key actor profile described below. That profile does not establish support for other providers. Select evidence for the complete invocation: an already-correct artifact does not discharge a required new review or report.

## Generate the linked configuration files offline

Copy [setup.example.json](setup.example.json) to a separate reviewed input file and replace every placeholder with your own explicit selection. Then run:
Expand Down
2 changes: 2 additions & 0 deletions experiments/weave-seed/getting-started/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Start here to check the local loop without a login, credentials or network. This example uses deterministic subprocess fixtures and a synthetic agreement. It demonstrates observation, bounded repair, persistent state and reuse; it does not test OpenProse interpretation or model quality.

The synthetic agreement illustrates an outcome to achieve (a report matching the source) and a condition to maintain as the source changes. Ordinary code supplies both assessment and action here; these roles do not require a classifier or generator. Reuse in this example does not justify skipping a real program's required reviews, reports or other work for each invocation.

Use Bun 1.3.5 and a checkout containing this directory. From the repository root, create an example in a **new absolute directory whose parent already exists**:

```sh
Expand Down
Loading