Skip to content

refactor: rebuild CCbuddy agent workspace with integrated history - #53

Merged
loadchange merged 2 commits into
mainfrom
refactor/agentic
Sep 24, 2026
Merged

loadchange merged 2 commits into
mainfrom
refactor/agentic

Conversation

@loadchange

Copy link
Copy Markdown
Collaborator

What changed

Rebuild CCbuddy as an agent workspace while carrying forward only the former app's read-only session review and calendar timeline. The sidebar's Calendar / Timeline and Sessions entries now render in the existing window's right-hand main region. The history reader discovers Claude Code, Codex CLI, Qoder CLI, Grok Build, GitHub Copilot CLI, and Antigravity CLI sessions without changing their source files.

The history boundary uses a versioned read-only protocol, producer-specific adapters, approved source roots, rebuildable catalog projections, bounded parsing, and a refresh stream with one terminal result. The agent workspace uses user-configured model services only; a fresh profile asks for a provider instead of using an inherited account or gateway. Persistent app data lives under ~/.ccbuddy.

This also restores the original CCbuddy sprout-and-CC artwork, removes inherited product branding from source and packaged assets, continues the app version at 2.0.12, and adds pnpm/Electron PR checks plus a tag-triggered macOS signing, notarization, and update-manifest release workflow. The release workflow publishes only after a complete signed artifact set passes verification.

Validation

  • pnpm typecheck, pnpm fmt:check, and pnpm architecture:check --changed passed.
  • pnpm lint passed with 0 errors and 48 existing warnings.
  • History library tests: 11 passed. Main-region history navigation test: 1 passed. About/update branding tests: 5 passed. Release/update policy tests: 10 passed.
  • Built and visually checked the signed local 2.0.12 app; ZIP and DMG version/signature checks passed, and the original logo displays fully in the sidebar and About window.
  • Staged paths and text have zero matches for the inherited product name.

Release note

The local 2.0.12 artifacts use ad hoc signing. Online updates become available only after a Developer ID signed, notarized v2.0.12 release is published from main; this PR does not publish a release. The new workflow references existing repository Apple secrets, whose values can only be verified during its first GitHub Actions run. Guardian and an OS process sandbox are outside this history feature.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Cron validation leaks scheduled timers, crash capture is disabled when ARMS is unconfigured, and the SSH harness documents the wrong image tag.

Get a fresh assessment by requesting another Copilot review.

Review effort: Balanced
Findings: 1 Medium severity · 1 Low severity

Open (2)
What changed in this PR

Rebuilds CCbuddy around the Electron agent workspace, retaining read-only session history while removing legacy Tauri/native surfaces and adding supporting protocol, provider, remote, UI, and tooling infrastructure.

Changes:

  • Adds shared contracts, workspace utilities, provider/runtime helpers, and history integration.
  • Expands Electron/web assets, UI compatibility layers, remote tooling, and CLI packages.
  • Removes obsolete Tauri/native artifacts and introduces updated build/configuration scaffolding.
File Description
src-tauri/​** Removes the legacy Tauri application and configuration.
native/​** Removes obsolete native project artifacts.
packages/​{web,desktop/​src/​renderer}/​public/​material-icons/​*.svg Adds synchronized file-type icon assets.
packages/​ui/​src/​** Adds UI exports, guards, helpers, asset declarations, and workspace behavior.
packages/​shared/​src/​** Adds shared protocol, schema, identity, scheduling, and settings contracts.
packages/​services/​src/​** Adds service adapters, automation validation, storage metadata, and local-only APIs.
packages/​server/​src/​** Adds server exports and proxy-aware remote asset networking.
packages/​provider{,-node}/​** Adds provider package configuration and public exports.
packages/​model-option-map/​** Introduces the model-option mapping package.
packages/​history/​** Adds history package configuration and contract example.
packages/​formal-proof/​** Adds the conversation state-space development application.
packages/​desktop/​** Adds Electron entry points, telemetry/bootstrap helpers, configuration, and updater metadata.
packages/​client/​src/​index.ts Defines the client package public surface.
packages/​rpc/​src/​channels.ts Defines channel-related public exports.
packages/​ccbuddy-server-cli/​** Adds server CLI exports and error contracts.
packages/​ccbuddy-cua/​** Adds fail-closed Computer Use compatibility placeholders.
apps/​ccbuddy-cli/​** Adds CLI workspace configuration, contracts, adapters, tooling, and documentation.
harness/​remote/​** Adds a Docker-based SSH test harness.
config/​default.json Configures GitHub feedback and community links.
.github, .vscode, .agents, and root configuration files Establishes CI, editor, architecture, runtime, and formatting configuration.
scripts/​prepare-prebuilds.sh Delegates prebuild preparation to the canonical Node implementation.
docs/​.nojekyll Disables Jekyll processing for generated documentation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/desktop/src/main/appCrashCaptureBootstrap.ts Outdated
Comment thread harness/remote/README.md Outdated
@loadchange

Copy link
Copy Markdown
Collaborator Author

I checked the Cron timer warning in the review overview. The validator constructs new Cron(expr) without a callback. In the current Croner 10.0.1 implementation, scheduling occurs only when a callback is supplied. Instrumenting 100 constructor/nextRun() calls observed zero scheduled timers, so this path does not leak timers and does not need a code change.

@loadchange
loadchange merged commit 0023118 into main Sep 24, 2026
2 checks passed
@loadchange
loadchange deleted the refactor/agentic branch September 24, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants