@mindrian_os/install 1.13.0-beta.17 → 1.13.0-beta.21

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.
Files changed (199) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.mcp.json +6 -1
  3. package/CHANGELOG.md +31 -0
  4. package/README.md +51 -56
  5. package/bin/mindrian-brain-mcp-client.cjs +152 -0
  6. package/commands/act.md +1 -0
  7. package/commands/admin.md +1 -0
  8. package/commands/analyze-needs.md +2 -0
  9. package/commands/analyze-systems.md +2 -0
  10. package/commands/analyze-timing.md +2 -0
  11. package/commands/auto-explore.md +2 -0
  12. package/commands/beautiful-question.md +2 -0
  13. package/commands/brain-derive.md +2 -0
  14. package/commands/build-knowledge.md +2 -0
  15. package/commands/build-thesis.md +2 -0
  16. package/commands/causal.md +2 -0
  17. package/commands/challenge-assumptions.md +2 -0
  18. package/commands/compare-ventures.md +2 -0
  19. package/commands/dashboard.md +2 -1
  20. package/commands/deep-grade.md +2 -0
  21. package/commands/diagnose.md +21 -1
  22. package/commands/diagnostics.md +14 -3
  23. package/commands/doctor.md +6 -2
  24. package/commands/dogfood-flush.md +92 -0
  25. package/commands/dominant-designs.md +2 -0
  26. package/commands/explain-decision.md +2 -0
  27. package/commands/explore-domains.md +2 -0
  28. package/commands/explore-futures.md +2 -0
  29. package/commands/explore-trends.md +2 -0
  30. package/commands/export.md +1 -0
  31. package/commands/feynman-timeline-refresh.md +2 -0
  32. package/commands/file-meeting.md +2 -0
  33. package/commands/find-analogies.md +1 -0
  34. package/commands/find-bottlenecks.md +2 -0
  35. package/commands/find-connections.md +2 -0
  36. package/commands/funding.md +1 -0
  37. package/commands/grade.md +2 -0
  38. package/commands/graph.md +1 -0
  39. package/commands/hat-briefing.md +1 -0
  40. package/commands/heal.md +22 -170
  41. package/commands/help.md +54 -334
  42. package/commands/hmi-status.md +23 -144
  43. package/commands/jtbd.md +1 -0
  44. package/commands/leadership.md +2 -0
  45. package/commands/lean-canvas.md +2 -0
  46. package/commands/macro-trends.md +2 -0
  47. package/commands/map-unknowns.md +2 -0
  48. package/commands/memory.md +1 -0
  49. package/commands/models.md +1 -0
  50. package/commands/mos-reason.md +2 -0
  51. package/commands/mos.md +139 -0
  52. package/commands/mullins.md +2 -0
  53. package/commands/mva-brief.md +2 -0
  54. package/commands/mva-option.md +2 -0
  55. package/commands/new-project.md +2 -0
  56. package/commands/onboard.md +20 -7
  57. package/commands/operator.md +1 -0
  58. package/commands/opportunities.md +1 -0
  59. package/commands/organize.md +22 -469
  60. package/commands/persona.md +1 -0
  61. package/commands/pipeline.md +2 -0
  62. package/commands/present.md +1 -0
  63. package/commands/publish.md +2 -0
  64. package/commands/query.md +24 -102
  65. package/commands/radar.md +2 -0
  66. package/commands/reanalyze.md +1 -0
  67. package/commands/research.md +2 -0
  68. package/commands/room.md +2 -0
  69. package/commands/rooms.md +1 -0
  70. package/commands/root-cause.md +2 -0
  71. package/commands/rs-experts.md +1 -0
  72. package/commands/rs-explain.md +1 -0
  73. package/commands/rs-fetch.md +1 -0
  74. package/commands/rs-thesis.md +1 -0
  75. package/commands/scenario-plan.md +2 -0
  76. package/commands/scheduled-tasks.md +1 -0
  77. package/commands/score-innovation.md +2 -0
  78. package/commands/scout.md +1 -0
  79. package/commands/setup.md +2 -0
  80. package/commands/snapshot.md +2 -0
  81. package/commands/speakers.md +1 -0
  82. package/commands/splash.md +5 -2
  83. package/commands/status.md +1 -0
  84. package/commands/structure-argument.md +2 -0
  85. package/commands/suggest-next.md +2 -0
  86. package/commands/systems-thinking.md +2 -0
  87. package/commands/think-hats.md +2 -0
  88. package/commands/update.md +2 -0
  89. package/commands/user-needs.md +2 -0
  90. package/commands/validate.md +2 -0
  91. package/commands/value-proposition.md +2 -0
  92. package/commands/vault.md +2 -0
  93. package/commands/visualize.md +24 -29
  94. package/commands/whitespace.md +2 -1
  95. package/commands/wiki.md +1 -0
  96. package/hooks/hooks.json +22 -88
  97. package/lib/agents/auto-explore-agent.cjs +82 -0
  98. package/lib/core/breakthrough/canary.cjs +134 -0
  99. package/lib/core/breakthrough/canary.test.cjs +136 -0
  100. package/lib/core/breakthrough/detectors.cjs +359 -0
  101. package/lib/core/breakthrough/detectors.test.cjs +333 -0
  102. package/lib/core/breakthrough/ethics-fence.cjs +127 -0
  103. package/lib/core/breakthrough/ethics-fence.test.cjs +178 -0
  104. package/lib/core/breakthrough/resurfacing.cjs +150 -0
  105. package/lib/core/breakthrough/resurfacing.test.cjs +233 -0
  106. package/lib/core/breakthrough/review-queue.cjs +154 -0
  107. package/lib/core/breakthrough/review-queue.test.cjs +160 -0
  108. package/lib/core/breakthrough/scanner-d17-d18.test.cjs +229 -0
  109. package/lib/core/breakthrough/scanner.cjs +426 -0
  110. package/lib/core/breakthrough/scanner.test.cjs +267 -0
  111. package/lib/core/breakthrough/schema.cjs +164 -0
  112. package/lib/core/breakthrough/schema.test.cjs +256 -0
  113. package/lib/core/breakthrough/scoring.cjs +293 -0
  114. package/lib/core/breakthrough/scoring.test.cjs +423 -0
  115. package/lib/core/breakthrough/verb-dispatch.cjs +221 -0
  116. package/lib/core/breakthrough/verb-dispatch.test.cjs +185 -0
  117. package/lib/core/breakthrough/voice-scaffold.cjs +247 -0
  118. package/lib/core/breakthrough/voice-scaffold.test.cjs +251 -0
  119. package/lib/core/directive-envelope.cjs +175 -0
  120. package/lib/core/directive-envelope.test.cjs +225 -0
  121. package/lib/core/doctor/class-m-brain-smoke.cjs +278 -0
  122. package/lib/core/doctor/class-m-brain-smoke.test.cjs +310 -0
  123. package/lib/core/first-touch-version-stamper.cjs +113 -0
  124. package/lib/core/larry-thinness-acknowledgment.cjs +64 -0
  125. package/lib/core/larry-thinness-acknowledgment.test.cjs +97 -0
  126. package/lib/core/llm-name-suggester.cjs +194 -0
  127. package/lib/core/llm-name-suggester.test.cjs +132 -0
  128. package/lib/core/mcp-profiles.cjs +1 -1
  129. package/lib/core/migration-snapshot.cjs +172 -0
  130. package/lib/core/migration-snapshot.test.cjs +174 -0
  131. package/lib/core/mindrian-brain-shim.test.cjs +214 -0
  132. package/lib/core/mva-orchestrator.cjs +41 -0
  133. package/lib/core/mva-telemetry.cjs +31 -143
  134. package/lib/core/navigation/edges.cjs +35 -0
  135. package/lib/core/navigation/memory-events.cjs +126 -0
  136. package/lib/core/room-auto-create.cjs +318 -0
  137. package/lib/core/room-auto-create.test.cjs +198 -0
  138. package/lib/core/room-discard-cascade.cjs +225 -0
  139. package/lib/core/room-discard-cascade.test.cjs +135 -0
  140. package/lib/core/room-name-validator.cjs +132 -0
  141. package/lib/core/room-name-validator.test.cjs +156 -0
  142. package/lib/core/room-naming-selector.cjs +357 -0
  143. package/lib/core/room-naming-selector.test.cjs +277 -0
  144. package/lib/core/room-receipt-emit.cjs +63 -0
  145. package/lib/core/room-skeleton-scaffold.cjs +315 -0
  146. package/lib/core/room-skeleton-scaffold.test.cjs +291 -0
  147. package/lib/core/rs-nl-to-query.cjs +1 -1
  148. package/lib/core/stale-copy-scanner.cjs +190 -0
  149. package/lib/core/state-aware-router.cjs +78 -0
  150. package/lib/core/telemetry/schema.cjs +168 -0
  151. package/lib/core/telemetry/schema.test.cjs +124 -0
  152. package/lib/core/telemetry/validator.cjs +200 -0
  153. package/lib/core/telemetry/validator.test.cjs +188 -0
  154. package/lib/core/telemetry/writer.cjs +141 -0
  155. package/lib/core/telemetry/writer.test.cjs +331 -0
  156. package/lib/core/terminal-capability.cjs +88 -0
  157. package/lib/core/tier0-messaging.cjs +109 -0
  158. package/lib/core/tier0-messaging.test.cjs +218 -0
  159. package/lib/core/venture-shape-nudge.cjs +163 -0
  160. package/lib/core/venture-shape-nudge.test.cjs +161 -0
  161. package/lib/core/visual-ops.cjs +70 -2
  162. package/lib/hmi/selector-dispatcher.cjs +90 -1
  163. package/lib/hmi/shape-f7-breakthrough-renderer.cjs +222 -0
  164. package/lib/hmi/shape-f7-breakthrough-renderer.test.cjs +233 -0
  165. package/lib/memory/body-shape-coverage.test.cjs +268 -0
  166. package/lib/memory/brain-derivation-graceful-degradation.test.cjs +2 -2
  167. package/lib/memory/doctor-deprecation-surface.test.cjs +185 -0
  168. package/lib/memory/first-touch-version.test.cjs +198 -0
  169. package/lib/memory/help-coverage.test.cjs +108 -0
  170. package/lib/memory/help-renderer.test.cjs +145 -0
  171. package/lib/memory/mos-status-renderer.test.cjs +2 -2
  172. package/lib/memory/navigation-engine-core.test.cjs +1 -1
  173. package/lib/memory/palette-consistency.test.cjs +127 -0
  174. package/lib/memory/pending-tension-store.cjs +80 -0
  175. package/lib/memory/render-v2-disposition.test.cjs +199 -0
  176. package/lib/memory/run-feynman-tests.cjs +223 -0
  177. package/lib/memory/sessionstart-coordinator.test.cjs +446 -0
  178. package/lib/memory/skill-vs-code-drift.test.cjs +257 -0
  179. package/lib/memory/soft-alias.test.cjs +144 -0
  180. package/lib/memory/stale-copy-scanner.test.cjs +291 -0
  181. package/lib/memory/state-aware-router.test.cjs +90 -0
  182. package/lib/memory/statusline-two-row.test.cjs +338 -0
  183. package/lib/memory/terminal-capability.test.cjs +155 -0
  184. package/lib/render/ROOM.md +74 -22
  185. package/lib/sessionstart/budget-compressor.cjs +130 -0
  186. package/lib/sessionstart/contributor-interface.cjs +134 -0
  187. package/lib/sessionstart/contributor-isolator.cjs +128 -0
  188. package/lib/sessionstart/precedence-ladder.cjs +47 -0
  189. package/lib/statusline/governing-thought-truncator.cjs +45 -0
  190. package/lib/statusline/two-row-renderer.cjs +186 -0
  191. package/lib/statusline/version-resolver.cjs +81 -0
  192. package/package.json +1 -1
  193. package/references/visual/ROOM.md +55 -0
  194. package/references/visual/palette.json +54 -0
  195. package/skills/larry-personality/SKILL.md +34 -0
  196. package/skills/ui-system/SKILL.md +109 -1
  197. package/skills/ui-system/rules/dual-palette.md +156 -0
  198. package/skills/ui-system/rules/glyph-disambiguation.md +171 -0
  199. package/skills/ui-system/rules/shape-f-zero-and-six.md +169 -0
@@ -1,9 +1,12 @@
1
1
  ---
2
2
  name: diagnostics
3
- description: Run Wave-1 algorithmic fingerprint on the room
3
+ description: "[Renaming to /mos:fingerprint v1.14.0] Run Wave-1 algorithmic fingerprint on the room"
4
+ help_jtbd: "Run the 4 Wave-1 algorithms (Disruption Index, Blindspot, Novelty, Surprise). Renaming to /mos:fingerprint in v1.14.0."
4
5
  body_shape: E
5
6
  serves_jtbd: ["audit-room"]
6
- teaching: "When you need a quantitative read on the room, /mos:diagnostics runs the Wave-1 fingerprint: disruption, blindspot, novelty, surprise. Surfaces algorithmic signals humans miss."
7
+ renaming_to: fingerprint
8
+ renaming_target_version: "v1.14.0"
9
+ teaching: "When you need a quantitative read on the room, /mos:diagnostics runs the Wave-1 fingerprint: disruption, blindspot, novelty, surprise. Renaming to /mos:fingerprint in v1.14.0 (functional behavior unchanged)."
7
10
  # --- Phase 122 workflow-layer frontmatter ---
8
11
  kind: methodology
9
12
  frameworks: ["HSI Semantic Surprise Analysis Assistant"]
@@ -18,7 +21,15 @@ allowed-tools:
18
21
 
19
22
  # /mos:diagnostics
20
23
 
21
- You are Larry. This command runs four Wave-1 algorithms against the active room's embedded artifact corpus and renders a one-screen scalar dashboard: disruption (Funk and Owen-Smith CD), coverage (Good-Turing blindspot mass), element novelty (centroid distance), and Bayesian surprise (leave-one-out cosine shift). Body shape is **Shape E (Action Report) always** -- four metric rows, one intelligence strip, one action footer.
24
+ > Renamed. /mos:diagnostics is being renamed to /mos:fingerprint in v1.14.0 to kill the diagnose/diagnostics naming ambiguity. Both invocations work in v1.13.x; use /mos:fingerprint going forward.
25
+
26
+ You are Larry. The user invoked /mos:diagnostics. Per Phase 121.5-08 Sub-plan J (LOCKED 2026-05-16) /mos:diagnostics is being RENAMED to /mos:fingerprint in v1.14.0. The functional behavior is unchanged from v1.13.0-beta.x: the 4 Wave-1 algorithms continue to run via scripts/diagnostics-command.cjs. Only the name is migrating; a future v1.14.0 plan will create commands/fingerprint.md and turn this file into a soft-alias stub matching the heal/query/organize pattern.
27
+
28
+ Emit the rename note above to the user as a single cyan line (Larry voice; no em-dash; one sentence per skills/ui-system/SKILL.md Section 6) BEFORE running the diagnostics behavior below.
29
+
30
+ ## The diagnostics behavior (unchanged from v1.13.0-beta.x)
31
+
32
+ This command runs four Wave-1 algorithms against the active room's embedded artifact corpus and renders a one-screen scalar dashboard: disruption (Funk and Owen-Smith CD), coverage (Good-Turing blindspot mass), element novelty (centroid distance), and Bayesian surprise (leave-one-out cosine shift). Body shape is **Shape E (Action Report) always** -- four metric rows, one intelligence strip, one action footer.
22
33
 
23
34
  ## When to run
24
35
 
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: doctor
3
- description: Diagnose and optionally repair MindrianOS install — detects install-cache drift, .room-root sentinel gaps, active-room guard silence, surface-verification gaps, ROOM.md/MINTO.md drift, UI Ruling System compliance, and statusline visibility drift
4
- argument-hint: "[--fix] [--cascade-rooms] [--verify-surface] [--room-md] [--ui-compliance] [--statusline-visibility] [--install-state] [--all] [--acceptance] [--pre-tag] [--light-npx] [--json]"
3
+ description: Diagnose and optionally repair MindrianOS install — detects install-cache drift, .room-root sentinel gaps, active-room guard silence, surface-verification gaps, ROOM.md/MINTO.md drift, UI Ruling System compliance, statusline visibility drift, and Brain end-to-end smoke
4
+ help_jtbd: "Diagnose and optionally repair an off-feeling install."
5
+ argument-hint: "[--fix] [--cascade-rooms] [--verify-surface] [--room-md] [--ui-compliance] [--statusline-visibility] [--install-state] [--stale-first-touch] [--deprecated-usage] [--brain-smoke] [--all] [--acceptance] [--pre-tag] [--light-npx] [--json]"
5
6
  body_shape: E (Action Report)
6
7
  body_shape_detail: per-class status rows with [before → after] pattern, summary totals, F.1 Next Move selector when drift detected without --fix
7
8
  serves_jtbd: ["audit-room"]
@@ -42,6 +43,9 @@ Look at the user's invocation:
42
43
  - `/mos:doctor --room-md` → class E (ROOM.md/MINTO.md presence under .room-root subtrees)
43
44
  - `/mos:doctor --ui-compliance` → class F (UI Ruling System scan across commands/*.md and scripts/*.cjs)
44
45
  - `/mos:doctor --statusline-visibility` → class G — checks user-settings drift, plugin install integrity, and statusline-mos isolated execution
46
+ - `/mos:doctor --stale-first-touch` → class K (Phase 121.5-05; SEED-007 absorption) — scans `data/first-touch-surfaces.json`-declared greeting surfaces (banner, splash, onboard, sessionstart, operator-update, larry-extended) for stale version literals (older than the running plugin) and U+2014 em-dash violations on surfaces flagged `em_dash_check: true`
47
+ - `/mos:doctor --deprecated-usage` → class L (Phase 121.5-08 Sub-plan J) — scans last-7-days `~/.claude/projects/.../*.jsonl` session transcripts for `/mos:<deprecated>` patterns (heal/query/organize/hmi-status/visualize/diagnostics) and surfaces a per-command "use `/mos:<new>` instead" hint. Pure LOCAL scan; zero network, zero Brain. Also activated by `--all`.
48
+ - `/mos:doctor --brain-smoke` → class M (Phase 127-02 BRAIN-MCP-127-08): 5-layer Brain end-to-end probe (plugin root resolver, key resolver, HTTPS schema, MCP stdio handshake, e2e brain_schema via the bundled shim). Diagnostic-only; reports the exact failing layer with fail-fast cascade. Detects 12 Phase 126 failure-mode rows in one composable test (the doctor's single Brain smoke).
45
49
  - `/mos:doctor --fix` → diagnostic + auto-recovery for any class that supports --fix (class A, B, E, G)
46
50
  - `/mos:doctor --json` → machine-readable output (for hooks / regression tests)
47
51
 
@@ -0,0 +1,92 @@
1
+ ---
2
+ description: Drain the dog-food queue into the mindrian room and regenerate ## Live (auto)
3
+ help_jtbd: "Manually flush captured plugin edits into the mindrian dataroom."
4
+ body_shape: E
5
+ argument-hint: ""
6
+ serves_jtbd: ["audit-room"]
7
+ teaching: "When you want the plugin's own venture room to reflect your latest edits immediately, /mos:dogfood-flush drains the PostToolUse queue and regenerates the Live (auto) section in STATE.md. The automatic SessionStart drain handles the steady-state case."
8
+ disable-model-invocation: false
9
+ allowed-tools: Bash(node *)
10
+ kind: utility
11
+ frameworks: []
12
+ produces: "~/MindrianRooms/mindrian/STATE.md"
13
+ inputs: []
14
+ autonomous_safe: true
15
+ ---
16
+
17
+ # /mos:dogfood-flush
18
+
19
+ Force-drain the dog-food queue (`~/.mindrian/dogfood-queue.jsonl`) into
20
+ `~/MindrianRooms/mindrian/room.db` via the Phase 109 navigation chokepoint,
21
+ then regenerate the `## Live (auto)` sentinel-bounded section in
22
+ `~/MindrianRooms/mindrian/STATE.md` atomically with the human-authored body
23
+ byte-preserved.
24
+
25
+ This is the manual knob the user reaches for when the automatic SessionStart
26
+ drain has not run recently -- explicit redraw, drain everything pending right now.
27
+
28
+ ## Behavior
29
+
30
+ Two-step pipeline:
31
+
32
+ 1. `scripts/dogfood-emit.cjs` -- drain the queue file, batch-emit `file_changed`
33
+ memory_event rows via `lib/core/navigation.cjs::logMemoryEvent`. Truncate
34
+ the queue on success (atomic .tmp + rename).
35
+ 2. `scripts/dogfood-derive.cjs` -- read the last 10 file_changed events,
36
+ regenerate the `<!-- LIVE_AUTO_START -->` / `<!-- LIVE_AUTO_END -->` block
37
+ in STATE.md. Log a `feynman_timeline_refreshed` memory_event on success.
38
+
39
+ ## Output
40
+
41
+ F.0 Action Report:
42
+
43
+ - **emitted:** N events flushed from the queue.
44
+ - **derived:** STATE.md `## Live (auto)` regenerated at `<iso-timestamp>`.
45
+ - **skipped:** if the target room is missing, both phases soft-warn and exit 0
46
+ without crashing the parent.
47
+
48
+ ## Invariants
49
+
50
+ - **Canon Part 8 (Graph Boundary):** zero Brain egress. The grep sweep in
51
+ `tests/test-dogfood-emit-derive.cjs` is the structural enforcement.
52
+ - **Canon Part 9 (Memory Locality):** every memory_event write goes through
53
+ `navigation.cjs`. The Phase 109-06 pre-commit hook is the structural
54
+ enforcement (any direct `require('lib/core/room-db.cjs')` from
55
+ `dogfood-emit.cjs` / `dogfood-derive.cjs` would fail the hook).
56
+ - **Byte-preservation (Phase 124-02 invariant, reused):** everything in
57
+ STATE.md outside the sentinel pair has its SHA256 preserved across
58
+ regeneration (Case A). The integration test
59
+ (`tests/test-dogfood-emit-derive.cjs`) asserts this.
60
+
61
+ ## Implementation
62
+
63
+ ```bash
64
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/dogfood-emit.cjs
65
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/dogfood-derive.cjs
66
+ ```
67
+
68
+ ## Examples
69
+
70
+ ```
71
+ /mos:dogfood-flush
72
+ ```
73
+
74
+ ## Exit codes
75
+
76
+ | Exit | Meaning |
77
+ | --- | --- |
78
+ | 0 | Success (including soft-fail paths: room.db missing, empty queue, no STATE.md) |
79
+
80
+ ## Cross-surface adaptation
81
+
82
+ - **CLI:** full power. Slash command resolves via Claude Code's plugin hook
83
+ substrate and runs the two scripts through the Bash tool. F.0 report
84
+ renders in the terminal.
85
+ - **Desktop:** the same slash command runs when the plugin is connected.
86
+ Larry may narrate the result conversationally; the underlying scripts
87
+ are identical.
88
+ - **Cowork:** same as CLI. Team members see the regenerated STATE.md
89
+ `## Live (auto)` block through the shared `~/MindrianRooms/mindrian/`
90
+ snapshot on their next session-start.
91
+
92
+ No surface-specific code exists anywhere in either script.
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: dominant-designs
3
3
  description: Spot dominant designs with Utterback-Abernathy
4
+ help_jtbd: "Identify the dominant designs in your market."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["understand-market"]
5
7
  teaching: "When you are wondering if the market has settled on a winning design, /mos:dominant-designs runs Utterback-Abernathy to spot it. Tells you whether to ride the wave or break it."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  description: Show Navigation Engine decision trace for last turn
3
+ help_jtbd: "See why Larry recommended what he recommended."
4
+ body_shape: F.1
3
5
  argument-hint: "[--last N] [--session SESSIONID]"
4
6
  serves_jtbd: ["audit-room"]
5
7
  teaching: "When Larry made a recommendation and you want to know why, /mos:explain-decision shows the Navigation Engine trace for the last turn. Every recommendation has a graph path behind it."
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: explore-domains
3
3
  description: Map domains through IKA + Feynman decomposition
4
+ help_jtbd: "Get the 5-lens decomposition of your problem domain."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["find-problem", "understand-market", "explore"]
5
7
  teaching: "When the problem could live in any of several domains, /mos:explore-domains maps the territory through IKA and Feynman decomposition. Surfaces where to look before you commit."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: explore-futures
3
3
  description: Synthesize TTA + Scenario + S-Curve futures
4
+ help_jtbd: "Branch into future scenarios from where you stand today."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["compare-options", "explore"]
5
7
  teaching: "When the path forward branches into multiple plausible futures, /mos:explore-futures synthesizes TTA, Scenario, and S-Curve views. Helps you choose without pretending you can predict."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: explore-trends
3
3
  description: Push trends to extremes to surface future problems
4
+ help_jtbd: "Surface the macro trends your venture is riding."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["understand-market", "explore"]
5
7
  teaching: "When today's trends could become tomorrow's problems, /mos:explore-trends pushes them to extremes to surface the second-order effects. The future shows up at the edges first."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: export
3
3
  description: Export a Data Room view to De Stijl HTML
4
+ help_jtbd: "Ship investor-ready PDF or Obsidian vault of your room."
4
5
  argument-hint: [hub|thesis|summary|report]
5
6
  disable-model-invocation: true
6
7
  body_shape: E (Action Report)
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  description: Refresh FEYNMAN.md ## Timeline (auto) section for one or all room sections
3
+ help_jtbd: "Refresh the human-readable Timeline section in FEYNMAN.md."
4
+ body_shape: E
3
5
  argument-hint: "[--all | --section <slug>]"
4
6
  serves_jtbd: ["validate-idea", "audit-room"]
5
7
  teaching: "When a section's FEYNMAN.md timeline feels stale, /mos:feynman-timeline-refresh rebuilds the auto-section from the memory event log. Human-authored prose stays byte-preserved."
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: file-meeting
3
3
  description: File a meeting transcript into the Data Room
4
+ help_jtbd: "Turn a meeting recording into structured room intelligence."
5
+ body_shape: E
4
6
  argument-hint: [--latest|--paste|<file>]
5
7
  serves_jtbd: ["file-meeting"]
6
8
  teaching: "When a meeting just happened, /mos:file-meeting captures the transcript and routes the intelligence into the right room sections. Meetings are where institutional knowledge actually lives."
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: find-analogies
3
3
  description: Find cross-domain analogies with SAPPhIRE + TRIZ
4
+ help_jtbd: "Find cross-domain analogies from 1,427 methodology embeddings."
4
5
  body_shape: D (Comparison Matrix)
5
6
  serves_jtbd: ["connect-domains"]
6
7
  teaching: "When the answer might live in another field, /mos:find-analogies runs SAPPhIRE and TRIZ against your problem to surface cross-domain matches. Most breakthroughs are borrowed structure."
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: find-bottlenecks
3
3
  description: Find lagging components via Reverse Salient
4
+ help_jtbd: "Find the lagging component blocking your venture (Hughes reverse salient)."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["find-bottleneck"]
5
7
  teaching: "When progress feels stuck and you cannot say where, /mos:find-bottlenecks runs Reverse Salient analysis to name the lagging component. Hughes 1983, but for your venture."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: find-connections
3
3
  description: Find cross-domain patterns that touch your work
4
+ help_jtbd: "Surface non-obvious connections in your room's graph."
5
+ body_shape: "methodology"
4
6
  serves_jtbd: ["connect-domains"]
5
7
  teaching: "When you suspect your work touches a pattern in another field, /mos:find-connections traces cross-domain links through the graph. Surfaces the connections you did not know to look for."
6
8
  # --- Phase 122 workflow-layer frontmatter ---
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: funding
3
3
  description: Track grant opportunities through their lifecycle
4
+ help_jtbd: "See the grants and funding paths matching your room."
4
5
  argument-hint: [list|add|update]
5
6
  body_shape: B (Semantic Tree)
6
7
  serves_jtbd: ["prepare-pitch", "decide-pursue"]
package/commands/grade.md CHANGED
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  name: grade
3
3
  description: Grade problem-discovery quality (6 components)
4
+ help_jtbd: "Get a fast grade on your room with feedback."
5
+ body_shape: C
4
6
  serves_jtbd: ["audit-room"]
5
7
  teaching: "When you want a fast read on problem-discovery quality, /mos:grade scores the room on six components in under a minute. The lightweight cousin of /mos:deep-grade."
6
8
  # Per docs/reward-before-investment-rule.md line 64-66: show anonymized calibration distribution before requiring content. Remediation tracked as follow-up phase.
package/commands/graph.md CHANGED
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: graph
3
3
  description: Explore the knowledge graph by asking questions
4
+ help_jtbd: "Ask your room a question; get the answer as graph paths."
4
5
  body_shape: C (Room Card)
5
6
  body_shape_detail: Query results as cards, graph stats as header
6
7
  serves_jtbd: ["audit-room", "explore"]
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: hat-briefing
3
3
  description: Consolidate Six Hats briefings from hat memory
4
+ help_jtbd: "Get a per-hat briefing from the AI team on your venture."
4
5
  body_shape: C (Dashboard Grid)
5
6
  body_shape_detail: 6-panel hat grid + synthesis strip
6
7
  serves_jtbd: ["prepare-pitch"]
package/commands/heal.md CHANGED
@@ -1,11 +1,14 @@
1
1
  ---
2
2
  name: heal
3
- description: Heal a room's structural drift after plugin upgrade
3
+ description: "[Deprecated] Heal a room's structural drift (use /mos:doctor --heal-room)"
4
+ help_jtbd: "Repair drift in your room's structure (deprecated: use /mos:doctor --heal-room)."
4
5
  argument-hint: "[room-dir]"
5
6
  body_shape: E (Action Report)
6
- body_shape_detail: 10-step heal table mirrors recipe provenance section
7
7
  serves_jtbd: ["audit-room"]
8
- teaching: "When a plugin upgrade leaves the room with structural drift, /mos:heal repairs the missing ROOM.md, broken backlinks, and stale section state. Use after every major version bump."
8
+ deprecated: true
9
+ deprecated_redirect: "doctor --heal-room"
10
+ deprecated_removal: "v1.14.0"
11
+ teaching: "Deprecated alias. Use /mos:doctor --heal-room to repair structural drift; the canonical heal logic lives in doctor class E. Scheduled removal: v1.14.0."
9
12
  ui_reference: skills/ui-system/SKILL.md
10
13
  allowed-tools:
11
14
  - Bash
@@ -13,185 +16,34 @@ allowed-tools:
13
16
  - Write
14
17
  ---
15
18
 
16
- # /mos:heal [room-dir]
19
+ # /mos:heal
17
20
 
18
- You are Larry. This command repairs structural drift in a room after a plugin upgrade. It wraps the v1.11.0 room-wiring heal recipe (10 idempotent steps) and produces a typed `heal-log.json` envelope per Canon Part 4 (every choice is graph data).
21
+ > Deprecated. /mos:heal now redirects to /mos:doctor --heal-room. Scheduled removal: v1.14.0. Use /mos:doctor --heal-room going forward.
19
22
 
20
- The recipe was dog-fooded on the mindrianOS room itself on 2026-04-29. Source-of-truth: `~/MindrianRooms/mindrianOS/methodology/2026-04-29-v1-11-0-room-wiring-heal-process.md`.
23
+ You are Larry. The user invoked /mos:heal. Per D-09 (LOCKED 2026-05-16, Phase 121.5-08 Sub-plan J) /mos:heal is a soft-alias stub for the v1.13.x window. The canonical surface is /mos:doctor --heal-room.
21
24
 
22
- ## When to invoke
25
+ ## Steps
23
26
 
24
- - After upgrading the plugin across a major version (v1.10.x to v1.11.x)
25
- - When `/mos:status` surfaces `EMPTY -- GAP` on canonical sections that should have ROOMs
26
- - When the on-stop invariant report shows `severity: error` violations
27
- - When `minto-stale.json` shows `artifacts_newer_than_minto` for many sections
28
- - Before generating a power demo, vault export, or first-contact viewer artifact
27
+ 1. Emit the deprecation note above to the user as a single cyan line (Larry voice; no em-dash; one sentence per skills/ui-system/SKILL.md Section 6).
29
28
 
30
- ## Canon traceability
31
-
32
- - **Part 7 (Reuse Before Build):** wraps existing `scripts/migrate-lazygraph.cjs` + `scripts/vault-section-state-generator.cjs` + `scripts/vault-section-minto-generator.cjs` + `scripts/compute-state`. Zero net-new methodology.
33
- - **Part 4 (Every Choice Is Graph Data):** writes `<room>/.mindrian/heal-log.json` capturing every section touched + every transition + every result.
34
- - **Part 8 (Graph Boundary):** heal is LOCAL-only. Reads STATE.md / ROOM.md / MINTO.md, runs local graph rebuild, writes local heal-log. Zero Brain queries; brain-derivation-queue is read-only in v1.11.1 (drain deferred to v1.12).
35
-
36
- ## Step 1: Resolve target room
37
-
38
- If the user passed an argument, treat it as the absolute or relative room directory. Otherwise heal the current working directory.
39
-
40
- ```bash
41
- ROOM_DIR="${1:-$PWD}"
42
- ```
43
-
44
- If `ROOM_DIR` does not exist on disk, render the 3-line error pattern from `skills/ui-system/SKILL.md` Section 7 and stop.
45
-
46
- ## Step 2: Run the orchestrator
47
-
48
- Invoke the 10-step heal orchestrator. The orchestrator is pure CJS and never throws on per-step failure (every step logs a status; mega-section MINTO writes that exceed FEYNMINTO-01 budget gracefully degrade with `status='blocked_feynminto_01'`).
29
+ 2. Invoke /mos:doctor --heal-room with the user's original arguments. The doctor command's class E fix engine handles all heal-room logic verbatim. Run:
49
30
 
50
31
  ```bash
51
- node "${CLAUDE_PLUGIN_ROOT}/scripts/heal-command.cjs" "$ROOM_DIR"
52
- ```
53
-
54
- Optional flags the orchestrator supports:
55
-
56
- - `--dry-run` plan only, zero mutation. Useful for previewing what heal would touch.
57
- - `--skip-step <N>` skip step N (1-10) on a re-run.
58
- - `--section <name>` restrict step 7 (MINTO regeneration) to one section.
59
-
60
- ## Step 3: Read the heal-log envelope
61
-
62
- After the orchestrator returns, read `<room>/.mindrian/heal-log.json`. The envelope schema:
63
-
64
- ```json
65
- {
66
- "schema_version": "1.0",
67
- "started_at": "ISO-8601",
68
- "ended_at": "ISO-8601",
69
- "room_dir": "/abs/path",
70
- "backup_dir": ".heal-backup/<TS>",
71
- "steps": [
72
- { "step": "step_01_backup", "status": "ok", "duration_ms": 27, "details": { ... } },
73
- ...
74
- ],
75
- "summary": {
76
- "ok_count": 0,
77
- "skipped_count": 0,
78
- "blocked_count": 0,
79
- "error_count": 0,
80
- "exit_code": 0
81
- }
82
- }
83
- ```
84
-
85
- ## Step 4: Render 4-zone output
86
-
87
- Follow `skills/ui-system/SKILL.md` Section 1 strictly. No reordering. No invention.
88
-
89
- ### Zone 1 -- Header Panel
90
-
91
- ```
92
- -- {room name} -- heal -- {venture stage from STATE.md frontmatter} --
32
+ node "${CLAUDE_PLUGIN_ROOT}/scripts/soft-alias-runner.cjs" --from heal --to "doctor --heal-room" --remaining-args $ARGUMENTS
93
33
  ```
94
34
 
95
- If no STATE.md frontmatter exists yet (heal just bootstrapped the room), use `Pre-Opportunity` as the stage. If `room name` cannot be resolved, fall back to the basename of `$ROOM_DIR`.
96
-
97
- ### Zone 2 -- Content Body (Shape E: Action Report)
98
-
99
- Mirror the recipe's "What this heal touched" provenance table. One row per orchestrator step, with status glyph + per-step details.
100
-
101
- ```
102
- [heal] action: 10-step room wiring heal
103
- [heal] source: scripts/heal-command.cjs (recipe 2026-04-29)
104
- [heal] backup: .heal-backup/<TS>/
105
-
106
- step status ms detail
107
- step_01_backup [check] 27ms N files copied to .heal-backup/<TS>/
108
- step_02_scaffold_sections [check] 1ms M sections created, K already present
109
- step_03_section_seed [check] 4ms P sections seeded
110
- step_04_lazygraph_rebuild [check] 226ms room.db: A artifacts, B sections, C nodes, D edges
111
- step_05_backfill_room_md [check] 3ms Q sections backfilled, R already present
112
- step_06_section_state [check] 82ms S sections with STATE.md
113
- step_07_section_minto [warn] 528ms T sections OK, U blocked_feynminto_01 (mega)
114
- step_08_queue_check [check] 0ms queue depth V, oldest enqueued YYYY-MM-DD
115
- step_09_root_state [check] 1020ms STATE.md regenerated, W bytes
116
- step_10_invariant_scan [dot] 0ms no_report_yet (writes on next /mos:* call)
117
-
118
- summary: ok=N blocked=M skipped=K error=0 exit_code=0
119
- ```
35
+ The runner emits a JSON envelope: `{redirect, deprecation_note, args, ok}`. Use it to confirm the redirect target then proceed with /mos:doctor --heal-room behavior. The user sees ONE deprecation note + the doctor heal output.
120
36
 
121
- Glyph mapping (per `skills/ui-system/SKILL.md` Section 3):
37
+ 3. Pass through any output from /mos:doctor verbatim.
122
38
 
123
- - `status='ok'` or `status='ok_with_blocked'` -> `[check]` (green)
124
- - `status='skipped'` -> `[dot]` (gray)
125
- - `status` startswith `'blocked_'` -> `[warn]` (yellow)
126
- - `status` startswith `'error_'` -> `[x]` (red)
39
+ ## Why this is a soft-alias
127
40
 
128
- The status column is a single ASCII glyph; the detail column is a one-line summary extracted from `step.details`.
129
-
130
- ### Zone 3 -- Intelligence Strip (conditional)
131
-
132
- Only render this zone when at least one of the following is true. Maximum 3 lines. Each indented 2 spaces.
133
-
134
- - Any step has `status` starting with `'blocked_feynminto_01'`
135
- -> `[warn] section <name> exceeded FEYNMINTO-01 budget; tier-0 fallback written`
136
- - Any step has `status` starting with `'error_'`
137
- -> `[x] step <name> errored: <reason>`
138
- - `step_08_queue_check.details.queue_depth > 0`
139
- -> `[empty-square] brain-derivation queue holds N entries (oldest M days); drain deferred to v1.12`
140
-
141
- If none of these conditions fire, omit Zone 3 entirely.
142
-
143
- ### Zone 4 -- Action Footer (NEVER omit)
144
-
145
- Three grounded next-commands. Primary marker `>` on the most relevant line, alternatives marked `>` as well per `skills/ui-system/SKILL.md` Section 1.
146
-
147
- ```
148
- > /mos:status review the regenerated STATE.md and per-section state
149
- > /mos:dashboard open the De Stijl knowledge-graph viewer over the rebuilt room.db
150
- > /mos:scout run the next overnight intelligence sweep on the healed room
151
- ```
152
-
153
- If any step status is `blocked_feynminto_01`, replace the third row with:
154
-
155
- ```
156
- > /mos:open <section>/MINTO.md review the tier-0 fallback MINTO; v1.12 will fix the budget
157
- ```
158
-
159
- ## What /mos:heal does NOT do (v1.11.1)
160
-
161
- These items are explicitly deferred to v1.12. Do not surprise the user; surface them when relevant.
162
-
163
- - **FEYNMINTO-01 budget scaling for mega-sections (BUG-1).** When a section has 40+ artifacts, the rendered source list alone consumes most of the 1500-token budget. v1.11.1 graceful-degrades with tier-0 fallback. v1.12 plan candidate: relax budget OR introduce sub-section hierarchy OR archive-folder pattern. Re-trigger condition: any monitored room with a 40+ artifact section reports inability to regenerate MINTO.
164
- - **brain-derivation-queue auto-drain hook (BUG-2).** The queue is read-only in heal Step 8 (reports depth + age of oldest entry). Drain hook deferred to v1.12. Re-trigger condition: next session-start hook OR /mos:* command-completion hook is being modified for unrelated reasons; bundle the drain hook in.
165
- - **Section auto-creation on plugin upgrade (BUG-5, recipe Open Issue 3).** When the plugin adds a new canonical section across versions, existing rooms do not auto-scaffold the new section directory on first /mos:* invocation. Heal Step 2 covers this for users running heal post-upgrade; the auto-scaffold-on-upgrade behavior remains unimplemented. Re-trigger condition: next plugin version adds a canonical section.
166
-
167
- ## Voice rules
168
-
169
- - Terse, structural, confident. Per `skills/ui-system/SKILL.md` Section 6.
170
- - Never apologize for blocked sections; surface them as a warn glyph in Zone 3 with the v1.12 candidate named.
171
- - One insight per line. Never combine warning + queue depth into a single sentence.
172
- - NO EMOJI. Use only the 12 glyphs from the symbol vocabulary.
173
- - Never re-run heal automatically. The user always confirms before any second invocation.
174
-
175
- ## Error handling
176
-
177
- If the orchestrator exits with code 2 (no-step-success), render the 3-line error pattern:
178
-
179
- ```
180
- x heal completed with zero successful steps
181
- Why: every step errored; check .mindrian/heal-log.json for per-step reasons
182
- Fix: /mos:open .mindrian/heal-log.json
183
- ```
184
-
185
- If the orchestrator crashes (uncaught exception, exit code != 0 and != 2), render:
186
-
187
- ```
188
- x heal-command crashed
189
- Why: <error message tail from stderr>
190
- Fix: node scripts/heal-command.cjs <room-dir> --dry-run
191
- ```
41
+ Cluster 5 audit (2026-05-15) found four diagnostic commands with overlapping semantics: heal vs doctor, query vs graph, organize vs rooms, visualize vs dashboard. /mos:heal's behavior (10-step room wiring heal) is structurally identical to what /mos:doctor's class E does on a room subtree. Folding heal into doctor --heal-room collapses the naming-drift surface without breaking tester muscle memory.
192
42
 
193
- The dry-run path is the safest path to surface what heal would attempt without mutating any room state.
43
+ Per D-09 the old command stays as a soft-alias stub for v1.13.x; removal is scheduled v1.14.0. CHANGELOG announces the rename.
194
44
 
195
- ## Provenance
45
+ ## Cross-references
196
46
 
197
- This command was authored as the v1.11.1 GA closing artifact (Phase 94.1-01). The 10-step recipe was dog-fooded on the mindrianOS room itself during the 2026-04-29 wiring audit. Source: `~/MindrianRooms/mindrianOS/methodology/2026-04-29-v1-11-0-room-wiring-heal-process.md`. The orchestrator (`scripts/heal-command.cjs`) and the fixture suite (`lib/memory/heal-command.test.cjs`) ship under BSL 1.1.
47
+ - `commands/doctor.md` -- the canonical target with the full heal logic.
48
+ - `scripts/soft-alias-runner.cjs` -- the shared runner the 5 soft-alias stubs share.
49
+ - Canon Part 7 (Reuse Before Build) -- consolidation rationale.