Move settled investigation records into
`status/explorations/<topic>-<date>/` with README indexes,
promote durable conventions to `docs/`, and add
`docs/identifiers.md` plus upstream Doc 46 person-name
provenance documents. Update cross-references and archive
resolved issues.
Replace the entity slugs on organizations, workspaces, resource pools,
and
plan ladders with nullable `key` columns and add keys to products,
prices,
and entitlement sets. Rename `providers.slug` to `provider` and add
partial
unique indexes for system and org role names.
Assign invoice numbers per billing account from a gapless transactional
counter; Stripe's number moves to the invoice mapping as an external
reference.
Seeds, fixtures, and the operator lookup address rows by key, and the
returning-login resync no longer blanks a display name when the IdP
sends
no `name` claim.
Write the eight domain-model cards under `docs/models/`, mark M10 10i
Done, and update the design docs to v16. Also records Doc 44, which
ratifies Decisions 129-133 as amended, and the Doc-39 conformance
check that satisfied its gate.
Introduce `docs/models/` with the catalog index and its first card
(product-catalog), recording invariants, dimensions, and drift traps
per the Decision 141 documentation division. Add the model-cards
openspec change (proposal, design, spec, tasks) and sync the design
docs to v15: product kind taxonomy dissolved (Decisions 134–139),
Decisions 140–141 ratified, and product/pricing helpers updated. The
catalog is the single descriptive home for as-built models.
- Remove per-module projection files (README, architecture, companion,
interfaces, model) under design/<module>/
- Add design/documents/ with numbered design docs, references, policies,
and manifest
- Update design/README.md to describe the directory as a mirror of
membcons-db's normative surfaces
- Record Decisions 140-141 in companion and glossary; update
data-model.md schema organization
Reparent product_entitlement_rules into the entitlements module as
entitlement_set_rules and introduce entitlement_sets. Update schemas and
docs: products now reference entitlement_set_id; pool_provisions carry
entitlement_set_id instead of product_id; interfaces, counts, and
companion decisions adjusted accordingly.