Skip to content
CAI
Software that uses CAICheck a score

browser-use/bubus

62.1

Adequate · 22 September 2026

2.9k

lines of production code

Python

primary language

7

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a Python-based event bus library named 'bubus', designed to manage asynchronous event processing for a browser-use agent. It provides core capabilities for event enqueueing, handler registration, and parent-child event tracking, with built-in support for concurrency control via semaphores and graceful shutdown mechanisms. The implementation relies on Pydantic for data validation and includes comprehensive testing to ensure reliability in handling nested event hierarchies and system overload scenarios.

Features

Initial Cursor IDE configuration for Python development

Added initial configuration files for the Cursor IDE to streamline Python development. The setup includes launch configurations for debugging the current file and running pytest with verbose output, along with settings that enforce strict type checking, enable automatic formatting and import organization on save using Ruff, and disable variable type inlay hints.

.cursor · high confidence

Introduce bubus event bus library for browser-use agent

Adds the bubus package, an event bus implementation for the browser-use agent. This includes the core EventBus service with a custom CleanShutdownQueue to prevent asyncio warnings during shutdown, BaseEvent and EventResult models with support for child event tracking and generic type hints, and helper utilities for logging event trees and managing system overload via semaphores. The library also introduces a retry decorator with multiprocess semaphore support and configurable logging levels.

bubus · high confidence

Test coverage

Added comprehensive test suite for EventBus core features

Added a new test suite covering EventBus initialization, event enqueueing, handler registration, and execution order. Tests verify parent-child event tracking, timeout enforcement with nested event hierarchies, and the event\_bus property access within handlers. The suite also includes tests for automatic event\_result\_type extraction from generic parameters, name conflict resolution with garbage collection, and logging history tree output.

tests · high confidence

Dependencies

Initial release of bubus event bus library

This change introduces the bubus project, an advanced Pydantic-powered event bus with async support, establishing the initial package structure and dependencies. The Python package (pyproject.toml) defines a minimum Python version of 3.11 and includes runtime dependencies such as aiofiles, anyio, portalocker, pydantic, typing-extensions, and uuid7. It also sets up a development environment with tools like ruff, pyright, pytest, and pre-commit. Additionally, a Node.js lock file (package-lock.json) is added, specifying TypeScript 5.8.3 and the uuidv7 library.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.

Score

  • CAI 57 → 62 (+5.5)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 82 → 87 (+4.8)
  • Architecture 100 → 100 (+0.0)
  • Maturity 49 → 54 (+4.9)
  • Readiness 50 → 55 (+5.2)
  • Security 66 → 76 (+10.1)

Resolved (12)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • No exposed public API
  • Off-boarding risk: anonymized user #1
  • Test reliability not included
  • test_stress_20k_events.test_20k_events_with_memory_control (cognitive 21) (tests/test_stress_20k_events.py)

New (25)

  • Dependency hygiene PARTLY measured — Python dependencies read, no exact pin to grade for currency
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no usage examples (README.md)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • High: security finding (details withheld)
  • …and 5 more

Changes since last survey

  • 1 commits — 1 feature/other, 0 fixes

By area

  • .github/workflows — 1 commit

Notable commits

  • change: Pin automated review to an available Sonnet model (#37)

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

browser-use/bubus was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit de1519b9f09a80546b42f56311e700896d3bb8fa — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.