Repository navigation
Moonbite 0.1.0 Alpha 2 — Reliability & Modularization
Pre-releaseMoonbite 0.1.0 Alpha 2 is a source-only GitHub prerelease focused on recovery
correctness, host lifecycle integration, and smaller internal modules with
preserved public facades. It is still an alpha preview: it is not
production-ready, and the public Python API is not yet stable.
Highlights
- Heartbeat and Autonomy now keep stronger occurrence, effect-plan, receipt,
and terminal evidence across retries and restarts. Failed work is not
silently converted into success or rerolled under a new identity. - Session lifecycle handling consumes Hermes turn-end, session-finalize, and
non-success child-stop evidence. Operators can inspect and repair an exact
orphaned turn without inventing a successful response. - The
proactivecontrol is the canonical maintenance gate for Heartbeat and
Autonomy, while the olderbackground_costlyname remains an input alias to
the same state. - Host adapters can inject explicit per-activity providers. Moonbite persists
one replayable weighted choice and does not choose a replacement after a
selected activity fails. - Memory lexical search adds a CJK bigram fallback, and Heartbeat daily anchors
are tracked independently by kind. - A data-only Scenario Pack resolver foundation is included with fail-closed
validation and provenance. The bundled catalog is empty, so this release
does not ship or activate a built-in scenario pack.
Internal modularization and Python compatibility
Heartbeat, Autonomy, Memory orchestration, Conversation, and runtime service
responsibilities were split into focused private modules. Existing public
facades remain in place.
For Memory orchestration and Conversation, documented public imports, pickle
identity, callable signatures, and resolvable type annotations remain
compatible. This does not mean every form of reflection is compatible: the
concrete class definitions live in private implementation modules, so
class-level inspect.getsource() through a public facade may not locate a
class definition in the facade file.
Upgrade and state compatibility
Before upgrading from Alpha 1, stop or pause all Moonbite state writers and
take one consistent snapshot of the complete state directory and matching
configuration. Keep it until the upgraded deployment completes its own natural
validation cycle.
Alpha 2 may append moon.session.turn_terminal.v1 rows and upgrade valid
Heartbeat cadence state to schema v4. Alpha 1 cannot read the new terminal
rows and must not use cadence state after a v4 write. Rolling back code is not
the same as rolling back state: to run Alpha 1 again, stop all Moonbite writers
and restore the pre-upgrade state and configuration snapshot before starting
the older code. Disabling or uninstalling Moonbite does not delete or downgrade
state.
Install a fixed source version
Moonbite is not published to PyPI, and this prerelease has no uploaded wheel or
binary assets. After the prerelease is published, install the immutable source
tag in a disabled state:
hermes plugins install beniedev/moonbite \
--ref "v0.1.0a2" \
--no-enableFor fixed-SHA review or installation before a tag exists, replace the tag with
the approved 40-character release commit. Verify the tag resolves to that same
commit before using it. Then follow SETUP.md for isolated
doctor, configuration, enablement, fresh-process restart, and rollback steps.
Compatibility and known limits
- Python 3.11–3.14 is supported by Moonbite. The required Hermes checkouts
support Python 3.11–3.13. - Supported platforms are Linux, WSL2 on a native Linux filesystem, and macOS.
Native Windows is unsupported because Moonbite requires POSIX file locks. - Hermes Agent is the only supported host. Moonbite does not provide a
scheduler, transport, credential store, model router, or messaging channel. - Same-process Gateway injection and current interactive CLI queues are tested.
A separate CLI process does not provide a cross-process Gateway relay. - The package and plugin versions are
0.1.0a2. The separate installer
manifest schema remainsmanifest_version: 1; state schema identifiers have
their own versions. - Repository tests and synthetic host contracts do not prove a particular
external deployment's natural behavior, delivery path, backup, or recovery.
Those remain deployment-owned validation gates.
See the changelog,
setup guide,
compatibility policy,
and security policy.