feat: promote mnemond to the product runtime - #92
Merged
Conversation
Retire the unauthoritative JSONL event bridge and the unwired R8 selector island while preserving its falsification results as history. Trim selector-only observer and scenario evidence, and keep the deterministic Agency core gate green.
Move the verified Agency authority from the experimental Harness into the root module and ship mnemon and mnemond as the two formal commands. Preserve the Native Memory CLI and root Go-install path while removing obsolete Harness, Event, and Selector identities. Converge state ownership, tests, CI tiers, Docker, GoReleaser, Homebrew Cask, and product documentation. Validated with make test, make test-integration, cross-platform builds, Docker setup as an ordinary user, and the GoReleaser v2 configuration check.
Keep Memory commands at the mnemon root and expose Agency through the mnemon agency namespace. Run the daemon from the same physical executable while keeping private control, journal, and replay mechanics under internal/agencyclient. Update Runtime projections, release packaging, architecture gates, and real process fixtures for the single-binary boundary. Validation: make test.
Replace duplicate mnemond and historical Harness material with concise English and Chinese Agency guides. Update product entry points and remove the architecture test's dependency on a documentation status marker.\n\nValidation: make test
Replace the hand-written routers, parser callbacks, and synthetic command tree with one directly composed Cobra subtree. Keep private machine commands exact and repeated effectful flags fail-closed.\n\nValidated with make test, Agency command race tests, the full integration suite, Pi Runtime oracles, and the Docker domain-ops scenario.
The Agency subtree now composes directly under the product root, so the former opaque forwarding command is no longer part of the command path.
Center the product model on bounded View projection and local Authority admission. Document Event, Handling, Reference, Artifact, Receipt, and the two-local-loop cross-node handoff without prescribing collaboration workflows.
Remove Reference outcome policy from canonical Views and admission state. Reduce the Pi integration to lifecycle attachment plus bounded Current and Intent terminals, and make the projected guide capability-neutral.\n\nValidated with make test and the Pi runtime process oracle.
Rename the storage package from the implementation term CAS to the protocol object Artifact. Update daemon and peer transport composition so the package graph communicates ownership without changing content-addressed storage behavior.\n\nValidated with Artifact, peerlink, daemon, and architecture tests.
Give the immutable protocol package one strict Event parser and make Authority consume it when reconstructing durable state. Remove the duplicate storage projection while retaining independent database-column and Artifact-pin checks.\n\nValidated with Agency, Authority, daemon, peer, process, and domain operations tests.
Move opaque View handle resolution, Artifact capture binding, provenance, target routing, and local responsibility policy into the authority boundary. Keep agency responsible only for structurally sealing canonical protocol values and consolidate the binding tests around their actual owner.\n\nValidated with make test and focused agency/authority tests.
Keep the requester's tracking Handling open until it locally adopts a correlated terminal reply. The reviewer now resolves only its own Handlings, while receiver-local re-admission exposes declined and completed results as bounded observations with verified Artifacts.\n\nValidated with focused terminal-reply tests and a real two-node Docker review run.
Move inbound consequence, target, and cardinality decisions into the local Authority while keeping Agency limited to canonical Event validation and sealing. Fail closed before domain writes when a completed peer reply lacks a verified Artifact.\n\nValidated with focused Agency/Authority tests and make test.
Expose only exact, bounded Intent input diagnostics while keeping authority and runtime failures opaque. Clarify the neutral successor shape and terminal lifecycle so Pi can recover from malformed input without scripted prompts. Validated with make test, the Pi lifecycle oracle, and a real Pi plus DeepSeek Hook/View/Intent/Receipt smoke.
Document the single-executable Memory and Agency split, the View/Intent/Event/Receipt lifecycle, and current package ownership. Replace stale Harness-era integration artifacts with the runtime-native setup surfaces and synchronize the English and Chinese usage references.\n\nValidation: make test; Markdown local-link audit; git diff --check.
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.
Summary
harness/module into the root modulemnemonMemory CLI and the macOS/LinuxmnemondAgency authoritymnemon-harness, Event-emission, Selector, and R8 implementation identities without compatibility shimsBoundaries
go installpath remain unchangedmnemon;mnemondis released for macOS and LinuxValidation
make testmake test-integrationmake build VERSION=s0-rcmnemoncross-builds; Linux/macOSmnemondcross-buildsmnemond setupdocker compose config