mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
ae1a7d9136
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8.5 KiB
8.5 KiB
Changelog
All notable changes to OpenProse will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.10.0] - 2026-04-20
Added
- Canonical Contract Markdown section syntax — Added
skills/open-prose/contract-markdown.mdas the source of truth for Markdown program/service files. Canonical contracts now use### Services,### Requires,### Ensures,### Runtime,### Shape, and related Markdown sections, while lowercaserequires:/ensures:blocks remain supported as compatibility syntax. - ProseScript reference — Added
skills/open-prose/prosescript.mdto separate pinned choreography (### Execution,.prosescripts, loops, branches, retries, and explicit calls) from declarative Contract Markdown authoring. - Git-native dependency resolution — Programs declare dependencies via
use "owner/repo/path"statements;prose installclones repos into.deps/and pins versions inprose.lock(committed to git). Runtime resolution reads from disk only, no network calls. Replaces the earlierp.prose.mdregistry fetch with GitHub as the authoritative source. runas a first-class keyword type — Programs can now declarerunandrun[]inrequires:to depend on completed runs, enabling provenance tracking, DAG reconstruction, and staleness detection across workflows.environment:contract section — Addedenvironment:as a contract section for declaring runtime dependencies (API keys, secrets, tool access) with VM-enforced security constraints: variables are verified at wiring time but never logged, embedded in artifacts, or passed to subagents that don't declare them.- CLI commands refactored as stdlib sugar — Added
prose lint,prose preflight,prose inspect, andprose statusas thin wrappers around standard-library programs. Retires the transitionalprose compile/prose wire/prose migratesurface now that Contract Markdown is primary. - Agent onboarding narrative — Added
skills/open-prose/agent-onboarding.mdso agents can quickly learn when to propose OpenProse, how to activate the skill, and how to map host primitives to the VM. - Codex entrypoint — Added
AGENTS.mdat the repo root as Codex's native router intoskills/open-prose/SKILL.md, with a recommended[agents]config block (max_depth = 2) for recursive multi-service programs. - LongCoT benchmark automation — Added GitHub Actions workflows and helper scripts for LongCoT benchmarking and the
longcot-rlmifyworkflow dispatcher.
Changed
- Services are now a Markdown contract section — Program topology moved from frontmatter
services:into### Services, matching the rest of the human-readable contract surface. - Skill docs now route by intent — Reworked
skills/open-prose/SKILL.md,README.md,help.md, Forme, VM, guidance, and examples around a smaller "load what you need first" flow for agents. - Examples follow current Contract Markdown — Updated bundled examples to the section-based contract style and clarified multi-service wiring, composites, runtime hints, and execution blocks.
- Stdlib is external — Documentation now points to
openprose/std; repo-localskills/open-prose/lib/andstd/README.mdcontent was removed from this package. - RFCs and skill references are self-contained — Cleaned RFC and skill docs so public references no longer depend on internal planning context.
Fixed
- Spec-to-skill documentation alignment — Documented
eachpostcondition evaluation inensures:blocks, added environment security constraints to Forme wiring rules, introduced runtime delegation markers (__delegate/directory), and rewrotehelp.mdwith Contract Markdown as the primary surface and v0 as a clearly-scoped legacy subsection. - Internal consistency across skill files — Updated stale file-extension references (
.prose→.md), aligned v1/v2 terminology to legacy/declarative, added the missingprose installcommand to the CLI reference, and corrected cross-file pointers.
Removed
- Legacy internal skill artifacts — Removed
skills/open-prose/SOUL.mdand obsolete repo-local stdlib docs in favor of the current public skill and external stdlib model.
[0.9.0] - 2026-03-23
Breaking Changes
- Prose v2: programs are now Markdown files —
.mdwith YAML frontmatter and contract-based semantics (requires:/ensures:) replaces imperative.prosesyntax as the primary format. Legacy.prosefiles still run via v0 mode. - Two-phase execution — Programs with multiple services run through Forme (Phase 1: contract wiring) then the Prose VM (Phase 2: execution). Single-service programs skip Phase 1.
- Removed:
webshskill, voice alts, common library (moved elsewhere).
Added
- Forme Container (Phase 1) — Auto-wires multi-service programs by matching
requires:/ensures:contracts across components. Produces a manifest that the VM executes. - Contract semantics — Programs declare inputs (
requires:) and outputs (ensures:) instead of imperative orchestration. The container figures out the wiring. - Shapes — Typed structure declarations for contract values.
- Strategies — Declarative guidance for how the VM should handle edge cases during execution.
- Errors — Structured error declarations for programs.
- Invariants — Runtime constraints that must hold throughout execution.
- Test programs —
prose testcommand for running test suites against programs. - Standard library (
lib/) — 9 utility programs: calibrator, cost-analyzer, error-forensics, inspector, profiler, program-improver, project-memory, user-memory, vm-improver. - Migration tooling —
prose migrateconverts.prosefiles to.mdformat. - 50 example programs — All examples rewritten in v2
.mdformat, covering basics through complex multi-service orchestrations.
Changed
- v0 VM moved to
v0/— Legacy specs (prose.md,compiler.md,state/,primitives/) relocated tov0/subdirectory. - New
prose.md— v2 VM execution semantics for.mdprograms. - New
forme.md— Forme container semantics for Phase 1 wiring. - New
state/filesystem.md— v2 file-based state with workspace/bindings model. - Guidance directory —
guidance/tenets.md,guidance/patterns.md,guidance/antipatterns.mdfor program authoring.
[0.8.1] - 2025-01-23
Changed
- Token efficiency improvements: State tracking is now significantly more compact, reducing context usage during long-running programs. Append-only logs replace verbose state files, and compact markers replace verbose narration.
[0.8.0] - 2025-01-23
Breaking Changes
- Registry syntax simplified: The
@prefix is no longer required for registry references.- Migration: Update your imports and run commands:
prose run @irl-danb/habit-minerbecomesprose run irl-danb/habit-mineruse "@alice/research"becomesuse "alice/research"
- Resolution rules: URLs fetch directly, paths with
/resolve to p.prose.md, otherwise local file
- Migration: Update your imports and run commands:
Added
-
Memory Programs (recommend sqlite+ backend):
user-memory.prose: Cross-project persistent personal memory with teach/query/reflect modesproject-memory.prose: Project-scoped institutional memory with ingest/query/update/summarize modes
-
Analysis Programs:
cost-analyzer.prose: Token usage and cost pattern analysis with single/compare/trend scopescalibrator.prose: Validates light vs deep evaluation reliabilityerror-forensics.prose: Root cause analysis for failed runs
-
Improvement Loop Programs:
vm-improver.prose: Analyzes inspection reports and proposes PRs to improve the OpenProse VMprogram-improver.prose: Analyzes inspection reports and proposes PRs to improve .prose source code
-
Skill Security Scanner v2: Enhanced with progressive disclosure, model tiering (Sonnet for checklist, Opus for deep analysis), parallel scanners with graceful degradation, and persistent scan history
-
Interactive Example: New example demonstrating input primitives
-
System Prompt: Added system prompt configuration
Removed
- Telemetry system: Removed all telemetry-related code, config, and documentation including USER_ID/SESSION_ID tracking and analytics endpoint calls
Changed
- User-scoped persistent agents now stored in
~/.prose/agents/ - Documentation updates for registry syntax changes