Skip to content

feat(core,dom): rename recipe → Pattern — phase 4 (internal helper surface)#1066

Merged
zachshallbetter merged 1 commit into
mainfrom
feat/pattern-rename-phase4-core-internals
Jul 10, 2026
Merged

feat(core,dom): rename recipe → Pattern — phase 4 (internal helper surface)#1066
zachshallbetter merged 1 commit into
mainfrom
feat/pattern-rename-phase4-core-internals

Conversation

@zachshallbetter

Copy link
Copy Markdown
Owner

Phase 4 of the recipe → Pattern rename — the JS internal-helper surface, so the whole JS API reads Pattern.

The remaining recipe-named exported helpers are renamed to Pattern, each with a @deprecated alias of the old name (removed at 1.0). Types (BodyPattern, PatternTier, AccessibilityPattern, the registrations, …), consts (PATTERN_TIERS, PATTERN_CONTRACTS), functions (validatePattern, serializePattern, patternById, …), and bindData gains a pattern option (the recipe option is read as a deprecated fallback). Every old name still works — purely additive.

Intentionally unchanged (invisible plumbing, not concept surface): the recipes/ source folder, apply-recipe.ts, data/recipes.json, and the RelationshipSource 'recipe' value tag.

Verified: core build + 930 tests, dom 171 tests, check:api / check:docs / check:recipes green. Ports mirror + site + docs prose follow in separate PRs.

…urface)

Completes the recipe -> Pattern rename on the JS side: the remaining recipe-named
EXPORTED helpers become Pattern-named, each with a @deprecated alias of the old name
(removed at 1.0) so nothing breaks:
- types: BodyPattern, RelationshipPattern, AccessibilityPattern, PatternTier,
  PatternStatus, PatternProblem, PatternTierGroup, PatternRenderPlan,
  Pattern{Body,Relationship}Registration, PatternFeedbackBinding,
  PatternReducedMotionPlan, PatternAuthoring, PatternFieldTarget (dom)
- consts: PATTERN_TIERS, PATTERN_CONTRACTS
- fns: validatePattern, serializePattern, patternById, patternBodyAttributes,
  patternRenderPlan, patternToMarkup, patternAuthoring
- bindData gains a  option (recipe read as a deprecated fallback)

Intentionally unchanged (invisible plumbing, not concept surface): the recipes/ source
folder, apply-recipe.ts, data/recipes.json, and the RelationshipSource 'recipe' value tag.

Verified: core build + 930 tests, dom 171 tests, check:api / check:docs / check:recipes green.
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
fundamental-engine Ready Ready Preview Jul 10, 2026 9:52pm

Request Review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e3aa8d7653

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

/** @deprecated Renamed to {@link PatternStatus}. */ export type RecipeStatus = PatternStatus;
/** @deprecated Renamed to {@link PatternProblem}. */ export type RecipeProblem = PatternProblem;
/** @deprecated Renamed to {@link validatePattern}. */ export const validateRecipe = validatePattern;
/** @deprecated Renamed to {@link serializePattern}. */ export const serializeRecipe = serializePattern;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add the missing parsePattern alias

With serializePattern now exported as the canonical name, the JSON round-trip path still cannot be written using Pattern names because this alias block leaves parseRecipe as the only parser export. Callers migrating off deprecated recipe terminology must import parseRecipe for parseRecipe(serializePattern(...)), so the additive rename is incomplete for this helper surface.

Useful? React with 👍 / 👎.

@zachshallbetter
zachshallbetter merged commit df0c537 into main Jul 10, 2026
16 checks passed
@zachshallbetter
zachshallbetter deleted the feat/pattern-rename-phase4-core-internals branch July 10, 2026 22:00
zachshallbetter added a commit that referenced this pull request Jul 10, 2026
…ports (phase 4) (#1067)

Phase 4 of the recipe -> **Pattern** rename, mirrored to the Swift +
Kotlin ports so the whole stack's helper surface reads *Pattern*.

Same helper family as the JS side (#1066): `BodyRecipe`->`BodyPattern`,
`RecipeProblem`->`PatternProblem`, `validateRecipe`->`validatePattern`,
the registrations, etc. **Clean rename, no deprecation aliases** — the
ports have no external consumers (0.x preview), so nothing needs the old
names (the JS packages keep aliases because the site imports them).
Internal refs all migrated.

Verified: `swift build` + `swift test` (**234 tests** incl. the
cross-plane conformance golden) and Kotlin `:fundamental-core:test
:lab:test` (**217 tests**) green.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant