Bethsaida compatibility

Legacy pages can become governed, static-ready React surfaces.

Headers, article sections, ValuesOS blocks, calls to action, testimonials, and footer chrome now converge on the shared runtime.

Bethsaida-era page content should not need a pixel-identical Gatsby rebuild to remain useful. Ensemble preserves the practical page semantics, validates modern contracts, and renders compatibility paths for known legacy shapes.

Composable page sections

ValuesOS source blocks and Ensemble-native blocks can sit together in one page contract.

CMS-authored layout

Block JSON stays portable across WordPress, static builds, and React runtime installs.

Contract-governed capture

Every public block declares the data shape that editors and adapters must provide.

Themeable texture

Design pattern variants and theme JSON change the feel without changing content.

Single legacy feature

feature_block can render as a themed card even when the source payload is a single feature.

Single legacy feature

feature_block can render as a themed card even when the source payload is a single feature.

Three legacy proof points

Schema-backed

Legacy feature sections now have concrete contracts.

Theme-aware

Theme component overrides flow through the shared appearance boundary.

Runtime-shared

The same wrapper renders in Next, static output, and WordPress runtime.

Offset feature list

Adapter-friendly

The wrapper tolerates old item naming without requiring CMS payload churn.

Evidence-rich

Theme Lab and roadmap tests can prove status instead of relying on docs.

Legacy flex row

A row layout alias should keep nested blocks portable while using the shared surface wrapper.

Row containers preserve side-by-side narrative blocks for legacy marketing sections.

Row default

flex_row now resolves to a row layout unless content explicitly overrides it.

Row default

flex_row now resolves to a row layout unless content explicitly overrides it.

Legacy flex column

Column wrappers remain stacked by default for mobile-safe migrations.

Column containers are treated as semantic surfaces with nested legacy content.

How it works

01

Keep structure

The wrapper preserves nested page intent.

02

Apply theme

Surface-level component overrides still flow through.

Legacy grid

Grid aliases should receive a grid layout without CMS payload changes.

Grid item one keeps the same nested block shape.

Proof

The grid wrapper can host proof content as a nested child.
Migration QA
Render paths3

WordPress, static build, and React package runtime.

Contract sources122

Ensemble, ValuesOS, Bethsaida legacy, and shadcn primitives.

Unknown blocks0

Legacy contracts receive support classifications.

How it works

Migration steps

01

Classify

Known Bethsaida blocks receive explicit runtime and roadmap status.

02

Promote

High-value aliases move from compatibility to dedicated semantic wrappers.

How it works

Parity timeline

01

Contracts become concrete.

02

Theme Lab proves each wrapper.

03

Static and WordPress parity stay visible.

Proof

We can keep our CMS workflow and still ship a modern app-like surface.
Pilot operatorGrowth lead, ValuesOS
The page contract gives engineering a shared language with content and design.
Implementation partnerPlatform engineer, Cloud Elephants

Proof

Legacy testimonial

The old payload shape still renders as a first-class proof section.
Migration leadOperator, Cloud Elephants

Proof

We can graduate practical compatibility without rewriting every page by hand.
Pilot engineerPlatform

Proof

Theme evidence is now attached to the block family, not hidden in a one-off route.
Theme operator

Prepare a pilot page

Use this route to prove that Bethsaida-style marketing content can render from the shared runtime without custom Next-only components.

Legacy chrome and listing wrappers

Runtime-only compatibility wrappers now have concrete contracts and Theme Lab evidence.

Jordan LeeMigration lead, Cloud Elephantsready

Legacy logo cloud

NorthstarFoundryBeacon

Launch kit

$49

A single product card proves listing-card contract support.

migrationtheme
View

Legacy product grid

Launch kit

$49

Ready-to-style product tile.

Care plan

$19

Recurring support tile.

Summary

Title card contract

Title-card payloads are now schema-backed and themeable.

7Wrappers
Bethsaidalisting

Share the parity proof

Legacy social CTA blocks now render primary and supporting actions through the conversion wrapper.