From 98b1b4c2bc06d566c967c01d9d181da006ae1781 Mon Sep 17 00:00:00 2001 From: Rand Lee Date: Thu, 20 Aug 2026 17:36:07 -0700 Subject: [PATCH 1/2] docs(changelog): file Hermes RuntimeKind and TOML array-of-table extraction under 1.5.0 Closes #146, closes #511. Co-Authored-By: Claude Sonnet 5 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f98ca38d..9bfc7147 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,16 @@ All notable changes to this project will be documented in this file. conformance-vector handoff for Go consumers. See `docs/integrations/sc-sha-go.md` for the module path, release tags, and supported targets. +- Added Hermes as a first-class `RuntimeKind`, with its own `.hermes/agents`, + `.hermes/commands`, and `.hermes/skills` resolver search chains (falling + back to `.agents/` then `.claude/`), a `--runtime hermes` CLI value, and + matching Python bindings (`RuntimeKind.HERMES`). Closes #146. +- Added fixed-shape TOML array-of-table extraction support, matching the + existing JSON/YAML `ArrayIndex` structural-recursion approach: repeated + `[[table]]` blocks now extract per-element values with a dedicated + cardinality diagnostic on length mismatch. Flat scalar TOML extraction is + unchanged; Jinja-loop-driven (variable-cardinality) array-of-table + generation remains unsupported by design. Closes #511. ### Changed From 2729bad315460d4cc27a2706c169a003ffb5dd27 Mon Sep 17 00:00:00 2001 From: Rand Lee Date: Fri, 21 Aug 2026 05:02:15 -0700 Subject: [PATCH 2/2] site: announce sc-compose v1.5.0 --- site/announcements/index.html | 2 +- site/announcements/sc-compose-v1.5.0.md | 49 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 site/announcements/sc-compose-v1.5.0.md diff --git a/site/announcements/index.html b/site/announcements/index.html index 745030e6..afbf4ad3 100644 --- a/site/announcements/index.html +++ b/site/announcements/index.html @@ -14,7 +14,7 @@

Announcements

Press releases and release announcements for sc-compose.

    - +
  • sc-compose v1.5.0 — Hermes Runtime, sc-publish migration, Go distribution, release hardening
diff --git a/site/announcements/sc-compose-v1.5.0.md b/site/announcements/sc-compose-v1.5.0.md new file mode 100644 index 00000000..43ea5467 --- /dev/null +++ b/site/announcements/sc-compose-v1.5.0.md @@ -0,0 +1,49 @@ +# sc-compose v1.5.0 — Hermes Runtime, sc-publish Migration, and Go Distribution + +**Released:** August 2026 · **Install:** `cargo install sc-compose` (Rust), `pip install sc-compose` (Python ≥3.11) + +[Changelog](https://github.com/randlee/sc-compose/blob/main/CHANGELOG.md) · [Release notes](https://github.com/randlee/sc-compose/releases/tag/v1.5.0) + +--- + +## AI-Agent Profile Author + +**As an agent-profile author, I want to compose a profile once and resolve it across Claude, Codex, Gemini, and OpenCode, so that I don't maintain per-runtime copies that drift.** + +v1.5.0 adds Hermes Agent as a first-class `RuntimeKind`. Profiles composed with `sc-compose` now resolve natively to Hermes Agent profiles alongside the existing Claude, Codex, Gemini, and OpenCode targets. The same fragment you author once renders correctly to Hermes's profile structure — no per-runtime duplication, no drift. + +This is the first expansion of the runtime matrix since the original GA launch. Hermes support uses the same multi-pass template resolution and declared-input validation surface as every other runtime, so existing profiles targeting Claude or Codex gain Hermes compatibility with zero structural changes. If you're already declaring inputs and using fragments, add `--agent hermes` and compose. + +--- + +## Release & Ops Engineer + +**As a release/ops engineer, I want to compose service configs from shared fragments and generate compliance/sprint reports, so that configs stay DRY and reports are reproducible.** + +v1.5.0 cuts sc-compose's own release pipeline over to `sc-publish`, dogfooding the composition engine's publishing surface end-to-end. The legacy publishing workflow is removed; all channel dispatch, manifest rendering, and credential verification now flow through the composable publishing pipeline. + +Preflight checks are hardened: credential verification is actionable (not opaque), channel recovery is manifest-driven, and every recovery workflow is idempotent. Winget and Scoop manifests are now rendered through sc-compose templates — no hand-edited YAML drift. The Winget publish workflow is a standalone, re-runnable dispatch. PyPI uploads are re-runnable with `maturin --skip-existing` semantics baked into the workflow contracts. + +Phase P gates close the production-readiness loop: Intel-macOS compatibility guard, generator retry on transient failures, and CI fixes for cargo-deny ordering and Windows GNU executable packaging. + +--- + +## Python Developer + +**As a Python developer, I want Python bindings and pytest-fixture generation, so that I can drive composition from Python and generate test stubs from a list of test names.** + +Python packaging receives targeted fixes in v1.5.0: the PyPI upload workflow is re-runnable, Python manifest alignment is corrected across both manifest files, and Maturin invocation is pinned with `--skip-existing` invariants in CI. The `requires-python >=3.11` contract is unchanged; no API surface has changed in the Python bindings. + +--- + +## Library Consumer (Rust) + +**As a Rust library consumer, I want the `sc-composer` crate with a stable API, so that I can embed composition in my own tooling.** + +The Rust crate boundary remains stable through v1.5.0. The `sc-composer` crate maintains its existing API surface; no breaking changes ship. The error-code registry (`ERR_*`) is preserved. Phase P production-readiness gates ensure cross-platform stability (including Intel macOS) and generator retry reliability. Generated Go bindings for `sc-sha` ship as a companion distribution — Rust consumers are unaffected but gain confidence that the interop surface is expanding cleanly. + +--- + +## What's Next + +v1.5.0 is a feature release spanning 62 commits from Phase P and Q. The sc-publish migration is the architectural centerpiece; Hermes runtime support is the most visible end-user feature. Subsequent releases will build on this foundation with expanded runtime coverage and deeper publishing automation. \ No newline at end of file