Skip to content

feat: de-brand the run-phase model and release skill 0.16.0 - #167

Merged
josemontesdeoca merged 8 commits into
mainfrom
feat/reactor-debrand
Aug 26, 2026
Merged

feat: de-brand the run-phase model and release skill 0.16.0#167
josemontesdeoca merged 8 commits into
mainfrom
feat/reactor-debrand

Conversation

@josemontesdeoca

@josemontesdeoca josemontesdeoca commented Aug 24, 2026

Copy link
Copy Markdown
Member

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.mdconcepts/reconciler.md (same content).
  • spec/02-ReactorHarness.mdspec/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.mdspec/03-AuthoringPattern.md; the ~25 links in 01-Language.md retargeted.

Rewritten

  • "Reactor" in the model sense → "the reconciler" / "a conforming harness" across the Skill core, std, and CONTRIBUTING.
  • The example corpus is harness-neutral: each example is authored intent (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 what serve waits for; the expanded-topology examples describe their graph and its conformance expectations without prescribing an implementation's commands or fixtures.
  • The Skill's run-flow docs agree with each other: prose serve defines the manifest promotion step, the compile row names what ir-v0.md actually emits, and stale intent.* / state-directory paths are aligned to state/filesystem.md.
  • The spec says where the verbs run: 01-Language.md lists prose compile / serve / status as in-session, with a conforming harness free to deliver the same lifecycle durably outside it; compiler/ir-v0.md is the authoritative IR contract that a harness's exported types track, not the reverse.
  • Expanded-topology examples state what 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-surface fails 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

  • Skill 0.16.0, runtime_contract unchanged at 2 — no source rewrite for users. The Skill changelog records the migration so prose upgrade can route workflows that used prose react.

pnpm test: 15 files, 263 tests, no build step.

After merge: tag skill-v0.16.0 per RELEASE.md and resubmit the plugin.

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.
@josemontesdeoca josemontesdeoca self-assigned this Aug 24, 2026
@josemontesdeoca
josemontesdeoca merged commit 2c33882 into main Aug 26, 2026
15 of 19 checks passed
@josemontesdeoca
josemontesdeoca deleted the feat/reactor-debrand branch August 26, 2026 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants