Help us shape the future of Go! Take the 2026 Go Developer Survey

harness/

directory
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: Apache-2.0

README

Mnemon Harness

mnemon-harness is an experimental Agent Integration layer for connecting host agents to Local Mnemon.

The current product surface is intentionally small:

  • setup installs memory/skill integration assets into Codex or Claude Code.
  • local run starts the project-local Mnemon service.
  • status reports Agent Integration, Local Mnemon, and sync status.
  • sync connects Local Mnemon to a Remote Workspace (mnemon-hub) and pushes/pulls governed commits with attribution preserved.
  • loop validate remains hidden and is used by make harness-validate.

Host directories such as .codex and .claude are projection surfaces. Runtime state is under .mnemon/harness/, and release-path Mnemon behavior stays under cmd/ and internal/.

Build

From the repository root:

go build -o mnemon .
go build -o mnemon-harness ./harness/cmd/mnemon-harness

Validate harness declarations:

make harness-validate

Try The Harness

Install memory and skill integration for a host:

./mnemon-harness setup --host codex --loop memory --loop skill --project-root .
./mnemon-harness local run
./mnemon-harness status

Remove projected assets for a principal:

./mnemon-harness setup uninstall --host codex --loop memory --loop skill --principal codex@project --project-root .

More command examples are in docs/harness/USAGE.md.

Directories

Path Synopsis
cmd
mnemon-harness command
mnemon-hub command
mnemon-hub is the standalone Remote Workspace hub: the syncserver wire (sync.push / sync.pull / sync.status) over its own store, authenticated by bearer tokens from an operator-supplied replicas.json.
mnemon-hub is the standalone Remote Workspace hub: the syncserver wire (sync.push / sync.pull / sync.status) over its own store, authenticated by bearer tokens from an operator-supplied replicas.json.
mnemond command
mnemond is the LOCAL governance daemon: the standalone-daemon packaging of the exact `mnemon-harness local run` boot path (P1 D13 — the mnemond name now belongs to the local trust domain; the remote hub binary builds as mnemon-hub).
mnemond is the LOCAL governance daemon: the standalone-daemon packaging of the exact `mnemon-harness local run` boot path (P1 D13 — the mnemond name now belongs to the local trust domain; the remote hub binary builds as mnemon-hub).
internal
app
Package app is the small facade used by mnemon-harness product commands.
Package app is the small facade used by mnemon-harness product commands.
assembler
Package assembler is the select-only Loop/Capability Assembler: it compiles a config.File (which capabilities are enabled + how they are bound/limited) plus the channel bindings into a runtime.RuntimeConfig.
Package assembler is the select-only Loop/Capability Assembler: it compiles a config.File (which capabilities are enabled + how they are bound/limited) plus the channel bindings into a runtime.RuntimeConfig.
assets
Package assets embeds the harness's built-in loop/host/binding manifests and their projected asset files (GUIDE, hooks, skills, subagents).
Package assets embeds the harness's built-in loop/host/binding manifests and their projected asset files (GUIDE, hooks, skills, subagents).
autopilot
Package autopilot is the OPTIONAL auto-drive layer over the governed collaboration channel.
Package autopilot is the OPTIONAL auto-drive layer over the governed collaboration channel.
capability
Package capability holds the built-in admission rules (the pure leaf): given an Event + Projection it returns a RuleDecision, never writing.
Package capability holds the built-in admission rules (the pure leaf): given an Event + Projection it returns a RuleDecision, never writing.
codexapp
Package codexapp drives a real Codex CLI app-server over JSON-RPC (stdio) and parses its output.
Package codexapp drives a real Codex CLI app-server over JSON-RPC (stdio) and parses its output.
coreguard
Package coreguard holds architectural guard tests that keep the collaboration-channel core generic.
Package coreguard holds architectural guard tests that keep the collaboration-channel core generic.
driver
Package driver is the co-hosted Background Driver: it runs INSIDE the Local Runtime process (holding the same single store-writer lock — never a second opener) and periodically drives the governed Tick, drains projection invalidations, and re-projects the host's managed definition files.
Package driver is the co-hosted Background Driver: it runs INSIDE the Local Runtime process (holding the same single store-writer lock — never a second opener) and periodically drives the governed Tick, drains projection invalidations, and re-projects the host's managed definition files.
remotesync
Package remotesync holds the pure store-side helpers for Remote Workspace sync: reading the pending push batch, applying a push response's per-commit status, reading pull state/counts, and advancing the pull cursor.
Package remotesync holds the pure store-side helpers for Remote Workspace sync: reading the pending push batch, applying a push response's per-commit status, reading pull state/counts, and advancing the pull cursor.
replay
Package replay re-derives decisions from the canonical event log on a throwaway kernel (event-sourcing purity, S8): replay reads the log only, never advances a live cursor or writes a live store, and its determinism is established by FIELD-MASKING the dynamic decision fields (DecisionID/AppliedAt) before any diff (D1) — production decisions keep their real uuid/time.
Package replay re-derives decisions from the canonical event log on a throwaway kernel (event-sourcing purity, S8): replay reads the log only, never advances a live cursor or writes a live store, and its determinism is established by FIELD-MASKING the dynamic decision fields (DecisionID/AppliedAt) before any diff (D1) — production decisions keep their real uuid/time.
rule
Package rule is the server-side admission-controller pre-gate (D4).
Package rule is the server-side admission-controller pre-gate (D4).
runtime
Package runtime is the governed control loop: a ControlServer ingests observations exactly-once, runs them through the rule pre-gate, bridges proposals into trusted *.proposed events, reconciles them through the single-writer kernel, and emits outbox invalidations + durable diagnostics.
Package runtime is the governed control loop: a ControlServer ingests observations exactly-once, runs them through the rule pre-gate, bridges proposals into trusted *.proposed events, reconciles them through the single-writer kernel, and emits outbox invalidations + durable diagnostics.
syncserver
Package syncserver is the hub half of Remote Workspace sync (sync-abi-v2; the accept surface is the grant scope, §4): push adjudication against the append-only sync_remote_commits log, pull serving with the ONE scope clamp, and the status counters.
Package syncserver is the hub half of Remote Workspace sync (sync-abi-v2; the accept surface is the grant scope, §4): push adjudication against the append-only sync_remote_commits log, pull serving with the ONE scope clamp, and the status counters.
ui
Package ui is the Control Tower's presentation layer (P6).
Package ui is the Control Tower's presentation layer (P6).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL