Add Thread Organizer example plugin - #2263
Open
brsbl wants to merge 7 commits into
Open
Conversation
ymichael
added a commit
that referenced
this pull request
Aug 21, 2026
## What was wrong `MachinesSettingsSection` loads host rows and sidebar project metadata through independent asynchronous queries. The test waited only for `MacBook Pro` from `sdk.hosts.list`, then synchronously queried for `2 projects` from the still-independent sidebar bootstrap. When the host query won that race, the rendered row still showed `0 projects`, producing the same `TestingLibraryElementError` in [PR #2262's app-1 job](https://github.com/get-bb/bb/actions/runs/32530493567) and [PR #2263's app-1 job](https://github.com/get-bb/bb/actions/runs/32530498050). ## What changed The project-count assertion now uses awaited `findByText`, synchronizing the test with the sidebar query that owns the value. The following `1 project` assertion remains synchronous because both counts are derived from the same resolved sidebar payload. No product behavior, assertion coverage, wire contract, CLI, or documentation surface changed. ## How you verified - Reproduced the exact failure before the fix by temporarily delaying only the sidebar response by 50 ms: the host row rendered with `0 projects`, and the test failed at the `2 projects` assertion. With the assertion fix under the same forced ordering, the test passed. The temporary delay is not committed. - `pnpm exec turbo run test --filter=@bb/app --force -- --run src/components/settings/MachinesSettingsSection.test.tsx` — 12/12 passed. - `pnpm exec turbo run test --filter=@bb/app --force` — 418 files passed; 3,244 tests passed and 3 skipped. - `pnpm exec turbo run typecheck --filter=@bb/app --force` — clean. - `pnpm exec turbo run build --filter=@bb/app --force` — clean. - `git diff --check` — clean. Fixes # — no linked issue. BB-Thread-ID: thr_qarynse2fs > AGENT GENERATED: by GPT-5.6-Sol
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.
What was wrong
The repository had no complete reference consumer for plugin-owned thread workflows, leaving native section icons/actions, runtime skill slots, protected unread routing, and durable sidebar ordering demonstrated only as disconnected primitives. The organizer skill also treated the remembered stage too much like a semantic classification even though new threads mechanically inherit the first configured non-Inbox stage until the user or
bb organizer phasemoves them. Finally, the settings description aligned its text box to the list panel's bounding edge, which left the visible capitalRinside the rounded corner instead of on the corner's tangent.What changed
update_plandoes not move the bb workflow stage.rounded-lgradius token (with the host's0.5remfallback), then hang Inter's measured capital-Rsidebearing (180/2048em) so its visible ink edge lands on the panel corner's tangent without an arbitrary pixel nudge.@get-bb/plugin-sdk#build:types, so a clean checkout generates the bundled SDK declarations before checking the example.PluginAgentConfiguration.skillsasstring[], keepexperimental_skillSlotsoptional and experimental, and leave shared/default SDK artifacts plusPLUGIN_SDK_VERSIONat0.4.10. Only this example declares the plannedengines.bbPluginSdk >=0.4.11capability floor; no SDK 0.4.10 artifacts are vendored or relabeled.Before — parent PR head
be87f190After — workflow feature evidence at
0d6967a96Final optical-alignment detail — exact final head
fe815c9dcHow you verified
bb-plugin-thread-organizer-exampleand all upstream tasks (6/6 combined test/typecheck tasks).pnpm bb:dev plugin build examples/plugins/thread-organizer.examples/plugins/thread-organizer/types/files after the build and confirmed a clean worktree.git diff --check be87f190be2ac7c69b9112048875f91600f83fc6..fe815c9dc36d5886faca106106dd5e2b0792e129.421px, itsrounded-lgradius is8px, and its corner tangent is429px; the capitalR's predicted visible ink edge is429.001953125px, a0.001953125pxdelta.r/icon.json, the Machines settings2 projectsexpectation, and Machine settings response-body reuse (reported in two app shards/check groups).Fixes # — no linked issue.
BB-Thread-ID: thr_eibej5m9xw