Skip to content

feat: introduce experimental mnemon-harness beta#47

Merged
Grivn merged 10 commits into
masterfrom
release/harness-beta-public-v2
May 31, 2026
Merged

feat: introduce experimental mnemon-harness beta#47
Grivn merged 10 commits into
masterfrom
release/harness-beta-public-v2

Conversation

@Grivn
Copy link
Copy Markdown
Member

@Grivn Grivn commented May 31, 2026

Summary

Introduce mnemon-harness as an experimental, source-built beta for project-local host-agent lifecycle state.

The stable mnemon CLI 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-harness CLI under harness/cmd/mnemon-harness
  • project-local lifecycle event log, status, goals, evals, proposals, audit, daemon, supervisor, and TUI surfaces
  • Codex and Claude Code projection surfaces
  • projection envelope and readback verification
  • governed proposal/apply/audit flows
  • coordination topology events and review surface
  • minimal English/Chinese beta documentation
  • a narrow, default-off event emission seam in stable Mnemon for beta integration

Stable Mnemon CLI impact

This PR touches a small part of the stable mnemon CLI surface, but does not change the core memory workflow.

The stable-side changes are limited to:

  • a new explicit mnemon event emit command for writing project-local lifecycle events
  • a default-off remember writeback hook guarded by MNEMON_HARNESS_EVENT_EMIT=1
  • internal/daemonemit, a small event emission helper used by those two surfaces

Default behavior for mnemon remember, mnemon recall, setup, search, stores, and retention remains unchanged. Stable cmd/ and internal/ do not import harness/, and harness/ does not import stable memory internals.

Because mnemon-harness is 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/
  • generated site HTML
  • docs/plan/
  • detailed internal design docs
  • roadmap or strategy notes

mnemon-harness is experimental and not production-ready.

Validation

  • go build ./...
  • go test ./...
  • make harness-validate
  • make harness-docs-check
  • make eval-router-check
  • bash scripts/e2e_test.sh — 151/151 passed

Boundary checks:

  • no tracked .plan/, .insight/, or .dogfood/
  • no tracked docs/site/ or docs/plan/
  • stable cmd/ and internal/ do not import harness/
  • harness/ does not import stable internal/store, internal/search, internal/graph, internal/embed, or internal/daemonemit

Grivn added 10 commits May 31, 2026 19:10
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.
@Grivn Grivn merged commit 9ba362d into master May 31, 2026
1 check passed
@Grivn Grivn deleted the release/harness-beta-public-v2 branch May 31, 2026 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant