feat: introduce experimental mnemon-harness beta#47
Merged
Conversation
Expose a narrow project-local event emission path that host-side harness code can read without importing the experimental harness into stable mnemon. The remember hook remains opt-in via MNEMON_HARNESS_EVENT_EMIT, and the explicit event command gives beta testers a small append-only integration surface. Validation: go test ./cmd ./internal/daemonemit.
Introduce the project-local lifecycle schema, append-only event log, state layout, goal/profile/proposal/audit stores, declaration validation, and ring guard. This establishes the governed state substrate without wiring host projection or runtime execution yet.
Add loop manifests, host bindings, Codex and Claude Code projection backends, projection planning/diff/reconcile support, and host surface assets. This is the Lifecycle Exchange push side: host surfaces receive GUIDE, skills, hooks, PROFILE, COORDINATION, and PROJECTION envelopes.
Add the app facade surfaces and CLI commands for loop validation, goals, evals, profile entries, proposals, and audit. This wires the governed review path around the lifecycle substrate without adding the daemon scheduler or TUI yet.
Add lifecycle status materialization, readback verification, daemon scheduling, declarative job loading, deterministic job execution, and the gated Codex runner boundary. Semantic runner execution remains explicit and cost-gated.
Add coordination events, topology folding, supervisor read/write contracts, route=coordination proposals, and governed coordination apply support. The supervisor remains advisory; mutations still flow through proposal, review, apply, and audit.
Add the Bubble Tea console for hosts, evidence, proposals, profile, coordination, and trace review. The TUI reads through the app facade and sends governed writes through the same proposal/apply/audit path as the CLI.
Add a short harness-local README explaining the experimental boundary, governed agent-state substrate, Lifecycle Exchange model, and no-model smoke path.
Replace the detailed harness design set and generated site HTML with a minimal public beta README and usage guide in English and Chinese. The public docs explain the beta boundary, lifecycle exchange, governed state, projection/readback, proposal/apply/audit, coordination, and TUI usage without carrying internal planning or raw dogfood material. Validation: make harness-docs-check.
Add a small root README entry for mnemon-harness without expanding the strategy, and make the beta compatibility boundary explicit in English and Chinese docs. The harness remains source-build only, not production-ready, and allowed to make breaking changes before stable release. Validation: make harness-docs-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
Introduce
mnemon-harnessas an experimental, source-built beta for project-local host-agent lifecycle state.The stable
mnemonCLI remains a memory and recall tool. The harness is separate from stable Mnemon, not production-ready, and has no compatibility guarantee. Commands, file layouts, schemas, projected surfaces, and behavior may change in breaking ways before a stable release.Beta review notes: https://gist.github.com/Grivn/3ea4f09f978f6115d14a6e344b03e89f
What is included
mnemon-harnessCLI underharness/cmd/mnemon-harnessStable Mnemon CLI impact
This PR touches a small part of the stable
mnemonCLI surface, but does not change the core memory workflow.The stable-side changes are limited to:
mnemon event emitcommand for writing project-local lifecycle eventsrememberwriteback hook guarded byMNEMON_HARNESS_EVENT_EMIT=1internal/daemonemit, a small event emission helper used by those two surfacesDefault behavior for
mnemon remember,mnemon recall, setup, search, stores, and retention remains unchanged. Stablecmd/andinternal/do not importharness/, andharness/does not import stable memory internals.Because
mnemon-harnessis still beta and may make breaking changes, this seam is intentionally narrow and default-off. If it conflicts with future stable CLI direction, it can be renamed, removed, or moved behind a different integration path before a stable harness release.Boundary
This PR intentionally does not include:
.plan/.insight/.dogfood/docs/plan/mnemon-harnessis experimental and not production-ready.Validation
go build ./...go test ./...make harness-validatemake harness-docs-checkmake eval-router-checkbash scripts/e2e_test.sh— 151/151 passedBoundary checks:
.plan/,.insight/, or.dogfood/docs/site/ordocs/plan/cmd/andinternal/do not importharness/harness/does not import stableinternal/store,internal/search,internal/graph,internal/embed, orinternal/daemonemit