Skip to content

Namespaces

Namespace is the primary ownership boundary in Konditional. It groups feature declarations, carries the namespace identifier, and fronts the runtime registry used for load and rollback operations.

What a namespace owns

A namespace owns three related things.

  • The declared feature properties
  • The namespace identifier used in feature IDs
  • The runtime registry surface for configuration operations

Because those concerns stay together, a team can start local without inventing a shared global catalog.

Why namespaces matter

Namespaces are how Konditional keeps similar feature names from colliding. Two different namespaces can both declare enabled and still evaluate independently because the full feature identity includes the namespace.

That isolation is visible both at the type level and at runtime.

Declared definitions and loaded state

A namespace always has its declared defaults available. When you later load a runtime Configuration, the namespace combines the declared definitions with the loaded registry state for evaluation.

That means the namespace is useful before remote config and remains the same surface after remote config.

Next steps

Once you are comfortable with namespace ownership, the next useful concept is what actually lives inside a namespace: typed features.