muxr v3.7.0

Additive fail-loud + config-skew guardrails (v4 program, Phase 2). Non-breaking;
rolls to every machine via the mise pin.

- feat: schema_version forward-compat floor (fails loud with "upgrade muxr")
- feat: read-path lint (fs::read banned outside primitives.rs)
- fix: primitives::read_text is the sole file-read path
- fix: corrupt state.json no longer silently cold-launches (session_id_for)
- fix: missing configured harness prompt file fails loud; recycle composes
  before kill so a compose failure can't destroy the session
- fix: unparseable campaign.md warns-and-skips instead of vanishing