feat: de-brand the run-phase model and release skill 0.16.0 - #167
Merged
Conversation
The language spec and skill described the run-phase model with the name of one harness implementation, which made the language look designed for a single product. Now that the harness lives in its own repository, the spec keeps only the contract any conforming harness must satisfy (02-Harness.md) and the authoring pattern (03-AuthoringPattern.md); the shipped-status and roadmap sections leave with the implementation. The skill's concept doc becomes concepts/reconciler.md, and every cross-reference, std contract, and conformance test follows. The README Harnesses pointer is the one place the reference harness is still named.
A conformance suite now scans the skill, spec, std/co contracts, and root docs for harness product tokens and for the product name used as the run-phase model, allowing only the README Harnesses pointer and the upgrade changelog. It also asserts the product-named spec and concept files stay gone, the same way tenets.test.ts pins the retired judge file.
Every example README walked readers through one harness product's CLI (doctor, compile, topology, run, serve, receipts verify, a replay viewer) and described its checks as files that no longer live in this repository. The contracts were always harness-neutral; the walkthroughs were not. Each example now ends in the flow the skill itself embodies (prose compile, promote the manifest, prose serve, prose status) plus the statement that any conforming harness serves the compiled IR the same way. Replay output is shown as what a run leaves on disk rather than as one tool's transcript, and the checks that ship with the reference harness are described as such. Goal statements and DAG sketches are unchanged. Two contracts drop a stray product name in prose, and one example .gitignore stops listing harness-specific state directories.
The guard skipped skills/open-prose/examples while the example READMEs still carried one harness product's CLI walkthrough. Now that they teach the skill's own verbs, the exclusion goes away: the examples are the first thing a newcomer reads, so a "run it with <product>" section creeping back there is exactly the drift this suite exists to catch. The sanity check asserts the corpus is actually in the scan set.
The skill track advances so plugin users receive the skill that no longer routes to a harness binary: the marketplace deduplicates by manifest version, so the two plugin manifests and SKILL.md move together. runtime_contract stays 2; the machine contract did not change. The upgrade brain records what left the skill and where the harness now lives, so `prose upgrade` can route a workflow that used the retired verb. CHANGELOG.md gets the 0.16.0 section, absorbing the prose-cli removal that had been waiting under Unreleased, and the README and spec state the current skill version.
irl-dan
approved these changes
Aug 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #166. With the Reactor harness in its own repository, the language, the Skill, and the spec now describe the run-phase model for what it is rather than after one implementation of it — and a conformance test keeps it that way.
Renamed
concepts/reactor.md→concepts/reconciler.md(same content).spec/02-ReactorHarness.md→spec/02-Harness.md: the contract any conforming harness must satisfy. Parts II–III (what shipped, what is next) are the harness's own status and left with it.spec/03-ReactorPattern.md→spec/03-AuthoringPattern.md; the ~25 links in01-Language.mdretargeted.Rewritten
std, and CONTRIBUTING.src/*.prose.md) plus the observable behaviour a conforming harness must preserve. The Quick Start examples carry the Skill's own flow (prose compile→ promote →prose serve) and say whatservewaits for; the expanded-topology examples describe their graph and its conformance expectations without prescribing an implementation's commands or fixtures.prose servedefines the manifest promotion step, the compile row names whatir-v0.mdactually emits, and staleintent.*/ state-directory paths are aligned tostate/filesystem.md.01-Language.mdlistsprose compile/serve/statusas in-session, with a conforming harness free to deliver the same lifecycle durably outside it;compiler/ir-v0.mdis the authoritative IR contract that a harness's exported types track, not the reverse.src/ships and what a harness's expansion produces from it, and describe replay layouts as one harness's rather than the exact shape; the examples index names the eleven examples that carry a native run block.Guarded
tests/open-prose/harness-surfacefails any change that names the product outside the README's Harnesses section and the Skill changelog, or reintroduces a native run recipe into the expanded-topology READMEs.Released
runtime_contractunchanged at 2 — no source rewrite for users. The Skill changelog records the migration soprose upgradecan route workflows that usedprose react.pnpm test: 15 files, 263 tests, no build step.After merge: tag
skill-v0.16.0perRELEASE.mdand resubmit the plugin.