Skip to content

Architecture

M8Shift is a local relay: a passive core owns the pen, while companions observe, prepare context, notify, or isolate parallel work without becoming a second writer.

Local by design

Every channel below is local: repository files, shell argv, JSON/stdin-stdout, exit codes, and git. The core relay has no hosted control plane, no network path, and no daemon. (The optional --with-rtk / --with-headroom installers perform install-time downloads, and the RFC 034 adapters run as pinned argv subprocesses — v3.40+; runtime stays offline.)

Module communication

RTK and headroom_ext are optional token-usage adapters. See Token adapters: RTK and Headroom.

Inter-application agent flow

Verified channels

ChannelCode path
agents / maintainer → corem8shift.py command handlers such as claim, next, append, pause, resume
core → relay filesM8SHIFT.md state updates guarded by .m8shift.lock and atomic writes
runtime → corem8shift-runtime.py run_core_json() calls [python, m8shift.py, ...] and parses JSON stdout
runtime → notificationsone-shot stdout/file/bell/OS/hook tiers; hooks return exit codes and never mutate relay state
context → adaptersRFC 034 argv-only runner with bounded stdout/stderr and exit-code handling
context → compression storecompress writes raw/compact/record files; retrieve serves bounded, hash-verified content
worktree → git/coregit worktree/merge argv calls plus imported core helpers for serialized integration
e2e → coretemp-copy scenarios driven by subprocess argv and exit codes

Built with ❤️ and M8Shift · Accessibility · r/m8shift