Repository navigation
feat: cursor engine and registry driven fusion (0.0.63) - #71
Merged
Merged
Conversation
…ex and grok companions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
summary
cursorplugin drives the cursor agent cli (cursor-agent2026.10.01-e373342) headlessly with consult, write, and review modes, background jobs, resumable chats, history, a model catalog, and setup. fusion routes it under two protected roles:diversity, a read only consult on a model family no other lane serves (google, meta, moonshot, zhipu, cursor composer), andburst, composer implementation in orchestrator owned worktrees; auto and the claude family are never routedCLAUDE.md, codex and grok skills, and its own rules, skills, plugins, mcp servers, and sandbox policy from fixed home locations that no flag orCURSOR_CONFIG_DIRdisables. the home links only the macos keychain (where the cli keeps its credentials), carries a generatedcli-config.jsonandsandbox.jsonper mode, and holds read only emptypluginsandskills-cursordirs, which also cuts cold start from about 45s to under 10s. the companion passes a per mode--allowed-toolslist, kills a run whose stream shows any other tool (policy), hands the child an allowlisted environment, forwards termination signals to the cursor process group, and reaps its helpers by private homeengines.mjsdescribes each engine (data roots, roles, efforts, family, version field, acceptance ledger, monitor ownership), and job state lookup, acceptance recording, the breaker, stats, the monitor, lane default injection, collector acceptance, and/fusion:configread it instead of branching on codex and grok. both existing companions accept onerecord-acceptanceflag set and gainedmodels --json, which/fusion:config auditnow calls per enginequotaandrate_limitedto a job'sbillingPool, so an exhausted cursor api pool leaves composer open, and opens onsetupas the troubleshooting rules already said; model rows carry afamilyand the rendered table a family column; the panel fills a missing track with a cursordiversityseat on an unseated family before it falls back to deep-reasoner. the reviewable logic lives inplugins/cursor/scripts,plugins/fusion/scripts/lib/engines.mjs,breaker-check.mjs, andfusion-stats.mjs; the cursorstate.mjs,args.mjs,process-identity.mjs, andrender.mjsare adapted ports of the grok modulestest plan
already verified
npm test-> 1419 tests, 1417 pass, 0 fail, 2 skippedclaude plugin validateon plugins/codex, plugins/grok, plugins/cursor, plugins/fusion and the marketplace root -> all passnode --testinside cursor's sandbox (pass 1); review with muse-spark-1.3 at xhigh returned a valid json verdict in 36s; a background job collected throughresult --wait;--resume-lastrecalled the previous reply; a cross processcancelbefore and after init and a sigterm to a foreground companion (exit 143) each left the cursor group gone and the record cancelled~/.claude, and network access are refused; a project.cursor/sandbox.jsonof typeinsecure_noneand a permissive.cursor/cli.jsondo not widen the policyexecinto node breaking the recorded identity, lint tools starting language servers throughnpm exec), also fixedreviewer should verify
/cursor:setupreports the build as tested and authenticated, and/fusion:smokepasses the cursor gate with the job'shomeDirunder the cursor plugin'sruns/directory/cursor:task --writein a repository whose.claude/settings.jsondefines hooks renders thewarning: project hooks run outside the Cursor sandboxlinenotes
orchestration.mdandtroubleshooting.mdadds cursor next to codex and grok (operating model, the family monopoly, the admission ladder, the brief rows, the cursor peer bullet, panel substitution order, the header grammar, the secrets rule, foreground wrappers and background receipts) or generalizes a grok only phrase (grok unavailable:to<engine> unavailable:); no sentence was deleted or softened, and the CONTRIBUTING invariants gained the cursor line/fusion:config; the shipped table carries them only for users without one