monomind 1.11.11 → 1.11.13
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/.claude/commands/mastermind/idea.md +1 -1
- package/.claude/commands/mastermind/master.md +1 -1
- package/.claude/skills/mastermind/_protocol.md +4 -4
- package/.claude/skills/mastermind/architect.md +7 -4
- package/.claude/skills/mastermind/autodev.md +4 -2
- package/.claude/skills/mastermind/build.md +3 -3
- package/.claude/skills/mastermind/content.md +3 -3
- package/.claude/skills/mastermind/createorg.md +2 -2
- package/.claude/skills/mastermind/finance.md +3 -3
- package/.claude/skills/mastermind/idea.md +8 -0
- package/.claude/skills/mastermind/marketing.md +3 -3
- package/.claude/skills/mastermind/ops.md +3 -3
- package/.claude/skills/mastermind/release.md +3 -3
- package/.claude/skills/mastermind/research.md +3 -3
- package/.claude/skills/mastermind/review.md +3 -3
- package/.claude/skills/mastermind/sales.md +3 -3
- package/package.json +1 -1
- package/packages/@monomind/cli/dist/src/index.js +19 -14
- package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -3
- package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +1 -1
- package/packages/@monomind/cli/dist/src/update/checker.js +24 -7
- package/packages/@monomind/cli/dist/src/update/index.d.ts +10 -0
- package/packages/@monomind/cli/dist/src/update/index.js +29 -2
- package/packages/@monomind/cli/package.json +1 -1
- package/packages/@monomind/cli/dist/src/agents/halt-signal.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/agents/halt-signal.js +0 -76
- package/packages/@monomind/cli/dist/src/agents/index.d.ts +0 -18
- package/packages/@monomind/cli/dist/src/agents/index.js +0 -13
- package/packages/@monomind/cli/dist/src/agents/managed-agent.d.ts +0 -41
- package/packages/@monomind/cli/dist/src/agents/managed-agent.js +0 -69
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +0 -23
- package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +0 -49
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +0 -80
- package/packages/@monomind/cli/dist/src/agents/registry-query.d.ts +0 -71
- package/packages/@monomind/cli/dist/src/agents/registry-query.js +0 -125
- package/packages/@monomind/cli/dist/src/agents/score-decay.d.ts +0 -19
- package/packages/@monomind/cli/dist/src/agents/score-decay.js +0 -22
- package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js +0 -40
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.d.ts +0 -54
- package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +0 -212
- package/packages/@monomind/cli/dist/src/agents/termination-watcher.d.ts +0 -30
- package/packages/@monomind/cli/dist/src/agents/termination-watcher.js +0 -84
- package/packages/@monomind/cli/dist/src/agents/trigger-index.d.ts +0 -20
- package/packages/@monomind/cli/dist/src/agents/trigger-index.js +0 -38
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +0 -64
- package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +0 -308
- package/packages/@monomind/cli/dist/src/agents/version-diff.d.ts +0 -18
- package/packages/@monomind/cli/dist/src/agents/version-diff.js +0 -64
- package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -60
- package/packages/@monomind/cli/dist/src/agents/version-store.js +0 -235
- package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -45
- package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.js +0 -404
- package/packages/@monomind/cli/dist/src/commands/agent-wasm.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/commands/agent-wasm.js +0 -333
- package/packages/@monomind/cli/dist/src/commands/ui.js +0 -68
- package/packages/@monomind/cli/dist/src/consensus/index.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/consensus/index.js +0 -6
- package/packages/@monomind/cli/dist/src/context/context-provider.d.ts +0 -44
- package/packages/@monomind/cli/dist/src/context/context-provider.js +0 -25
- package/packages/@monomind/cli/dist/src/context/git-state-provider.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/context/git-state-provider.js +0 -34
- package/packages/@monomind/cli/dist/src/context/index.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/context/index.js +0 -12
- package/packages/@monomind/cli/dist/src/context/project-conventions-provider.d.ts +0 -15
- package/packages/@monomind/cli/dist/src/context/project-conventions-provider.js +0 -19
- package/packages/@monomind/cli/dist/src/context/prompt-assembler.d.ts +0 -26
- package/packages/@monomind/cli/dist/src/context/prompt-assembler.js +0 -93
- package/packages/@monomind/cli/dist/src/context/task-history-provider.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/context/task-history-provider.js +0 -32
- package/packages/@monomind/cli/dist/src/context/user-preferences-provider.d.ts +0 -14
- package/packages/@monomind/cli/dist/src/context/user-preferences-provider.js +0 -27
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +0 -31
- package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +0 -81
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +0 -65
- package/packages/@monomind/cli/dist/src/dlq/index.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/dlq/index.js +0 -7
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +0 -33
- package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +0 -107
- package/packages/@monomind/cli/dist/src/eval/dataset-runner.d.ts +0 -23
- package/packages/@monomind/cli/dist/src/eval/dataset-runner.js +0 -59
- package/packages/@monomind/cli/dist/src/eval/index.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/eval/index.js +0 -7
- package/packages/@monomind/cli/dist/src/eval/trace-collector.d.ts +0 -40
- package/packages/@monomind/cli/dist/src/eval/trace-collector.js +0 -102
- package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
- package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.js +0 -264
- package/packages/@monomind/cli/dist/src/interactive/interrupt.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/interactive/interrupt.js +0 -71
- package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.js +0 -48
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.d.ts +0 -61
- package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +0 -246
- package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.js +0 -230
- package/packages/@monomind/cli/dist/src/model/complexity-scorer.d.ts +0 -21
- package/packages/@monomind/cli/dist/src/model/complexity-scorer.js +0 -106
- package/packages/@monomind/cli/dist/src/model/index.d.ts +0 -4
- package/packages/@monomind/cli/dist/src/model/index.js +0 -4
- package/packages/@monomind/cli/dist/src/model/model-settings.d.ts +0 -22
- package/packages/@monomind/cli/dist/src/model/model-settings.js +0 -33
- package/packages/@monomind/cli/dist/src/model/model-tier-resolver.d.ts +0 -24
- package/packages/@monomind/cli/dist/src/model/model-tier-resolver.js +0 -65
- package/packages/@monomind/cli/dist/src/monovector/capabilities.d.ts +0 -34
- package/packages/@monomind/cli/dist/src/monovector/capabilities.js +0 -37
- package/packages/@monomind/cli/dist/src/orchestration/index.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/orchestration/index.js +0 -6
- package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.js +0 -31
- package/packages/@monomind/cli/dist/src/orchestration/routing-modes.d.ts +0 -68
- package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +0 -180
- package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
- package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +0 -188
- package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
- package/packages/@monomind/cli/dist/src/runtime/headless.d.ts +0 -60
- package/packages/@monomind/cli/dist/src/runtime/headless.js +0 -284
- package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
- package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.js +0 -95
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.d.ts +0 -197
- package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +0 -623
- package/packages/@monomind/cli/dist/src/services/index.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/services/index.js +0 -11
- package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +0 -201
- package/packages/@monomind/cli/dist/src/services/worker-queue.js +0 -594
- package/packages/@monomind/cli/dist/src/swarm/communication-graph.d.ts +0 -25
- package/packages/@monomind/cli/dist/src/swarm/communication-graph.js +0 -77
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +0 -31
- package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +0 -61
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +0 -19
- package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +0 -68
- package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.js +0 -205
- package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.js +0 -190
- package/packages/@monomind/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
- package/packages/@monomind/cli/dist/src/transfer/test-seraphine.js +0 -105
- package/packages/@monomind/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
- package/packages/@monomind/cli/dist/src/transfer/tests/test-store.js +0 -214
- package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.d.ts +0 -10
- package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +0 -82
- package/packages/@monomind/cli/dist/src/workflow/context-resolver.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/workflow/context-resolver.js +0 -23
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.d.ts +0 -17
- package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +0 -129
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.d.ts +0 -9
- package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +0 -116
- package/packages/@monomind/cli/dist/src/workflow/dag-types.d.ts +0 -41
- package/packages/@monomind/cli/dist/src/workflow/dag-types.js +0 -8
- package/packages/@monomind/cli/dist/src/workflow/dsl-parser.d.ts +0 -12
- package/packages/@monomind/cli/dist/src/workflow/dsl-parser.js +0 -20
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +0 -165
- package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +0 -82
- package/packages/@monomind/cli/dist/src/workflow/index.d.ts +0 -13
- package/packages/@monomind/cli/dist/src/workflow/index.js +0 -11
- package/packages/@monomind/cli/dist/src/workflow/template-engine.d.ts +0 -11
- package/packages/@monomind/cli/dist/src/workflow/template-engine.js +0 -40
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.d.ts +0 -29
- package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +0 -227
- package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
- package/packages/@monomind/guidance/dist/adversarial.js +0 -572
- package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
- package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
- package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
- package/packages/@monomind/guidance/dist/artifacts.js +0 -356
- package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
- package/packages/@monomind/guidance/dist/authority.js +0 -558
- package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
- package/packages/@monomind/guidance/dist/capabilities.js +0 -485
- package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
- package/packages/@monomind/guidance/dist/coherence.js +0 -372
- package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
- package/packages/@monomind/guidance/dist/compiler.js +0 -419
- package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
- package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
- package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
- package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
- package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
- package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
- package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
- package/packages/@monomind/guidance/dist/evolution.js +0 -500
- package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
- package/packages/@monomind/guidance/dist/gates.js +0 -302
- package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
- package/packages/@monomind/guidance/dist/gateway.js +0 -452
- package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
- package/packages/@monomind/guidance/dist/generators.js +0 -682
- package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
- package/packages/@monomind/guidance/dist/headless.js +0 -342
- package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
- package/packages/@monomind/guidance/dist/hooks.js +0 -347
- package/packages/@monomind/guidance/dist/index.d.ts +0 -205
- package/packages/@monomind/guidance/dist/index.js +0 -321
- package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
- package/packages/@monomind/guidance/dist/ledger.js +0 -375
- package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
- package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
- package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
- package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
- package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
- package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
- package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
- package/packages/@monomind/guidance/dist/optimizer.js +0 -329
- package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
- package/packages/@monomind/guidance/dist/persistence.js +0 -464
- package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
- package/packages/@monomind/guidance/dist/proof.js +0 -238
- package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
- package/packages/@monomind/guidance/dist/retriever.js +0 -394
- package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
- package/packages/@monomind/guidance/dist/temporal.d.ts +0 -426
- package/packages/@monomind/guidance/dist/temporal.js +0 -658
- package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
- package/packages/@monomind/guidance/dist/trust.js +0 -473
- package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
- package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
- package/packages/@monomind/guidance/dist/types.d.ts +0 -378
- package/packages/@monomind/guidance/dist/types.js +0 -10
- package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
- package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
- package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
- package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
|
@@ -19,7 +19,7 @@ Run intake if prompt is vague (follow _intake.md — stop at Q3, domain is alrea
|
|
|
19
19
|
|
|
20
20
|
Default mode for this command: **confirm** (unless `--auto` flag present or intake Q4 says auto).
|
|
21
21
|
|
|
22
|
-
Invoke `Skill("mastermind:idea")` passing: brain_context, prompt, project_name,
|
|
22
|
+
Invoke `Skill("mastermind:idea")` passing: brain_context, prompt, project_name, mode. Pass `--monotask` in the arguments if monotask board tracking is desired; omit for file-first mode.
|
|
23
23
|
|
|
24
24
|
After skill returns: follow _protocol.md Brain Write Procedure for domain `idea`.
|
|
25
25
|
|
|
@@ -441,7 +441,7 @@ for domain in $domains_needed; do
|
|
|
441
441
|
else
|
|
442
442
|
echo "Creating board: $canonical"
|
|
443
443
|
board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
|
|
444
|
-
[ -z "$board_id" ] &&
|
|
444
|
+
[ -z "$board_id" ] && echo "[mastermind] monotask board unavailable — board tracking skipped."
|
|
445
445
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
446
446
|
if [ "$domain" = "idea" ]; then
|
|
447
447
|
todo_col=$(monotask column create "$board_id" "New" --json | jq -r '.id // empty')
|
|
@@ -306,8 +306,8 @@ if [ -n "$board_id" ]; then
|
|
|
306
306
|
done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
|
|
307
307
|
else
|
|
308
308
|
# Step 3b — Create board and columns
|
|
309
|
-
board_id=$(monotask board create --space "$space_id" "$canonical" --json | jq -r '.id // empty')
|
|
310
|
-
[ -z "$board_id" ] &&
|
|
309
|
+
board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
|
|
310
|
+
[ -z "$board_id" ] && echo "[mastermind] monotask board unavailable — board tracking skipped."
|
|
311
311
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
312
312
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
|
|
313
313
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
|
|
@@ -336,8 +336,8 @@ board_id=$(monotask board list 2>/dev/null | awk -F': ' '{gsub(/^ +| +$/,"",$1);
|
|
|
336
336
|
doing_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Doing" or .title=="In Progress")] | .[0].id // empty')
|
|
337
337
|
done_col=$(echo "$cols_json" | jq -r '[.[] | select(.title=="Done")] | .[0].id // empty')
|
|
338
338
|
else
|
|
339
|
-
board_id=$(monotask board create --space "$space_id" "$canonical" --json | jq -r '.id // empty')
|
|
340
|
-
[ -z "$board_id" ] &&
|
|
339
|
+
board_id=$(monotask board create --space "$space_id" "$canonical" --json 2>/dev/null | jq -r '.id // empty')
|
|
340
|
+
[ -z "$board_id" ] && echo "[mastermind] monotask board unavailable — board tracking skipped."
|
|
341
341
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
342
342
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id // empty')
|
|
343
343
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id // empty')
|
|
@@ -88,14 +88,14 @@ If this skill is invoked directly (not by master):
|
|
|
88
88
|
```
|
|
89
89
|
After the bash above completes, apply the 60% classification rule: sum the total file count across all extensions. If any single extension group exceeds 60% of the total, set `<stack>` to that stack's name (e.g. `typescript`, `python`, `go`); otherwise set `<stack>` to `multi-stack`. Use this value for `Stack: <stack>` in all subsequent briefings.
|
|
90
90
|
If `scope` was not provided by the caller, infer it from the prompt: "review"/"audit"/"check"/"assess" → `review`; "deduplicate"/"dedup"/"consolidate" → `deduplicate`; "design"/"architect"/"model"/"bounded context" → `design`; "migrate"/"migration"/"port to"/"convert" → `migrate`; no keyword match or multiple keyword matches → `all`. Use the resolved scope for all subsequent steps.
|
|
91
|
-
5. If `board_id` was not provided by the caller: find or create monotask space `<project_name>`, then create board `architect` within it. Before executing the bash block below, substitute the resolved `project_name` (or `basename "$PWD"` if not provided) for every `<project_name>` occurrence:
|
|
91
|
+
5. If `board_id` was not provided by the caller: find or create monotask space `<project_name>`, then create board `architect` within it (optional — proceed without a board if monotask is not installed). Before executing the bash block below, substitute the resolved `project_name` (or `basename "$PWD"` if not provided) for every `<project_name>` occurrence:
|
|
92
92
|
```bash
|
|
93
93
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="<project_name>" '$2==n{print $1}' | head -1)
|
|
94
94
|
[ -z "$space_id" ] && space_id=$(monotask space create "<project_name>" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
95
95
|
result=$(monotask board create "architect" --json 2>/dev/null)
|
|
96
96
|
board_id=$(echo "$result" | jq -r '.id // empty')
|
|
97
97
|
[ -n "$board_id" ] && [ -n "$space_id" ] && monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
98
|
-
[ -z "$board_id" ] &&
|
|
98
|
+
[ -z "$board_id" ] && echo "[architect] monotask board unavailable — board tracking skipped. Install monotask to enable progress tracking."
|
|
99
99
|
echo "$board_id"
|
|
100
100
|
```
|
|
101
101
|
If this block exits with an error (board_id is still empty), stop execution and return an error to the caller — do not proceed to complexity assessment.
|
|
@@ -363,10 +363,13 @@ For each stream, identify:
|
|
|
363
363
|
- Dependencies between streams (e.g. coupling analysis before deduplication plan)
|
|
364
364
|
|
|
365
365
|
STEP 3 — CREATE TASKS
|
|
366
|
-
For each architecture stream, create a monotask card on the project board.
|
|
366
|
+
For each architecture stream, create a monotask card on the project board if a board is available. If BOARD_ID is empty (monotask not installed), skip all monotask card operations in this step — proceed directly to STEP 4 with an in-memory task list instead.
|
|
367
|
+
|
|
368
|
+
If BOARD_ID is non-empty: First resolve column IDs (slash commands are not available inside background Task agents — use bash directly):
|
|
367
369
|
|
|
368
370
|
\`\`\`bash
|
|
369
|
-
|
|
371
|
+
[ -z "$BOARD_ID" ] && { echo "[architect] No board — skipping card creation, proceeding with in-memory tasks."; }
|
|
372
|
+
columns=$([ -n "$BOARD_ID" ] && monotask column list "$BOARD_ID" --json || echo '[]')
|
|
370
373
|
COL_TODO_ID=$(echo "$columns" | jq -r '.[] | select(.title == "Todo" or .title == "Backlog") | .id' | head -1)
|
|
371
374
|
COL_DONE_ID=$(echo "$columns" | jq -r '.[] | select(.title == "Done") | .id' | head -1)
|
|
372
375
|
\`\`\`
|
|
@@ -432,7 +432,7 @@ Invoke `Skill("mastermind:build")` with:
|
|
|
432
432
|
- `brain_context`: the loaded brain context
|
|
433
433
|
- `project_name`: `$(basename "$PWD")`
|
|
434
434
|
- `mode`: `auto`
|
|
435
|
-
- `board_id`: the autodev board (
|
|
435
|
+
- `board_id`: the autodev board (only if non-empty; omit if monotask was unavailable)
|
|
436
436
|
|
|
437
437
|
The brief passed to build MUST include:
|
|
438
438
|
- What to build (concrete spec, not vague)
|
|
@@ -490,11 +490,13 @@ If `N < count`: log `[autodev] Moving to improvement <N+1>/<count>...` and repea
|
|
|
490
490
|
|
|
491
491
|
1. Extract flags (leading integer for count, --newfeature N, --focus, --auto/--confirm)
|
|
492
492
|
2. Load brain context via _protocol.md Brain Load Procedure (namespace: `autodev`)
|
|
493
|
-
3. Create monotask board:
|
|
493
|
+
3. Create monotask board (optional — skip gracefully if monotask is not installed):
|
|
494
494
|
```bash
|
|
495
495
|
project_name="${project_name:-$(basename "$PWD")}"
|
|
496
496
|
board_id=$(monotask board create "autodev" --json 2>/dev/null | jq -r '.id // empty')
|
|
497
|
+
[ -z "$board_id" ] && echo "[autodev] monotask board unavailable — board tracking skipped."
|
|
497
498
|
```
|
|
499
|
+
Pass `board_id` to `mastermind:build` only if non-empty; omit the parameter otherwise.
|
|
498
500
|
4. **If `--newfeature` was parsed:** run the Feature Pipeline (FP-0 through FP-End) and skip the improvement loop entirely.
|
|
499
501
|
**Otherwise:** run the Loop section above for each improvement.
|
|
500
502
|
5. At end: follow _protocol.md Brain Write Procedure (namespace: `autodev`)
|
|
@@ -52,8 +52,8 @@ If this skill is invoked directly (not by master):
|
|
|
52
52
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
53
53
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
54
54
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
55
|
-
board_id=$(monotask board create "development" --json | jq -r '.id // empty')
|
|
56
|
-
[ -z "$board_id" ] &&
|
|
55
|
+
board_id=$(monotask board create "development" --json 2>/dev/null | jq -r '.id // empty')
|
|
56
|
+
[ -z "$board_id" ] && echo "[build] monotask board unavailable — board tracking skipped."
|
|
57
57
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
58
58
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
59
59
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -120,7 +120,7 @@ Spawn one Task agent per task (all in parallel where dependencies allow):
|
|
|
120
120
|
- Code review: subagent_type "reviewer"
|
|
121
121
|
- TDD/SPARC work: subagent_type "sparc-coder"
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
124
124
|
|
|
125
125
|
STEP 4 — COLLECT AND RETURN
|
|
126
126
|
Collect all agent output schemas. Return to caller:
|
|
@@ -73,8 +73,8 @@ If this skill is invoked directly (not by master):
|
|
|
73
73
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
74
74
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
75
75
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
76
|
-
board_id=$(monotask board create "content" --json | jq -r '.id // empty')
|
|
77
|
-
[ -z "$board_id" ] &&
|
|
76
|
+
board_id=$(monotask board create "content" --json 2>/dev/null | jq -r '.id // empty')
|
|
77
|
+
[ -z "$board_id" ] && echo "[content] monotask board unavailable — board tracking skipped."
|
|
78
78
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
79
79
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
80
80
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -147,7 +147,7 @@ Stage 2 draft: subagent_type "Content Creator"
|
|
|
147
147
|
Stage 3 edit: subagent_type "Technical Writer"
|
|
148
148
|
Stage 4 format/publish: subagent_type "Content Creator"
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
151
151
|
|
|
152
152
|
STEP 4 — COLLECT AND RETURN
|
|
153
153
|
Collect the final formatted content. Return to caller:
|
|
@@ -401,8 +401,8 @@ space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$org_name" '$2==
|
|
|
401
401
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$org_name' — verify monotask is installed (run: monotask --version)"; exit 1; }
|
|
402
402
|
|
|
403
403
|
# Step 2 — Board (created only after space is confirmed)
|
|
404
|
-
board_id=$(monotask board create "org-tasks" --json | jq -r '.id // empty')
|
|
405
|
-
[ -z "$board_id" ] &&
|
|
404
|
+
board_id=$(monotask board create "org-tasks" --json 2>/dev/null | jq -r '.id // empty')
|
|
405
|
+
[ -z "$board_id" ] && echo "[createorg] monotask board unavailable — board tracking skipped."
|
|
406
406
|
|
|
407
407
|
# Step 3 — Link board to space immediately
|
|
408
408
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "finance" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "finance" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[finance] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -116,7 +116,7 @@ Spawn one Task agent per workstream:
|
|
|
116
116
|
- Financial tracking and invoicing: subagent_type "Finance Tracker"
|
|
117
117
|
- Analysis and reporting: subagent_type "Analytics Reporter"
|
|
118
118
|
|
|
119
|
-
|
|
119
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
120
120
|
|
|
121
121
|
STEP 4 — COLLECT AND RETURN
|
|
122
122
|
Collect all financial outputs. Return to caller:
|
|
@@ -9,6 +9,14 @@ default_mode: confirm
|
|
|
9
9
|
|
|
10
10
|
This skill is invoked by `mastermind:master` or directly via `/mastermind:idea`.
|
|
11
11
|
|
|
12
|
+
**Extract `--monotask` flag:** If present in `$ARGUMENTS`, set `USE_MONOTASK=true` and remove it. Default: `USE_MONOTASK=false`.
|
|
13
|
+
|
|
14
|
+
**File mode (default, `USE_MONOTASK=false`):**
|
|
15
|
+
|
|
16
|
+
Invoke `Skill("mastermind:ideate", $ARGUMENTS)` immediately — it provides the same research, evaluation, elaboration, and task-decomposition pipeline with file-first storage (`docs/ideas/` and `docs/tasks/`). The rest of this skill only runs in monotask mode.
|
|
17
|
+
|
|
18
|
+
**Monotask mode (`USE_MONOTASK=true` only):** Continue with the steps below.
|
|
19
|
+
|
|
12
20
|
---
|
|
13
21
|
|
|
14
22
|
## Inputs
|
|
@@ -97,8 +97,8 @@ If this skill is invoked directly (not by master):
|
|
|
97
97
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
98
98
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
99
99
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
100
|
-
board_id=$(monotask board create "marketing" --json | jq -r '.id // empty')
|
|
101
|
-
[ -z "$board_id" ] &&
|
|
100
|
+
board_id=$(monotask board create "marketing" --json 2>/dev/null | jq -r '.id // empty')
|
|
101
|
+
[ -z "$board_id" ] && echo "[marketing] monotask board unavailable — board tracking skipped."
|
|
102
102
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
103
103
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
104
104
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -172,7 +172,7 @@ Spawn one Task agent per workstream (all in parallel — star topology, hub aggr
|
|
|
172
172
|
- Product launch / GTM: subagent_type "Launch Strategist" (slug: launch-strategist)
|
|
173
173
|
- Competitive content / comparison pages: subagent_type "Competitive Content Strategist" (slug: competitive-content)
|
|
174
174
|
|
|
175
|
-
|
|
175
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
176
176
|
|
|
177
177
|
STEP 4 — COLLECT AND RETURN
|
|
178
178
|
Collect all agent outputs. Return to caller:
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "ops" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "ops" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[ops] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -118,7 +118,7 @@ Spawn one Task agent per workstream (star topology — hub aggregates independen
|
|
|
118
118
|
- Infrastructure automation: subagent_type "DevOps Automator"
|
|
119
119
|
- CI/CD pipelines: subagent_type "cicd-engineer"
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
122
122
|
|
|
123
123
|
STEP 4 — COLLECT AND RETURN
|
|
124
124
|
Collect all agent outputs. Return to caller:
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "release" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "release" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[release] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -118,7 +118,7 @@ Spawn Task agents in release order (hierarchical raft — coordinator maintains
|
|
|
118
118
|
- Infrastructure and deploy: subagent_type "DevOps Automator"
|
|
119
119
|
- CI/CD pipeline: subagent_type "cicd-engineer"
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
122
122
|
|
|
123
123
|
STEP 4 — COLLECT AND RETURN
|
|
124
124
|
Collect all stage outcomes. Return to caller:
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "research" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "research" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[research] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -118,7 +118,7 @@ Spawn one Task agent per research stream (mesh topology — findings cross-polli
|
|
|
118
118
|
- User behavior and UX signals: subagent_type "UX Researcher"
|
|
119
119
|
- Data and metrics analysis: subagent_type "Analytics Reporter"
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
122
122
|
|
|
123
123
|
STEP 4 — COLLECT AND RETURN
|
|
124
124
|
Synthesize all research streams into an intelligence report. Return to caller:
|
|
@@ -62,8 +62,8 @@ If this skill is invoked directly (not by master):
|
|
|
62
62
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
63
63
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
64
64
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
65
|
-
board_id=$(monotask board create "review" --json | jq -r '.id // empty')
|
|
66
|
-
[ -z "$board_id" ] &&
|
|
65
|
+
board_id=$(monotask board create "review" --json 2>/dev/null | jq -r '.id // empty')
|
|
66
|
+
[ -z "$board_id" ] && echo "[review] monotask board unavailable — board tracking skipped."
|
|
67
67
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
68
68
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
69
69
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -169,7 +169,7 @@ Step 4 — Report:
|
|
|
169
169
|
MISSES: representative samples that return safe=true but contain injection patterns
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
-
|
|
172
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
173
173
|
|
|
174
174
|
STEP 4 — COLLECT AND RETURN
|
|
175
175
|
Synthesize all review findings. Return to caller:
|
|
@@ -51,8 +51,8 @@ If this skill is invoked directly (not by master):
|
|
|
51
51
|
space_id=$(monotask space list 2>/dev/null | awk -F' \| ' -v n="$project_name" '$2==n{print $1}' | head -1)
|
|
52
52
|
[ -z "$space_id" ] && space_id=$(monotask space create "$project_name" 2>&1 | grep -oE '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}')
|
|
53
53
|
[ -z "$space_id" ] && { echo "ERROR: Could not find or create space '$project_name'"; exit 1; }
|
|
54
|
-
board_id=$(monotask board create "sales" --json | jq -r '.id // empty')
|
|
55
|
-
[ -z "$board_id" ] &&
|
|
54
|
+
board_id=$(monotask board create "sales" --json 2>/dev/null | jq -r '.id // empty')
|
|
55
|
+
[ -z "$board_id" ] && echo "[sales] monotask board unavailable — board tracking skipped."
|
|
56
56
|
monotask space boards add "$space_id" "$board_id" >/dev/null 2>&1 || true
|
|
57
57
|
todo_col=$(monotask column create "$board_id" "Todo" --json | jq -r '.id')
|
|
58
58
|
doing_col=$(monotask column create "$board_id" "Doing" --json | jq -r '.id')
|
|
@@ -120,7 +120,7 @@ Spawn one Task agent per workstream:
|
|
|
120
120
|
- Account expansion: subagent_type "Account Strategist"
|
|
121
121
|
- Competitive research: subagent_type "researcher"
|
|
122
122
|
|
|
123
|
-
|
|
123
|
+
Tasks are saved to `docs/tasks/` by default. To execute: `/mastermind:do --file <TASK_FILE>`. With monotask: `/mastermind:do --monotask --space $SPACE_ID --board $TASK_BOARD_ID`.
|
|
124
124
|
|
|
125
125
|
STEP 4 — COLLECT AND RETURN
|
|
126
126
|
Collect all agent outputs. Return to caller:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monomind",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.13",
|
|
4
4
|
"description": "Monomind - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,7 @@ import { commandParser } from './parser.js';
|
|
|
11
11
|
import { output } from './output.js';
|
|
12
12
|
import { commands, commandsByCategory, getCommand, getCommandAsync, getCommandNames, hasCommand } from './commands/index.js';
|
|
13
13
|
import { suggestCommand } from './suggest.js';
|
|
14
|
-
import { runStartupUpdateCheck } from './update/index.js';
|
|
14
|
+
import { runStartupUpdateCheck, getUpdateTagline } from './update/index.js';
|
|
15
15
|
// Read version from package.json at runtime
|
|
16
16
|
function getPackageVersion() {
|
|
17
17
|
try {
|
|
@@ -223,7 +223,8 @@ export class CLI {
|
|
|
223
223
|
*/
|
|
224
224
|
showHelp() {
|
|
225
225
|
this.output.writeln();
|
|
226
|
-
|
|
226
|
+
const tagline = getUpdateTagline(this.version);
|
|
227
|
+
this.output.writeln(this.output.bold(`${this.name} v${this.version}`) + this.output.dim(tagline));
|
|
227
228
|
this.output.writeln(this.output.dim(this.description));
|
|
228
229
|
this.output.writeln();
|
|
229
230
|
this.output.writeln(this.output.bold('USAGE:'));
|
|
@@ -355,7 +356,8 @@ export class CLI {
|
|
|
355
356
|
* Show version
|
|
356
357
|
*/
|
|
357
358
|
showVersion() {
|
|
358
|
-
|
|
359
|
+
const tagline = getUpdateTagline(this.version);
|
|
360
|
+
this.output.writeln(`${this.name} v${this.version}${tagline}`);
|
|
359
361
|
}
|
|
360
362
|
/**
|
|
361
363
|
* Check for updates on startup (non-blocking)
|
|
@@ -363,17 +365,20 @@ export class CLI {
|
|
|
363
365
|
*/
|
|
364
366
|
async checkForUpdatesOnStartup() {
|
|
365
367
|
try {
|
|
366
|
-
const result = await runStartupUpdateCheck({
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
368
|
+
const result = await runStartupUpdateCheck({
|
|
369
|
+
autoUpdate: true,
|
|
370
|
+
onInstalling: (pkgs) => {
|
|
371
|
+
this.output.writeln(this.output.dim(` ↑ installing ${pkgs.join(', ')}...`));
|
|
372
|
+
},
|
|
373
|
+
});
|
|
374
|
+
if (!result.checked)
|
|
375
|
+
return;
|
|
376
|
+
if (result.updatesApplied.length > 0) {
|
|
377
|
+
this.output.writeln(this.output.dim(` ✓ updated ${result.updatesApplied.join(', ')}`));
|
|
378
|
+
}
|
|
379
|
+
const manual = result.updatesAvailable.filter(u => !u.shouldAutoUpdate);
|
|
380
|
+
if (manual.length > 0) {
|
|
381
|
+
this.output.writeln(this.output.dim(` ↑ ${manual.map(u => `${u.package} v${u.latestVersion}`).join(', ')} available → run: ${this.name} update all`));
|
|
377
382
|
}
|
|
378
383
|
}
|
|
379
384
|
catch {
|
|
@@ -1149,10 +1149,10 @@ function generateDashboard() {
|
|
|
1149
1149
|
|
|
1150
1150
|
const hil = getHILPending();
|
|
1151
1151
|
const hilStr = hil.pending > 0
|
|
1152
|
-
?
|
|
1153
|
-
:
|
|
1152
|
+
? \` \${DIV} \${x.coral}✨ \${x.bold}\${hil.pending}\${x.reset}\${x.coral} HIL pending\${x.reset}\`
|
|
1153
|
+
: \`\`;
|
|
1154
1154
|
|
|
1155
|
-
lines.push(\`\${x.teal}🧠 CONTEXT\${x.reset} \${graphStr}
|
|
1155
|
+
lines.push(\`\${x.teal}🧠 CONTEXT\${x.reset} \${graphStr}\${hilStr}\`);
|
|
1156
1156
|
|
|
1157
1157
|
return lines.join('\\n');
|
|
1158
1158
|
}
|
|
@@ -20,7 +20,7 @@ export interface SessionReplay extends SessionSummary {
|
|
|
20
20
|
}
|
|
21
21
|
export declare class ReplayReader {
|
|
22
22
|
private sessionsDir;
|
|
23
|
-
constructor(cwd?:
|
|
23
|
+
constructor(cwd?: any);
|
|
24
24
|
/**
|
|
25
25
|
* Find and return the session data for a given session ID.
|
|
26
26
|
* The ID may be a bare ID (e.g. "session-1234567890") or a timestamp number.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Queries npm registry and compares versions
|
|
4
4
|
*/
|
|
5
5
|
import { createRequire } from 'module';
|
|
6
|
+
import { execFileSync } from 'child_process';
|
|
6
7
|
import * as semver from 'semver';
|
|
7
8
|
import { reserveCheck, recordCheck, getCachedVersions } from './rate-limiter.js';
|
|
8
9
|
const require = createRequire(import.meta.url);
|
|
@@ -82,8 +83,8 @@ function getUpdateType(current, latest) {
|
|
|
82
83
|
function shouldAutoUpdate(updateType, priority, config) {
|
|
83
84
|
if (updateType === 'none')
|
|
84
85
|
return false;
|
|
85
|
-
// Critical security packages always auto-update patches
|
|
86
|
-
if (priority === 'critical' && updateType === 'patch') {
|
|
86
|
+
// Critical security packages always auto-update patches and minors
|
|
87
|
+
if (priority === 'critical' && (updateType === 'patch' || updateType === 'minor')) {
|
|
87
88
|
return true;
|
|
88
89
|
}
|
|
89
90
|
// Check config
|
|
@@ -99,23 +100,39 @@ export function getInstalledVersion(packageName) {
|
|
|
99
100
|
if (!isValidNpmName(packageName))
|
|
100
101
|
return null;
|
|
101
102
|
try {
|
|
102
|
-
//
|
|
103
|
-
|
|
103
|
+
// Attempt 1: let Node resolve from any search path (covers local and global installs)
|
|
104
|
+
try {
|
|
105
|
+
const resolved = require.resolve(`${packageName}/package.json`);
|
|
106
|
+
const pkg = require(resolved);
|
|
107
|
+
if (pkg.version)
|
|
108
|
+
return pkg.version;
|
|
109
|
+
}
|
|
110
|
+
catch { /* not on default paths */ }
|
|
111
|
+
// Attempt 2: resolve from cwd (monorepo / workspace installs)
|
|
112
|
+
const cwdPaths = [
|
|
104
113
|
`${packageName}/package.json`,
|
|
105
114
|
`../../node_modules/${packageName}/package.json`,
|
|
106
115
|
`../../../node_modules/${packageName}/package.json`,
|
|
107
116
|
];
|
|
108
|
-
for (const modulePath of
|
|
117
|
+
for (const modulePath of cwdPaths) {
|
|
109
118
|
try {
|
|
110
|
-
// Use dynamic import with require for package.json
|
|
111
119
|
const resolved = require.resolve(modulePath, { paths: [process.cwd()] });
|
|
112
120
|
const pkg = require(resolved);
|
|
113
|
-
|
|
121
|
+
if (pkg.version)
|
|
122
|
+
return pkg.version;
|
|
114
123
|
}
|
|
115
124
|
catch {
|
|
116
125
|
continue;
|
|
117
126
|
}
|
|
118
127
|
}
|
|
128
|
+
// Attempt 3: npm global prefix (covers `npm i -g monomind`)
|
|
129
|
+
try {
|
|
130
|
+
const prefix = execFileSync('npm', ['prefix', '-g'], { encoding: 'utf8', timeout: 3000 }).trim();
|
|
131
|
+
const globalPkg = require(require.resolve(`${packageName}/package.json`, { paths: [`${prefix}/lib/node_modules`] }));
|
|
132
|
+
if (globalPkg.version)
|
|
133
|
+
return globalPkg.version;
|
|
134
|
+
}
|
|
135
|
+
catch { /* no global install or npm unavailable */ }
|
|
119
136
|
return null;
|
|
120
137
|
}
|
|
121
138
|
catch {
|
|
@@ -17,6 +17,15 @@ export type { ValidationResult } from './validator.js';
|
|
|
17
17
|
export { executeUpdate, executeMultipleUpdates, rollbackUpdate, getUpdateHistory, clearHistory, loadHistory, } from './executor.js';
|
|
18
18
|
export type { UpdateHistoryEntry, UpdateExecutionResult } from './executor.js';
|
|
19
19
|
import type { UpdateCheckResult } from './checker.js';
|
|
20
|
+
/**
|
|
21
|
+
* Synchronous — reads cached state from last check.
|
|
22
|
+
* Returns a short inline string for the CLI version tagline, e.g.
|
|
23
|
+
* " ↑ v1.11.12 available"
|
|
24
|
+
* " ↑ v1.11.12 installing..."
|
|
25
|
+
* " ✓ up to date"
|
|
26
|
+
* "" (no cache yet)
|
|
27
|
+
*/
|
|
28
|
+
export declare function getUpdateTagline(currentVersion: string): string;
|
|
20
29
|
/**
|
|
21
30
|
* Run auto-update check on startup
|
|
22
31
|
* This is the main entry point for the auto-update system
|
|
@@ -24,6 +33,7 @@ import type { UpdateCheckResult } from './checker.js';
|
|
|
24
33
|
export declare function runStartupUpdateCheck(options: {
|
|
25
34
|
verbose?: boolean;
|
|
26
35
|
autoUpdate?: boolean;
|
|
36
|
+
onInstalling?: (packages: string[]) => void;
|
|
27
37
|
}): Promise<{
|
|
28
38
|
checked: boolean;
|
|
29
39
|
updatesAvailable: UpdateCheckResult[];
|
|
@@ -13,9 +13,34 @@ export { shouldCheckForUpdates, recordCheck, getCachedVersions, clearCache, load
|
|
|
13
13
|
export { validateUpdate, validateBulkUpdate } from './validator.js';
|
|
14
14
|
export { executeUpdate, executeMultipleUpdates, rollbackUpdate, getUpdateHistory, clearHistory, loadHistory, } from './executor.js';
|
|
15
15
|
// Re-export a convenience function for startup
|
|
16
|
-
import { checkForUpdates, DEFAULT_CONFIG } from './checker.js';
|
|
16
|
+
import { checkForUpdates, DEFAULT_CONFIG, getInstalledVersion } from './checker.js';
|
|
17
17
|
import { executeMultipleUpdates } from './executor.js';
|
|
18
|
-
import {
|
|
18
|
+
import { getCachedVersions } from './rate-limiter.js';
|
|
19
|
+
import * as semver from 'semver';
|
|
20
|
+
/**
|
|
21
|
+
* Synchronous — reads cached state from last check.
|
|
22
|
+
* Returns a short inline string for the CLI version tagline, e.g.
|
|
23
|
+
* " ↑ v1.11.12 available"
|
|
24
|
+
* " ↑ v1.11.12 installing..."
|
|
25
|
+
* " ✓ up to date"
|
|
26
|
+
* "" (no cache yet)
|
|
27
|
+
*/
|
|
28
|
+
export function getUpdateTagline(currentVersion) {
|
|
29
|
+
try {
|
|
30
|
+
const cached = getCachedVersions();
|
|
31
|
+
// Compare CLI version against its own cached version only — the umbrella package
|
|
32
|
+
// has a different version number and must not be used for this comparison.
|
|
33
|
+
const latest = cached['@monoes/monomindcli'];
|
|
34
|
+
if (!latest || !semver.valid(latest) || !semver.valid(currentVersion))
|
|
35
|
+
return '';
|
|
36
|
+
if (semver.lte(latest, currentVersion))
|
|
37
|
+
return ' ✓ up to date';
|
|
38
|
+
return ` ↑ v${latest} available`;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return '';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
19
44
|
/**
|
|
20
45
|
* Run auto-update check on startup
|
|
21
46
|
* This is the main entry point for the auto-update system
|
|
@@ -39,6 +64,8 @@ export async function runStartupUpdateCheck(options) {
|
|
|
39
64
|
if (options.autoUpdate !== false) {
|
|
40
65
|
const autoUpdateable = results.filter((r) => r.shouldAutoUpdate);
|
|
41
66
|
if (autoUpdateable.length > 0) {
|
|
67
|
+
// Notify caller before installation begins
|
|
68
|
+
options.onInstalling?.(autoUpdateable.map(u => `${u.package}@${u.latestVersion}`));
|
|
42
69
|
// Get current installed packages
|
|
43
70
|
const installedPackages = {};
|
|
44
71
|
for (const update of autoUpdateable) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monoes/monomindcli",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Halt Signal (Task 35)
|
|
3
|
-
*
|
|
4
|
-
* JSONL-based broadcast/check for swarm-level halt signals.
|
|
5
|
-
* When an agent triggers a cascade halt, other agents in the same swarm
|
|
6
|
-
* can query whether a halt has been issued.
|
|
7
|
-
*/
|
|
8
|
-
import type { TerminationReason } from '../../../shared/src/types/termination.js';
|
|
9
|
-
/** Record written to the JSONL halt log. */
|
|
10
|
-
export interface HaltRecord {
|
|
11
|
-
id: string;
|
|
12
|
-
swarmId: string;
|
|
13
|
-
sourceAgentId: string;
|
|
14
|
-
reason: TerminationReason;
|
|
15
|
-
haltedAt: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Broadcast a halt signal for a swarm.
|
|
19
|
-
*/
|
|
20
|
-
export declare function broadcast(swarmId: string, sourceAgentId: string, reason: TerminationReason, filePath?: string): HaltRecord;
|
|
21
|
-
/**
|
|
22
|
-
* Check whether any halt signal exists for the given swarm.
|
|
23
|
-
*/
|
|
24
|
-
export declare function isHalted(swarmId: string, filePath?: string): boolean;
|
|
25
|
-
//# sourceMappingURL=halt-signal.d.ts.map
|