sunriseme/bamboo-engine
51.6
Weak · 22 September 2026
31.4k
lines of production code
Python
primary language
6
measurements over time
What this system is
This system is a Python-based workflow and pipeline execution engine designed to manage the scheduling, state tracking, and conditional routing of distributed tasks. It provides a robust framework for defining complex process flows, including parallel and exclusive gateways, while ensuring data integrity through comprehensive graph validation and cycle detection. The architecture supports both synchronous execution and asynchronous scheduling via Celery, with deep integration into Django for state persistence and monitoring.
Features
Add ERI and pipeline engine data models
Introduces new Django models for the ERI (Execution Runtime Interface) and pipeline engine, including \Process\, \Node\, \State\, \Schedule\, \Data\, \ExecutionData\, \CallbackData\, \ContextValue\, \ContextOutputs\, and \ExecutionHistory\ in \pipeline/eri/models.py\, alongside supporting model files for runtime, handlers, and function switches. These changes provide the underlying database schema and data structures required for tracking and managing pipeline execution states, scheduling, and data persistence.
python · high confidence
Add utility modules for boolean rule evaluation, graph processing, and Mako template safety
The \bamboo\_engine/utils\ package now includes several new modules: a boolean rule parser and evaluator (\boolrule\), a graph cycle detection utility (\graph\), and a comprehensive set of tools for safely parsing and validating Mako templates (\mako\_utils\), which restricts dangerous Python operations in templates. Additionally, helper classes for collections (\collections\), string manipulation (\string\), object representation (\object\), and constants (\constants\) have been added to support engine operations.
_bamboo\engine/utils · high confidence
Added pipeline validation logic in the bamboo\_engine.validator module
The bamboo\_engine/validator package was introduced, providing a new validation framework for pipeline graphs. This includes core validation functions for graph connections, cycle detection, and gateway/stream consistency, along with supporting utilities and rule definitions for node types and edges.
_bamboo\engine/validator · high confidence
Initial benchmark data and visualization scripts for execution and preparation scenarios
Added benchmark data and visualization files for multiple scenarios: execution of single flow with multiple nodes, multi-flow execution, horizontal scaling, and task preparation for multi-flow and single-flow scenarios. Each scenario includes CSV data files, chartshaper configuration files, and JavaScript rendering scripts using G2Plot to visualize performance metrics such as execution time and concurrency.
benchmark · high confidence
Initial project scaffolding and configuration files
The repository was initialized with essential configuration and documentation files, including \.coveragerc\ for Python code coverage, \.flake8\ for code style enforcement, \.gitignore\ for build artifacts, and \tox.ini\ for multi-Python-version testing. Additionally, the project was documented with \README.md\ and \README\_en.md\ files, and a \release.md\ changelog was added to track version history.
(repo-wide) · high confidence
Introduce interrupt and node model classes for the engine
Added new model classes to the engine's internal representation: interrupt handling via \InterruptEvent\, \ExecuteInterruptEvent\, and \ScheduleInterruptEvent\; interrupt points with \InterruptPoint\, \ExecuteInterruptPoint\, and \ScheduleInterruptPoint\ (including \HandlerExecuteData\ and \HandlerScheduleData\ for serializing execution state); and node definitions including \NodeType\ and \Node\ subclasses (\EmptyStartEvent\, \ConvergeGateway\, \EmptyEndEvent\, \ParallelGateway\, \ConditionalParallelGateway\, \ExclusiveGateway\) along with \Condition\ and \DefaultCondition\ for branch logic.
_bamboo\engine/eri/models · high confidence
Support for exclusive, conditional parallel, and parallel gateways in the engine
The engine now supports ExclusiveGateway, ConditionalParallelGateway, and ParallelGateway nodes, each with dedicated handlers that evaluate conditions or dispatch parallel branches. The builder layer was updated to construct these gateway types and their associated flow elements, and the handlers implement the execution logic for routing process flow based on condition evaluation or parallel execution.
_bamboo\engine/handlers · high confidence
Behavioural changes
Added licensing and code-style configuration for the bamboo-pipeline module
The bamboo-pipeline module now includes an MIT license file, a .flake8 configuration to standardize Python code style (ignoring specific warnings like W503 and E203), and a MANIFEST.in file to exclude test files from distribution packages. These changes improve legal compliance, enforce consistent coding standards, and refine package distribution contents.
runtime/bamboo-pipeline · high confidence
bamboo-pipeline 3.21.0 release
The bamboo-pipeline library has been updated to version 3.21.0. This release includes various bug fixes, such as resolving pipeline runtime admin page search errors, fixing Redis instance reading issues under override\_settings, and addressing conditions where flow\_id is missing in condition checks. It also introduces new features like exclusive gateway and conditional parallel gateway support for default branches, support for Django 3, and the addition of pre\_service\_execute and pre\_service\_schedule signals. Additionally, the update includes support for ERI 4.0 runtime, optional input variable rendering exemption configurations, S3 importer virtual\_path mode, and various optimizations to task dispatch retries and log tracing.
_bamboo\engine, runtime/bamboo-pipeline/pipeline · high confidence
Test coverage
Added ERI chaos testing infrastructure; Added comprehensive chaos and benchmark tests for the pipeline engine; Added end-to-end test suite for the Bamboo Pipeline runtime; Added test coverage for engine execution, scheduling, and context handling; Added test suite for the pipeline runtime; Added tests for ERI models and handlers; Added tests for the interrupter components; Added tests for the validator module; Added unit tests for engine utility modules.
Dependencies
Initialize Python dependency management with Poetry and lockfiles
The project introduces formal Python dependency management by adding \poetry.lock\ and \pyproject.toml\ files for the \bamboo-engine\ and \bamboo-pipeline\ packages. This establishes a reproducible build environment, pinning specific versions for core dependencies such as \celery\, \Django\, and \bamboo-engine\ (v2.5.0), ensuring consistent runtime behavior across environments.
(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
Score
- CAI 45 → 52 (+6.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 81 → 89 (+7.7)
- Architecture 100 → 87 (-13.4)
- Maturity 54 → 54 (-0.1)
- Readiness 46 → 39 (-6.4)
- Security 34 → 58 (+24.1)
Resolved (101)
- ComponentTestMixin.test_component (cognitive 30) (runtime/bamboo-pipeline/pipeline/component_framework/test.py)
- Coverage not included — suite not readable by the collector
- Critical CVE: [GHSA redacted] (runtime/bamboo-pipeline/poetry.lock)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (bamboo_engine/template/template.py)
- Duplicated block (10 lines × 2) (bamboo_engine/validator/gateway.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/component_framework/constant.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/contrib/periodic_task/tasks.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/contrib/periodic_task/tasks.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/eri/imp/state.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/utils/http.py)
- Duplicated block (11 lines × 2) (bamboo_engine/handlers/conditional_parallel_gateway.py)
- Duplicated block (11 lines × 2) (bamboo_engine/utils/string.py)
- Duplicated block (11 lines × 2) (bamboo_engine/validator/gateway.py)
- Duplicated block (11 lines × 2) (bamboo_engine/validator/gateway.py)
- Duplicated block (11 lines × 2) (runtime/bamboo-pipeline/pipeline/eri/runtime.py)
- Duplicated block (12 lines × 2) (bamboo_engine/utils/boolrule/boolrule.py)
- Duplicated block (12 lines × 2) (bamboo_engine/utils/graph.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/engine/core/schedule.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/eri/imp/state.py)
- …and 81 more
New (144)
- Critical CVE: [GHSA redacted] (runtime/bamboo-pipeline/poetry.lock)
- Documentation: no project overview (README.md)
- Duplicated block (10 lines × 2) (bamboo_engine/template/template.py)
- Duplicated block (10 lines × 2) (bamboo_engine/utils/mako_utils/code_extract.py)
- Duplicated block (10 lines × 2) (runtime/bamboo-pipeline/pipeline/component_framework/constant.py)
- Duplicated block (11 lines × 2) (bamboo_engine/utils/boolrule/boolrule.py)
- Duplicated block (11 lines × 2) (runtime/bamboo-pipeline/pipeline/contrib/periodic_task/tasks.py)
- Duplicated block (11 lines × 2) (runtime/bamboo-pipeline/pipeline/engine/core/schedule.py)
- Duplicated block (11 lines × 2) (runtime/bamboo-pipeline/pipeline/utils/http.py)
- Duplicated block (11 lines × 3) (runtime/bamboo-pipeline/pipeline/eri/imp/state.py)
- Duplicated block (12 lines × 2) (bamboo_engine/builder/builder.py)
- Duplicated block (12 lines × 2) (bamboo_engine/builder/flow/base.py)
- Duplicated block (12 lines × 2) (bamboo_engine/utils/boolrule/boolrule.py)
- Duplicated block (12 lines × 2) (bamboo_engine/utils/string.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/builder/builder.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/core/flow/gateway.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/eri/imp/state.py)
- Duplicated block (12 lines × 2) (runtime/bamboo-pipeline/pipeline/eri/runtime.py)
- Duplicated block (12 lines × 3) (bamboo_engine/handlers/converge_gateway.py)
- Duplicated block (13–15 lines × 3) (bamboo_engine/handlers/empty_end_event.py)
- …and 124 more
Architecture
- Unchanged — 0 containers · 1 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
sunriseme/bamboo-engine 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 db1956a8b1987bfa98f0b3a056224d2ab917099f — 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.