feat: add operator messaging and prepare v0.6.0 - #43
Merged
brainx merged 4 commits intoSep 7, 2026
Merged
Conversation
Prepare the v0.6.0 package and release notes, require CI evidence for the tagged main commit, and close HTTP error responses in release verification. Validated through 18 successful CI checks and verified candidate artifacts.
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.
Operators can submit explicit asynchronous jobs to an owned Hermes 0.21 gateway with
zeus message send/retry/status/cancel/release/list. The opt-inmessage-bottemplate carries finite turn and API concurrency limits, launch markers bind the active profile policy, and network operations recheck the target process generation.Depends on #42 and targets
feat/live-gateway-diagnostics.Durable receipts commit with SQLite FULL before dispatch. Unknown acknowledgements block new jobs; explicit retries reuse the same upstream key and exact input within a bounded window. Leases and version checks reject overlapping or stale attempts. Receipts survive bot deletion and retain request-key tombstones, without persisting input, output or API credentials. File/stdin input and authenticated loopback responses are bounded; mutations are never automatically retried.
Acknowledged runs whose results expire or exceed the response limit now have an explicit recovery path:
message release --acknowledge-unknown-outcomerecords a local release without cancelling or resubmitting the run or claiming completion. Later status/cancel observations retain the release. Unknown/prepared dispatches cannot be released. Oversized replies returnresponse_too_large, and failed cancellation requests preserve the last confirmed status timestamp.Validation
make release-checkpassed in an isolated editable environment: two runs of 1,539 tests with three expected skips, 83.90% combined production statement/branch coverage, repository contracts, Ruff, mypy, Bandit, ShellCheck, dependency checks, wheel/source build, installed-wheel smoke, Twine and checksums.aiohttp==3.14.3and required dependencies. The original 64 package/version/hash entries remain unchanged; eight added wheels and their dependency constraints were verified. Zeus core remains dependency-free.f3c56d2, including the real Hermes runs/durable replay contract, gateway diagnostics, audit broker, Docker isolation, service recovery/restore and Linux/macOS lifecycle checks.Compatibility
Schema 8 adds receipts; schema 9 adds nullable release timestamps and updates the active-receipt index, preserving existing records. Normal startup migrates state; messaging commands do not. Back up the database and profiles before upgrading. Older binaries reject newer schemas; rollback requires the pre-upgrade backup. Readiness now reports schema 9.
Existing profiles remain disabled by default. Enabling messaging requires profile-local credentials/opt-in and a gateway restart; changes to configuration, SOUL or credentials require another restart before sending. Status/cancellation remain available after opt-out with a verifiable original target. No Zeus HTTP messaging route is added.
Release does not stop an executing job or recover unavailable output. A subsequent independent send remains subject to Hermes admission. Cancellation is cooperative, approval requests are status-only, and existing Hermes tool privileges and provider costs apply. Turn limits are not a hard deadline or spending budget; local suspension and upstream persistence failures prevent an exactly-once external-effects guarantee. See
docs/MESSAGING.mdfor setup and recovery.This stacked PR also includes the version, release-gate and HTTP cleanup changes from #44. Its combined file tree is identical to validated release candidate
2d70de386548a0bba9c3852b840423173a48d8c1, which passed all 18 CI checks. The stack is being combined on feature branches; promotion into main will require fresh CI on the combined branch.