| #500 |
Performance: Regex not pre-compiled (semver)
api/blueprints/v1/apps.py:69-70 - Regex pattern compiled on every app version creation. FIX: Pre-com...
|
closed |
low |
2025-12-17 02:57 |
- |
|
| #499 |
Performance: Regex compiled inside hot path (steps)
api/blueprints/v1/steps.py:377 - re.compile() called on every log search request. FIX: Module-level ...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #498 |
Memory: Days filter unbounded query DoS
api/blueprints/v1/workflows.py:814-885 - No upper bound on days param. User can request days=36500 l...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #497 |
Memory: DataShard table unbounded loading
api/blueprints/v1/logs.py:90-119 - _read_table_to_pandas loads ENTIRE parquet tables. No pagination ...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #496 |
Race: Workflow definition hash collision
api/blueprints/v1/workflows.py:236-256 - Concurrent submissions of same workflow can fail. FIX: Use ...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #495 |
Race: App installation duplicate
api/blueprints/v1/tenant_apps.py:174-200 - TOCTOU in SELECT-then-INSERT. Concurrent installs cause 5...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #494 |
Race: Signal duplicate send without idempotency
api/blueprints/v1/signals.py:33-64 - Concurrent POST /signals can create duplicate signals. FIX: Add...
|
closed |
medium |
2025-12-17 02:57 |
- |
|
| #493 |
Race: Approval double-processing
api/blueprints/v1/approvals.py:88-122 - Concurrent approve requests can both succeed, sending duplic...
|
closed |
high |
2025-12-17 02:57 |
- |
|
| #492 |
Performance: Synchronous subprocess blocks event loop
api/blueprints/v1/workflows.py:115-122 - subprocess.run() blocks async handler for up to 10s. Stalls...
|
closed |
high |
2025-12-17 02:57 |
- |
|
| #491 |
Performance: N+1 query in queue analytics
api/blueprints/v1/analytics.py:63-68 - Database query inside loop for each queue. 50 queues = 51 que...
|
closed |
high |
2025-12-17 02:57 |
- |
|
| #490 |
Performance: JWT config fetched from Vault on EVERY request
api/oauth_handlers/oauth2.py:128 - get_oauth2_config() fetches 4 secrets from Vault on every authent...
|
closed |
high |
2025-12-17 02:57 |
- |
|
| #489 |
Memory: Vault cache expired entries never proactively removed
engine/config.py:82 - _vault_cache entries checked on read but expired entries never proactively cle...
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #488 |
Performance: Sensitive keywords list recreated in loops
engine/apps/executor.py:841 and engine/services/event_gateway_service.py:625 - List literal ['secret...
|
closed |
low |
2025-12-17 02:25 |
- |
|
| #487 |
Performance: len() with list comprehension in agent.py
engine/tools/agent.py:303 - len([h for h in history if ...]) builds list just to count. FIX: sum(1 f...
|
closed |
low |
2025-12-17 02:25 |
- |
|
| #486 |
Performance: Inefficient double iteration in secret_manager cache eviction
engine/services/secret_manager.py:342 - List comprehension extracts keys from already-converted list...
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #485 |
Performance: Unnecessary list() in activity_worker futures
engine/services/activity_worker.py:605 - list(futures_snapshot.items()) on already-snapshotted dict....
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #484 |
Performance: Unnecessary list() in db.py singleton cleanup
engine/db.py:532 - list(SingletonMeta._instances.values()) when no modification during iteration. FI...
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #483 |
Race Condition: SidecarTelemetry __init__ attribute race
engine/sidecar_telemetry.py:74-90 - Singleton __init__ called every time. _initialized check not ato...
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #482 |
Performance: Regex not pre-compiled in durable_context.py
engine/durable_context.py:1621 - Regex pattern compiled inline. FIX: Pre-compile at module level.
|
closed |
medium |
2025-12-17 02:25 |
- |
|
| #481 |
Performance: Regex not pre-compiled in activity_context.py
engine/activity_context.py:151-160 - resolve_variable_references() compiles regex on every call. Hot...
|
closed |
high |
2025-12-17 02:25 |
- |
|