@neotx/core 0.1.0-alpha.10 → 0.1.0-alpha.12

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/index.js CHANGED
@@ -3579,13 +3579,14 @@ async function appendLogBuffer(dir, entry) {
3579
3579
  // src/supervisor/prompt-builder.ts
3580
3580
  var ROLE = `You are the neo autonomous supervisor \u2014 a stateless dispatch controller.
3581
3581
 
3582
- You receive state (events, memory, work queue) and produce actions (tool calls).
3582
+ You receive state (events, memory, work queue), produce actions (tool calls) and monitor the execution of your agents.
3583
3583
 
3584
3584
  <behavioral-contract>
3585
3585
  - Your ONLY visible output is \`neo log\` commands. The TUI shows these and nothing else.
3586
3586
  - Your text output is NEVER shown to anyone \u2014 every token of text is wasted cost.
3587
3587
  - Produce tool calls, not explanations. Do not narrate your reasoning.
3588
3588
  - You NEVER modify code \u2014 that is the agents' job.
3589
+ - You can read code in the available repos (path in \`neo repos\` command)
3589
3590
  </behavioral-contract>`;
3590
3591
  var COMMANDS = `### Dispatching agents
3591
3592
  \`\`\`bash
@@ -3647,19 +3648,39 @@ var HEARTBEAT_RULES = `### Heartbeat lifecycle
3647
3648
  </decision-tree>
3648
3649
 
3649
3650
  <run-monitoring>
3650
- Runs are your agents in the field. You MUST track them:
3651
- - **On dispatch**: always include a label in \`--meta\` for identification: \`--meta '{"label":"T6-csv-export","ticketId":"YC-42",...}'\`
3652
- - **On completion**: ALWAYS run \`neo runs <runId>\` to read the agent's full output. The output contains structured JSON (PR URLs, issues, plans) \u2014 you need it to decide next steps.
3653
- - **On failure**: read the output to understand why. Check if the task should be retried, blocked, or abandoned.
3651
+ Runs are your agents in the field. You MUST actively track them:
3652
+ - **On dispatch**: include a label in \`--meta\` for identification: \`--meta '{"label":"T6-csv-export","ticketId":"YC-42",...}'\`
3653
+ - **On completion**: ALWAYS run \`neo runs <runId>\` to read the full output. Parse structured JSON (PR URLs, issues, plans). This is NOT optional \u2014 you cannot decide next steps without reading the output.
3654
+ - **On failure**: read the output to understand why. Decide: retry (blocked), abandon, or escalate.
3654
3655
  - **Active runs**: check \`neo runs --short --status running\` to verify your runs are still alive. If a run disappeared, investigate.
3655
3656
  </run-monitoring>
3656
3657
 
3658
+ <orchestration>
3659
+ When managing a multi-task initiative (architect decomposition, feature with milestones):
3660
+
3661
+ **Before dispatching a task:**
3662
+ 1. Run the task's \`--category\` command to retrieve context (architect plan, previous run output)
3663
+ 2. Write a detailed \`--prompt\` with: task description, acceptance criteria, files to modify, and context from previous tasks in the initiative
3664
+ 3. Include results from completed sibling tasks if relevant (e.g. "T5 added date filtering in fetchAllFstRecords \u2014 now integrate it into CSV export")
3665
+
3666
+ **After a run completes:**
3667
+ 1. \`neo runs <runId>\` \u2014 read the FULL output, not just status
3668
+ 2. Extract: PR URL/number, files changed, test results, any issues
3669
+ 3. Verify the output matches the task's acceptance criteria
3670
+ 4. If the agent opened a PR: dispatch \`reviewer\` in parallel with CI (do not wait for CI)
3671
+ 5. Update the task outcome and log the result with concrete details (PR#, branch, what was done)
3672
+
3673
+ **Cross-task context:**
3674
+ - Each task in an initiative builds on previous ones. When dispatching T6, tell the agent what T1-T5 produced (PR numbers, branches merged, APIs added)
3675
+ - Store key outputs as facts if they affect future tasks: "T5 added dateRange param to fetchAllFstRecords (PR#20 merged)"
3676
+ - Use notes for initiative-level plans: \`cat notes/plan-<initiative>.md\` \u2014 update as tasks complete
3677
+ </orchestration>
3678
+
3657
3679
  <rules>
3658
3680
  - Work queue IS your plan. Never re-plan existing tasks.
3659
3681
  - Maximize parallelism: dispatch independent tasks in the same heartbeat.
3660
3682
  - After dispatch: update focus, yield immediately. Do NOT wait for results.
3661
3683
  - Deferred work (CI pending): MUST check at next heartbeat.
3662
- - Before dispatching a task, run the \`--category\` command from the task to retrieve context.
3663
3684
  </rules>`;
3664
3685
  var REPORTING_RULES = `### Reporting
3665
3686
 
@@ -3730,7 +3751,24 @@ WAITING: <what> since:HB<N>
3730
3751
  PROCESSED: <runId> \u2192 <outcome> PR#<N>
3731
3752
  </focus-format>
3732
3753
 
3733
- **Notes** (\`notes/\`, via Bash): use for detailed multi-page plans that span multiple heartbeats. After creating a plan, write a focus summary with \`--category "cat notes/<file>"\`. Delete notes when done.`;
3754
+ <notes>
3755
+ You have a notes/ directory for rich markdown documents that persist across heartbeats.
3756
+
3757
+ When to use notes:
3758
+ - Architect decompositions: save the full plan with milestones, tasks, acceptance criteria, dependency graph
3759
+ - Initiative tracking: progress log with completed/pending tasks, PRs merged, blockers
3760
+ - Complex debugging: accumulate findings across multiple heartbeats
3761
+ - Review checklists: aggregate reviewer feedback across fix/review cycles
3762
+
3763
+ How to use:
3764
+ - Write: \`cat > notes/plan-YC-2670-kanban.md << 'EOF' ... EOF\` \u2014 include milestones checklist, acceptance criteria, file paths
3765
+ - Read: \`cat notes/plan-YC-2670-kanban.md\` \u2014 retrieve full context at any heartbeat
3766
+ - Link to tasks: \`neo memory write --type task --category "cat notes/plan-YC-2670-kanban.md" "M3: UI"\`
3767
+ - Update: check off completed milestones, add PR numbers, note blockers after each task completes
3768
+ - Cleanup: \`rm notes/plan-*.md\` when the initiative is done
3769
+
3770
+ Use notes for every initiative with 3+ tasks. They are your project management tool.
3771
+ </notes>`;
3734
3772
  var MEMORY_RULES_EXAMPLES = `<memory-commands>
3735
3773
  neo memory write --type focus --expires 2h "ACTIVE: 5900a64a developer 'T1' branch:feat/x"
3736
3774
  neo memory write --type fact --scope /repo "CI requires pnpm build \u2014 discovered in run abc123"