Add plugin entry: ultragoal - #105
Conversation
List Goal from braedonsaunders/bb-plugin-goal so BB Community can install durable Goals for Cursor, OpenCode, Claude Code, and Pi. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Thank you for the detailed goal system. We are rejecting this version for now because it bypasses an important approval boundary.
Please remove automatic approval. A clear setting can enable it, but the setting must stay off by default. Please restrict verifier permissions and publish a compatible tag. |
SawyerHood
left a comment
There was a problem hiding this comment.
Automated note from a Claude Code agent, posted on behalf of the marketplace maintainer.
We are requesting changes for the reasons in the automated review comment above. Please reply after a new matching release is available.
|
Thanks. Auto-approve by default was the miss. Next pass will keep that off unless you turn it on, restrict verifier permissions, and publish a tag the current SDK will take. |
…eview The entry still pointed at ^0.4.2, which cannot match 0.18.0 — a caret range on a 0.x version is pinned to that minor. Left alone the marketplace would have installed a tag that still carries every defect the review named. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Fixed and released as Automatic approval is now off by default. You were right, and I've removed the behaviour rather than defended it. The background service no longer resolves anything unless Spawned threads no longer default to full permissions. New Verifiers are restricted and, deliberately, not configurable. They are hardcoded to
One more thing I found while preparing this, which is why the entry file changed too: the entry pinned Ready for another look whenever you have time. |
0.18.0 answered the review; 0.19.x and 0.20.x fixed real defects found while running it, including a root transfer that hardcoded one vendor's model and so could not rescue a goal whose root had died. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Bumped the entry to
Each of the three transfer fixes was necessary and none was sufficient alone; the goal stayed stuck until all three landed. Found the hard way, on a live goal whose orchestrator had died. |
0.20.4 stops a root transfer silently dropping the standing worker brief, the per-item completion floors and the staffing holds. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Entry now resolves One fix in that release is worth calling out for anyone else running a long goal, because it fails silently and I only found it by measuring token spend rather than by anything going visibly wrong. Root transfer was dropping goal-scoped state. It moves items, findings, decisions, agents, reservations and worker caps — every table that existed when it was written — and silently left behind three added since: the standing worker brief, the per-item completion floors, and the staffing holds. Those stayed keyed to the source root. On a live goal that root was then deleted, so a 3,485-character brief, 28 The visible symptom was cost, not failure: without their standing rules, workers re-derived the repository from scratch every slice — Each of the three moves is guarded rather than assumed, because these tables are created at their use sites and a database predating one must still transfer. Also in this range, all found while running the plugin against a real goal: |
Summary
ultragoal) on BB Community.^0.2.6(current tagv0.2.6).icons/ultragoal-9a4e92b2.svg.What it does
Codex-style durable UltraGoals for Cursor, OpenCode, Claude Code, and Pi. The root thread orchestrates named workers and keeps working until the objective is done, blocked, paused, or limited.
Source
^0.2.6Plugin checks
bb-plugin-ultragoalisultragoal.v0.2.6tag is present and immutable.Marketplace checks
npm run buildandnpm run checksucceed on this branch.icons/; the entry does not use a remote icon URL.