Foundry API Compatibility Matrix

Purpose

Foundry needs a frozen builder/runtime API contract before implementation because datasource orchestration, versioned app editing, publish flows, and custom extensibility all depend on stable resource boundaries.

Major Resource Coverage

Resource Compatibility expectation Notes
workspaces or organizationsTop-level tenancy, settings, and membership-aware administration APIsThis is the root scope for all app-builder assets.
appsApplication CRUD, metadata, and editor bootstrap APIsThe core builder entry point must be scriptable.
pagesPage CRUD, ordering, navigation metadata, and runtime lookup APIsPages define both editor structure and runtime routing.
widgetsWidget tree CRUD, layout metadata, and property-binding APIsThe matrix freezes widget-level automation expectations.
datasourcesConnection configuration, health, and permission-aware access APIsDatasources need stable identifiers for seeded fixtures.
queriesQuery CRUD, execution metadata, and binding-friendly result contractsQueries anchor data-driven builder flows.
JavaScript objectsEmbedded logic-unit APIs for reusable client-side behaviorThese must be addressable as first-class builder resources.
branches or versionsVersion-history, branch creation, comparison, and restore APIsCollaboration depends on explicit version-aware contracts.
deploymentsPublish, release metadata, and runtime-target APIsBuilder and runtime state must stay linked but distinct.
permissionsEditor, viewer, and runtime-consumer access control APIsPermission semantics need to remain deterministic for benchmarks.

Datasource and Integration Coverage

Datasource or adapter Compatibility expectation Freeze notes
Postgres-compatible SQL sourceStructured datasource config plus query execution and schema accessThe first SQL benchmark path should target this contract.
MySQL-compatible SQL sourceStructured datasource config plus query execution and schema accessKeep parameterization and connection metadata aligned with Postgres.
REST API datasourceHTTP request configuration, auth metadata, and response binding supportNeeded for common app-builder integration flows.
Git integrationBranch-aware sync, import, or publish hooks for app definitionsFreeze the seam even if early implementations are minimal.
custom widget packagingRegistration, versioning, and runtime loading metadata for extensible widgetsRequired to preserve the custom-widget parity boundary.

Builder Integration Notes