Fix concurrent E2E config contamination: automation-profile bleeds between pabot worker suites #4196

Open
opened 2026-04-07 06:33:26 +00:00 by freemo · 1 comment
Owner

Problem

Two E2E tests interfere with each other under concurrent pabot execution because config set core.automation-profile appears to write to a shared config layer (likely the user-level config, e.g. ~/.config/cleveragents/) rather than the per-suite CLEVERAGENTS_HOME database.

Symptoms

When WF07 E2E CI Profile Configuration and M6 E2E Profile Precedence Plan Overrides Global run concurrently (pabot --processes 2):

  • WF07 sets core.automation-profile = ci, then reads back review (written by M6)
  • M6 Profile Precedence sets core.automation-profile = review, then reads back ci (written by WF07)

Exactly one of the two fails in each CI run depending on timing. Both pass when run in isolation.

Root Cause

config set/config get for core.automation-profile reads/writes a shared global config (not isolated to CLEVERAGENTS_HOME). Each pabot worker uses a separate CLEVERAGENTS_HOME but the config commands bypass it for this key.

Acceptance Criteria

  • config set core.automation-profile writes to and reads from the per-workspace CLEVERAGENTS_HOME database only
  • WF07 E2E CI Profile Configuration and M6 E2E Profile Precedence Plan Overrides Global both pass when run concurrently in pabot
  • PR #4175 — Restore CI quality tests to passing state
  • Issue #4188 — Fix integration tests CLI exit code failures
## Problem Two E2E tests interfere with each other under concurrent pabot execution because `config set core.automation-profile` appears to write to a shared config layer (likely the user-level config, e.g. `~/.config/cleveragents/`) rather than the per-suite `CLEVERAGENTS_HOME` database. ## Symptoms When `WF07 E2E CI Profile Configuration` and `M6 E2E Profile Precedence Plan Overrides Global` run concurrently (pabot `--processes 2`): - **WF07** sets `core.automation-profile = ci`, then reads back `review` (written by M6) - **M6 Profile Precedence** sets `core.automation-profile = review`, then reads back `ci` (written by WF07) Exactly **one** of the two fails in each CI run depending on timing. Both pass when run in isolation. ## Root Cause `config set`/`config get` for `core.automation-profile` reads/writes a **shared global config** (not isolated to `CLEVERAGENTS_HOME`). Each pabot worker uses a separate `CLEVERAGENTS_HOME` but the config commands bypass it for this key. ## Acceptance Criteria - [ ] `config set core.automation-profile` writes to and reads from the per-workspace `CLEVERAGENTS_HOME` database only - [ ] `WF07 E2E CI Profile Configuration` and `M6 E2E Profile Precedence Plan Overrides Global` both pass when run concurrently in pabot ## Related To - PR #4175 — Restore CI quality tests to passing state - Issue #4188 — Fix integration tests CLI exit code failures
Author
Owner

Update: M6 E2E Profile Precedence Plan Overrides Global is now passing on CI — the config isolation appears to be working correctly in the current CI environment. Removed tdd_expected_fail from that test in PR #4175.

WF07 E2E CI Profile Configuration is also passing. Both tests now run as normal passing tests, linked to this issue for tracking the underlying config isolation root cause.

**Update:** `M6 E2E Profile Precedence Plan Overrides Global` is now passing on CI — the config isolation appears to be working correctly in the current CI environment. Removed `tdd_expected_fail` from that test in PR #4175. `WF07 E2E CI Profile Configuration` is also passing. Both tests now run as normal passing tests, linked to this issue for tracking the underlying config isolation root cause.
HAL9000 self-assigned this 2026-04-08 12:12:44 +00:00
HAL9000 added this to the v3.5.0 milestone 2026-04-08 12:12:44 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#4196
No description provided.