mnemon-harness is an experimental Agent Integration layer for connecting host
agents to Local Mnemon.
The current product surface is intentionally small:
setupinstalls Agent Integration shim assets into Codex or Claude Code.local runstarts the project-local Mnemon service.statusreports Agent Integration, Local Mnemon, and sync status.syncconnects Local Mnemon to a Remote Workspace and pushes/pulls governed commits with attribution preserved. The first-party backend ismnemon-hub; the experimental GitHub backend uses repo-mediated publication branches.loop validateremains hidden and is used bymake 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/.
From the repository root:
go build -o mnemon .
go build -o mnemon-harness ./harness/cmd/mnemon-harnessValidate harness declarations:
make harness-validateInstall Agent Integration for a host:
./mnemon-harness setup --host codex --project-root .
./mnemon-harness local run
./mnemon-harness statusRemove projected assets for a principal:
./mnemon-harness setup uninstall --host codex --principal codex@project --project-root .More command examples are in docs/harness/USAGE.md.
GitHub can be used as a bootstrap Remote Workspace backend for a decentralized publication mesh. Each Local Mnemon publishes accepted synced events to its own configured branch and subscribes to explicitly configured peer branches.
This is not P2P networking or GitHub Issues/PR-based teamwork. GitHub is only the publication substrate; every imported event still enters through the receiving Local Mnemon's Event Intake.
Example shape:
./mnemon-harness sync connect self \
--backend github \
--direction publish \
--github-repo mnemon-dev/mnemon-teamwork-example \
--github-branch mnemon/agent-a \
--token-file ~/.config/mnemon/github.token
./mnemon-harness sync connect agent-b \
--backend github \
--direction subscribe \
--github-repo mnemon-dev/mnemon-teamwork-example \
--github-branch mnemon/agent-b \
--token-file ~/.config/mnemon/github.tokenLive validation is opt-in:
MNEMON_GITHUB_LIVE=1 \
MNEMON_GITHUB_REPO=mnemon-dev/mnemon-teamwork-example \
MNEMON_GITHUB_TOKEN_FILE=~/.config/mnemon/github.token \
go test ./harness/internal/app -run TestGitHubLivePublishPullImport -count=1 -v