6.0 KiB
BCC Roadmap — v1.2.0 readiness + what's next (Cowork planning, 2026-07-07)
Written by the Cowork supervisor session. Captures (1) what's ready for the next release, (2) the remaining tracked backlog, and (3) genuinely-missing features worth planning. Priorities are suggestions for AJ, not commitments.
1. v1.2.0 — ready to ship
Five feature branches landed as green, isolated, reviewed PRs (all approved by the
supervisor session; each touches only bcc.py / bcc_core.py / tests/test_core.py
and passes CI):
| PR | Issue | Feature | CI |
|---|---|---|---|
| #25 | #18 + #19 | About dialog (Help menu, repo/issues/license links) + notify-only update checker (__version__, numeric version-compare, fail-quiet Gitea releases fetch, throttled once/day startup check) |
run 160 ✓ |
| #24 | #9 | Restart Claude Desktop button (post-save, Desktop-profile-only, platform-abstracted restart_claude_desktop()) |
run 159 ✓ |
| #23 | #6 | In-app MCP server log viewer (server_log_path(), read-only auto-tailing panel per server) |
run 158 ✓ |
| #22 | #17 | Stale-file detection hardened with size (ConfigStat mtime+size fingerprint) |
run 157 ✓ |
| #21 | #8 | Duplicate-name collision fix — closes a real silent-overwrite on drag-and-drop import | run 164 ✓ |
Combined they take the suite from 92 tests toward ~130+ (each PR adds 3–20 tests).
Merge / release checklist (needs AJ — this is the open decision)
The five branches all edit overlapping regions of bcc.py/bcc_core.py, so they
will not merge cleanly in sequence without conflict resolution:
- Shared conflict: #22/#23/#24/#25 each rewrote the one
_normalize_unicodenon-breaking-space line (all behavior-identical). Merge one, then take that line from any branch for the rest. - Save-flow region: #21 (import prompt), #22 (stale fingerprint), #24 (restart
button) all touch the save path in
bcc.py— review the merged result once. - Version bump: at cut, set both
__version__(bcc_core.py) andpyproject.tomlto1.2.0and updatetest_dunder_version_matches_pyproject. - Release is tag-triggered: push a
v1.2.0tag →.github/workflows/release.ymlbuilds macOS/Windows/Linux and publishes. Don't hand-create the release.
Suggested merge order (least- to most-conflict-prone): #21 → #22 → #23 → #24 → #25. Recommend AJ does the merges + conflict resolution locally (cleaner than the Gitea API for overlapping diffs), or greenlights the supervisor to merge sequentially and patch conflicts on each branch via the API.
2. Remaining tracked backlog (open issues)
Windows-specific — deferred (can't build/test in the Linux/mac sandbox):
- #20 Windows release shows no app icon (P?) — build-config fix in
bcc.spec/release.yml; needs a Windows build to verify. Low risk, cosmetic. - #7 Windows MSIX virtualized-path detection (P1) — config edits silently ignored on MSIX installs. Core path-detection is unit-testable; the runtime behavior needs a real MSIX Windows box. Genuinely valuable (silent failure class).
- #13 Windows process-tree kill is best-effort (P1) — follow-up refinement to #9; hard to verify without Windows.
Deferred by design:
- #5 Cross-client support (Cursor
.cursor/mcp.json, Windsurf~/.codeium/windsurf/mcp_config.json, VS Codeserverskey) — P1 but a behemoth; its own branch, revisit after single-client UX is solid. Not a v1.2 item. - #10 Server catalog / one-click add — P2, design-first. See §3 overlap with search.
3. Genuinely-missing features (not yet tracked) — planning candidates
Grounded against what already exists (enable/disable toggle, duplicate-server,
_disabledMcpServers round-trip, backup/restore, spawn-test, secret masking, JSON
repair pipeline — all shipped, so not repeated here).
P1 candidates
- Server search / filter box. Once a user has many servers (and especially once
#10's catalog lands), there's no way to filter the list. Small, high-utility:
a
QLineEditabove the table filtering by name/command. Pure-ish; testable filter fn in core. - "Test all" / health column. Extends spawn-test (#2) + log viewer (#6): a status dot per server (untested / ok / crashed) and a one-click "test all". Turns three separate features into an at-a-glance dashboard — the single biggest "is my config actually working?" answer.
- Project-level
.mcp.jsondiscovery (Claude Code). Claude Code reads project.mcp.jsonfiles; BCC only sees the global config. Detect and offer to edit the project file when relevant. Previously listed "not in backlog" — worth reconsidering now that Claude Code support is solid.
P2 candidates
${VAR}/.envenvironment-variable expansion. Previously declined (AJ's call). Revisit only if secret-handling demand grows — pairs with keychain below.- OS keychain integration for secrets. Previously declined. Bigger lift; would let env secrets live outside the JSON entirely. Design-first if pursued.
- Config schema/lint for well-known servers. Warn on obvious mistakes (missing
command,argsnot a list, unknown top-level keys) beyond the JSON-repair layer. - Theming / dark-mode follow-through. Style constants (
MUTED/ACCENT/GOOD) already exist; a proper light/dark toggle is a polish item.
Explicitly out (recorded decisions): renaming BCC (deferred until cross-client actually ships — do not raise before then).
4. Suggested next sprint (after v1.2.0 ships)
- Merge + release v1.2.0 (decision above).
- #7 MSIX detection — highest-value untracked-runtime P1; land the testable core path-detection now, gate the runtime behavior behind a Windows verification.
- Server search/filter (§3.1) + Test-all health column (§3.2) — small, high daily-utility, and they compound with the log viewer/spawn-test already in 1.2.
- Design pass on #10 catalog and #5 cross-client (both need design before code).