You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Live startup fails: taskDrive is assigned without Cordis provide #1119
Real dsh web host with plugin ds-bot = FlyBot core at a188fa2 (#1115, which closed #1109).
Steps to reproduce
Start dsh web with the FlyBot core plugin at a188fa2.
Wait for the Main Bot setup.
Actual
Startup throws before any Bot loads:
bot (ds-bot): Error: cannot set property "taskDrive" without provide
at Module.install (.../core/src/host/task-drive.js:224)
at createRuntime (.../core/index.js:95)
The UI stays on "Setting up your Main Bot…". core/test/task-drive.test.js still passes because the test context allows a plain assignment.
Expected
The host finishes activating. taskDrive is registered with Cordis provide (the same path as flybot: ctx.provide, then ctx.reflect.provide, then ctx.set, then a plain property). Tests can still read ctx.taskDrive.settled(), .consider(), and set .now.
Where it sits
core/src/host/task-drive.js ends with ctx.taskDrive = { now, settled, consider }. Cordis 4's context proxy throws on that write once the plugin fiber is active. provideFlyBot in core/index.js already handles this for flybot.
Suggested direction
Register the handle with provide instead of removing the test API.
Claim: branch cursor/task-drive-provide-deab. This unblocks live use of #1115 / #1109.
Fixed, closing.#1121 (Register taskDrive with Cordis provide, merged 55d0e6e8) is the fix: the startup throw was taskDrive assigned without a provide, and the plugin now registers it. Nothing else is needed here.
The repro was on core a188fa2, which is why it read as a startup failure rather than a plugin registration order problem.
Activity
Birfy commentedon Oct 25, 2026
Written-by: Triage
Fixed, closing.
#1121(Register taskDrive with Cordis provide, merged55d0e6e8) is the fix: the startup throw wastaskDriveassigned without aprovide, and the plugin now registers it. Nothing else is needed here.The repro was on core
a188fa2, which is why it read as a startup failure rather than a plugin registration order problem.