A product can point at a set of capabilities that does not exist #99

Open
opened 2026-09-21 07:18:29 +00:00 by cgalo5758 · 0 comments
Owner

What a contributor runs into

The column that links a product to the capability set it confers, core.products.entitlement_set_id, is a bare nullable identifier with no foreign key, while the product-catalog specification describes it as a foreign key. The sibling column on core.pool_provisions does carry one, so the two read as inconsistent and only the application refuses a set that is not there.

Why it costs

Any writer other than the console can store a product pointing at nothing, and the failure surfaces at conferral rather than at the write. A contributor reading the specification cannot tell whether the prose or the schema is the binding statement.

Where

internal/db/migrations/00001_init.sql, the products table; openspec/specs/product-catalog/spec.md.

Done when

Either the column carries the foreign key, or the specification states that enforcement is application-side and says why the two sibling columns differ.

Migrated from status/issues.md at b7a0e15

## What a contributor runs into The column that links a product to the capability set it confers, `core.products.entitlement_set_id`, is a bare nullable identifier with no foreign key, while the product-catalog specification describes it as a foreign key. The sibling column on `core.pool_provisions` does carry one, so the two read as inconsistent and only the application refuses a set that is not there. ## Why it costs Any writer other than the console can store a product pointing at nothing, and the failure surfaces at conferral rather than at the write. A contributor reading the specification cannot tell whether the prose or the schema is the binding statement. ## Where [`internal/db/migrations/00001_init.sql`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/db/migrations/00001_init.sql), the products table; [`openspec/specs/product-catalog/spec.md`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/openspec/specs/product-catalog/spec.md). ## Done when Either the column carries the foreign key, or the specification states that enforcement is application-side and says why the two sibling columns differ. Migrated from status/issues.md at b7a0e15
cgalo5758 added the
kind
debt
area/entitlementsarea/catalog
labels 2026-09-21 07:18:29 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#99