NS1: Minimal protocol-first mim-min editor #1

Closed
opened 2026-06-20 23:28:10 +00:00 by tmk241 · 1 comment
Owner

OUTCOME: mim-min is a real replayable editor: one server-side binary can open, edit, save, render in a narrow terminal, expose a local session socket, and answer mimctl commands.

WHY NOW: This proves PRODUCT.md's core thesis before repo workflow, LSP, Pi, or broad UI surfaces add complexity.

AUTHORITY: PRODUCT.md; req: session/001-004; req: coding/001; req: governance/001; req: governance/003

SLICES:

  • #8 NS1 slice: Build a Zig skeleton with canonical checks
  • #9 NS1 slice: Implement headless session state and UTF-8 buffer basics
  • #10 NS1 slice: Expose the local session socket and mimctl basics
  • #11 NS1 slice: Add deterministic record/replay for protocol and input events
  • #12 NS1 slice: Render and edit one buffer through the terminal thin client

MEMBERSHIP MECHANISM: Gitea fallback via this parent checklist plus explicit parent link in each child issue body.

AGENT AUTHORITY DEFAULTS:

  • Delivery authority: local-commit
  • Tracker authority: child issues may be commented and closed when their acceptance passes; this parent may be commented as children complete.
  • Handoff state: committed clean, tracker commented/closed for completed child slices.

BLOCKERS: none

PROOF: A clean checkout can run the canonical build/test command, start mim-min, edit a fixture file through the TUI, query state through the socket, replay the session deterministically, and exit with the file saved correctly.

TEST STANDARD: Each child slice must carry its test weight: regular tests prove the intended payoff works, and adversarial tests cover realistic failure, boundary, or regression cases. Prefer protocol/headless/replay/fixture tests over brittle UI snapshots unless rendering behavior is the claim. See req: testing/001 through req: testing/004.

NON-GOALS: No LSP, Tree-sitter, git panels, Pi bridge, terminal panel, runtime config, plugin system, or broad command set.

GOAL: Implement this Northstar by completing its linked child slices without leaving the product/refusal boundary in PRODUCT.md. Close this parent only when every child is closed and the PROOF above is demonstrated.

OUTCOME: `mim-min` is a real replayable editor: one server-side binary can open, edit, save, render in a narrow terminal, expose a local session socket, and answer `mimctl` commands. WHY NOW: This proves PRODUCT.md's core thesis before repo workflow, LSP, Pi, or broad UI surfaces add complexity. AUTHORITY: PRODUCT.md; req: session/001-004; req: coding/001; req: governance/001; req: governance/003 SLICES: - [x] #8 NS1 slice: Build a Zig skeleton with canonical checks - [x] #9 NS1 slice: Implement headless session state and UTF-8 buffer basics - [x] #10 NS1 slice: Expose the local session socket and mimctl basics - [x] #11 NS1 slice: Add deterministic record/replay for protocol and input events - [x] #12 NS1 slice: Render and edit one buffer through the terminal thin client MEMBERSHIP MECHANISM: Gitea fallback via this parent checklist plus explicit parent link in each child issue body. AGENT AUTHORITY DEFAULTS: - Delivery authority: local-commit - Tracker authority: child issues may be commented and closed when their acceptance passes; this parent may be commented as children complete. - Handoff state: committed clean, tracker commented/closed for completed child slices. BLOCKERS: none PROOF: A clean checkout can run the canonical build/test command, start `mim-min`, edit a fixture file through the TUI, query state through the socket, replay the session deterministically, and exit with the file saved correctly. TEST STANDARD: Each child slice must carry its test weight: regular tests prove the intended payoff works, and adversarial tests cover realistic failure, boundary, or regression cases. Prefer protocol/headless/replay/fixture tests over brittle UI snapshots unless rendering behavior is the claim. See req: testing/001 through req: testing/004. NON-GOALS: No LSP, Tree-sitter, git panels, Pi bridge, terminal panel, runtime config, plugin system, or broad command set. GOAL: Implement this Northstar by completing its linked child slices without leaving the product/refusal boundary in PRODUCT.md. Close this parent only when every child is closed and the PROOF above is demonstrated.
tmk241 added this to the v1 milestone 2026-06-20 23:28:10 +00:00
tmk241 added the northstargoal labels 2026-06-20 23:28:10 +00:00
Author
Owner

NS1 complete.

Children closed:

  • #8 Build a Zig skeleton with canonical checks
  • #9 Headless session state and UTF-8 buffer basics
  • #10 Local session socket and mimctl basics
  • #11 Deterministic protocol replay harness
  • #12 Scripted terminal thin client

Proof/evidence:

  • zig build test: pass
  • zig build: pass
  • zig build run -- --help: pass
  • redgate lint / redgate health: pass
  • Repo includes a minimal protocol-first mim-min path: headless session/buffer core, local socket protocol, mimctl client mode, deterministic replay, and scripted narrow-terminal open/edit/save/quit trace.

Boundary held: no panels, mobile leader rail, git, LSP, Tree-sitter, Pi bridge, runtime config, plugin system, or daemon product added.

NS1 complete. Children closed: - #8 Build a Zig skeleton with canonical checks - #9 Headless session state and UTF-8 buffer basics - #10 Local session socket and mimctl basics - #11 Deterministic protocol replay harness - #12 Scripted terminal thin client Proof/evidence: - `zig build test`: pass - `zig build`: pass - `zig build run -- --help`: pass - `redgate lint` / `redgate health`: pass - Repo includes a minimal protocol-first `mim-min` path: headless session/buffer core, local socket protocol, mimctl client mode, deterministic replay, and scripted narrow-terminal open/edit/save/quit trace. Boundary held: no panels, mobile leader rail, git, LSP, Tree-sitter, Pi bridge, runtime config, plugin system, or daemon product added.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tmk241/mim#1