Skip to content

Release v4.201.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 17:13
45d49dd

Changed

  • The canonical screen-composition/v1 corpus carries the ui profile root template vectors (the uiprofile-root-* set of the Scene shared fixtures): ui-profile-root-positive (own layout, own application-scope screen template and blueprint template with a version pin as the root template, shell options, appearance, new screens default), ui-profile-root-legacy-layout, and the rejection vectors ui-profile-root-unknown (PLAY0790, PLAY0792, PLAY0798), ui-profile-root-not-a-shell (PLAY0794, PLAY0795, PLAY0799) and ui-profile-root-invalid (PLAY0796, PLAY0797), with their exact diagnostics pinned. Every vector prints canonically, compiles again and round trips through syntax JSON losslessly in C#; the TypeScript compiler reads them all and reports the legacy layout line (PLAY0791) like the C# compiler does. Docs: the ui profile page describes the conversion contract and the corpus (#827)
  • MCP: the new read tool ui-profiles returns each ui profile's root template with its pin and options, the appearance, the new screens default, the legacy layout line and the shell diagnostics, plus the own templates applicable as the root template or the new screens default and the accepted appearance values. The compiler's own rules back it (ProfileShellValidator), so a refused edit and the read agree. The edits are the typed nodes RootTemplateSyntax, ShellOptionSyntax, ProfileAppearanceSyntax and NewScreenTemplateSyntax through read-ast/propose-ast, which refuse an invalid reference with its PLAY0790-PLAY0799 code. The when_authoring_the_ui_profile_shell transcript runs on the corpus vector; tool reference, authoring guide and the contract golden are updated (part of #828)