B2BEA.org V1 Page Template Spec
B2BEA.org V1 Page Template Spec Source of record: RedKey Supabase Studio artifact. Project: B2BEA.org Rebuild Project ID: a820dd0c 6cef 4133 bfbd d802fd806e44 Artifact: page template spec Artifact ID: 427c04a9 40b7 4e55 a642 65b2aee20b2b Version: 1 Status: draft Updated: 2026 05 07T14:36:17.821277+00:00 Purpose Convert approved surface decisions and route fa...
Source of record: RedKey Supabase Studio artifact.
- Project:
B2BEA.org Rebuild - Project ID:
a820dd0c-6cef-4133-bfbd-d802fd806e44 - Artifact:
page-template-spec - Artifact ID:
427c04a9-40b7-4e55-a642-65b2aee20b2b - Version:
1 - Status:
draft - Updated:
2026-05-07T14:36:17.821277+00:00
Convert approved surface decisions and route-family inventory into implementation-ready reusable page family contracts before any rebuild coding or PLAN/build approval.
draft
| id | name | routes | states | purpose | surfaces | qa_checks | disposition | | --- | --- | --- | --- | --- | --- | --- | --- | | 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 | desktop and mobile screenshot pass, no horizontal overflow, text does not overlap controls/content, keyboard/focus states for interactive controls, metadata present for public pages, route returns expected status/redirect | v1_keep | | 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 | desktop and mobile screenshot pass, no horizontal overflow, text does not overlap controls/content, keyboard/focus states for interactive controls, metadata present for public pages, route returns expected status/redirect | redirect | | audience_landing_page |
- 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.
- 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.
- survey-system-spec
- qa-release-readiness-spec
- plan
| 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 |
| 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. |
``json
{
"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"
}
``
| 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 |