Purpose
SHOP compiles the public projection aggregate.
Every service that declares a SHOP.md file contributes to the public surface. SHOP walks SERVICES/**/SHOP.md and {USER}/**/SHOP.md to compile a governed catalog of everything safe to show the world. The compiled aggregate powers the public frontend.
Structure
Aggregator SERVICE scope. No governed child scopes.
Content lanes (plural): BLOGS/, BOOKS/, PAPERS/, DECKS/, CHAT/.
Discovery: walk SERVICES/**/SHOP.md (filesystem-first, UPPERCASE per LANGUAGE).
Required closure artifacts per scope:
CANON.md, README.md, SHOP.md, VOCAB.md, ROADMAP.md, COVERAGE.md, LEARNING.md.
Routes
web_docs: https://hadleylab-canonic.github.io/
web_surface: https://hadleylab-canonic.github.io/SERVICES/SHOP/
magic: magic://hadleylab-canonic.github.io/SERVICES/SHOP/
Compilation Contract
1. Walk all SHOP.md files in SERVICES/ and {USER}/ trees
2. Extract front matter metadata from each SHOP.md
3. Compile aggregate catalog (title, scope, date, excerpt per entry)
4. Emit _data/shop.json for Jekyll consumption
5. Frontend renders catalog at SHOP surface route
6. Validation gate: only SHOP-safe content passes (no VAULT, no PRIVATE)
Ecosystem Connectivity
- Upstream: every service with a SHOP.md file contributes to the aggregate.
- Downstream: compiled catalog at
_data/shop.jsonconsumed by Jekyll frontend. - Gate:
validate-designensures no private content leaks into SHOP aggregate. - Frontend: governed catalog surface at SERVICES/SHOP/ route.
Pages
| Page | Sections |
|---|---|
| Overview | Purpose, Structure |
| Compilation | Routes, Compilation Contract |
| Ecosystem | Ecosystem Connectivity |
Default: Overview.
| *SHOP | SPEC | SERVICES* |