Skip to content

Commit 195b7c5

Browse files
committed
chore(release): 0.1.2 — bump workspace version + finalize changelog
1 parent 182970c commit 195b7c5

4 files changed

Lines changed: 11 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
88

9+
## [0.1.2] - 2026-08-06
10+
11+
### Added
12+
13+
- **`run show` / `run list` flag an undriven `--kind orchestrate` run as `stalled` (`peculiarly-muddled-caption`).** A `--kind orchestrate` supervisor only *adopts* children — it does not itself drive the fan-out — so a driver run whose orchestrator agent never ran (or died immediately) could sit `pending` with zero children for hours, indistinguishable at a glance from a healthy long-running campaign (one real case ran 15h). Both commands now expose a read-time `stalled` boolean (and a `(stalled)` marker in the human status column) that is true when the driver node `n-0001` is still `pending` with **zero children** and no node-touching events past a 12-minute grace window. The signal is computed entirely at read time from existing timestamps + event sequence — no reducer, schema, or event-append path is touched, so the state-integrity invariants are unaffected.
14+
915
### Changed
1016

1117
- **`run cancel` on an already-terminal run is now a user error, exit 1 (`cancel-run-already-terminal-error-class`).** Refusing to cancel a `Done`/`Failed` run is a deterministic domain refusal, not a system fault, so it now maps to `CliError::user` (exit 1) instead of `CliError::system` (exit 2) — exit-code class governs AI-caller retry behaviour, and exit 2 could trigger spurious retries of a permanently-refused operation. The error's `expected` hint also changes from the pipe-delimited string `"running|pending|blocked"` to a JSON array `["running","pending","blocked"]` (the non-terminal, cancellable states) for machine consumption, matching the array-valued `expected` convention used elsewhere.
18+
- **Pipeline rollback pins durable per-chunk provenance refs (`pipeline-provenance-durable-refs`).** Before `rebuild_integration` resets `feat/<slug>` to the fork, the kept chunks' authored commit OIDs are now pinned under `refs/pipeline/prov/<run>/<chunk>` instead of relying on object-DB reachability, closing the (narrow) window where an external aggressive `git gc --prune=now` racing a rollback could sweep the orphaned authored commits. Teardown is gated on the merge outcome: a merged run's provenance refs are pruned, while a preserved/unmerged branch keeps its refs.
1219

1320
## [0.1.1] - 2026-08-05
1421

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ resolver = "2"
33
members = ["crates/octl-core", "crates/octl-cli"]
44

55
[workspace.package]
6-
version = "0.1.1"
6+
version = "0.1.2"
77
edition = "2021"
88
rust-version = "1.85"
99
license = "MIT"

crates/octl-cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ path = "src/main.rs"
2121
workspace = true
2222

2323
[dependencies]
24-
octl-core = { path = "../octl-core", version = "=0.1.1" }
24+
octl-core = { path = "../octl-core", version = "=0.1.2" }
2525
clap = { workspace = true }
2626
serde = { workspace = true }
2727
serde_json = { workspace = true }

0 commit comments

Comments
 (0)