# 0007 — Product name is configuration, not a namespace

**Status:** Accepted · 2026-08-01

## Context

The commercial product name was not settled when development began (decision D10
in `docs/ARCHITECTURE.md` §19). The usual approach — bake the name into the PHP
vendor namespace — makes that an open question capable of blocking the first line
of code, and a rename later a repository-wide search-and-replace across every
file, every import and every module.

## Decision

Namespaces are generic and permanent: `App\` for core, `Modules\<Name>\` for
features. The product name, short name, vendor, support contacts and version live
in `config/clinic.php` under `product`, sourced from environment variables.

Every user-facing surface reads `config('clinic.product.name')`.

## Consequences

**Good.** Naming, and even white-labelling per reseller, is an environment
change. Nothing blocked on a marketing decision. The version string has one
source of truth, which the updater, the licence heartbeat and the diagnostics
page all read.

**Bad.** Slightly less self-documenting than a branded namespace. A negligible
price for never having to rename a namespace across forty modules and hundreds of
deployed installations.
