Index for magic-cli-remote. This tree holds only this file, architecture.md, and three directories:
- architecture.md — the system as it is now
- decisions/ — numbered MADRs and PLANs
- reports/ — numbered REPORTs
- guides/ — unnumbered operator, protocol, and language guides
A second tree covers the Flutter companion: apps/mobile/docs/README.md.
Records share one repository-wide NNNN sequence and keep the kind infix (MADR, PLAN, REPORT, GATES). Next unused number: python3 scripts/check_records.py --next.
| Number | Kind | Title | Record |
|---|---|---|---|
| 0001 | MADR | MADR 0001: Architecture for Multi-CLI Remote Control Orchestrator (mcremote) | 0001-MADR-architecture-mcremote.md |
| 0002 | MADR | Report: Community Landscape Assessment & Foundation Stack Recommendations for mcremote |
0002-MADR-community-assessment-and-stack-recommendations.md |
| 0003 | MADR | MADR 0003: Phase 1 scaffolding decisions | 0003-MADR-phase1-decisions.md |
| 0004 | MADR | 0004 — Certificate management | 0004-MADR-certificate-management.md |
| 0004 | PLAN | Hardening implementation plan | 0004-PLAN-hardening-implementation.md |
| 0005 | MADR | 0005 — Client identity | 0005-MADR-client-identity.md |
| 0006 | MADR | 0006 — Token lifecycle | 0006-MADR-token-lifecycle-decision.md |
| 0007 | MADR | 0007 — Tailnet lock (control-plane MITM) | 0007-MADR-tailnet-lock-decision.md |
| 0008 | MADR | 0008 — Headscale-issued certificates | 0008-MADR-headscale-certs-decision.md |
| 0009 | MADR | MADR 0009: Post-hardening action plan | 0009-MADR-post-hardening-action-plan.md |
| 0010 | MADR | Network stack assessment: mcremote Go server | 0010-MADR-network-stack-assessment.md |
| 0011 | MADR | MADR 0011: OpenCode ACP provider | 0011-MADR-opencode-provider-plan.md |
| 0012 | MADR | MADR 0012: mcremote Go daemon assessment & action plan | 0012-MADR-mcremote-daemon-assessment-action-plan.md |
| 0013 | MADR | MADR 0013: Daemon audit remediation — decisions & deferral register | 0013-MADR-audit-remediation-decisions.md |
| 0014 | MADR | MADR 0014: SSE reconnect resync (H4) — engine-state reconciliation for the HTTP transport | 0014-MADR-sse-reconnect-resync-decision.md |
| 0015 | MADR | MADR 0015: mcrelay — outbound relay transport & security | 0015-MADR-mcrelay-transport-security.md |
| 0016 | MADR | MADR 0016: mcrelay audit — findings & P1–P6 hardening | 0016-MADR-mcrelay-audit-hardening.md |
| 0017 | MADR | MADR 0017: mcrelay memory / GC / overflow / security action plan | 0017-MADR-mcrelay-memory-security-action-plan.md |
| 0018 | MADR | MADR 0018: Mobile session chat performance, stability & polish | 0018-MADR-mobile-chat-performance-action-plan.md |
| 0019 | MADR | MADR 0019: OpenCode process management — remove the ACP transport, guarantee a single engine | 0019-MADR-opencode-process-management-plan.md |
| 0020 | MADR | MADR 0020: OpenCode session tree + async control plane | 0020-MADR-opencode-session-tree.md |
| 0021 | MADR | OpenCode HTTP API coverage matrix (mcremote) | 0021-MADR-opencode-http-api-coverage.md |
| 0022 | MADR | MADR 0022: Plan mode parity (/plan) across providers |
0022-MADR-plan-mode-parity.md |
| 0023 | MADR | MADR 0023: A canonical slash-command vocabulary across agent CLIs | 0023-MADR-canonical-slash-commands.md |
| 0023 | REPORT | Agent CLI Commands & ACP Standard Comparison Matrix | 0023-REPORT-agent-cli-slash-commands-matrix.md |
| 0024 | MADR | MADR 0024: Coalesce streaming chunk text at the transport emit seam | 0024-MADR-stream-coalescing.md |
| 0025 | MADR | MADR 0025: Goose ACP-over-HTTP provider | 0025-MADR-goose-provider.md |
| 0025 | PLAN | Goose ACP-over-HTTP Provider — Implementation Plan | 0025-PLAN-goose-provider.md |
| 0026 | MADR | Mobile App Goose Support — Assessment | 0026-MADR-mobile-goose-support.md |
| 0027 | MADR | MADR 0027: OpenCode Chat Streaming & Rendering Hardening | 0027-MADR-opencode-streaming-rendering.md |
| 0027 | PLAN | OpenCode Streaming & Rendering — Phase 1 Implementation Plan | 0027-PLAN-opencode-streaming-rendering.md |
| 0028 | MADR | MADR 0028: Codex CLI provider — surfaces, protocol, and implementation specifications | 0028-MADR-codex-provider.md |
| 0028 | PLAN | Codex CLI provider: implementation plan | 0028-PLAN-codex-provider.md |
| 0029 | MADR | MADR 0029: Canonical provider platform, session surfaces, and retention policy | 0029-MADR-provider-platform-canonicalization.md |
| 0029 | PLAN | Provider platform canonicalization: implementation plan | 0029-PLAN-provider-platform-canonicalization.md |
| 0030 | MADR | MADR 0030: Evidence-based Goose remote parity | 0030-MADR-goose-remote-parity.md |
| 0030 | PLAN | Goose remote parity: implementation plan | 0030-PLAN-goose-remote-parity.md |
| 0031 | MADR | MADR 0031: OpenCode catalog correctness and bounded session metadata | 0031-MADR-opencode-catalog-and-metadata-parity.md |
| 0031 | PLAN | OpenCode catalog and metadata parity: implementation plan | 0031-PLAN-opencode-catalog-metadata-parity.md |
| 0032 | MADR | Report 0032: Codex Chat UI/UX — Noise, Correctness, and Hardening | 0032-MADR-codex-ui-ux-polish-report.md |
| 0033 | MADR | Report 0033: OpenCode Chat UI/UX — Tool Streaming and Coalescing | 0033-MADR-opencode-ui-ux-polish-report.md |
| 0034 | MADR | MADR 0034: Tool-stream fidelity — dedup, visible output, and in-place update ordering | 0034-MADR-opencode-tool-stream-fidelity.md |
| 0034 | PLAN | OpenCode tool-stream fidelity: implementation plan | 0034-PLAN-opencode-tool-stream-fidelity.md |
| 0035 | MADR | MADR 0035: Codex chat remediation — item-stream fidelity, command truth, and capability disclosure | 0035-MADR-codex-ui-ux-remediation.md |
| 0035 | PLAN | Codex chat UI/UX remediation: implementation plan | 0035-PLAN-codex-ui-ux-remediation.md |
| 0036 | MADR | MADR 0036: Protocol contract completeness — specify the vocabularies, pair the failure, guard the drift | 0036-MADR-protocol-contract-completeness.md |
| 0036 | PLAN | Protocol contract completeness: implementation plan | 0036-PLAN-protocol-contract-completeness.md |
| 0037 | MADR | MADR 0037: CLI capability uptake — reasoning effort, plugin isolation, and origin alignment | 0037-MADR-cli-capability-uptake.md |
| 0037 | PLAN | CLI capability uptake: implementation plan | 0037-PLAN-cli-capability-uptake.md |
| 0038 | MADR | Grok Build ACP parity assessment (grok 0.2.112) | 0038-MADR-grok-acp-parity-assessment.md |
| 0039 | MADR | MADR 0039: Grok ACP parity — mid-session model switch, live catalog, and CLI policy surfaces | 0039-MADR-grok-acp-parity.md |
| 0039 | PLAN | Grok ACP parity: implementation plan | 0039-PLAN-grok-acp-parity.md |
| 0040 | MADR | Markdownlint assessment and recommendation | 0040-MADR-markdownlint-assessment.md |
| 0041 | MADR | Android app: deep-dive debug audit | 0041-MADR-android-app-debug-audit.md |
| 0042 | MADR | MADR 0042: Android app remediation — stable tool rows, coalesced ingest, and the audit backlog | 0042-MADR-android-app-remediation.md |
| 0042 | PLAN | Android app remediation: implementation plan | 0042-PLAN-android-app-remediation.md |
| 0043 | MADR | MADR 0043: Model selection — scoped catalogs, a provider step, and an in-session picker | 0043-MADR-model-selection.md |
| 0043 | PLAN | Model selection: implementation plan | 0043-PLAN-model-selection.md |
| 0044 | MADR | MADR 0044: Auto-approve as a session mode (OpenCode, Codex) | 0044-MADR-auto-approve-modes.md |
| 0044 | PLAN | MADR 0044 — Implementation plan: auto-approve session modes | 0044-PLAN-auto-approve-modes.md |
| 0045 | MADR | MADR 0045: Mobile App Hardening Audit — Findings and Remediation Decisions | 0045-MADR-mobile-app-hardening-audit.md |
| 0045 | PLAN | MADR 0045 — Implementation plan: mobile app hardening audit | 0045-PLAN-mobile-app-hardening-audit.md |
| 0046 | MADR | MADR 0046: Post-Remediation Mobile Debug Pass — Findings and Fix Decisions | 0046-MADR-mobile-debug-pass.md |
| 0046 | PLAN | MADR 0046 — Implementation plan: post-remediation mobile debug pass | 0046-PLAN-mobile-debug-pass.md |
| 0047 | MADR | MADR 0047: Codex default mode, create-time selection, and auto sandbox | 0047-MADR-codex-default-mode.md |
| 0047 | PLAN | MADR 0047 — Implementation plan: Codex default mode and auto sandbox | 0047-PLAN-codex-default-mode.md |
| 0048 | MADR | MADR 0048: Codex sandbox user-namespace failure — auto cannot write | 0048-MADR-codex-sandbox-namespace.md |
| 0048 | PLAN | MADR 0048 — Implementation plan: Codex sandbox namespace / auto-write recovery | 0048-PLAN-codex-sandbox-namespace.md |
| 0049 | MADR | MADR 0049: Grok has no auto mode — per-session auto-approve for ACP-stdio agents | 0049-MADR-grok-auto-mode.md |
| 0049 | PLAN | MADR 0049 — Implementation plan: grok auto mode | 0049-PLAN-grok-auto-mode.md |
| 0050 | MADR | MADR 0050: Grok CLI surface drift — seven dead config options | 0050-MADR-grok-cli-surface-drift.md |
| 0050 | PLAN | MADR 0050 — Implementation plan: grok CLI surface drift | 0050-PLAN-grok-cli-surface-drift.md |
| 0051 | MADR | MADR 0051: Chat transcript noise — auto-approval notices and sub-agent output | 0051-MADR-auto-approve-chat-noise.md |
| 0051 | PLAN | MADR 0051 — Implementation plan: approval-summary cards and sub-agent suppression | 0051-PLAN-auto-approve-chat-noise.md |
| 0052 | MADR | MADR 0052: Per-model thinking levels, and what the settings panel should hold | 0052-MADR-thinking-levels-and-settings.md |
| 0052 | PLAN | MADR 0052 — Implementation plan: thinking levels and the settings panel | 0052-PLAN-thinking-levels-and-settings.md |
| 0053 | MADR | MADR 0053: Grok auto mode — silent arm, missing chip, mode-path gaps | 0053-MADR-grok-auto-mode-silent-arm.md |
| 0053 | PLAN | MADR 0053 — Implementation plan: grok auto silent arm and mode-path gaps | 0053-PLAN-grok-auto-mode-silent-arm.md |
| 0055 | MADR | Remediate the mcremote Go server from the 2026-07 audit | 0055-MADR-mcremote-server-remediation.md |
| 0055 | PLAN | mcremote Go server remediation plan | 0055-PLAN-mcremote-server-remediation.md |
| 0056 | MADR | MADR 0056: mcremote ↔ Android protocol-stack audit | 0056-MADR-mcremote-android-protocol-stack-audit.md |
| 0056 | PLAN | MADR 0056 — Implementation plan: mcremote ↔ Android protocol-stack remediation | 0056-PLAN-mcremote-android-protocol-stack-remediation.md |
| 0057 | MADR | MADR 0057: Chat session markdown streaming — cross-stack re-assessment | 0057-MADR-chat-markdown-stream-hardening.md |
| 0057 | PLAN | MADR 0057 — Implementation plan: chat markdown + stream hardening | 0057-PLAN-chat-markdown-stream-hardening.md |
| 0058 | MADR | MADR 0058: macOS launchd service setup — research, gaps, and hardened design | 0058-MADR-macos-launchd-service-hardening.md |
| 0058 | PLAN | MADR 0058 — Implementation plan: macOS launchd service (user LaunchAgent) | 0058-PLAN-macos-launchd-service-implementation.md |
| 0059 | MADR | MADR 0059: XDG paths and Linux/macOS functional parity | 0059-MADR-native-paths-and-linux-macos-parity.md |
| 0059 | PLAN | MADR 0059 — Implementation plan: XDG paths and Linux/macOS parity | 0059-PLAN-native-paths-and-linux-macos-parity.md |
| 0060 | MADR | MADR 0060: Local unsigned build and install on macOS and Linux | 0060-MADR-local-unsigned-build-and-install.md |
| 0060 | PLAN | PLAN 0060: Local unsigned build and install — implementation | 0060-PLAN-local-unsigned-build-and-install.md |
| 0061 | MADR | MADR 0061: Relay pair advertise vs register, and phone path selection | 0061-MADR-relay-pair-advertise-and-path-selection.md |
| 0062 | MADR | MADR 0062: Phone transport awareness (mesh / relay selection) | 0062-MADR-phone-transport-selection.md |
| 0062 | PLAN | MADR 0062 — Implementation plan: phone transport selection | 0062-PLAN-phone-transport-selection.md |
| 0063 | MADR | MADR 0063: Connection status must be verified, not assumed | 0063-MADR-connection-liveness-truth.md |
| 0063 | PLAN | MADR 0063 — Implementation plan: connection liveness truth | 0063-PLAN-connection-liveness-implementation.md |
| 0064 | MADR | MADR 0064: Connect screen — one screen, four steps | 0064-MADR-connect-screen-simplification.md |
| 0064 | PLAN | MADR 0064 — Implementation plan: connect screen simplification | 0064-PLAN-connect-screen-simplification.md |
| 0065 | MADR | MADR 0065: Update automation — mcremote update, mcrelay update, phone "Restart to update" |
0065-MADR-update-automation.md |
| 0065 | PLAN | MADR 0065 — Implementation plan: update automation | 0065-PLAN-update-automation.md |
| 0066 | MADR | MADR 0066: Secure-storage upgrade resilience and credential recovery | 0066-MADR-secure-storage-upgrade-resilience.md |
| 0066 | PLAN | PLAN 0066: Secure-storage upgrade resilience — implementation plan | 0066-PLAN-secure-storage-upgrade-resilience.md |
| 0067 | MADR | MADR 0067: iOS port of the mobile companion app | 0067-MADR-ios-port.md |
| 0067 | PLAN | MADR 0067 — Implementation plan: iOS port of the mobile companion app | 0067-PLAN-ios-port.md |
| 0068 | MADR | MADR 0068: Protocol v2 — reconnect-resilient transport | 0068-MADR-protocol-v2-reconnect-resilient-transport.md |
| 0068 | PLAN | MADR 0068 — Implementation plan: protocol v2, reconnect-resilient transport | 0068-PLAN-protocol-v2-reconnect-resilient-transport.md |
| 0069 | MADR | MADR 0069: macOS permissions — sandbox parity, EPERM honesty, TCC identity | 0069-MADR-macos-permissions-and-sandbox-parity.md |
| 0069 | PLAN | MADR 0069 — Implementation plan: macOS permissions | 0069-PLAN-macos-permissions-and-sandbox-parity.md |
| 0070 | MADR | MADR 0070: Deep-dive debugging pass — bugs, gaps, unfinished work | 0070-MADR-deep-dive-debugging-pass.md |
| 0070 | PLAN | MADR 0070 — Implementation plan: deep-dive remediation | 0070-PLAN-deep-dive-remediation.md |
| 0071 | MADR | MADR 0071: Codebase assessment — bugs, gaps, hardening, robustness, performance | 0071-MADR-codebase-assessment.md |
| 0071 | PLAN | MADR 0071 — Implementation plan: non-update remediation | 0071-PLAN-codebase-assessment-remediation.md |
| 0072 | MADR | MADR 0072: Phone reconnect failure, hung agent sessions, host config audit | 0072-MADR-phone-reconnect-and-provider-timeout-incident.md |
| 0072 | PLAN | MADR 0072 — Implementation plan: reconnect, hang UX, host config, service heal | 0072-PLAN-phone-reconnect-and-provider-timeout-remediation.md |
| 0073 | MADR | MADR 0073: Goose prompt hang (silent 3600 s provider backoff) + codebase debug pass | 0073-MADR-goose-prompt-hang-and-debug-pass.md |
| 0074 | MADR | MADR 0074 — Remote Provider Authentication from Phone | 0074-MADR-remote-provider-auth-from-phone.md |
| 0074 | PLAN | Implement MADR 0074 — Remote provider auth from phone (W1 + W2 + W4 + W5) | 0074-PLAN-remote-provider-auth-from-phone.md |
| 0075 | MADR | MADR 0075 — Kilo CLI as a session provider | 0075-MADR-kilo-cli-provider.md |
| 0075 | PLAN | Implement MADR 0075 — Kilo CLI as a session provider | 0075-PLAN-kilo-cli-provider.md |
| 0076 | MADR | MADR 0076: Kilo CLI provider — debug pass (bugs, gaps, menu alignment) | 0076-MADR-kilo-debug-pass.md |
| 0076 | PLAN | Implement MADR 0076 — Kilo debug-pass remediation | 0076-PLAN-kilo-debug-pass-remediation.md |
| 0077 | MADR | MADR 0077 — Signed receipts for permission decisions and session handoffs | 0077-MADR-signed-receipts-permission-handoffs.md |
| 0077 | PLAN | Implement MADR 0077 — Signed receipts for permission decisions | 0077-PLAN-signed-receipts-permission-handoffs.md |
| 0078 | MADR | MADR 0078 — Device-to-device session handoff, with signed handoff receipts and phone-side receipt surfacing | 0078-MADR-session-handoff-and-receipt-surfacing.md |
| 0078 | PLAN | Implement MADR 0078 — Session handoff + handoff receipts + phone receipt surfacing | 0078-PLAN-session-handoff-and-receipt-surfacing.md |
| 0079 | MADR | MADR 0079 — Prioritize configured model providers in a single drill-down model picker | 0079-MADR-provider-model-drill-down-picker.md |
| 0079 | PLAN | Implement MADR 0079 — Provider/model drill-down picker | 0079-PLAN-provider-model-drill-down-picker.md |
| 0080 | MADR | MADR 0080: Add first-class Codex collaboration modes and app-server command parity | 0080-MADR-add-first-class-codex-collaboration-modes-and-app-server-command-parity.md |
| 0080 | PLAN | Implement MADR 0080 — First-class Codex collaboration modes and app-server command parity | 0080-PLAN-add-first-class-codex-collaboration-modes-and-app-server-command-parity.md |
| 0081 | MADR | Adopt grok 1.0.3's measured CLI and ACP surface | 0081-MADR-grok-1.0.3-surface-parity.md |
| 0081 | PLAN | Implement adopt grok 1.0.3's measured CLI and ACP surface | 0081-PLAN-grok-1.0.3-surface-parity.md |
| 0082 | MADR | MADR 0082 — Restructure settings into a hub with a graphically rich provider area | 0082-MADR-settings-provider-menu-ux-overhaul.md |
| 0082 | PLAN | Implement restructure settings into a hub with a graphically rich provider area | 0082-PLAN-settings-provider-menu-ux-overhaul.md |
| 0083 | MADR | MADR 0083 — Make phone-driven provider auth actually complete: activation gaps and bottom-inset layout defects | 0083-MADR-provider-auth-activation-and-layout-gaps.md |
| 0083 | PLAN | Implement make phone-driven provider auth actually complete | 0083-PLAN-provider-auth-activation-and-layout-gaps.md |
| 0084 | MADR | MADR 0084 — Harden the Android app: crash visibility, transcript-cache storage, and platform build gaps | 0084-MADR-android-app-hardening-and-performance.md |
| 0084 | PLAN | Implement Android app hardening: crash visibility, cache storage, and build gates | 0084-PLAN-android-app-hardening-and-performance.md |
| 0085 | MADR | Select grok ACP auth methods from the live initialize catalog and write keys where grok actually reads them | 0085-MADR-grok-acp-auth-method-wiring.md |
| 0085 | PLAN | Implement grok ACP auth-method wiring | 0085-PLAN-grok-acp-auth-method-wiring.md |
| 0086 | MADR | Treat a phone credential setup as complete only when the agent can actually use it | 0086-MADR-phone-provider-auth-completion.md |
| 0086 | PLAN | Implement treat a phone credential setup as complete only when the agent can actually use it | 0086-PLAN-phone-provider-auth-completion.md |
| 0087 | MADR | Filter Kilo session chrome on the live wire and decode durable permission frames | 0087-MADR-kilo-session-chrome-and-permission-decode.md |
| 0087 | PLAN | Plan: Filter Kilo session chrome and decode durable permission frames | 0087-PLAN-kilo-session-chrome-and-permission-decode.md |
| 0088 | MADR | Pin Kilo known-good to 7.4.22 and close the session-loop gaps that release added | 0088-MADR-kilo-7.4.22-surface-parity.md |
| 0088 | PLAN | Plan: Pin Kilo known-good to 7.4.22 and close session-loop gaps | 0088-PLAN-kilo-7.4.22-surface-parity.md |
| 0089 | MADR | Keep long-running agent work alive across screen lock, transport blips, and host pressure | 0089-MADR-long-running-session-stability.md |
| 0089 | PLAN | Plan: Long-running session stability (Doze, failover, prewarm, cgroups) | 0089-PLAN-long-running-session-stability.md |
| 0090 | MADR | Keep the install-time config.yaml in lockstep with the daemon config surface | 0090-MADR-config-template-completeness.md |
| 0090 | PLAN | Plan: Keep the install-time config.yaml in lockstep with the daemon config surface | 0090-PLAN-config-template-completeness.md |
| 0091 | MADR | Harden the mcrelay daemon and its systemd unit without widening the trust model | 0091-MADR-mcrelay-daemon-hardening.md |
| 0091 | PLAN | Plan: Harden mcrelay's unit PATH, plaintext policy, and join-plane TLS surface | 0091-PLAN-mcrelay-daemon-hardening.md |
| 0092 | MADR | Adopt grok 1.0.4's pinned session fork and re-pin the 0081 contract | 0092-MADR-grok-1.0.4-surface-parity.md |
| 0092 | PLAN | Implement adopt grok 1.0.4's pinned session fork and re-pin the 0081 contract | 0092-PLAN-grok-1.0.4-surface-parity.md |
| 0093 | MADR | Resume a closed session without hanging, and list the sessions that actually survived | 0093-MADR-session-resume-hang-and-list-inversion.md |
| 0093 | PLAN | Implement session resume hang and list inversion | 0093-PLAN-session-resume-hang-and-list-inversion.md |
| 0094 | MADR | Ending the only session from inside chat must return to a populated sessions list, not a black screen | 0094-MADR-end-session-return-black-screen.md |
| 0094 | PLAN | Implement "Ending the only session from inside chat must return to a populated sessions list" | 0094-PLAN-end-session-return-black-screen.md |
| 0095 | MADR | Close the residual end-session defects 0094 left reachable, and fix the request-timeout and idempotency gaps behind them | 0095-MADR-post-0094-assessment-and-debug-pass.md |
| 0095 | PLAN | Implement "Close the residual end-session defects 0094 left reachable, and fix the request-timeout and idempotency gaps behind them" | 0095-PLAN-post-0094-assessment-and-debug-pass.md |
| 0096 | MADR | Scope the model catalog to the session's own model provider, and order it deterministically | 0096-MADR-kilo-model-catalog-scope-and-order.md |
| 0096 | PLAN | Implement scoping the model catalog to the session's model provider, and ordering it deterministically | 0096-PLAN-kilo-model-catalog-scope-and-order.md |
| 0097 | MADR | Ship a Linux-only curl | sh bootstrap installer, and add linux/arm64 to the release matrix |
0097-MADR-linux-curl-installer.md |
| 0097 | PLAN | Implement the Linux curl | sh bootstrap installer and linux/arm64 releases |
0097-PLAN-linux-curl-installer.md |
| 0098 | MADR | Close the outstanding install.sh acceptance rows on ephemeral AWS and DigitalOcean hosts |
0098-MADR-ephemeral-cloud-install-verification.md |
| 0098 | PLAN | Plan: Close the outstanding install.sh acceptance rows on ephemeral cloud hosts |
0098-PLAN-ephemeral-cloud-install-verification.md |
| 0098 | REPORT | Findings — sweep 0098, Session A (Alpine amd64, 2026-08-18) | 0098-REPORT-install-verification-sweep.md |
| 0099 | MADR | Verify service state before reporting it, and repair the s6 and relay backends | 0099-MADR-installer-service-state-verification.md |
| 0099 | PLAN | Plan: Verify service state before reporting it, and repair the s6 and relay backends | 0099-PLAN-installer-service-state-verification.md |
| 0099 | REPORT | 0099 re-verification results (v0.13.5 / v0.13.6) | 0099-REPORT-reverification.md |
| 0100 | MADR | Reconcile the service definition during update, and reload the manager before the restart |
0100-MADR-update-unit-refresh-and-daemon-reload.md |
| 0100 | PLAN | Plan: Reconcile the service definition during update, and reload the manager before the restart |
0100-PLAN-update-unit-refresh-and-daemon-reload.md |
| 0100 | REPORT | 0100 Phase 0 — host confirmation of the update-refresh findings | 0100-REPORT-update-refresh.md |
| 0101 | MADR | Make Android agent alerts survive their own lifecycle, and make their absence diagnosable | 0101-MADR-android-agent-alert-delivery.md |
| 0101 | PLAN | Plan: Make Android agent alerts survive their own lifecycle, and make their absence diagnosable | 0101-PLAN-android-agent-alert-delivery.md |
| 0102 | MADR | Add a display_name config parameter so the phone shows a friendly host name instead of an IP address |
0102-MADR-host-display-name-config.md |
| 0102 | PLAN | Implement host display name configuration | 0102-PLAN-host-display-name-config.md |
| 0103 | MADR | Compare update against the published BASE.N release, and recycle a product's service only when that product has a unit file |
0103-MADR-update-tracks-release-build-and-active-service.md |
| 0103 | PLAN | Implement update tracking of published BASE.N and per-product service recycle |
0103-PLAN-update-tracks-release-build-and-active-service.md |
| 0104 | MADR | Make the curl bootstrap installer first-class on Linux and macOS | 0104-MADR-installer-linux-and-macos.md |
| 0104 | PLAN | Implement Linux + macOS curl bootstrap installer | 0104-PLAN-installer-linux-and-macos.md |
| 0105 | MADR | Require an approved MADR and PLAN before any mutating work | 0105-MADR-mutating-work-requires-madr-and-plan.md |
| 0105 | PLAN | Implement mutating-work MADR/PLAN gate | 0105-PLAN-mutating-work-requires-madr-and-plan.md |
| 0106 | MADR | Adopt grok 1.0.5's ACP _meta model and effort surface, and stop treating spawn flags as applied |
0106-MADR-grok-1.0.5-surface-parity.md |
| 0106 | PLAN | Implement grok 1.0.5 ACP _meta model and effort surface |
0106-PLAN-grok-1.0.5-surface-parity.md |
| 0107 | MADR | Phone card drives grok API-key and device-code auth; the host must not open a browser | 0107-MADR-grok-phone-api-key-and-device-code-auth.md |
| 0107 | PLAN | Implement phone-card grok device-code auth (host must not open a browser) | 0107-PLAN-grok-phone-api-key-and-device-code-auth.md |
| 0108 | MADR | Pin Kilo known-good to 7.4.23 after wire and behavior compatibility verification | 0108-MADR-kilo-7.4.23-surface-parity.md |
| 0108 | PLAN | Plan: Verify and pin Kilo known-good to 7.4.23 | 0108-PLAN-kilo-7.4.23-surface-parity.md |
| 0109 | MADR | Expand the Codex provider through capability-led app-server parity | 0109-MADR-expand-codex-provider-through-capability-led-app-server-parity.md |
| 0109 | PLAN | Plan: Implement capability-led Codex app-server parity | 0109-PLAN-expand-codex-provider-through-capability-led-app-server-parity.md |
| 0110 | MADR | Stop Goose keychain prompts from blocking headless launch | 0110-MADR-goose-keyring-prompts-block-headless-launch.md |
| 0110 | PLAN | Implement a Goose keyring-backend setting in mcremote configuration | 0110-PLAN-goose-keyring-prompts-block-headless-launch.md |
| 0111 | MADR | Stabilize asynchronous receipt test teardown | 0111-MADR-stabilize-asynchronous-receipt-test-teardown.md |
| 0111 | PLAN | Implement stabilization of asynchronous receipt test teardown | 0111-PLAN-stabilize-asynchronous-receipt-test-teardown.md |
| 0112 | MADR | Pin OpenCode known-good to 1.18.21 after surface and behavior verification | 0112-MADR-opencode-1.18.21-surface-parity.md |
| 0112 | PLAN | Implement OpenCode 1.18.21 stable surface parity | 0112-PLAN-opencode-1.18.21-surface-parity.md |
| 0113 | MADR | Close pre-existing unit-coverage debt as its own tracked work | 0113-MADR-preexisting-unit-coverage-debt.md |
| 0113 | PLAN | Close pre-existing unit-coverage debt | 0113-PLAN-preexisting-unit-coverage-debt.md |
| 0114 | MADR | Manage markdownlint-cli2 with mise in the user environment | 0114-MADR-manage-markdownlint-cli2-with-mise.md |
| 0114 | PLAN | Plan: Install and pin markdownlint-cli2 with mise | 0114-PLAN-manage-markdownlint-cli2-with-mise.md |
| 0115 | MADR | Remediate the mcrelay 2026-08 audit findings in one hardening pass | 0115-MADR-mcrelay-go126-audit-and-hardening.md |
| 0115 | PLAN | Implement the mcrelay 2026-08 hardening pass | 0115-PLAN-mcrelay-go126-audit-and-hardening.md |
| 0116 | MADR | Ship mcremote and mcrelay on windows/amd64 and linux/arm64 behind a platform layer with native OS pathing | 0116-MADR-windows-and-linux-arm64-build-targets.md |
| 0116 | PLAN | Implement the Windows and linux/arm64 build targets | 0116-PLAN-windows-and-linux-arm64-build-targets.md |
| 0117 | MADR | Diagnostic commands resolve paths without the serve-time readiness gate | 0117-MADR-diagnostic-commands-skip-serve-readiness-gate.md |
| 0117 | PLAN | PLAN 0117 — Diagnostic commands skip the serve-time readiness gate | 0117-PLAN-diagnostic-commands-skip-serve-readiness-gate.md |
| 0118 | MADR | Symlink-dependent tests probe for the privilege rather than assuming the platform | 0118-MADR-symlink-dependent-tests-on-unprivileged-windows.md |
| 0118 | PLAN | PLAN 0118 — Symlink-dependent tests probe for the privilege | 0118-PLAN-symlink-dependent-tests-on-unprivileged-windows.md |
| 0119 | MADR | Establish causation before repairing the codex tests that fail on linux/arm64 | 0119-MADR-codex-tests-fail-on-the-linux-arm64-lane.md |
| 0119 | PLAN | PLAN 0119 — Establish causation, then repair the codex arm64 failures | 0119-PLAN-codex-tests-fail-on-the-linux-arm64-lane.md |
| 0120 | MADR | Retire darwin/amd64 and publish exactly four targets | 0120-MADR-retire-the-darwin-amd64-target.md |
| 0120 | PLAN | PLAN 0120 — Retire darwin/amd64 and publish exactly four targets | 0120-PLAN-retire-the-darwin-amd64-target.md |
| 0121 | MADR | Achieve iPhone functional parity | 0121-MADR-achieve-iphone-functional-parity.md |
| 0121 | PLAN | PLAN 0121 — Achieve iPhone functional parity | 0121-PLAN-achieve-iphone-functional-parity.md |
| 0122 | MADR | Make goose file-log tail attach observable so the Windows quota test is deterministic | 0122-MADR-deterministic-goose-file-log-tail-attach.md |
| 0122 | PLAN | PLAN 0122 — Deterministic goose file-log tail attach | 0122-PLAN-deterministic-goose-file-log-tail-attach.md |
| 0123 | MADR | Move the chat session controls below the composer and give them one card idiom | 0123-MADR-unify-session-controls-below-the-composer.md |
| 0123 | PLAN | PLAN 0123 — Session controls below the composer, one card idiom | 0123-PLAN-unify-session-controls-below-the-composer.md |
| 0124 | MADR | Parse entry filenames with a separator-agnostic basename, not split('/') |
0124-MADR-transcript-cache-path-separator.md |
| 0124 | PLAN | PLAN 0124 — Separator-agnostic entry names in the transcript cache | 0124-PLAN-transcript-cache-path-separator.md |
| 0125 | MADR | Wait for launchd teardown instead of guessing at it, and restart on rollback | 0125-MADR-launchd-bootout-is-asynchronous.md |
| 0125 | PLAN | PLAN 0125 — Wait for launchd teardown; never leave the service stopped | 0125-PLAN-launchd-bootout-is-asynchronous.md |
| 0126 | MADR | Fix the Android keep-alive and teardown defects found by the debugging pass, as one remediation pair | 0126-MADR-android-client-debugging-pass-findings.md |
| 0126 | PLAN | PLAN 0126 — Make the Android client survive being backgrounded, and stop shipping surface nobody reviewed | 0126-PLAN-android-client-debugging-pass-findings.md |
| 0127 | MADR | Adopt Flutter 3.47.2 and move the local and CI pins together, instead of resolving the lockfile downward | 0127-MADR-adopt-current-flutter-toolchain.md |
| 0127 | PLAN | PLAN 0127 — Move to Flutter 3.47.2, pin and host together, and stop dependabot recreating the drift | 0127-PLAN-adopt-current-flutter-toolchain.md |
| 0128 | MADR | Take four of the ten deferred items now, and give the rest named triggers instead of a backlog | 0128-MADR-triage-the-0126-and-0127-deferred-items.md |
| 0128 | PLAN | PLAN 0128 — Clear the deferred lists: four fixes, four triggers, two closures | 0128-PLAN-triage-the-0126-and-0127-deferred-items.md |
| 0129 | MADR | Move the host connection into the foreground service's own isolate, so alerts survive a swipe | 0129-MADR-background-alert-delivery-survives-task-removal.md |
| 0129 | PLAN | PLAN 0129 — Stop lying first, then move the connection into the service isolate | 0129-PLAN-background-alert-delivery-survives-task-removal.md |
| 0130 | MADR | The client can sit connected with no socket, and the cause is not yet known |
0130-MADR-client-can-sit-connected-with-no-socket.md |
| 0130 | PLAN | Investigate: the client can sit connected with no socket |
0130-PLAN-client-can-sit-connected-with-no-socket.md |
| 0131 | MADR | Replace golint with golangci-lint, and pay the 85 findings that exposes | 0131-MADR-replace-golint-with-golangci-lint.md |
| 0131 | PLAN | Implement: replace golint with golangci-lint | 0131-PLAN-replace-golint-with-golangci-lint.md |
| 0132 | MADR | The phone verifies the downloaded APK by GitHub's per-asset digest, not by a SHA256SUMS entry |
0132-MADR-verify-the-apk-by-github-asset-digest.md |
| 0132 | PLAN | Implement: verify the downloaded APK by GitHub's per-asset digest | 0132-PLAN-verify-the-apk-by-github-asset-digest.md |
| 0133 | MADR | Startup credential recovery treats an unprovable observation as a no-op, not a terminal state | 0133-MADR-recovery-must-not-wedge-on-a-transient-observation.md |
| 0133 | PLAN | Implement: startup credential recovery treats an unprovable observation as a no-op | 0133-PLAN-recovery-must-not-wedge-on-a-transient-observation.md |
| 0134 | MADR | An external Codex credential store is a supported state, not an ambiguity for an operator to resolve | 0134-MADR-an-external-credential-store-is-not-an-ambiguity.md |
| 0134 | PLAN | Implement: an external Codex credential store is a supported state, not an ambiguity | 0134-PLAN-an-external-credential-store-is-not-an-ambiguity.md |
| 0135 | MADR | A schema change bumps the manifest version, and a refused manifest self-heals instead of silently disarming the provider | 0135-MADR-manifest-refusal-must-be-versioned-and-recoverable.md |
| 0136 | MADR | Codex credential reality is read from codex doctor --json, not inferred from an exit code |
0136-MADR-classify-codex-auth-from-the-doctor-report.md |
| 0136 | PLAN | Implement: read Codex credential reality from codex doctor --json |
0136-PLAN-classify-codex-auth-from-the-doctor-report.md |
| 0137 | MADR | The first-token latency regression is prompt weight, not transport — instrument the turn and control what enters the prompt | 0137-MADR-prompt-to-first-token-latency-regression.md |
| 0137 | PLAN | Implement: restore first-token latency — delivery, instrumentation, pins, and per-provider optimisation | 0137-PLAN-prompt-to-first-token-latency-regression.md |
| 0138 | MADR | The turn path loses content and the provider surfaces are a ragged edge — fix delivery correctness first, then close the surface gap per provider | 0138-MADR-overhaul-provider-surfaces-and-turn-path.md |
| 0138 | PLAN | Implement the turn-path content fix, the RAM-backed transcript, and the provider surface close-out | 0138-PLAN-overhaul-provider-surfaces-and-turn-path.md |
| 0139 | MADR | An error must not return a zero value that looks like an answer — make goose.Reconcile's failure state nameable |
0139-MADR-an-error-must-not-return-a-zero-value-that-looks-like-an-answer.md |
| 0139 | PLAN | Implement: name goose.Reconcile's failure state and assert it |
0139-PLAN-an-error-must-not-return-a-zero-value-that-looks-like-an-answer.md |
| 0140 | MADR | A test helper wrapped file descriptor 0 and its finalizer closed stdin, corrupting unrelated files across internal/daemon |
0140-MADR-a-test-helper-was-closing-stdin-and-corrupting-unrelated-files.md |
| 0140 | PLAN | Implement: stop quietLog closing stdin, and guard the descriptor |
0140-PLAN-a-test-helper-was-closing-stdin-and-corrupting-unrelated-files.md |
| 0141 | MADR | Backward history paging is built, tested and unreachable, and the path that serves a transcript logs nothing when it succeeds | 0141-MADR-backward-paging-is-unreachable-and-the-history-path-is-unobservable.md |
| 0141 | PLAN | Implement: reach the backward pager, seal the page join, and make the history path observable | 0141-PLAN-backward-paging-is-unreachable-and-the-history-path-is-unobservable.md |
| 0142 | MADR | Remediate the mcrelay 2026-09 public-edge audit in one hardening pass | 0142-MADR-mcrelay-2026-09-public-edge-audit.md |
| 0142 | PLAN | Plan: Remediate the mcrelay 2026-09 public-edge audit in one hardening pass | 0142-PLAN-mcrelay-2026-09-public-edge-audit.md |
| 0143 | MADR | CI retries a failed job once and records every retry, instead of repairing flakes one at a time | 0143-MADR-ci-retries-once-and-records-every-retry.md |
| 0143 | PLAN | Implement: CI retries a failed job once and records every retry | 0143-PLAN-ci-retries-once-and-records-every-retry.md |
| 0144 | MADR | Add unit tests for wirecap redaction and CredentialMeta ordering | 0144-MADR-unit-tests-for-wirecap-and-credential-meta-ordering.md |
| 0144 | PLAN | Implement: unit tests for wirecap and CredentialMeta ordering | 0144-PLAN-unit-tests-for-wirecap-and-credential-meta-ordering.md |
| 0145 | MADR | Local CI-style Windows tests catch go-native failures before GitHub | 0145-MADR-local-windows-ci-style-tests.md |
| 0145 | PLAN | Implement: Local CI-style Windows tests | 0145-PLAN-local-windows-ci-style-tests.md |
| 0146 | MADR | Purge must tear down locally and detach from the caller's deadline | 0146-MADR-codex-purge-skips-local-teardown.md |
| 0146 | PLAN | PLAN 0146 — Close before purge, and bound the engine call | 0146-PLAN-codex-purge-skips-local-teardown.md |
| 0147 | MADR | Make the Windows gate measure the code, not the shell, the PATH, or the checkout | 0147-MADR-windows-gate-measures-the-host-not-the-code.md |
| 0147 | PLAN | PLAN 0147 — Make the Windows gate measure the code, not the shell, the PATH, or the checkout | 0147-PLAN-windows-gate-measures-the-host-not-the-code.md |
| 0148 | MADR | The CRLF is only in the working tree, so fixing it costs nothing to commit | 0148-MADR-the-crlf-is-only-in-the-working-tree.md |
| 0148 | PLAN | PLAN 0148 — The CRLF is only in the working tree, so fixing it costs nothing to commit | 0148-PLAN-the-crlf-is-only-in-the-working-tree.md |
| 0149 | MADR | The derived switch scan can silently under-report, which is the drift it was written to prevent | 0149-MADR-the-derived-switch-scan-can-under-report.md |
| 0149 | PLAN | PLAN 0149 — The derived switch scan can silently under-report | 0149-PLAN-the-derived-switch-scan-can-under-report.md |
| 0150 | MADR | The Windows tree-kill guarantee was designed, tested, documented, and never wired up | 0150-MADR-the-windows-tree-kill-was-never-wired-up.md |
| 0150 | PLAN | PLAN 0150 — Wire the Windows tree-kill guarantee | 0150-PLAN-the-windows-tree-kill-was-never-wired-up.md |
| 0151 | MADR | wirecap redacts a home path, but the wire carries JSON — and more than a home path | 0151-MADR-wirecap-redaction-does-not-know-what-the-wire-carries.md |
| 0151 | PLAN | PLAN 0151 — Make wirecap redaction match what the wire carries | 0151-PLAN-wirecap-redaction-does-not-know-what-the-wire-carries.md |
| 0152 | MADR | The skill is writing-madr-and-plans, and the second machine is why the repo kept saying otherwise |
0152-MADR-the-skill-name-is-writing-madr-and-plans.md |
| 0152 | PLAN | PLAN 0152 — Make every instruction file name the skill that exists | 0152-PLAN-the-skill-name-is-writing-madr-and-plans.md |
| 0153 | MADR | Atomic writes fail on Windows whenever anything holds the destination open | 0153-MADR-atomic-writes-lose-a-race-any-windows-reader-can-start.md |
| 0153 | PLAN | PLAN 0153 — Survive a Windows reader holding the destination | 0153-PLAN-atomic-writes-lose-a-race-any-windows-reader-can-start.md |
| 0154 | MADR | mcrelay paths refuses to print a path until the relay could serve |
0154-MADR-mcrelay-paths-demands-a-runnable-server.md |
| 0154 | PLAN | PLAN 0154 — Let mcrelay paths answer without a runnable relay |
0154-PLAN-mcrelay-paths-demands-a-runnable-server.md |
| 0155 | MADR | The same shared secret is permission-guarded in mcrelay's config and unguarded in mcremote's | 0155-MADR-one-daemon-guards-its-config-the-other-does-not.md |
| 0155 | PLAN | PLAN 0155 — Guard mcremote's config the way the rest of the product guards secrets | 0155-PLAN-one-daemon-guards-its-config-the-other-does-not.md |
| 0156 | MADR | Only the POSIX installer learned canonical asset names | 0156-MADR-only-the-posix-installer-learned-canonical-names.md |
| 0156 | PLAN | PLAN 0156 — Teach the PowerShell installer both manifest shapes, and test it | 0156-PLAN-only-the-posix-installer-learned-canonical-names.md |
| 0157 | MADR | Daemon-owned rolling logs: each daemon writes, rotates, and bounds its own log file on every platform | 0157-MADR-daemon-owned-rolling-logs.md |
| 0157 | PLAN | PLAN 0157 — Daemon-owned rolling logs | 0157-PLAN-daemon-owned-rolling-logs.md |
| 0158 | MADR | Move MADR/PLAN files to docs/spec/ subdirectory | 0158-MADR-move-madr-plan-files-to-docs-spec.md |
| 0158 | PLAN | PLAN 0158 — Move MADR/PLAN files to docs/spec/ subdirectory | 0158-PLAN-move-madr-plan-files-to-docs-spec.md |
| 0159 | MADR | The Windows service path is half-wired: it installs a daemon it cannot refresh, cannot log, and mis-describes | 0159-MADR-the-windows-service-path-is-half-wired.md |
| 0159 | PLAN | PLAN 0159 — The Windows service path is half-wired: it installs a daemon it cannot refresh, cannot log, and mis-describes | 0159-PLAN-the-windows-service-path-is-half-wired.md |
| 0160 | MADR | Remove Goose CLI support from the product, including its ACP-over-HTTP transport | 0160-MADR-remove-goose-cli-support.md |
| 0160 | PLAN | PLAN 0160 — Remove Goose CLI support from the product, including its ACP-over-HTTP transport | 0160-PLAN-remove-goose-cli-support.md |
| 0161 | MADR | The mobile docs state the CI Flutter pin, not a stale 3.44 floor | 0161-MADR-mobile-docs-state-the-ci-flutter-pin.md |
| 0161 | PLAN | PLAN 0161 — The mobile docs state the CI Flutter pin, not a stale 3.44 floor | 0161-PLAN-mobile-docs-state-the-ci-flutter-pin.md |
| 0162 | MADR | Config tests read the host's live config; give them an isolated root on every platform | 0162-MADR-config-tests-read-the-live-config.md |
| 0162 | PLAN | PLAN 0162 — Config tests read the host's live config; give them an isolated root on every platform | 0162-PLAN-config-tests-read-the-live-config.md |
| 0163 | MADR | The Codex provider's jank is stale pins and a dead drift gate, not upstream churn | 0163-MADR-codex-jank-is-stale-pins-not-upstream-churn.md |
| 0163 | PLAN | PLAN 0163 — The Codex provider's jank is stale pins and a dead drift gate | 0163-PLAN-codex-jank-is-stale-pins-not-upstream-churn.md |
| 0164 | MADR | Phone chat: large markdown tables need a scroll container, not column wrap | 0164-MADR-phone-markdown-table-mobile-rendering.md |
| 0164 | PLAN | PLAN 0164 — Phone chat: large markdown tables need a scroll container, not column wrap | 0164-PLAN-phone-markdown-table-mobile-rendering.md |
| 0165 | MADR | Two CI flakes: a file lock that starves its waiter, and an assertion that outlived its design | 0165-MADR-ci-flakes-are-a-starving-lock-and-an-overreaching-assertion.md |
| 0165 | PLAN | PLAN 0165 — Queue the file lock, and stop a test asserting past its own fault point | 0165-PLAN-ci-flakes-are-a-starving-lock-and-an-overreaching-assertion.md |
| 0166 | MADR | One stalled session can still take the ACP transport down | 0166-MADR-a-stalled-session-can-still-take-the-acp-transport-down.md |
| 0166 | PLAN | PLAN 0166 — Assert the containment we have, not the transport we cannot keep | 0166-PLAN-a-stalled-session-can-still-take-the-acp-transport-down.md |
| 0167 | MADR | MADR 0167: acp-go-sdk tears the transport down on a full notification queue — contribute an overflow policy upstream |
0167-MADR-the-acp-sdk-is-dormant-and-its-bounded-queue-is-an-availability-defect.md |
| 0167 | PLAN | PLAN 0167 — Contribute a notification overflow policy to acp-go-sdk |
0167-PLAN-the-acp-sdk-is-dormant-and-its-bounded-queue-is-an-availability-defect.md |
| 0168 | MADR | MADR 0168: Build Android with JDK 21 in CI and on every dev host, keeping Java 17 bytecode | 0168-MADR-build-android-with-jdk-21-in-ci-and-on-every-dev-host.md |
| 0168 | PLAN | PLAN 0168 — Build Android with JDK 21 in CI and on every dev host | 0168-PLAN-build-android-with-jdk-21-in-ci-and-on-every-dev-host.md |
| 0169 | MADR | MADR 0169: Standardize every toolchain on its newest supported, advisory-free stable release | 0169-MADR-standardize-toolchains-on-current-supported-advisory-free-releases.md |
| 0169 | PLAN | PLAN 0169 — Standardize every toolchain on its newest supported, advisory-free stable release | 0169-PLAN-standardize-toolchains-on-current-supported-advisory-free-releases.md |
| 0170 | MADR | Make make preflight true: hermetic install tests, a degraded-manager fix, pinned staticcheck, and CI parity |
0170-MADR-make-preflight-true-hermetic-install-tests-and-pinned-staticcheck.md |
| 0170 | PLAN | PLAN 0170 — Make make preflight true: hermetic install tests, a degraded-manager fix, pinned staticcheck, and CI parity |
0170-PLAN-make-preflight-true-hermetic-install-tests-and-pinned-staticcheck.md |
| 0171 | MADR | Redact the identifiers already in the tree, so pushes pass the disclosure guard | 0171-MADR-redact-published-identifiers-so-pushes-pass-the-disclosure-guard.md |
| 0171 | PLAN | PLAN 0171 — Redact the identifiers already in the tree, so pushes pass the disclosure guard | 0171-PLAN-redact-published-identifiers-so-pushes-pass-the-disclosure-guard.md |
| 0172 | MADR | Settings Reconnect now is centered under the Mesh/Relay control | 0172-MADR-settings-reconnect-now-centers-under-mesh-relay.md |
| 0172 | PLAN | PLAN 0172 — Settings Reconnect now is centered under the Mesh/Relay control | 0172-PLAN-settings-reconnect-now-centers-under-mesh-relay.md |
| 0173 | MADR | Two CI flakes, two real defects: the relay closes a replaced host under the hub lock, and mobile tests leak transcript saves into the next test | 0173-MADR-fix-two-ci-flakes-hub-lock-close-and-leaked-transcript-saves.md |
| 0173 | PLAN | PLAN 0173 — Fix two CI flakes: the hub-lock close and leaked transcript saves | 0173-PLAN-fix-two-ci-flakes-hub-lock-close-and-leaked-transcript-saves.md |
| 0174 | MADR | MADR 0174: Keep dependencies free of known advisories, with one gated exception | 0174-MADR-keep-dependencies-free-of-known-advisories.md |
| 0174 | PLAN | PLAN 0174 — Keep dependencies free of known advisories, with one gated exception | 0174-PLAN-keep-dependencies-free-of-known-advisories.md |
| 0175 | MADR | Conform the docs tree to the adopted record layout | 0175-MADR-conform-docs-tree-to-adopted-record-layout.md |
| 0175 | PLAN | Implement conforming the docs tree to the adopted record layout | 0175-PLAN-conform-docs-tree-to-adopted-record-layout.md |
| 0176 | MADR | MADR 0004: Phase 2 — Grok ACP provider | 0176-MADR-phase-2-grok-acp-provider.md |
| 0177 | REPORT | Phase 3 Plan: Flutter Android Client Assessment & Scaffolding | 0177-REPORT-flutter-android-client-assessment.md |
| 0178 | REPORT | Magic CLI Remote — Mobile UX/UI Assessment & Research | 0178-REPORT-mobile-ux-assessment.md |
| 0179 | MADR | MADR 0179: Drive pigo as a first-class ACP provider — Spec-declared session operations, strict command fallback, and complete ACP event mapping | 0179-MADR-pigo-native-acp-provider.md |
| 0180 | MADR | Close 0175 leftovers and make docs gates fail the merge | 0180-MADR-check-records-is-a-preflight-and-ci-gate.md |
| 0180 | PLAN | Implement closing 0175 leftovers and making docs gates fail the merge | 0180-PLAN-check-records-is-a-preflight-and-ci-gate.md |
| 0181 | MADR | Make mcremote message size configurable | 0181-MADR-configurable-mcremote-message-size.md |
| 0181 | PLAN | Implement configurable mcremote message size | 0181-PLAN-configurable-mcremote-message-size.md |
| 0182 | MADR | Match wrapped protocol event-type lines without retagging | 0182-MADR-protocol-event-line-continuation.md |
| 0182 | PLAN | PLAN 0182 — Match wrapped protocol event-type lines | 0182-PLAN-protocol-event-line-continuation.md |
| I want to… | Start here |
|---|---|
| understand how this fits together | architecture.md |
| pair a phone | Device pairing |
| run the daemon as a service | Linux install, Windows install |
| configure mcrelay | config-mcrelay.md |
| configure signed receipts | receipts.md |
| set up Headscale | headscale.md |
| sign Android or iOS builds | Android signing, iOS signing |
| understand the wire protocol | protocol-v2.md (delta over protocol-v1.md) |
| find why a decision was made | the records table above, starting at 0001-MADR-architecture-mcremote.md |