Technical specs: paper sources, FSC certificate numbers, made-in-Stuttgart claims
These belong to the mp adapter, not the white-label.
Scope
This issue is about decoupling, not generalising the product schema. The Strapi schema (product-covers, product-pages, product-ruling, product-patterns) stays notebook-shaped — generalisation is future work.
Acceptance
Move FEATURE_MODULES + TECHNICAL_SPECS narrative content out of libreshop/shop
libreshop/shop ships generic placeholder feature modules ("High-quality binding", "Premium paper") so the bare image is demonstrable
Adapter overrides via Nuxt layer composable shadowing
Document the override surface (which composable, what shape)
No FSC certificate numbers, no specific paper-mill names, no Stuttgart claims in white-label
Part of https://git.librete.ch/libreshop/shop/issues/2
## Problem
`composables/useProductContent.ts` (lines 1–369) hardcodes notebook-specific feature narratives:
- CoverType enum: "Hardcover" | "Softcover" | "Heft" | "Spiralbindung"
- Feature modules per binding: "Klassische Fadenheftung", "VIVUS 89 Papier", "FSC® C018175"
- Technical specs: paper sources, FSC certificate numbers, made-in-Stuttgart claims
These belong to the mp adapter, not the white-label.
## Scope
This issue is about **decoupling**, not generalising the product schema. The Strapi schema (product-covers, product-pages, product-ruling, product-patterns) stays notebook-shaped — generalisation is future work.
## Acceptance
- [ ] Move FEATURE_MODULES + TECHNICAL_SPECS narrative content out of libreshop/shop
- [ ] libreshop/shop ships generic placeholder feature modules ("High-quality binding", "Premium paper") so the bare image is demonstrable
- [ ] Adapter overrides via Nuxt layer composable shadowing
- [ ] Document the override surface (which composable, what shape)
- [ ] No FSC certificate numbers, no specific paper-mill names, no Stuttgart claims in white-label
Folded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Folded into the single muellerprints.de tracker https://git.librete.ch/libretech/mp/issues/50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #2
Problem
composables/useProductContent.ts(lines 1–369) hardcodes notebook-specific feature narratives:These belong to the mp adapter, not the white-label.
Scope
This issue is about decoupling, not generalising the product schema. The Strapi schema (product-covers, product-pages, product-ruling, product-patterns) stays notebook-shaped — generalisation is future work.
Acceptance
Folded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.