adhdev 0.9.75 → 0.9.76-rc.2

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/dist/cli/index.js CHANGED
@@ -2907,7 +2907,7 @@ function buildNodeConfigSection(mesh) {
2907
2907
  for (const n of mesh.nodes) {
2908
2908
  const labels = [];
2909
2909
  if (n.isLocalWorktree) labels.push("worktree");
2910
- if (n.policy.readOnly) labels.push("read-only");
2910
+ if (n.policy?.readOnly) labels.push("read-only");
2911
2911
  const suffix = labels.length ? ` [${labels.join(", ")}]` : "";
2912
2912
  lines.push(`- **${n.workspace}** (${n.id})${suffix}`);
2913
2913
  }
@@ -2953,18 +2953,20 @@ var init_coordinator_prompt = __esm({
2953
2953
  3. **Delegate** \u2014 For each task:
2954
2954
  a. Pick the best node (consider: health, dirty state, current workload).
2955
2955
  b. If no session exists, call \`mesh_launch_session\` to start one.
2956
- c. Call \`mesh_send_task\` with a clear, self-contained natural-language instruction.
2956
+ c. Call \`mesh_send_task\` with a **complete, self-contained** instruction that includes all context the agent needs (file paths, line numbers, what to change, why). Do not send partial instructions expecting future follow-up.
2957
2957
  4. **Monitor** \u2014 Periodically call \`mesh_read_chat\` to check progress. Handle approvals via \`mesh_approve\`.
2958
2958
  5. **Verify** \u2014 When a task reports completion, call \`mesh_git_status\` to verify changes were made.
2959
2959
  6. **Checkpoint** \u2014 Call \`mesh_checkpoint\` to save the work.
2960
2960
  7. **Report** \u2014 Summarize what was done, what changed, and any issues.`;
2961
2961
  RULES_SECTION = `## Rules
2962
2962
 
2963
- - **Be conversational.** Delegate work the way a tech lead would \u2014 clear, specific instructions in natural language.
2964
- - **Don't inspect code.** Trust the agent's output. Verify via git diff/status, not by reading source files.
2963
+ - **Minimize coordinator context.** The coordinator's job is routing, not implementing. Do not read source files, run commands, or analyze code directly \u2014 delegate all of that to node agents. Your context should stay lean.
2964
+ - **Delegate analysis too.** If you need to understand a bug or explore the codebase, send that investigation as a task to a node. Do not do it yourself.
2965
+ - **Front-load the task message.** When calling \`mesh_send_task\`, include everything the agent needs: what files to touch, what the problem is, what the fix should look like. The agent won't ask follow-up questions.
2966
+ - **Don't inspect code.** Trust the agent's output. Verify via \`mesh_git_status\`, not by reading source files.
2965
2967
  - **Don't over-parallelize.** Start with 1-2 concurrent tasks. Scale up if they succeed.
2966
2968
  - **Handle failures gracefully.** If a task fails, read the chat to understand why, then retry or reassign.
2967
- - **Keep the user informed.** Report progress after each delegation round.
2969
+ - **Keep the user informed.** Report progress after each delegation round \u2014 one or two sentences, not a narration.
2968
2970
  - **Respect node capabilities.** Don't send build tasks to read-only nodes. Don't push from nodes that aren't allowed to.
2969
2971
  - **Never fabricate tool results.** Always call the actual tool; never pretend you did.`;
2970
2972
  }
@@ -14633,6 +14635,10 @@ var init_provider_cli_adapter = __esm({
14633
14635
  const currentSnapshot = normalizeScreenSnapshot(screenText);
14634
14636
  const lastSnapshot = this.lastScreenSnapshot;
14635
14637
  if (!lastSnapshot || lastSnapshot === currentSnapshot) return screenText;
14638
+ const staleSnapshotLooksActive = /\besc to (?:interrupt|stop)\b|Enter to interrupt, Ctrl\+C to cancel/i.test(lastSnapshot);
14639
+ const currentScreenLooksIdle = /(?:^|\n|\r)\s*[❯›>]\s*(?:\n|\r|$)/.test(screenText) && !/\besc to (?:interrupt|stop)\b|Enter to interrupt, Ctrl\+C to cancel/i.test(screenText);
14640
+ if (staleSnapshotLooksActive && currentScreenLooksIdle) return screenText;
14641
+ if (currentSnapshot.length >= lastSnapshot.length) return screenText;
14636
14642
  return `${screenText}
14637
14643
  ${lastSnapshot}`;
14638
14644
  }
@@ -90290,7 +90296,7 @@ var init_adhdev_daemon = __esm({
90290
90296
  init_version();
90291
90297
  init_src();
90292
90298
  init_runtime_defaults();
90293
- pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.75" });
90299
+ pkgVersion = resolvePackageVersion({ injectedVersion: "0.9.76-rc.2" });
90294
90300
  AdhdevDaemon = class _AdhdevDaemon {
90295
90301
  localHttpServer = null;
90296
90302
  localWss = null;