RFC reference
This page mirrors the enriched RFC table from the M8Shift repository README. Treat the README on the published main branch as the data source: RFC numbers are permanent, statuses only change after code and documentation are merged and released.
Numbering discipline
RFC numbers are assigned in creation order, not implementation order. For example, RFC 010 was authored before later runtime companion RFCs, but its retained patterns shipped across v3.21 to v3.26.
Drafts are not shipped releases
Unmerged work does not count as implemented. RFC 029 (Companion workboard) and RFC 030 (Tamper-evidence) remain draft here until the release that implements them is merged and published.
| № | RFC | Description | Status | Implemented | How |
|---|---|---|---|---|---|
| 001 | Roster | Configurable agent roster (early design) | historical / superseded | v2.1.0 · 2026-06-22 | superseded by RFC 002 |
| 002 | N agents | N-agent relay with one shared pen | historical / implemented | v2.4.0 · 2026-06-23 | one-pen routing (append --to) |
| 003 | I18n packs | Build-time language packs (EN core + 8) | shipped | v3.0.0 · 2026-06-23 | AST injector m8shift-i18n.py |
| 004 | Memory | Shared append-only memory ledger | shipped | v3.2.0 · 2026-06-23 | remember / recap, pen-free |
| 005 | Claim check | Advisory pre-claim overlap check | shipped | v3.3.0 · 2026-06-23 | claim --check, read-only |
| 006 | Tasks | Shared append-only task board | shipped | v3.4.0 · 2026-06-23 | task event-log, pen-free |
| 007 | Subturn | Sub-turn streaming proposal | rejected | — | rejected by adversarial panel |
| 008 | Worktree companion | Degree-2 worktree parallelism + serialized integration | implemented v1 | v3.5.0 · 2026-06-24 | m8shift-worktree.py; core LOCK as integration pen |
| 009 | Runtime companion | Local presence / inbox / progress / diagnostics | implemented v1 | v3.15.0 · 2026-06-25 | m8shift-runtime.py companion |
| 010 | Runtime patterns | Pattern filter: retained / rejected / deferred | accepted (filter) | v3.21–v3.26 · 2026-06-26 | 6 retained shipped; 13 rejected; 6 deferred → RFC 024–029 |
| 011 | Session history | Session history ledger + history | implemented | v3.7.0 · 2026-06-24 | M8SHIFT.sessions.jsonl |
| 012 | Contracts validation | Stage-4 contracts + read-only validation | implemented | v3.13.0 · 2026-06-25 | read-only validation surface |
| 013 | Hosted runtime control plane | Future hosted / runtime control plane | future / not impl. | — | optional layer outside the passive core |
| 014 | Provider management | Local provider / adapter registry | implemented v1 | v3.16.0 · 2026-06-25 | m8shift-runtime.py providers |
| 015 | Shared tree degree gt1 | True degree > 1 writes in one tree | rejected (research) | — | rejected for the core |
| 016 | Cooperative turn request | Cooperative baton request + operator steering | implemented | v3.15.0 · 2026-06-25 | core baton request |
| 017 | Stage6 integrations | Stage-6 closure: local integration layer | implemented | Stage 6 · 2026-06-25 | local layer; heavier integrations deferred |
| 018 | Agent runtime architecture | Local scaffold: roles / workflows / approvals / reports | implemented v1 | v3.16.0 · 2026-06-25 | m8shift-runtime.py scaffold |
| 019 | Input neutral patterns | Neutral runtime-pattern inventory | curated input / not impl. | — | reference for future RFCs |
| 020 | Headless runner hardening | Reference runner: validation / dry-run / timeout / audit | implemented v1 | v3.16.0 · 2026-06-25 | examples/headless_runner.py |
| 021 | Pause resume | Stable PAUSED state for idle sessions | implemented v1 | v3.17.0 · 2026-06-25 | core PAUSED + pause / resume |
| 022 | Session reports | Session reports + decision ledger | implemented v1 | v3.18.3 · 2026-06-26 | report generated from existing turns |
| 023 | Agent token footprint | Cut the mandatory protocol read | implemented (Phase 1) | v3.19.0 · 2026-06-26 | split protocol.md / protocol-reference.md |
| 024 | Doctor split | Split core doctor vs companion diagnostics | baseline impl. | v3.27.0 · 2026-06-26 | core doctor owns relay hygiene; runtime owns sidecar diagnostics |
| 025 | Runtime status composition | Runtime status over core + sidecars | baseline impl. | v3.27.0 · 2026-06-26 | status-runtime [--brief] [--json] |
| 026 | Sidecar retention | Bound / prune runtime sidecar ledgers | shipped | v3.34.2 · 2026-07-01 | retention apply / policy show; path-safety hardened (#73) |
| 027 | Notifications | Local notifications for handoffs / stale turns | shipped | v3.32.0 · 2026-07-01 | notify: stdout/file/bell/OS/hook tiers |
| 028 | Headless command templates | Safe headless command templates | shipped | v3.33.0 · 2026-07-01 | provider examples, argv_by_platform, strict run-plan validation |
| 029 | Companion workboard | Richer companion workboard outside core | draft | — | deferred from RFC 010 |
| 030 | Tamper evidence | Hash-chain tamper-evidence for relay records | draft | — | detection/warning only |
| 031 | Decision traceability | Tool-independent decision records | shipped | v3.31.0 · 2026-07-01 | forge/git/ADR fallback |
| 032 | Tiered delegation | Capability-tiered delegation charter | Phase 1 shipped | v3.35.0 · 2026-07-01 | advisory route recommend |
| 033 | Context economy | Compact task packets and verification-first context discipline | policy shipped | v3.37+ · 2026-07-01 | implemented through RFC 037 records |
| 034 | Companion adapter interface | Identity-pinned argv-only companion adapters | shipped | v3.36.0 · 2026-07-01 | RTK visible + fail-closed |
| 035 | Interactive listener gap | Keep listeners armed around PAUSED/resume | shipped | v3.28.0 · 2026-06-26 | quiet wait/resume behavior |
| 036 | Token-window exhaustion | Runtime headroom guard | shipped | v3.28.0 · 2026-06-26 | m8shift-runtime.py headroom internal guard, not the external Headroom adapter |
| 037 | Agent context compression backends | Digest-based context compression + optional backends | Phase D follow-up shipped | v3.40.0 · 2026-07-02 | builtin + RTK + explicit/opt-in headroom_ext |
| 038 | Multi-session | Named parallel relay sessions | draft | — | future companion/core namespace work |
| 039 | Model/task routing | Capability-first routing recommendations | Phase 1 shipped | v3.35.0 · 2026-07-01 | read-only route recommend |
| 040 | AI session usage monitoring | Usage snapshots + cooperative cooldown holds + real usage adapters | Phase 3 implemented | v3.48.0 + v3.53.0 · 2026-07-05 | Phase 2: usage init/adapters/snapshot/status + guard/watch/wait/resume (advisory, fail-open, no force/auto-resume). Phase 3 (v3.53.0): opt-in real adapters — additive used_ratio, aggregate-only jsonl_scan (privacy-gated, bounded), an argv-only remaining-quota OAuth example, and an opt-in budget bridge (local_estimate, fail-safe) |
| 041 | Agent skills | Reusable multi-agent competency definitions | draft | — | skills/ dir, docs-first; tracker #83 |
| 042 | Compression-backend routing | Hybrid builtin/Headroom routing (evidence-gated) | design + Phase B | v3.41.0 · 2026-07-02 | signals plumbed; auto-route gated on measurement (#84) |
| 043 | Routing principle | Unify the routing skeleton of 037/039/042/032 | draft (design-only) | — | one canonical 6-stage pipeline; no behavior |
| 044 | Companion install | Version-locked companion install at init | shipped | v3.44.0 · 2026-07-03 | init --companions / --with-* / --full / --companion-source; idempotent, no-clobber, atomic; .m8shift/kit.json + doctor kit checks |
| 045 | Module reference | One reference page per shipped module | shipped | v3.44.0 · 2026-07-03 | docs/en/modules/ — 7 pages: Mermaid ownership diagrams, command tables, tagged examples, drift test |
| 046 | Interactive/headless modes | Execution-mode distinction + project identity | Part 1 shipped | v3.45.0 · 2026-07-03 | status / watch show project name + cwd + root; status-guard in the protocol core; runner install next |
| 047 | Headless liveness | Runner final-state enforcement + listener lifecycle | implemented | v3.46.0 + v3.47.0 · 2026-07-04 | Authorship-primary classification + claim --refresh (v3.46.0); listener lifecycle companion with OS backends, resume-working retry, 9 doctor findings (v3.47.0) |
| 048 | Adoption discipline pack + local update | Agent pack + adoption health diagnostics + source-driven update | implemented | v3.49.0–v3.50.1 + v3.55.0 · 2026-07-08 | M8SHIFT.agent-pack.md, compact anchor floor, adoption doctor findings, update --target --source, stale-banner baseline hotfix; v3.55.0 (#60) adds the default runner component — refreshes installed watch-status.sh/headless_runner.py with sha256-proven no-clobber + target path-confinement (refuses symlinked-ancestor escape), plus read-only doctor --source runner.stale/runner.manual_review_required findings |
| 049 | Holder liveness + stale-claim hardening | Separate holder liveness from pen TTL; force-claim can't collide with a live holder | draft | — | managed/headless-lane heartbeat, claim --force refused on a fresh heartbeat, worktree single-ownership advisory |
| 050 | Manual multi-agent specialists | Manual-trigger specialist profile of RFC 032 | draft | — | advisory read-only + isolated worktree lanes, reports return to the relay, enforcement framed honestly |
| 051 | Usage advisory in the core display | Read-only usage line in core status/watch, fed by the companion sidecar | implemented | v3.54.0 + v3.55.0 · 2026-07-08 | Echo-only, byte-identical when off; companion decision_window; TOCTOU-safe (os.open O_NOFOLLOW/O_NONBLOCK+fstat), bounded, sanitized, fail-open; v3.55.0 (#59) shows raw consumption (used <count>/<window>, humanized P/T/B/M/k, capped windows) alongside or in place of the ratio |