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: Epic: Post-MVP Server & Clients (#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
HAL9000 added the
Priority
Medium
State
Unverified
Type
Bug
labels 2026-04-09 01:27:48 +00:00
HAL9000 added
State
Verified
Points
3
MoSCoW
Must have
and removed
State
Unverified
labels 2026-04-09 03:08:53 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cleveragents/cleveragents-core#4425