@mu-crew/mu 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -58,7 +58,7 @@ mu/
58
58
  ├── src/ # all source (root files: SDK + shared infra; one
59
59
  │ # level of subdirs OK for cohesive clusters — see
60
60
  │ # `src/cli/`, `src/agents/`, `src/tasks/`, `src/mux/`)
61
- │ ├── db.ts # SQLite schema + openDb (single CREATE-IF-NOT-EXISTS block; v10)
61
+ │ ├── db.ts # SQLite schema + openDb (single CREATE-IF-NOT-EXISTS block; v11)
62
62
  │ │ # also owns SYNCED_ENTITIES / PORTABLE_TABLES / MACHINE_LOCAL_TABLES
63
63
  │ ├── mux.ts # multiplexer backend hub (re-exports src/mux/*)
64
64
  │ ├── mux/ # cohesive cluster: one file per multiplexer
@@ -448,11 +448,12 @@ proves itself.
448
448
 
449
449
  ### "Update the schema"
450
450
 
451
- 1. Current schema version is **v10** (`CURRENT_SCHEMA_VERSION` in
452
- `src/db.ts`): 10 tables + 3 views. The schema is the
451
+ 1. Current schema version is **v11** (`CURRENT_SCHEMA_VERSION` in
452
+ `src/db.ts`): 11 tables + 3 views. The schema is the
453
453
  `applySchema(db)` block — idempotent CREATE-IF-NOT-EXISTS plus
454
- targeted `DROP TABLE IF EXISTS`. `openDb` REFUSES any pre-v10 DB
455
- with `SchemaTooOldError` (exit 4); there is no in-process
454
+ targeted `DROP TABLE IF EXISTS`. `openDb` REFUSES any pre-v11 DB
455
+ with `SchemaTooOldError` and any newer one with `SchemaTooNewError`
456
+ (both exit 4); there is no in-process
456
457
  migration ladder.
457
458
  2. Bump `CURRENT_SCHEMA_VERSION` in `src/db.ts` and mirror the new
458
459
  shape in `CURRENT_SCHEMA`. Prefer script-free bumps: additive
package/README.md CHANGED
@@ -38,6 +38,9 @@ For the full copy-paste flow, see [Quick start](#quick-start).
38
38
 
39
39
  ## What mu is
40
40
 
41
+ mu excels at organising large pieces of work and keeping your agents
42
+ on track.
43
+
41
44
  - **Parallelism that doesn't trip over itself.** Per-agent VCS
42
45
  workspaces plus a task DAG with deterministic parallel-track
43
46
  detection keep agents off each other's toes.
@@ -77,6 +80,17 @@ For the full copy-paste flow, see [Quick start](#quick-start).
77
80
 
78
81
  ## When mu earns its overhead
79
82
 
83
+ mu pays off when the work is bigger than one agent's context: many
84
+ steps, dependencies between them, several agents, or a job that runs
85
+ for days. The DAG holds the plan, so no single agent has to. Each
86
+ agent claims one ready task, works in its own workspace, writes notes
87
+ on the task as it goes (findings, decisions, dead ends), and closes
88
+ it with evidence. Every claim, note and close is appended to the
89
+ audit log. If an agent drifts, stalls, or loses its pane, the plan,
90
+ the notes, and the history of who did what are still there. You, or
91
+ the next agent, pick up where it stopped instead of explaining
92
+ everything again.
93
+
80
94
  **Use mu for** — multi-phase investigations; tasks worth gating with
81
95
  review; parallel audit or implementation/reviewer splits with isolated
82
96
  workspaces; anything where "what was decided and why" needs to outlive
@@ -94,9 +108,10 @@ adds ceremony.
94
108
  ## Install
95
109
 
96
110
  ```bash
97
- # 1. The CLI.
98
- npm install -g @mu-crew/mu
111
+ # 1. The CLI, and murmur for agent state on tmux (see below).
112
+ npm install -g @mu-crew/mu @mu-crew/murmur
99
113
  mu --version
114
+ murmur init && murmur link pi
100
115
 
101
116
  # 2. The skill (teaches your coding agent how to drive mu).
102
117
  npx skills add mu-crew/mu # auto-detects pi / claude-code / codex / etc.
@@ -113,11 +128,14 @@ npx skills add mu-crew/mu # auto-detects pi / claude-code / codex / etc
113
128
  - pi (the agent CLI mu orchestrates)
114
129
  - For `--workspace`: jj, sl, or git on PATH (or `--backend none`)
115
130
 
116
- **Agent state on tmux — [murmur](https://github.com/mu-crew/murmur).**
117
- mu owns the work; murmur reports what each agent is doing. Without murmur,
118
- agent state shows `unknown`; tasks, claims, `mu task wait`, workspaces,
119
- spawn, and send work the same. murmur also provides one attention-sorted
120
- list across machines and owns the ssh egress.
131
+ **Agent state on tmux needs [murmur](https://github.com/mu-crew/murmur),
132
+ even on one machine.** mu owns the work; murmur reports what each agent is
133
+ doing. mu does not read panes itself, so without murmur every agent's state
134
+ is `unknown`, and everything built on state goes quiet: `mu agent wait`
135
+ never fires, `mu task wait --stuck-after` / `--on-stall exit` never detects
136
+ a worker waiting on you, and spawn skips its readiness check. Tasks, claims,
137
+ `mu task wait` on status, workspaces, spawn and send still work. murmur also
138
+ provides one attention-sorted list across machines and owns the ssh egress.
121
139
 
122
140
  ```bash
123
141
  # on every node that runs agents