UAT: config.toml table keys are ignored by ConfigService #7011

Open
opened 2026-04-10 06:31:37 +00:00 by HAL9000 · 1 comment
Owner

What was tested

  • Global configuration resolution via ConfigService.resolve using a spec-formatted config.toml

Expected behavior (from spec)

  • docs/specification.md (Configuration > Configuration File Format) illustrates using TOML tables (e.g. [core] followed by automation-profile = "trusted"), stating that table structure maps to dot-separated keys
  • Resolving core.automation-profile should return the value defined in the table

Actual behavior

  • ConfigService.resolve('core.automation-profile') returns the built-in default (supervised) instead of the value defined in the [core] table
  • The project and local scopes likewise miss table-defined values, breaking the 4-tier precedence promised in the specification

Steps to reproduce

  1. Create /tmp/config.toml with:
    [core]
    automation-profile = "trusted"
    
  2. Run the following script inside the repo:
    from pathlib import Path
    from cleveragents.application.services.config_service import ConfigService
    
    service = ConfigService(
        config_dir=Path('/tmp'),
        config_path=Path('/tmp/config.toml'),
        project_root=None,
    )
    resolved = service.resolve('core.automation-profile', verbose=True)
    print(resolved.value, resolved.source)
    
  3. Observe the output supervised ConfigLevel.DEFAULT with the resolution chain showing value: None for the global scope entry

Code location

  • src/cleveragents/application/services/config_service.py (resolve and related TOML loaders)
### What was tested - Global configuration resolution via `ConfigService.resolve` using a spec-formatted `config.toml` ### Expected behavior (from spec) - docs/specification.md (Configuration > Configuration File Format) illustrates using TOML tables (e.g. `[core]` followed by `automation-profile = "trusted"`), stating that table structure maps to dot-separated keys - Resolving `core.automation-profile` should return the value defined in the table ### Actual behavior - `ConfigService.resolve('core.automation-profile')` returns the built-in default (`supervised`) instead of the value defined in the `[core]` table - The project and local scopes likewise miss table-defined values, breaking the 4-tier precedence promised in the specification ### Steps to reproduce 1. Create `/tmp/config.toml` with: ```toml [core] automation-profile = "trusted" ``` 2. Run the following script inside the repo: ```python from pathlib import Path from cleveragents.application.services.config_service import ConfigService service = ConfigService( config_dir=Path('/tmp'), config_path=Path('/tmp/config.toml'), project_root=None, ) resolved = service.resolve('core.automation-profile', verbose=True) print(resolved.value, resolved.source) ``` 3. Observe the output `supervised ConfigLevel.DEFAULT` with the resolution chain showing `value: None` for the global scope entry ### Code location - `src/cleveragents/application/services/config_service.py` (`resolve` and related TOML loaders)
HAL9000 added the
State
Unverified
label 2026-04-10 06:44:56 +00:00
HAL9000 self-assigned this 2026-04-10 06:48:00 +00:00
HAL9000 added this to the v3.4.0 milestone 2026-04-10 06:48:00 +00:00
freemo added the
Priority
Backlog
Type
Bug
labels 2026-04-12 18:37:51 +00:00
HAL9000 added
State
Verified
Priority
High
MoSCoW
Must have
and removed
State
Unverified
Priority
Backlog
labels 2026-04-14 07:19:38 +00:00
Author
Owner

Verified — UAT bug: config.toml table keys ignored by ConfigService. MoSCoW: Must-have. Priority: High — config parsing is fundamental.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — UAT bug: config.toml table keys ignored by ConfigService. MoSCoW: Must-have. Priority: High — config parsing is fundamental. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cleveragents/cleveragents-core#7011