Feature SSOT
How we maintain product and pricing facts as a single source of truth in the data/ directory.
Overview
Product and pricing facts are maintained as a single source of truth (SSOT) in the
data/
directory of
the selorahomes.com
repository.
The anchor file is
data/features.yaml
.
Every feature is defined once there, and the pricing page, the JSON API at
/api/features/index.json, and the roadmap all read from it. We never hardcode a feature, price,
or tier in a template. We edit the data file and let the change flow everywhere.
Product and pricing data
These files are the SSOT for the product facts they hold. Edit them by hand.
| File | Holds |
|---|---|
features.yaml | Every feature: name, description, status, tiers, capabilities |
tiers.yaml | Subscription tiers, pricing, and limits |
topups.yaml | Selora AI credit top-up packs |
hubs.yaml | Selora Hub hardware variants |
The data/ directory holds other data too (page-content templates, the integration directory,
location lookups), but those are not product feature SSOT and are documented alongside the code
that generates or consumes them.
How to change SSOT data
All changes go through a reviewed Merge Request in the selorahomes.com repository, the same as any other content change.
When a feature’s availability changes, keep its status in features.yaml in step with the
roadmap Epic
workflow state. A feature that
ships moves from status: roadmap to status: available, and the corresponding Epic moves to
workflow::done. See Roadmap Management
for
the Epic side of that sync.
Last modified July 17, 2026: Trim feature SSOT page to product and pricing data (029fa38)