Skip to content

docs(agent-workflows): Cursor Cloud Agents parallel workflow (#1480)#1740

Closed
CodeGhost21 wants to merge 4 commits into
tinyhumansai:mainfrom
CodeGhost21:cursor-cloud-agents-workflow-1480
Closed

docs(agent-workflows): Cursor Cloud Agents parallel workflow (#1480)#1740
CodeGhost21 wants to merge 4 commits into
tinyhumansai:mainfrom
CodeGhost21:cursor-cloud-agents-workflow-1480

Conversation

@CodeGhost21
Copy link
Copy Markdown
Contributor

@CodeGhost21 CodeGhost21 commented May 14, 2026

Summary

  • Add docs/agent-workflows/cursor-cloud-agents.md documenting the pilot-then-scale workflow for running 15-20 Cursor Cloud Agents in parallel against this repo without file collisions or duplicated work.
  • Define nine non-overlapping path lanes (frontend-ui / frontend-state / frontend-mcp / tauri-shell / rust-core/ / rust-core-server / tests / docs / ci-config) plus a choke-point rule for shared files (src/core/all.rs, package.json, Cargo.lock, tauri.conf.json, ...).
  • Add scripts/agent-batch-overlap.mjs — the pre-launch collision check. Reads a JSON batch file, reports lane / path / choke-point conflicts, exits non-zero on collision.
  • Add scripts/agent-batch-comments.mjs — generates the parent-issue body and per-issue launch comments from the same batch JSON, so the launch step is reproducible (no hand-edited prompts).
  • Add docs/agent-workflows/pilot-batch-1480.json — a validated 3-issue pilot batch (Reduce bottom tabs to make the app feel cleaner #1502 frontend-ui, AI repeats every Chinese response twice when asked to answer in Chinese #1675 rust-core/agent, feat(release): add official Linux aarch64 (ARM64) release binaries #1599 ci-config). Overlap script reports PASS.
  • Link the new runbook from AGENTS.md alongside the existing Codex web checklist.

Problem

Issue #1480 asks for a documented, automated workflow that can run ~15-20 Cursor Cloud Agents in parallel against OpenHuman without branch collisions, duplicated work, lost context, secrets leakage, or low-quality PRs. Today there is no documented workflow for this; agents have no shared lane definition, no shared launch trigger format, no shared dashboard, and no shared secrets posture. The result is unsafe to scale.

Solution

A single runbook plus two small scripts:

  • Setup + preflight: reuses scripts/codex-pr-preflight.mjs so the Cursor channel and the Codex channel share one env check.
  • Launch trigger: one trigger per issue, no double-launching across Codex/Cursor/Linear.
  • Branch/PR conventions: cursor/<ISSUE-NUMBER>-<short-slug>, push to the agent's fork, PR against tinyhumansai/openhuman:main, label cursor-cloud-agent.
  • Ownership lanes: nine path-disjoint lanes; one agent per lane per batch (rust-core sub-domains are naturally parallel). Choke points (src/core/all.rs, package.json, Cargo.lock, etc.) get one schema owner per batch.
  • Quality gates: per-agent format/typecheck/focused-test/coverage runs inside the agent container, with explicit rules for reporting blocked commands instead of silently skipping.
  • Secrets posture: agent containers see .env.example only; no production OAuth, signing, updater, or external-integration credentials.
  • Progress visibility: GitHub Project board joined by the cursor-cloud-agent label, plus a gh pr list snapshot. Two consecutive CI failures route to a human.
  • Reproducible launch: agent-batch-overlap.mjs validates a batch JSON, then agent-batch-comments.mjs prints the parent-issue body + per-issue launch comments derived from that same JSON. Negative-tested both: overlap script catches out-of-lane paths, same-lane collisions, and parent/child path overlap.
  • Pilot acceptance check: explicit checklist that must be clean before scaling to 15-20.

The runbook deliberately reuses the Codex checklist for the parts that are channel-agnostic (preflight, validation, PR template, duplicate PR cleanup) rather than forking a parallel copy that will drift.

Submission Checklist

  • Tests added or updated (happy path + at least one failure / edge case) per Testing StrategyN/A: docs + repo-operator scripts; the scripts were manually negative-tested (out-of-lane path, same-lane duplicate, choke-point conflict — all caught with exit code 1).
  • Diff coverage ≥ 80%N/A: docs + operator scripts not executed in the product runtime; not covered by Vitest or cargo-llvm-cov.
  • Coverage matrix updated — N/A: workflow doc, no product feature row.
  • All affected feature IDs from the matrix are listed in the PR description under ## RelatedN/A: no feature IDs touched.
  • No new external network dependencies introduced (mock backend used per Testing Strategy).
  • Manual smoke checklist updated if this touches release-cut surfaces (docs/RELEASE-MANUAL-SMOKE.md) — N/A: does not touch release-cut surfaces.
  • Linked issue closed via Closes #NNN in the ## Related section.

Impact

  • Runtime / platform impact: none. Docs + two operator-only Node scripts that never run inside the product.
  • Performance / security / migration / compatibility: codifies the secrets posture for agent runs (agents must not be provisioned with production credentials). No code path changes.

Related


AI Authored PR Metadata

Linear Issue

Commit & Branch

  • Branch: cursor-cloud-agents-workflow-1480
  • Commit SHA: d5a1639

Validation Run

  • pnpm --filter openhuman-app format:check — passes on the four touched files (cursor-cloud-agents.md, AGENTS.md, agent-batch-overlap.mjs, agent-batch-comments.mjs)
  • pnpm typecheck — N/A: no TS changes
  • Focused tests: N/A: docs + operator scripts. Both scripts negative-tested by hand: overlap script caught out-of-lane Cargo.lock, same-lane duplicate frontend-ui, and parent/child path overlap with exit code 1; generator script produced expected paste buffer on the pilot batch.
  • Rust fmt/check (if changed): N/A: no Rust changes
  • Tauri fmt/check (if changed): N/A: no Tauri changes

Validation Blocked

  • command: N/A
  • error: N/A
  • impact: N/A

Behavior Changes

  • Intended behavior change: No product behavior change. Adds documented workflow + two operator-only Node scripts for parallel Cursor Cloud Agents.
  • User-visible effect: New runbook at docs/agent-workflows/cursor-cloud-agents.md; new section in AGENTS.md linking to it; two new scripts under scripts/ for operators preparing a batch.

Parity Contract

  • Legacy behavior preserved: N/A (no behavior touched).
  • Guard/fallback/dispatch parity checks: N/A.

Duplicate / Superseded PR Handling

  • Duplicate PR(s): None known.
  • Canonical PR: This PR.
  • Resolution (closed/superseded/updated): N/A.

Summary by CodeRabbit

  • Documentation

    • Refined contributor and orchestration guidance with improved formatting and event bus architecture documentation.
    • Added comprehensive Cursor Cloud Agents batch workflow guide covering parallel execution, lane-based coordination standards, quality gates, and operator monitoring procedures.
  • Chores

    • Added batch validation and comment generation tools for agent operations.
    • Added pilot batch configuration for workflow validation testing.

Review Change Stack

…yhumansai#1480)

Documents the pilot-then-scale workflow for running 15-20 Cursor Cloud
Agents in parallel against the codebase. Covers per-lane ownership
boundaries to prevent file collisions, launch trigger format, branch/PR
conventions, quality gates the agent runs inside its container, secrets
posture for agent runs, and the operator dashboard for batch progress.

Closes tinyhumansai#1480
Pure whitespace: prettier widened existing markdown tables to the
standard column width and inserted a required blank line after a heading
that the new edits made the linter notice. No content change.
…ai#1480)

Adds scripts/agent-batch-overlap.mjs, the pre-launch collision check
referenced in the Cursor Cloud Agents workflow doc. Reads a JSON batch
file, reports lane assignments / pairwise path overlap / choke-point
conflicts, and exits non-zero on collisions. Negative-tested against an
intentionally bad batch (caught out-of-lane paths, same-lane duplicates,
and parent/child path overlap).

Also adds docs/agent-workflows/pilot-batch-1480.json — the validated
pilot batch for issue tinyhumansai#1480 covering three lane-disjoint upstream
issues (tinyhumansai#1502 frontend-ui, tinyhumansai#1675 rust-core/agent, tinyhumansai#1599 ci-config).
The script reports PASS on this pilot.

Updates cursor-cloud-agents.md to drop the "if not present yet" caveat
since the helper now exists, and to point at the canonical batch
format.
Adds scripts/agent-batch-comments.mjs — reads the same batch JSON shape
as the overlap helper and prints a copy-pasteable parent-issue body
plus one launch comment per child issue. Makes the launch step
reproducible for any batch, not just hand-edited for the pilot.

Updates the operator runbook in cursor-cloud-agents.md to reference the
generator and renumbers the steps to include the new "Generate the paste
buffer" step between the collision check and opening the parent issue.
@CodeGhost21 CodeGhost21 requested a review from a team May 14, 2026 12:21
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 14, 2026

📝 Walkthrough

Walkthrough

This PR establishes end-to-end infrastructure for parallel Cursor Cloud Agents: a comprehensive runbook specifying agent preflight, branch/PR conventions, lane-based ownership boundaries, quality gates, and secrets posture; two new validation and generation scripts to pre-check batch collisions and generate GitHub comments; pilot batch configuration; and updated contributor guide documentation.

Changes

Cursor Cloud Agents Workflow

Layer / File(s) Summary
Cursor Cloud Agents operator runbook
docs/agent-workflows/cursor-cloud-agents.md
Comprehensive operational specification for launching 15–20 parallel agents: defines pilot vs. scaled batch sizing, per-agent preflight checks and workspace-binding validation, launch trigger rules (one agent per GitHub issue), branch/PR naming conventions, lane-based ownership boundaries (frontend/UI, Tauri shell, rust-core domains, tests, docs, ci-config) with collision avoidance, per-agent quality gates (format, lint/typecheck, targeted tests, diff-coverage ≥80%), secrets posture constraints (no production env files, mock-only integrations, log redaction), operator progress visibility via GitHub Projects and issue checklists, sequential operator runbook, and pilot acceptance criteria.
Batch validation and collision detection
scripts/agent-batch-overlap.mjs
Pre-launch validator that loads batch JSON, confirms each issue's number/lane/paths, normalizes paths, enforces lane-root constraints with rust-core domain mapping, detects pairwise path overlaps with directory semantics, computes choke-point ownership conflicts (schema/contract files must have single owner), detects same-lane collisions with rust-core domain exceptions, prints lane assignments and collision reports, and exits with PASS (code 0) or FAIL (code 1).
Batch comment and dashboard generation
scripts/agent-batch-comments.mjs
Generates operator-facing Markdown from batch JSON: parent issue body (with per-lane checklist, collision-check instructions, pilot acceptance checklist, and retro template), per-child launch comments (branch naming, lane assignment, owned paths, workflow reference), and GitHub CLI dashboard query filtered by cursor-cloud-agent label.
AGENTS.md contributor guide updates
AGENTS.md
Refactors "Repository layout" into a clearer table, adds "Cursor Cloud Agents (parallel batches)" subsection linking to workflow runbook, expands "Event bus" documentation with core-types table, singleton API surface, domain list, and example scaffolding (publishing, subscribing, native requests), normalizes "Cursor Cloud specific instructions" environment overview (Vite dev server), adjusts Linux cloud VM key requirements section, and inserts claude-mem-context marker with Apr 22, 2026 date.
Pilot batch 1480 configuration
docs/agent-workflows/pilot-batch-1480.json
JSON batch specification for cursor-cloud-pilot-1480 defining three lane-disjoint pilot issues with scoped paths constraints under frontend/Tauri/rust-core lanes, serving as instantiation and validation of the workflow runbook.

Sequence Diagram

sequenceDiagram
  participant Operator as Operator
  participant BatchJSON as Batch JSON<br/>(pilot-batch-1480.json)
  participant Overlap as agent-batch-overlap.mjs
  participant Comments as agent-batch-comments.mjs
  participant GitHub as GitHub Issues/PRs
  participant Agent as Cursor Cloud Agent
  participant QualityGates as Quality Gates<br/>(format, test, coverage)

  Operator->>BatchJSON: Select issues & assign lanes
  Operator->>Overlap: Run collision check
  Overlap->>Overlap: Validate paths in lanes
  Overlap->>Overlap: Detect overlaps & choke-points
  Overlap-->>Operator: PASS/FAIL report
  
  Operator->>Comments: Generate parent issue & launch comments
  Comments->>Comments: Build checklist & lane assignments
  Comments-->>Operator: Markdown copy-buffer
  
  Operator->>GitHub: Post parent issue with checklist
  Operator->>GitHub: Post per-issue launch comment
  GitHub-->>Agent: Trigger Cursor Cloud Agent
  
  Agent->>Agent: Run preflight checks
  Agent->>Agent: Checkout & verify workspace binding
  Agent->>GitHub: Create branch cursor/issue-N-slug
  Agent->>Agent: Implement within lane scope
  Agent->>QualityGates: Run format/lint/typecheck/tests
  Agent->>QualityGates: Enforce diff-coverage ≥80%
  Agent->>GitHub: Push PR with required label
  GitHub-->>Operator: Dashboard update (Project board, checklist)
  Operator->>Operator: Monitor blocked PRs, reconcile merged
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • tinyhumansai/openhuman#1106: Previous revision of "Cursor Cloud specific instructions" in AGENTS.md, providing context for the environment-overview and Tauri-on-Linux updates in this PR.

Suggested reviewers

  • senamakel

Poem

🐰 A parallel dance of cloud agents bright,
Lanes enforced to keep the merge conflicts slight,
Validation scripts guard against the overlap dread,
Runbooks guide each agent's path ahead,
Fifteen to twenty in harmonious flight! 🚀

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: adding documentation and tooling for a parallel Cursor Cloud Agents workflow.
Linked Issues check ✅ Passed The PR fully addresses all coding objectives from issue #1480: documented runbook, parallel batch support with validated pilot, ownership lane enforcement via overlap checker, quality gates and secrets guidelines, and operator visibility tooling.
Out of Scope Changes check ✅ Passed All changes are directly scoped to issue #1480 objectives: documentation, operator scripts, and batch configuration. No unrelated code or product changes are included.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/agent-workflows/cursor-cloud-agents.md (1)

109-112: ⚡ Quick win

Remove vague "etc." from script invocation description.

Line 112 says the script reports choke-point conflicts and ends with "etc." — but the script's collision categories are finite and well-defined (lane assignments, path overlap, choke-point conflicts). The "etc." suggests open-ended output when the script's reports are actually exhaustive.

✂️ Clarify script output description
-The script reports lane assignments, pairwise path overlap, and choke-point conflicts (`src/core/all.rs`, controller registries, `tauri.conf.json`, `package.json`, `Cargo.lock`, `pnpm-lock.yaml`, etc.). It exits non-zero on any collision.
+The script reports lane assignments, pairwise path overlap, and choke-point conflicts. It exits non-zero on any collision.

The detailed choke-point list is already covered at line 102; repeating a partial list here adds no value.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/agent-workflows/cursor-cloud-agents.md` around lines 109 - 112, Update
the description of the batch-check script invocation to remove the vague "etc."
and make the output categories explicit: state that node
scripts/agent-batch-overlap.mjs docs/agent-workflows/<your-batch>.json reports
lane assignments, pairwise path overlap, and choke-point conflicts (and that it
exits non-zero on any collision). Replace the trailing "etc." with that
explicit, finite list (or simply end the sentence after "choke-point conflicts")
so readers know the script's reports are exhaustive; reference the collision
detection implementation files (src/core/all.rs) and related config registries
only if you want to point to where each category originates.
scripts/agent-batch-overlap.mjs (1)

213-222: ⚡ Quick win

Fix same-lane collision logic for rust-core lanes.

The parallel-safe lane filtering has a logic error. Line 220 correctly returns false (non-fatal) for any lane starting with rust-core/, but line 221 checks !PARALLEL_OK.includes(lane) where lane is something like "rust-core/agent" while PARALLEL_OK contains "rust-core/<domain>" (the template string literal). This check will never match, making line 221 unreachable for rust-core lanes.

The early return at line 220 makes line 221 dead code for rust-core lanes, so the current behavior is correct but confusing.

♻️ Clearer same-lane collision logic
   const PARALLEL_OK = ["rust-core/<domain>"];
   const fatalSameLane = sameLaneCollisions.filter((nums) => {
     const lane = issues.find((i) => i.number === nums[0]).lane;
-    if (lane.startsWith("rust-core/")) return false; // sub-domains are distinct
-    return !PARALLEL_OK.includes(lane);
+    // rust-core/<domain> lanes are parallel-safe (each subdomain is distinct)
+    return !lane.startsWith("rust-core/");
   });

This removes the unused PARALLEL_OK array and clarifies the intent: rust-core lanes are always parallel-safe.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/agent-batch-overlap.mjs` around lines 213 - 222, The collision filter
is confusing because PARALLEL_OK contains the template "rust-core/<domain>"
which never matches real lanes like "rust-core/agent", making the includes check
unreachable for rust-core lanes; remove the PARALLEL_OK array and simplify the
fatalSameLane filter in the sameLaneCollisions logic (referencing fatalSameLane,
sameLaneCollisions, and issues) so it explicitly returns false for lanes that
start with "rust-core/" and otherwise treats the collision as fatal (i.e.,
return true for non-rust-core lanes).
scripts/agent-batch-comments.mjs (1)

36-43: ⚡ Quick win

Consider handling empty title after sanitization.

The slug() function has a fallback when base is empty after sanitization, but the logic base || ... may not trigger if base is a non-empty string of only hyphens (which .slice(0, 50) could produce before the final .replace(/^-+|-+$/g, "") is evaluated).

♻️ Slightly more robust slug generation
 function slug(title, number) {
   const base = (title || `issue-${number}`)
     .toLowerCase()
     .replace(/[^a-z0-9]+/g, "-")
-    .replace(/^-+|-+$/g, "")
-    .slice(0, 50);
-  return base || `issue-${number}`;
+    .replace(/^-+|-+$/g, "");
+  const trimmed = base.slice(0, 50).replace(/^-+|-+$/g, "");
+  return trimmed || `issue-${number}`;
 }

This ensures the final trim happens after slicing, preventing edge cases where slicing cuts mid-cleanup.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/agent-batch-comments.mjs` around lines 36 - 43, The slug() function
can produce an all-hyphen or empty string if slicing happens before the final
trim; update the sanitization order in slug(title, number) to: lower-case,
replace non-alphanumerics with "-", then slice to 50 chars, then trim
leading/trailing hyphens, and finally check if the resulting base is empty and
return `issue-${number}` as fallback; locate the slug function and apply these
changes so the final replace(/^-+|-+$/g, "") runs after .slice(...) and the
empty-string fallback is applied to the trimmed result.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/agent-workflows/cursor-cloud-agents.md`:
- Line 102: Update the choke-point files list in the docs to match the
CHOKE_POINTS constant in scripts/agent-batch-overlap.mjs: add Cargo.toml and
pnpm-lock.yaml and replace ambiguous names with the full paths used in the
script (e.g., app/package.json and app/src-tauri/tauri.conf.json), ensuring the
doc line that currently mentions `src/core/all.rs`, controller registries,
JSON-RPC dispatch, `tauri.conf.json`, `package.json`, `Cargo.lock` mirrors the
exact set and path formatting from CHOKE_POINTS in agent-batch-overlap.mjs.

In `@scripts/agent-batch-comments.mjs`:
- Around line 52-53: The returned markdown link in
scripts/agent-batch-comments.mjs uses a "../blob/main/docs/..." path which won't
resolve in GitHub issue bodies; update the link to a repo-root–relative path by
removing the "../" (e.g.,
"/blob/main/docs/agent-workflows/cursor-cloud-agents.md" or the correct
repo-root absolute path) and make the same change for the other doc link
referenced at the later template (the second occurrence around line 67) so both
issue-body links are repo-relative.

---

Nitpick comments:
In `@docs/agent-workflows/cursor-cloud-agents.md`:
- Around line 109-112: Update the description of the batch-check script
invocation to remove the vague "etc." and make the output categories explicit:
state that node scripts/agent-batch-overlap.mjs
docs/agent-workflows/<your-batch>.json reports lane assignments, pairwise path
overlap, and choke-point conflicts (and that it exits non-zero on any
collision). Replace the trailing "etc." with that explicit, finite list (or
simply end the sentence after "choke-point conflicts") so readers know the
script's reports are exhaustive; reference the collision detection
implementation files (src/core/all.rs) and related config registries only if you
want to point to where each category originates.

In `@scripts/agent-batch-comments.mjs`:
- Around line 36-43: The slug() function can produce an all-hyphen or empty
string if slicing happens before the final trim; update the sanitization order
in slug(title, number) to: lower-case, replace non-alphanumerics with "-", then
slice to 50 chars, then trim leading/trailing hyphens, and finally check if the
resulting base is empty and return `issue-${number}` as fallback; locate the
slug function and apply these changes so the final replace(/^-+|-+$/g, "") runs
after .slice(...) and the empty-string fallback is applied to the trimmed
result.

In `@scripts/agent-batch-overlap.mjs`:
- Around line 213-222: The collision filter is confusing because PARALLEL_OK
contains the template "rust-core/<domain>" which never matches real lanes like
"rust-core/agent", making the includes check unreachable for rust-core lanes;
remove the PARALLEL_OK array and simplify the fatalSameLane filter in the
sameLaneCollisions logic (referencing fatalSameLane, sameLaneCollisions, and
issues) so it explicitly returns false for lanes that start with "rust-core/"
and otherwise treats the collision as fatal (i.e., return true for non-rust-core
lanes).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8749c421-1343-42bd-970b-c7f76d7f7a33

📥 Commits

Reviewing files that changed from the base of the PR and between 1c58d47 and d5a1639.

📒 Files selected for processing (5)
  • AGENTS.md
  • docs/agent-workflows/cursor-cloud-agents.md
  • docs/agent-workflows/pilot-batch-1480.json
  • scripts/agent-batch-comments.mjs
  • scripts/agent-batch-overlap.mjs


- **One agent per lane per batch.** A 15-20 agent batch must use at least 9 lanes (one of each above) or split a lane along path-disjoint sub-trees. `rust-core/<domain>` is naturally parallel because each domain lives in its own subdirectory; treat `rust-core/memory` and `rust-core/cron` as two distinct lanes.
- **No cross-lane edits.** If an issue actually needs changes in two lanes (e.g. a Rust core change plus a frontend rendering tweak), split it into two issues with explicit dependency order. The dependent issue is launched only after the upstream PR merges.
- **Schema and contract files (`src/core/all.rs`, controller registries, JSON-RPC dispatch, `tauri.conf.json`, `package.json`, `Cargo.lock`):** these are choke points. Only one agent per batch may modify any of these. The operator marks the chosen agent as the **schema owner** for the batch; other agents must request the schema owner to land their entry first or defer to the next batch.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Synchronize choke-point files list with script.

The choke-point files listed here don't exactly match CHOKE_POINTS in scripts/agent-batch-overlap.mjs. The script includes Cargo.toml and pnpm-lock.yaml which aren't mentioned in the documentation, and uses full paths (app/package.json, app/src-tauri/tauri.conf.json) for clarity.

📋 Align documentation with script implementation
-**Schema and contract files (`src/core/all.rs`, controller registries, JSON-RPC dispatch, `tauri.conf.json`, `package.json`, `Cargo.lock`):** these are choke points.
+**Schema and contract files** (`src/core/all.rs`, `src/rpc/dispatch.rs`, `app/src-tauri/tauri.conf.json`, `app/package.json`, `Cargo.lock`, `Cargo.toml`, `pnpm-lock.yaml`): these are choke points.

This matches the complete list at lines 44-52 in agent-batch-overlap.mjs.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Schema and contract files (`src/core/all.rs`, controller registries, JSON-RPC dispatch, `tauri.conf.json`, `package.json`, `Cargo.lock`):** these are choke points. Only one agent per batch may modify any of these. The operator marks the chosen agent as the **schema owner** for the batch; other agents must request the schema owner to land their entry first or defer to the next batch.
- **Schema and contract files** (`src/core/all.rs`, `src/rpc/dispatch.rs`, `app/src-tauri/tauri.conf.json`, `app/package.json`, `Cargo.lock`, `Cargo.toml`, `pnpm-lock.yaml`): these are choke points. Only one agent per batch may modify any of these. The operator marks the chosen agent as the **schema owner** for the batch; other agents must request the schema owner to land their entry first or defer to the next batch.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/agent-workflows/cursor-cloud-agents.md` at line 102, Update the
choke-point files list in the docs to match the CHOKE_POINTS constant in
scripts/agent-batch-overlap.mjs: add Cargo.toml and pnpm-lock.yaml and replace
ambiguous names with the full paths used in the script (e.g., app/package.json
and app/src-tauri/tauri.conf.json), ensuring the doc line that currently
mentions `src/core/all.rs`, controller registries, JSON-RPC dispatch,
`tauri.conf.json`, `package.json`, `Cargo.lock` mirrors the exact set and path
formatting from CHOKE_POINTS in agent-batch-overlap.mjs.

Comment on lines +52 to +53
return `Pilot batch for the Cursor Cloud Agents workflow defined in
[\`docs/agent-workflows/cursor-cloud-agents.md\`](../blob/main/docs/agent-workflows/cursor-cloud-agents.md).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix relative documentation links in parent issue body.

The relative path ../blob/main/docs/... won't resolve correctly in GitHub issue bodies. Issue markdown doesn't support directory traversal; it needs repo-relative paths without ../.

🔗 Proposed fix for documentation links
-[\`docs/agent-workflows/cursor-cloud-agents.md\`](../blob/main/docs/agent-workflows/cursor-cloud-agents.md).
+[\`docs/agent-workflows/cursor-cloud-agents.md\`](/tinyhumansai/openhuman/blob/main/docs/agent-workflows/cursor-cloud-agents.md).

Apply the same pattern at line 67:

-Pilot acceptance check (see [\`cursor-cloud-agents.md\`](../blob/main/docs/agent-workflows/cursor-cloud-agents.md#pilot-acceptance-check)):
+Pilot acceptance check (see [\`cursor-cloud-agents.md\`](/tinyhumansai/openhuman/blob/main/docs/agent-workflows/cursor-cloud-agents.md#pilot-acceptance-check)):
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/agent-batch-comments.mjs` around lines 52 - 53, The returned markdown
link in scripts/agent-batch-comments.mjs uses a "../blob/main/docs/..." path
which won't resolve in GitHub issue bodies; update the link to a
repo-root–relative path by removing the "../" (e.g.,
"/blob/main/docs/agent-workflows/cursor-cloud-agents.md" or the correct
repo-root absolute path) and make the same change for the other doc link
referenced at the later template (the second occurrence around line 67) so both
issue-body links are repo-relative.

@CodeGhost21 CodeGhost21 marked this pull request as draft May 14, 2026 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build a parallel Cursor Cloud Agents workflow

1 participant