page-template-spec · supabase_json
B2BEA.org V1 Page Template Spec
page-template-spec artifact · for B2BEA.org Rebuild · status approved
Agent Handoff
Start Here
page-template-spec artifact · for B2BEA.org Rebuild · status approved
Completion Evidence
- Every route in route-family-inventory v3 maps to exactly one page family in this spec.
- Each page family defines routes, surface, layout pattern, required components, states, data sources, custom exception rule, QA checks, and acceptance criteria.
- page-template-spec can feed implementation planning without deciding build tasks yet.
- No implementation is authorized by this artifact alone; PLAN/EXEC_PLAN_REVIEW and Justin build approval remain required.
Artifact Shape
- title: B2BEA.org V1 Page Template Spec
- status: draft
- purpose: Convert approved surface decisions and route-family inventory into implementation-ready reusable page family contracts before any rebuild coding or PLAN/build approval.
- version: 1
- redirects: 3 items
- project id: a820dd0c-6cef-4133-bfbd-d802fd806e44
- updated at: 2026-05-07T14:36:17.481Z
- artifact type: page-template-spec
- page families: 26 items
- next artifacts: 3 items
- source summary: route_count: number, by_disposition: object, by_target_surface: object, route_inventory_id: string
- source artifacts: 7 items
Structured Payload
Machine-readable source fields
title
B2BEA.org V1 Page Template Spec
status
draft
purpose
Convert approved surface decisions and route-family inventory into implementation-ready reusable page family contracts before any rebuild coding or PLAN/build approval.
version
1
redirects
| to | from | reason |
|---|---|---|
| /admin/studio | /studio | Decision 3: top-level /studio migrates under single /admin shell. |
| /admin/studio/media | /studio/media | Decision 3: top-level /studio migrates under single /admin shell. |
| /vendor | /vendor-portal | Decision 2: private vendor workspace prefix is /vendor. |
project id
a820dd0c-6cef-4133-bfbd-d802fd806e44
updated at
2026-05-07T14:36:17.481Z
artifact type
page-template-spec
page families
| id | name | routes | states | purpose | surfaces |
|---|---|---|---|---|---|
| admin_module | Admin Module | - /admin - /admin/academy - /admin/academy/course - /admin/academy/lesson - /admin/categories - /admin/companies - /admin/jobs - /admin/users - /admin/vendors | - loading - empty - error - unauthorized - draft - submitted - changes_requested - approved - published/active - archived/removed | Single /admin shell operational modules. | - b2bea_admin |
| admin_publishing_module | Admin Publishing Module | - /studio - /studio/media | - draft - preview - scheduled - published - archived - rolled_back - validation_failed | Publishing/studio module inside /admin. | - b2bea_admin |
| audience_landing_page | Audience Landing Page | - /for/agencies - /for/consultants - /for/distributors - /for/manufacturers - /for/software-providers - /for/vendors | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Audience-specific /for/* and similar landing pages. | - public_site |
| auth_or_account_utility | Auth Or Account Utility | - /checkout - /checkout-success - /confirm-email - /login - /membership-terms - /signup - /terms - /upgrade | - default - submitting - success - error - expired token - already authenticated - unauthorized | Login/signup/confirmation/checkout/legal utility routes. | - auth_account |
| course_catalog | Course Catalog | - /courses | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Public/member course catalog listing. | - public_site |
| course_detail | Course Detail | - /courses/:slug | - anonymous preview - authenticated no access - entitled/enrolled - completed - purchase required | Course detail/enrollment page. | - public_site |
| course_learning_surface | Course Learning Surface | - /courses/lessons/:slug - /courses/modules/challenge - /courses/modules/challenge-feedback - /courses/modules/test | - loading content - in progress - submitted - passed - needs retry - access denied - save failed | Lesson, module, test, challenge, and learning interaction pages. | - public_site |
| directory_index | Directory Index | - /agencies - /consultants - /distributors - /exchange - /exchange/vendor-claim - /leaders - /manufacturers - /people - /software-providers - /vendors/orocommerce | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | People, vendor, exchange, audience/category, and partner directory indexes. | - public_site |
| editorial_detail | Editorial Detail | - /authors/:slug - /blog/:slug - /podcast/:slug | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Article, author, and podcast detail pages. | - public_site |
| editorial_index | Editorial Index | - /blog - /blog/b2b-ecommerce-is-not-a-technology-problem - /insights - /podcast | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Blog, insights, podcast, authors, and other editorial list surfaces. | - public_site |
| event_detail | Event Detail | - /events/:slug | - upcoming - registration_open - sold_out_or_closed - past - archived | Public event detail page. | - public_site |
| event_index | Event Index | - /events | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Public event listing page. | - public_site |
| job_board | Job Board | - /careers | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Public job listing/search page. | - public_site |
| job_detail | Job Detail | - /careers/:slug | - published - expired - archived - apply unavailable | Public job detail page. | - public_site |
| marketing_home_or_landing | Marketing Home Or Landing | - / | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Homepage and major landing surfaces that may carry custom brand/storytelling treatment. | - public_site |
| maturity_assessment_special_flow | Maturity Assessment Special Flow | - /assessments - /assessments/maturity - /assessments/maturity/results - /assessments/maturity/take | - landing - in progress - validation error - submitted - results available - results unavailable/error - returning user if persisted | Current maturity assessment and future domain-specific maturity assessments. | - public_site |
| member_dashboard_or_account | Member Dashboard Or Account | - /account - /dashboard - /dashboard/onboarding - /dashboard/profile - /dashboard/profile/edit - /dashboard/profile/knowledge - /dashboard/welcome | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Private member dashboard, profile, onboarding, account, and settings pages. | - member_portal |
| people_profile_detail | People Profile Detail | - /people/:slug | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Public person/member/leader profile detail pages. | - public_site |
| resource_detail_or_download | Resource Detail Or Download | - /case-studies/:slug - /guides/:slug - /reports/:slug - /resources/2026-b2b-ecommerce-trends - /resources/career-acceleration-kit | - public preview - anonymous gated - authenticated no entitlement - entitled downloadable - download success - download error - archived | Report, guide, case study, resource landing, and download pages. | - public_site |
| resource_index | Resource Index | - /case-studies - /guides - /reports - /resources - /resources/2026-b2b-ecommerce-trends/download - /resources/:category - /resources/career-acceleration-kit/download | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Resources, guides, reports, case studies, and similar resource listing pages. | - public_site |
| standard_marketing_page | Standard Marketing Page | - /about - /contact - /how-we-use-ai - /join - /services - /vendor-application - /vendor-membership | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | About, contact, join, services, vendor application, vendor membership, and similar structured public pages. | - public_site |
| system_generated | System Generated | - /sitemap | - generated - generation_error | Sitemap and other generated/system utility routes. | - public_site |
| topic_index | Topic Index | - /concepts - /topics | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Topic/concept index pages. | - public_site |
| topic_or_concept_detail | Topic Or Concept Detail | - /concepts/:slug - /concepts/ai-product-recommendations-b2b - /topics/ai - /topics/b2b-fundamentals - /topics/customer-adoption - /topics/digital-transformation - /topics/executive-alignment - /topics/technology | - default - loading where data-backed - empty where list-backed - error where API-backed - unauthorized where protected - archived/draft hidden from public where publishable | Topic/concept detail and pillar pages. | - public_site |
| vendor_dashboard | Vendor Dashboard | - /vendor-portal | - loading - empty - unauthorized - active - pending_review - changes_requested - approved - archived - billing_attention | Private /vendor workspace. | - vendor_portal |
| vendor_profile_detail | Vendor Profile Detail | - /exchange/:slug | - published public profile - claimed private draft not public - submitted changes pending review - archived/unpublished | Public vendor profile/detail pages. | - public_site |
next artifacts
- survey-system-spec
- qa-release-readiness-spec
- plan
source summary
route count
97
by disposition
v1 keep
94
redirect
3
by target surface
b2bea admin
11
public site
70
auth account
8
member portal
7
vendor portal
1
route inventory id
2cec821e-07ba-4aca-81fb-078f163adf44
source artifacts
| status | version | artifact id | artifact type |
|---|---|---|---|
| draft | 1 | 05e0ed7c-416a-4d8f-853a-bc3dfa3d64f6 | company-workspace-data-spec |
| draft | 1 | 2f473004-9063-4fe9-8290-5cbd1b19dfb4 | data-model-spec |
| draft | 4 | 4c3651ac-9a69-4117-a355-750b61f540c9 | design-system-spec |
| draft | 1 | 355b3249-3af9-45a4-9c45-67777bd2d72d | entitlement-model-spec |
| draft | 1 | a9636e2f-a4be-4586-82dd-c1a7bf3199fa | publishing-model-spec |
| draft | 3 | 2cec821e-07ba-4aca-81fb-078f163adf44 | route-family-inventory |
| draft | 8 | 77853042-e7a4-48bd-91a4-6e48d0484b1b | surface-specs |
acceptance criteria
- Every route in route-family-inventory v3 maps to exactly one page family in this spec.
- Each page family defines routes, surface, layout pattern, required components, states, data sources, custom exception rule, QA checks, and acceptance criteria.
- page-template-spec can feed implementation planning without deciding build tasks yet.
- No implementation is authorized by this artifact alone; PLAN/EXEC_PLAN_REVIEW and Justin build approval remain required.
global template rules
- Default implementation path is reusable B2BEA design-system components and page families.
- Custom pages are allowed only for home, major campaign/resource landing pages, approved custom HTML imports, and explicitly marked signature editorial features.
- Custom pages still require accessibility, responsive, metadata, analytics, and QA compliance.
- All public publishable pages require canonical URL plus SEO/GEO/social metadata.
- All protected reads/actions require server-side guards; client state cannot grant authorization.
- Admin is a single /admin shell. Publishing/studio is an admin module, not a separate top-level shell.
- Private vendor prefix is /vendor. Private practitioner company prefix is /company. Public practitioner company profiles/directories are not V1.
- Route redirects must preserve SEO/user expectations where public and preserve auth intent where private.
unresolved or follow on
| id | note | topic | status |
|---|---|---|---|
| PTS-FOLLOW-001 | Maturity assessment is V1 as a special reusable maturity-assessment pattern. The broader survey/form engine remains a separate survey-system-spec and should not block the maturity assessment flow. | Standard survey/form engine | separate_spec_needed |
| PTS-FOLLOW-002 | Route inventory classifies families and custom_allowed candidates. Before build, mark exact routes that are approved custom versus standard B2BEA design-system pages. | Exact route-by-route custom markers | route_inventory_review_needed |
| PTS-FOLLOW-003 | No current /company route exists in inventory, but surface decisions require /company as private V1 prefix. Company workspace templates should be added when implementation scope reaches that surface. | Company workspace templates | future_family_needed |