UAT: core.namespace configuration key missing from Settings — spec-required default namespace override not implemented #4425

Open
opened 2026-04-08 12:31:48 +00:00 by HAL9000 · 0 comments
Owner

Metadata

  • Branch: feat/core-namespace-config-key
  • Commit Message: feat(config): add core.namespace setting for configurable default namespace prefix
  • Milestone: Backlog
  • Parent Epic: #399

Bug Report

What was tested: The core.namespace configuration key as specified in ADR-002 and the CleverAgents specification.

Expected behavior (from spec, ADR-002):

The core.namespace configuration key controls the default namespace prefix applied when creating entities without an explicit namespace.

The spec states that when no namespace is specified, local is used unless the user has configured core.namespace to a different value. This allows users to set their personal or org namespace as the default, so they don't need to type myorg/ every time.

Actual behavior:
The Settings class in src/cleveragents/config/settings.py has NO core.namespace (or equivalent) field. The default namespace is hardcoded as "local" in:

  • src/cleveragents/domain/models/core/plan.py line 250: namespace = "local"
  • src/cleveragents/domain/models/core/project.py line 47: DEFAULT_NAMESPACE = "local"

There is no way for users to configure a different default namespace via environment variable or config file.

Code location: src/cleveragents/config/settings.py — no default_namespace or core_namespace field exists.

Impact: Users who work primarily in a personal or org namespace (e.g., freemo/ or cleverthis/) must always specify the full namespace prefix when creating entities. The spec's promise of a configurable default namespace is not delivered.

Expected fix: Add a default_namespace field to Settings:

default_namespace: str = Field(
    default="local",
    validation_alias=AliasChoices(
        "CLEVERAGENTS_NAMESPACE",
        "CLEVERAGENTS_DEFAULT_NAMESPACE",
    ),
    description="Default namespace prefix (maps to spec's core.namespace config key). "
                "Used when creating entities without an explicit namespace.",
)

And use this setting in parse_namespaced_name() and NamespacedName.parse() when no namespace is specified.

Spec reference: ADR-002, Resolution Rules section:

  1. If the namespace is omitted, local is used (configurable via core.namespace).

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Metadata - **Branch**: `feat/core-namespace-config-key` - **Commit Message**: `feat(config): add core.namespace setting for configurable default namespace prefix` - **Milestone**: Backlog - **Parent Epic**: #399 ## Bug Report **What was tested:** The `core.namespace` configuration key as specified in ADR-002 and the CleverAgents specification. **Expected behavior (from spec, ADR-002):** > The `core.namespace` configuration key controls the default namespace prefix applied when creating entities without an explicit namespace. The spec states that when no namespace is specified, `local` is used **unless** the user has configured `core.namespace` to a different value. This allows users to set their personal or org namespace as the default, so they don't need to type `myorg/` every time. **Actual behavior:** The `Settings` class in `src/cleveragents/config/settings.py` has NO `core.namespace` (or equivalent) field. The default namespace is hardcoded as `"local"` in: - `src/cleveragents/domain/models/core/plan.py` line 250: `namespace = "local"` - `src/cleveragents/domain/models/core/project.py` line 47: `DEFAULT_NAMESPACE = "local"` There is no way for users to configure a different default namespace via environment variable or config file. **Code location:** `src/cleveragents/config/settings.py` — no `default_namespace` or `core_namespace` field exists. **Impact:** Users who work primarily in a personal or org namespace (e.g., `freemo/` or `cleverthis/`) must always specify the full namespace prefix when creating entities. The spec's promise of a configurable default namespace is not delivered. **Expected fix:** Add a `default_namespace` field to `Settings`: ```python default_namespace: str = Field( default="local", validation_alias=AliasChoices( "CLEVERAGENTS_NAMESPACE", "CLEVERAGENTS_DEFAULT_NAMESPACE", ), description="Default namespace prefix (maps to spec's core.namespace config key). " "Used when creating entities without an explicit namespace.", ) ``` And use this setting in `parse_namespaced_name()` and `NamespacedName.parse()` when no namespace is specified. **Spec reference:** ADR-002, Resolution Rules section: > 2. If the namespace is omitted, `local` is used (configurable via `core.namespace`). --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.5.0 milestone 2026-04-08 17:42:46 +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#4425
No description provided.