yugoo-design 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/README.md +4 -4
  2. package/bin/npm-desktop-preparation.mjs +5 -0
  3. package/package.json +20 -2
  4. package/payload/desktop-preparation/materials.json +180 -2
  5. package/payload/desktop-preparation/qwenwork-package.mjs +4 -0
  6. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/index.md +143 -0
  7. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/material.json +1 -0
  8. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  9. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  10. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  11. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  12. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  13. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  14. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  15. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  16. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  17. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  18. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  19. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  20. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  21. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  22. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  23. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  24. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  25. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  26. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  27. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  28. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  29. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  30. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  31. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  32. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  33. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  34. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  35. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  36. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  37. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  38. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  39. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  40. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  41. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  42. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  43. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  44. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  45. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  46. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  47. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  48. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  49. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  50. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  51. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  52. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  53. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  54. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  55. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  56. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  57. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  58. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  59. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  60. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  61. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  62. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  63. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  64. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  65. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  66. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  67. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  68. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  69. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  70. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  71. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  72. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  73. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  74. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  75. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  76. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  77. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  78. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  79. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  80. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  81. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  82. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  83. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  84. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  85. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  86. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  87. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  88. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  89. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  90. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  91. package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  92. package/payload/desktop-preparation/qwenwork-template/skills/design-bundle-creator/SKILL.md +19 -0
  93. package/payload/desktop-preparation/qwenwork-template/skills/design-kit-creator/SKILL.md +19 -0
  94. package/payload/desktop-preparation/qwenwork-template/skills/design-skill-creator/SKILL.md +19 -0
  95. package/payload/desktop-preparation/src/browser-access.mjs +6 -9
  96. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/index.md +143 -0
  97. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/material.json +1 -0
  98. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  99. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  100. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  101. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  102. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  103. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  104. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  105. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  106. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  107. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  108. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  109. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  110. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  111. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  112. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  113. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  114. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  115. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  116. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  117. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  118. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  119. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  120. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  121. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  122. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  123. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  124. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  125. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  126. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  127. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  128. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  129. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  130. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  131. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  132. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  133. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  134. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  135. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  136. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  137. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  138. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  139. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  140. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  141. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  142. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  143. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  144. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  145. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  146. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  147. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  148. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  149. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  150. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  151. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  152. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  153. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  154. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  155. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  156. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  157. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  158. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  159. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  160. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  161. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  162. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  163. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  164. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  165. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  166. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  167. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  168. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  169. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  170. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  171. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  172. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  173. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  174. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  175. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  176. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  177. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  178. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  179. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  180. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  181. package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  182. package/payload/desktop-preparation/studio-authoring-template/skills/design-bundle-creator/SKILL.md +19 -0
  183. package/payload/desktop-preparation/studio-authoring-template/skills/design-kit-creator/SKILL.md +19 -0
  184. package/payload/desktop-preparation/studio-authoring-template/skills/design-skill-creator/SKILL.md +19 -0
  185. package/payload/overlays/claude-code/.claude-plugin/plugin.json +1 -1
  186. package/payload/overlays/claude-code/authoring/studio-creators/index.md +143 -0
  187. package/payload/overlays/claude-code/authoring/studio-creators/material.json +1 -0
  188. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  189. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  190. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  191. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  192. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  193. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  194. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  195. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  196. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  197. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  198. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  199. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  200. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  201. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  202. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  203. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  204. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  205. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  206. package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  207. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  208. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  209. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  210. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  211. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  212. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  213. package/payload/overlays/claude-code/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  214. package/payload/overlays/claude-code/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  215. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  216. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  217. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  218. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  219. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  220. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  221. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  222. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  223. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  224. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  225. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  226. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  227. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  228. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  229. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  230. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  231. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  232. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  233. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  234. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  235. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  236. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  237. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  238. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  239. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  240. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  241. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  242. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  243. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  244. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  245. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  246. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  247. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  248. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  249. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  250. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  251. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  252. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  253. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  254. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  255. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  256. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  257. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  258. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  259. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  260. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  261. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  262. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  263. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  264. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  265. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  266. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  267. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  268. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  269. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  270. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  271. package/payload/overlays/claude-code/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  272. package/payload/overlays/claude-code/skills/design-bundle-creator/SKILL.md +19 -0
  273. package/payload/overlays/claude-code/skills/design-kit-creator/SKILL.md +19 -0
  274. package/payload/overlays/claude-code/skills/design-skill-creator/SKILL.md +19 -0
  275. package/payload/overlays/codex/.codex-plugin/plugin.json +1 -1
  276. package/payload/overlays/codex/authoring/studio-creators/index.md +143 -0
  277. package/payload/overlays/codex/authoring/studio-creators/material.json +1 -0
  278. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  279. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  280. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  281. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  282. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  283. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  284. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  285. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  286. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  287. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  288. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  289. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  290. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  291. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  292. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  293. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  294. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  295. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  296. package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  297. package/payload/overlays/codex/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  298. package/payload/overlays/codex/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  299. package/payload/overlays/codex/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  300. package/payload/overlays/codex/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  301. package/payload/overlays/codex/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  302. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  303. package/payload/overlays/codex/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  304. package/payload/overlays/codex/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  305. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  306. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  307. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  308. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  309. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  310. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  311. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  312. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  313. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  314. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  315. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  316. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  317. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  318. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  319. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  320. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  321. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  322. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  323. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  324. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  325. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  326. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  327. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  328. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  329. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  330. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  331. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  332. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  333. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  334. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  335. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  336. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  337. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  338. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  339. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  340. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  341. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  342. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  343. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  344. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  345. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  346. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  347. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  348. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  349. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  350. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  351. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  352. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  353. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  354. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  355. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  356. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  357. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  358. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  359. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  360. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  361. package/payload/overlays/codex/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  362. package/payload/overlays/codex/skills/design-bundle-creator/SKILL.md +19 -0
  363. package/payload/overlays/codex/skills/design-kit-creator/SKILL.md +19 -0
  364. package/payload/overlays/codex/skills/design-panel/SKILL.md +5 -0
  365. package/payload/overlays/codex/skills/design-skill-creator/SKILL.md +19 -0
  366. package/payload/overlays/codex/skills/yugoo/SKILL.md +34 -1
  367. package/payload/overlays/qoder/.qoder-plugin/plugin.json +1 -1
  368. package/payload/overlays/qoder/authoring/studio-creators/index.md +143 -0
  369. package/payload/overlays/qoder/authoring/studio-creators/material.json +1 -0
  370. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  371. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  372. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  373. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  374. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  375. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  376. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  377. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  378. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  379. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  380. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  381. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  382. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  383. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  384. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  385. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  386. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  387. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  388. package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  389. package/payload/overlays/qoder/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  390. package/payload/overlays/qoder/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  391. package/payload/overlays/qoder/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  392. package/payload/overlays/qoder/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  393. package/payload/overlays/qoder/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  394. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  395. package/payload/overlays/qoder/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  396. package/payload/overlays/qoder/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  397. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  398. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  399. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  400. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  401. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  402. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  403. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  404. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  405. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  406. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  407. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  408. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  409. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  410. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  411. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  412. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  413. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  414. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  415. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  416. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  417. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  418. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  419. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  420. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  421. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  422. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  423. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  424. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  425. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  426. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  427. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  428. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  429. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  430. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  431. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  432. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  433. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  434. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  435. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  436. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  437. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  438. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  439. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  440. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  441. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  442. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  443. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  444. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  445. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  446. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  447. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  448. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  449. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  450. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  451. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  452. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  453. package/payload/overlays/qoder/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  454. package/payload/overlays/qoder/skills/design-bundle-creator/SKILL.md +19 -0
  455. package/payload/overlays/qoder/skills/design-kit-creator/SKILL.md +19 -0
  456. package/payload/overlays/qoder/skills/design-skill-creator/SKILL.md +19 -0
  457. package/payload/shared/authoring/panel-components.json +1345 -1041
  458. package/payload/shared/authoring/studio-creators/index.md +143 -0
  459. package/payload/shared/authoring/studio-creators/material.json +1 -0
  460. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/SKILL.md +53 -0
  461. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/agents/openai.yaml +4 -0
  462. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/assets/skill.template.yaml +40 -0
  463. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/bundle-checklist.md +55 -0
  464. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/canvas-authoring.md +74 -0
  465. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/cooperation-authoring.md +52 -0
  466. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/panel-authoring.md +367 -0
  467. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/references/validation-authoring.md +154 -0
  468. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +267 -0
  469. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/list-panel-components.mjs +25 -0
  470. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/SKILL.md +28 -0
  471. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/agents/openai.yaml +4 -0
  472. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/kit-checklist.md +40 -0
  473. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-kit-creator/references/mindset-authoring.md +55 -0
  474. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/SKILL.md +38 -0
  475. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/agents/openai.yaml +4 -0
  476. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/assets/method-template.md +38 -0
  477. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/references/standards.md +94 -0
  478. package/payload/shared/authoring/studio-creators/source/.agents/skills/design-skill-creator/scripts/render-state-contract.mjs +33 -0
  479. package/payload/shared/authoring/studio-creators/source/docs/a2ui-component-catalog-contract.md +69 -0
  480. package/payload/shared/authoring/studio-creators/source/docs/bundle-contract.md +632 -0
  481. package/payload/shared/authoring/studio-creators/source/docs/dsl-spec.md +1411 -0
  482. package/payload/shared/authoring/studio-creators/source/docs/panel-uiux-standard.md +891 -0
  483. package/payload/shared/authoring/studio-creators/source/docs/system-design-baseline.md +898 -0
  484. package/payload/shared/authoring/studio-creators/source/docs/wiki/extending.md +343 -0
  485. package/payload/shared/authoring/studio-creators/source/docs/wiki/terminology.md +57 -0
  486. package/payload/shared/authoring/studio-creators/source/examples/community-workshop-delivery/mindset.md +23 -0
  487. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/SKILL.md +92 -0
  488. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/panel.yaml +145 -0
  489. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/artifact-contract.md +151 -0
  490. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/canvas-guide.md +40 -0
  491. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/example.json +24 -0
  492. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/reference/preview.json +24 -0
  493. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/schema.yaml +67 -0
  494. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/business_data/validation.yaml +92 -0
  495. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/SKILL.md +217 -0
  496. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/THIRD_PARTY_NOTICES.md +58 -0
  497. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/reference/artifact-contract.md +195 -0
  498. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/schema.yaml +177 -0
  499. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/design_style/validation.yaml +48 -0
  500. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/SKILL.md +428 -0
  501. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/artifact-contract.md +44 -0
  502. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/bpmn_authoring.md +200 -0
  503. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/reference/canvas-guide.md +39 -0
  504. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/schema.yaml +61 -0
  505. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/flow_design/validation.yaml +64 -0
  506. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/SKILL.md +142 -0
  507. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/artifact-contract.md +204 -0
  508. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/canvas-guide.md +52 -0
  509. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/reference/preview.json +32 -0
  510. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/schema.yaml +93 -0
  511. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/function_modules/validation.yaml +21 -0
  512. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/SKILL.md +545 -0
  513. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/artifact-contract.md +164 -0
  514. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/canvas-guide.md +45 -0
  515. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/reference/task-to-page-method.md +82 -0
  516. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/schema.yaml +118 -0
  517. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/page_design/validation.yaml +104 -0
  518. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/SKILL.md +513 -0
  519. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/reference/artifact-contract.md +77 -0
  520. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/schema.yaml +61 -0
  521. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/research/validation.yaml +74 -0
  522. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/SKILL.md +196 -0
  523. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/artifact-contract.md +186 -0
  524. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/canvas-guide.md +38 -0
  525. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/reference/example.json +90 -0
  526. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/schema.yaml +59 -0
  527. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/role_access/validation.yaml +147 -0
  528. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/SKILL.md +202 -0
  529. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/reference/artifact-contract.md +245 -0
  530. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/schema.yaml +93 -0
  531. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/smart_questions/validation.yaml +17 -0
  532. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/SKILL.md +306 -0
  533. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/reference/artifact-contract.md +140 -0
  534. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/schema.yaml +38 -0
  535. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/web_app_prd_assembly/validation.yaml +24 -0
  536. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/SKILL.md +54 -0
  537. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/artifact-contract.md +56 -0
  538. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/canvas-guide.md +39 -0
  539. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/drawing-method.md +78 -0
  540. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/reference/geometry.md +79 -0
  541. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/schema.yaml +18 -0
  542. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/bundles/whiteboard/validation.yaml +18 -0
  543. package/payload/shared/authoring/studio-creators/source/packages/skills-web-app/kits/web_app/mindset.md +345 -0
  544. package/payload/shared/bundles/ai_agent_capabilities/locales/en-US.json +1 -1
  545. package/payload/shared/bundles/ai_agent_capabilities/locales/zh-CN.json +1 -1
  546. package/payload/shared/bundles/business_data/locales/en-US.json +1 -1
  547. package/payload/shared/bundles/business_data/locales/zh-CN.json +1 -1
  548. package/payload/shared/bundles/business_rules/locales/en-US.json +1 -1
  549. package/payload/shared/bundles/business_rules/locales/zh-CN.json +1 -1
  550. package/payload/shared/bundles/design_style/locales/en-US.json +1 -1
  551. package/payload/shared/bundles/design_style/locales/zh-CN.json +1 -1
  552. package/payload/shared/bundles/flow_design/locales/en-US.json +1 -1
  553. package/payload/shared/bundles/flow_design/locales/zh-CN.json +1 -1
  554. package/payload/shared/bundles/function_modules/locales/en-US.json +1 -2
  555. package/payload/shared/bundles/function_modules/locales/zh-CN.json +1 -2
  556. package/payload/shared/bundles/function_modules/panel.yaml +1 -1
  557. package/payload/shared/bundles/integration_design/locales/en-US.json +1 -1
  558. package/payload/shared/bundles/integration_design/locales/zh-CN.json +1 -1
  559. package/payload/shared/bundles/notification_design/locales/en-US.json +1 -1
  560. package/payload/shared/bundles/notification_design/locales/zh-CN.json +1 -1
  561. package/payload/shared/bundles/page_design/locales/en-US.json +1 -1
  562. package/payload/shared/bundles/page_design/locales/zh-CN.json +1 -1
  563. package/payload/shared/bundles/quality_acceptance/locales/en-US.json +1 -1
  564. package/payload/shared/bundles/quality_acceptance/locales/zh-CN.json +1 -1
  565. package/payload/shared/bundles/research/SKILL.md +38 -4
  566. package/payload/shared/bundles/research/locales/en-US.json +1 -1
  567. package/payload/shared/bundles/research/locales/zh-CN.json +1 -1
  568. package/payload/shared/bundles/research/reference/artifact-contract.md +31 -0
  569. package/payload/shared/bundles/research/reference/preview.json +1 -1
  570. package/payload/shared/bundles/research/skill.yaml +1 -1
  571. package/payload/shared/bundles/research/validation.yaml +3 -0
  572. package/payload/shared/bundles/role_access/locales/en-US.json +1 -1
  573. package/payload/shared/bundles/role_access/locales/zh-CN.json +1 -1
  574. package/payload/shared/bundles/smart_questions/locales/en-US.json +1 -1
  575. package/payload/shared/bundles/smart_questions/locales/zh-CN.json +1 -1
  576. package/payload/shared/bundles/web_app_prd_assembly/locales/en-US.json +1 -1
  577. package/payload/shared/bundles/web_app_prd_assembly/locales/zh-CN.json +1 -1
  578. package/payload/shared/bundles/whiteboard/locales/en-US.json +1 -1
  579. package/payload/shared/bundles/whiteboard/locales/zh-CN.json +1 -1
  580. package/payload/shared/kits/web_app/kit.yaml +1 -1
  581. package/payload/shared/kits/web_app/mindset.md +1 -1
  582. package/payload/shared/knowledge/runtime-manifest.json +3 -2
  583. package/payload/shared/knowledge/runtime.mjs +19 -26
  584. package/payload/shared/scripts/{codex-connection-DuV2wtkn.mjs → codex-connection-1RvU1XCj.mjs} +115 -68
  585. package/payload/shared/scripts/codex-desktop-bridge.mjs +2 -2
  586. package/payload/shared/scripts/{connection-file-Dk1TJHgf.mjs → connection-file-CNwrHbAG.mjs} +3 -1
  587. package/payload/shared/scripts/{content-archive-4UdioMU9.mjs → content-archive-CnwVcuWA.mjs} +66 -22
  588. package/payload/shared/scripts/{core-entry-B6zaTh1o.mjs → core-entry-DESmwP78.mjs} +1121 -993
  589. package/payload/shared/scripts/design.mjs +136 -227
  590. package/payload/shared/scripts/git-runtime-check.mjs +1 -1
  591. package/payload/shared/scripts/knowledge-snapshot-query.mjs +1 -1
  592. package/payload/shared/scripts/{load-DE29wyw0.mjs → load-C-RwS23Y.mjs} +1 -1
  593. package/payload/shared/scripts/panel-preview-BeVRYFk1.mjs +78 -0
  594. package/payload/shared/scripts/{server-BoVIQm2J.mjs → server-BBHB9EQr.mjs} +423 -1462
  595. package/payload/shared/scripts/studio-CS5TyoYn.mjs +868 -0
  596. package/payload/shared/scripts/{studio-instance-composition-ClAJ72-M.mjs → studio-instance-composition-BJzYMyvV.mjs} +165 -62
  597. package/payload/shared/scripts/studio-instances-D-Y1WNya.mjs +1212 -0
  598. package/payload/shared/scripts/studio-panel-drafts-Dq171F6x.mjs +393 -0
  599. package/payload/shared/scripts/{windows-private-storage-DRAXaqae.mjs → windows-native-platform-DLm-tedp.mjs} +7 -150
  600. package/payload/shared/scripts/windows-private-storage-Q0cTolE3.mjs +149 -0
  601. package/payload/shared/scripts/workbuddy-panel-service.mjs +2 -2
  602. package/payload/shared/web/{abnfDiagram-VCTEODGH-BElHS-zE.js → abnfDiagram-VCTEODGH-B9IX6J0A.js} +3 -3
  603. package/payload/shared/web/{architectureDiagram-5GKGNRK7-BECL41Da.js → architectureDiagram-5GKGNRK7-BisnJYZ9.js} +5 -5
  604. package/payload/shared/web/{blockDiagram-I7D4REHJ-BHdPKhvo.js → blockDiagram-I7D4REHJ-B2P0WSPo.js} +9 -9
  605. package/payload/shared/web/{c4Diagram-7LVT6UL2-CWIbzZY_.js → c4Diagram-7LVT6UL2-D48X7taa.js} +7 -7
  606. package/payload/shared/web/{channel-CIc-uLOz.js → channel-BbOrJIbZ.js} +1 -1
  607. package/payload/shared/web/{chunk-4HAMMTFA-b3a3G6vp.js → chunk-4HAMMTFA--gjf22vn.js} +5 -5
  608. package/payload/shared/web/{chunk-75Z2AOVW-CRrsMd7V.js → chunk-75Z2AOVW-B2_IycTx.js} +1 -1
  609. package/payload/shared/web/{chunk-DU6HZSFF-DQGKOvUD.js → chunk-DU6HZSFF-U8npu9I8.js} +1 -1
  610. package/payload/shared/web/{chunk-F27PBJKO-CKTDAMhD.js → chunk-F27PBJKO-CTwYnE5c.js} +1 -1
  611. package/payload/shared/web/{chunk-GMAD6QVW-CR6pf1Wk.js → chunk-GMAD6QVW-CKC1iaEH.js} +3 -3
  612. package/payload/shared/web/{chunk-GVQU2GXP-Cuq0uwWc.js → chunk-GVQU2GXP-dsHcuLJt.js} +2 -2
  613. package/payload/shared/web/{chunk-IMKFNOWR-BIkawNBO.js → chunk-IMKFNOWR-DB9Jxepw.js} +5 -5
  614. package/payload/shared/web/{chunk-L3NEJ4N5-CuRR4sgK.js → chunk-L3NEJ4N5-CdduiJry.js} +5 -5
  615. package/payload/shared/web/{chunk-OSK3NFVY-o5AaXVbW.js → chunk-OSK3NFVY-BOueY91y.js} +6 -6
  616. package/payload/shared/web/{chunk-P2QGCYS3-CQGN9yCW.js → chunk-P2QGCYS3-yDDaRgcO.js} +1 -1
  617. package/payload/shared/web/{chunk-POPQ4Y6H-CoV8F_6L.js → chunk-POPQ4Y6H-CljBbmoJ.js} +1 -1
  618. package/payload/shared/web/{chunk-PWAF6VOD-DLPv7U5s.js → chunk-PWAF6VOD-CIvbnSr5.js} +1 -1
  619. package/payload/shared/web/{chunk-SHT3W25Y-DAA9rzEQ.js → chunk-SHT3W25Y-BtoLtpjX.js} +7 -7
  620. package/payload/shared/web/{chunk-SVP7TREG-CsNwZR-J.js → chunk-SVP7TREG-BZs6p27H.js} +2 -2
  621. package/payload/shared/web/{chunk-TICWLB2K-BkUUbwgD.js → chunk-TICWLB2K-CKuC0THI.js} +5 -5
  622. package/payload/shared/web/{classDiagram-ZZMXUADV-HbaRZ3Nl.js → classDiagram-ZZMXUADV-CSdRlepW.js} +13 -13
  623. package/payload/shared/web/{classDiagram-v2-VYDZK3BY-Bkk8o06s.js → classDiagram-v2-VYDZK3BY-B2q6X41N.js} +13 -13
  624. package/payload/shared/web/client.js +39072 -5906
  625. package/payload/shared/web/{cynefinDiagram-5FMLGOSQ-CP-tjXE5.js → cynefinDiagram-5FMLGOSQ-4N8NcsmJ.js} +3 -3
  626. package/payload/shared/web/{dagre-GXQ25YYZ-GUxh673_.js → dagre-GXQ25YYZ-CcOoDuJv.js} +10 -10
  627. package/payload/shared/web/{diagram-S7CK7UJ4-BFDH1Gbu.js → diagram-S7CK7UJ4-eOfyUI5w.js} +4 -4
  628. package/payload/shared/web/{diagram-UQ7AKVKN-PHM6uSDT.js → diagram-UQ7AKVKN-6SdElfMd.js} +3 -3
  629. package/payload/shared/web/{diagram-VSXAHHWV-C6m_LjuJ.js → diagram-VSXAHHWV-DmzS3Yhs.js} +2 -2
  630. package/payload/shared/web/{diagram-VX7I27RA-G0Og_1eB.js → diagram-VX7I27RA-CJ0mjzif.js} +5 -5
  631. package/payload/shared/web/{diagram-Z3DM3KII-DxLU0CyU.js → diagram-Z3DM3KII-b86RsB6X.js} +3 -3
  632. package/payload/shared/web/{dist-CpfF1Jph.js → dist-USJ_fvfj.js} +49 -49
  633. package/payload/shared/web/{ebnfDiagram-PWID7BFC-Dh7NgFDw.js → ebnfDiagram-PWID7BFC-BBo2ROEO.js} +3 -3
  634. package/payload/shared/web/{erDiagram-RLTQ6QDP-De1Ves_r.js → erDiagram-RLTQ6QDP-B7ovyDrh.js} +12 -12
  635. package/payload/shared/web/{excalidraw-surface-q56LZexh.js → excalidraw-surface-BAJM_4P2.js} +1 -1
  636. package/payload/shared/web/flowDiagram-HODETNUW-BmAFlSDM.js +16 -0
  637. package/payload/shared/web/{ganttDiagram-EL5Y4UJY-9UcawiqG.js → ganttDiagram-EL5Y4UJY-BF9LYJFN.js} +2 -2
  638. package/payload/shared/web/{gitGraphDiagram-WWUBYQGX-BYFpRlq8.js → gitGraphDiagram-WWUBYQGX-BLzvYjNu.js} +2 -2
  639. package/payload/shared/web/{infoDiagram-27XIBGKW-B_sYOrDT.js → infoDiagram-27XIBGKW-Cg4jV_tA.js} +2 -2
  640. package/payload/shared/web/{ishikawaDiagram-5VMMS53U-Dbq0pjSI.js → ishikawaDiagram-5VMMS53U-BqfEZdpO.js} +3 -3
  641. package/payload/shared/web/{journeyDiagram-3NMN7TZE-CzWCm5-W.js → journeyDiagram-3NMN7TZE-_QW0fOqV.js} +2 -2
  642. package/payload/shared/web/{kanban-definition-UXKFOSKX-BPt2iOge.js → kanban-definition-UXKFOSKX-C1qxSJso.js} +9 -9
  643. package/payload/shared/web/{mindmap-definition-YA3MSWOX--s-o7l9c.js → mindmap-definition-YA3MSWOX-CxX8l7QH.js} +11 -11
  644. package/payload/shared/web/{pegDiagram-XKGWAZYB-BtVScKlh.js → pegDiagram-XKGWAZYB-CTCTE951.js} +3 -3
  645. package/payload/shared/web/{pieDiagram-E7YTZNPT-BVRgxFzd.js → pieDiagram-E7YTZNPT-BVaT5mnK.js} +3 -3
  646. package/payload/shared/web/{quadrantDiagram-AXDQQJYC-CoI_hWsn.js → quadrantDiagram-AXDQQJYC-DC6iypTQ.js} +1 -1
  647. package/payload/shared/web/{railroadDiagram-O6MQD6OU-CQvkXn2E.js → railroadDiagram-O6MQD6OU-CKk1xSyC.js} +3 -3
  648. package/payload/shared/web/{requirementDiagram-BXWQKSXE-BeMX6Y3_.js → requirementDiagram-BXWQKSXE-D3r71qoR.js} +11 -11
  649. package/payload/shared/web/{sankeyDiagram-P5KCCOFB-DAW2tMQQ.js → sankeyDiagram-P5KCCOFB-BtB3K5ob.js} +1 -1
  650. package/payload/shared/web/{sequenceDiagram-WJ2MYXX4-CIyt6uFH.js → sequenceDiagram-WJ2MYXX4-BsJtFrjU.js} +4 -4
  651. package/payload/shared/web/{stateDiagram-D77RDMKH-Cl5YhtvO.js → stateDiagram-D77RDMKH-srvF-8IQ.js} +13 -13
  652. package/payload/shared/web/{stateDiagram-v2-MP3YSRHH-BsQEmOAZ.js → stateDiagram-v2-MP3YSRHH-CQCPpAb7.js} +13 -13
  653. package/payload/shared/web/{swimlanes-42K2YHIH-DRkfAovZ.js → swimlanes-42K2YHIH-cwCdwOb4.js} +10 -10
  654. package/payload/shared/web/{swimlanesDiagram-VR7AAH4N-CDtUk-LJ.js → swimlanesDiagram-VR7AAH4N-6PGsW_lL.js} +13 -13
  655. package/payload/shared/web/{timeline-definition-24CTP7MA-Bc0GefZe.js → timeline-definition-24CTP7MA-DbKwK9M6.js} +3 -3
  656. package/payload/shared/web/{vennDiagram-4TSXK5OY-CU3O6wRh.js → vennDiagram-4TSXK5OY-BnJ0tHAd.js} +3 -3
  657. package/payload/shared/web/{wardleyDiagram-VM6X3IG4-USaMhD8m.js → wardleyDiagram-VM6X3IG4-Bm9W5WIA.js} +3 -3
  658. package/payload/shared/web/{xychartDiagram-S5SC5T6Z-C8IhDKnq.js → xychartDiagram-S5SC5T6Z-DInWMmWi.js} +5 -5
  659. package/release-hosts.json +1 -1
  660. package/release-manifest.json +664 -133
  661. package/payload/shared/scripts/panel-preview-CPGv8nTe.mjs +0 -105
  662. package/payload/shared/scripts/studio-content-archive-CNUz472H.mjs +0 -334
  663. package/payload/shared/scripts/studio-instances-DKW4R37b.mjs +0 -592
  664. package/payload/shared/scripts/studio-panel-drafts-Cu48ih5u.mjs +0 -787
  665. package/payload/shared/scripts/windows-private-storage-_g0Kdp0U.mjs +0 -2
  666. package/payload/shared/web/flowDiagram-HODETNUW-DY-blVtj.js +0 -16
  667. package/payload/shared/web/katex-DhTJdtYJ.js +0 -26444
@@ -0,0 +1,1411 @@
1
+ # Design Panel DSL Specification
2
+
3
+ The panel DSL is the declarative presentation profile defined by the [architecture baseline](system-design-baseline.md). A panel manifest is **pure data**—no JSX, CSS, or scripts—so a design system can be authored and shared as content. The `dsh-design-panel` interpreter renders it, and the host validates the same definition before publishing a Kit version.
4
+
5
+ The contributor scaffold emits this profile. A Bundle with `presentation.mode: native` instead resolves a prebuilt React panel registered by its trusted provider and does not require `panel.yaml`; native presentation never falls back to this DSL. An omitted `presentation` or explicit `presentation.mode: none` means no panel. Explicit `presentation.mode: auto` is a separate generated-Panel opt-in with no DSL files; it does not change this manifest grammar.
6
+
7
+ Version: `1`.
8
+
9
+ Before choosing components, use the [Panel UIUX standard](panel-uiux-standard.md) to identify the user's decision, information relationships, and editing feedback. This specification defines supported syntax; it does not prescribe one layout for every Bundle.
10
+
11
+ ## Three layers
12
+
13
+ A manifest describes three things:
14
+
15
+ | Layer | Key | Purpose |
16
+ | --- | --- | --- |
17
+ | Data | `sections` | Named evidence sections; each is a map of records in the Design Files. |
18
+ | Editor | `fields` | Field controls bound to sections (how each record is edited). |
19
+ | View | `ui` | A component tree, data-bound to sections (how the panel is laid out). |
20
+
21
+ ## Top-level shape
22
+
23
+ ```yaml
24
+ version: 1
25
+ panel_kind: capability_map # one of PANEL_KINDS
26
+ renderer: workspace # optional top-level rendering strategy
27
+ item_name: 功能 # optional singular item label
28
+ empty_description: … # optional empty-state text
29
+ sections: […]
30
+ fields: […]
31
+ ui: {…}
32
+ ```
33
+
34
+ ### `panel_kind` (closed)
35
+
36
+ `evidence_workbook | capability_map | process | lifecycle | page_spec | document`
37
+
38
+ ## `sections`
39
+
40
+ ```yaml
41
+ sections:
42
+ - id: functions # stable logical section id; default record path
43
+ title: 功能模块
44
+ item_name: 功能 # optional
45
+ add_label: 添加功能 # optional
46
+ description: … # optional
47
+ navigation: primary # optional: primary | contextual | advanced
48
+ ```
49
+
50
+ `sections[].id` is the logical section id used by component and field bindings.
51
+ By default it also names the top-level Design Files record map (for example,
52
+ `functions` reads `{ functions: {…} }`). A section may instead declare
53
+ `records_path` for a nested record map, `fields_path` for editor fields inside
54
+ each record, and `order` for its durable record-id order list. These are safe
55
+ dotted paths, checked against the Bundle schema when the Kit is loaded; they
56
+ do not change the logical section id.
57
+
58
+ ### New-record labels
59
+
60
+ Use `create.initial_label` when a newly added record needs a readable, localized
61
+ name before the user edits it. Do not put translation tokens in canonical defaults.
62
+
63
+ ```yaml
64
+ create:
65
+ id_field: id
66
+ defaults: {title: ''}
67
+ initial_label:
68
+ field: title
69
+ text: $t:newItem
70
+ numbered_text: $t:newItemNumbered
71
+ ```
72
+
73
+ The target must be a direct string field in the section's bound record schema,
74
+ not its `id_field` (or `id` when that option is omitted). Only these three label
75
+ options are supported. `text` is nonblank literal text or a whole `$t:key` token;
76
+ it has no placeholders. Optional `numbered_text` uses only `{index}`, which is
77
+ the existing record count plus one. It must contain that placeholder. An empty
78
+ collection uses `text`; a nonempty collection uses `numbered_text` if supplied,
79
+ otherwise `text`. This number is a display default, not a stable identity or a
80
+ guarantee of unique names after deletion.
81
+
82
+ Only the new record is seeded, in the existing atomic map/order insertion.
83
+ A nonblank supplied name wins, then a nonblank canonical default, then the label.
84
+ Existing records and their IDs are not renamed when the locale changes. The
85
+ Kit loader resolves just these label templates through the declared locales,
86
+ checks translated templates, and applies the usual default-locale fallback;
87
+ it never translates `create.defaults` or permits expressions/scripts.
88
+
89
+ This is an optional runtime capability. An older installed runtime does not
90
+ gain it just because this document or a source manifest was updated; load the
91
+ manifest against the actual target version before publishing it.
92
+
93
+ ### Long text editing
94
+
95
+ Authored `textarea` fields may opt into `textarea_rows: 3..20` to give complete
96
+ instructions or configuration text a readable initial viewport. This is finite
97
+ presentation only: it does not trim text, parse it, change storage or impose a
98
+ character limit. Typed `record_map.item_fields` use the same leaf rule. Omission
99
+ preserves existing sizing; generated-origin panels do not expose this option.
100
+
101
+ ### Same-record inspector views
102
+
103
+ An authored `record_inspector.sources` list can compose declared sections that
104
+ bind the same canonical record collection. On selection, only sections whose
105
+ `records_path` matches the selected source are rendered, in declared order.
106
+ The first section owns the title/actions; subsequent sections show their fields
107
+ without another record heading. Each section keeps its original `fields_path`
108
+ and edit binding. Omission preserves the single selected-section form.
109
+
110
+ For example, a navigator can select an external system or a contextual exchange
111
+ while its inspector uses `[systems, system_details, exchanges, exchange_details]`.
112
+ This exposes a record's title/source information and nested business fields
113
+ without copying or flattening saved data. Unknown, duplicate or unrelated
114
+ collection sources are rejected. Contextual creation through a nested projection
115
+ also retains the same collection's declared root creation defaults and identity.
116
+ Generated A2UI does not gain a new composition permission from this option.
117
+
118
+
119
+ `doc_lifecycle_studio` can be placed inside a `record_inspector` to reuse the
120
+ workspace's current document, state axis or action selection. It projects the
121
+ same `objects` / `axes` / `actions` records without storing a second matrix.
122
+ A document view retains both its own actions and actions affecting its states;
123
+ columns for affected other documents name their owner. Action and axis selection
124
+ narrows the same facts. Matrix edits retain their original action bindings;
125
+ movement rows read the declared movement fields on actions, not documents.
126
+ The surrounding workspace owns navigation, titles, editing and shared styles.
127
+ Standalone use retains the full-table view. This is a presentation composition,
128
+ not a new DSL field, required workflow or installed-runtime availability claim.
129
+
130
+ ### Mathematical explanations in a record workspace
131
+
132
+ Authored `math_document` presents a selected record as readable explanations
133
+ beside LaTeX formulas. It binds existing fields, not a second model or a solver.
134
+ Place it inside a `record_workspace` whose `sources` includes its `source`:
135
+
136
+ ```yaml
137
+ - component: math_document
138
+ id: mathematical_explanation
139
+ source: models
140
+ math:
141
+ heading: title
142
+ introduction: overview
143
+ statements: {field: equations, title: label, formula: expression, meaning: meaning, source: source_pointer}
144
+ symbols: {field: symbols, formula: symbol, meaning: meaning, details: [kind, domain], source: source_pointer}
145
+ notes: assumptions
146
+ complete: formulation
147
+ output: {file: model_file, format: format}
148
+ checks: {status: validation_status, summary: validation_summary, evidence: validation_evidence}
149
+ provenance: [input_fingerprint, snapshot_file, mapping_file]
150
+ ```
151
+
152
+ `heading` binds a visible `text` field. Optional `introduction`, `notes` and
153
+ `complete` bind `text`/`textarea` fields. Required `statements` and optional
154
+ `symbols` bind `rows` fields with text/textarea columns: `formula` and `meaning`
155
+ are required, `title`, `source` and up to six `details` are optional. Bindings
156
+ must name distinct declared fields/columns; hidden fields, unsafe keys, unknown
157
+ options and cross-source bindings are rejected. Field visibility and readonly
158
+ policy still apply. Other declared fields remain available in a disclosure;
159
+ other selected workspace sources use the ordinary record form.
160
+
161
+ Optional `output` binds an `artifact_ref` file and optional `text` format;
162
+ optional `checks` binds a `select` status, a `text`/`textarea` summary and optional
163
+ `text`/`textarea` evidence. Optional `provenance` lists `text`, `textarea` or
164
+ `artifact_ref` fields. All these fields must explicitly declare `readonly: true`
165
+ and be distinct from other math bindings. Status copy comes from the declared
166
+ options; the renderer does not execute a check or infer a result. The summary is
167
+ the recorded human-readable conclusion, while raw evidence stays in technical
168
+ details. No summary is fabricated when absent.
169
+
170
+ The output card appears only for a nonempty saved file reference. File contents
171
+ are read on demand through the existing host artifact port, only when the path
172
+ is safe, is present in `artifactFiles`, and an exact `sourceRevision` is available.
173
+ The source revision is passed to the reader. The preview is escaped plain text,
174
+ bounded to 262,144 characters, with unavailable and retry states; no code, HTML or
175
+ model is executed. Nonempty provenance/evidence uses a folded readonly view;
176
+ empty technical fields are not presented as a form. Other unbound fields retain
177
+ their original field controls, not an inferred metadata role.
178
+
179
+ Each statement is a collapsible card, expanded initially, containing its business explanation, formula
180
+ and relevant shared symbol definitions, with a source disclosure at the bottom.
181
+ Per-formula symbol definitions are initially folded, showing their count; source,
182
+ complete-model and technical-record disclosures also start folded.
183
+ The complete formulation is a separate collapsible card containing the editable
184
+ symbol glossary. Folds are local presentation, not saved facts or approval.
185
+ Symbol usage is a read-only projection of matching rendered MathML notation; it
186
+ does not infer algebraic equivalence or invent missing definitions. Operators and
187
+ ordinary text do not match symbols merely because they contain the same letters.
188
+ The glossary remains available for inspecting and editing all definitions.
189
+ Source pointers are displayed as text, not executed or resolved as URLs.
190
+ Editing uses the existing field-edit/save path, including
191
+ the original column names and `max_rows`. Long collections show 20 entries at a
192
+ time. Prose supports explicitly delimited inline LaTeX, `\( ... \)`; other text
193
+ and currency remain literal and are never interpreted as HTML. Formula fields contain LaTeX
194
+ without dollar delimiters; JSON encodes backslashes as usual. The renderer uses
195
+ KaTeX MathML output with trusted commands disabled, isolated macros, bounded
196
+ expansion and a 12,000-character display limit. Unrenderable input stays visible
197
+ as text and remains editable; rendering is not mathematical validation.
198
+
199
+ Editing a statement does not regenerate another field, certify an existing
200
+ model artifact or run a solver. Bundle methods must reconcile explanations,
201
+ symbols, complete formulation and artifacts before asserting consistency.
202
+ This component is authored-only; it does not expand generated A2UI authority.
203
+
204
+ ### Record workspace navigation groups
205
+
206
+ `record_artifact.artifact.reference_field` optionally binds an unconditional visible
207
+ `record_select` on its source collection, targeting another section in the same
208
+ workspace. When that parent is selected, all explicitly related artifacts appear
209
+ in canonical map order; selecting the artifact's own record previews it directly.
210
+ No matching related records render no empty block. A matching record with an
211
+ absent, unpublished, unreadable or invalid file retains its local availability or
212
+ error/retry state. Optional `explanation_field` reads visible plain text from the
213
+ artifact record. Neither binding writes state, generates a file or executes a
214
+ solver. Existing scoped readers, file-version inventory and static HTML/SVG
215
+ sandbox rules apply. This authored extension does not expand generated A2UI.
216
+ For a dedicated visualization view, optional component `description` supplies the
217
+ no-matching-artifacts or not-yet-generated status instead of an empty block; it does not hide a failed
218
+ or missing file belonging to a matching record.
219
+
220
+ When that artifact section declares `navigation: contextual`, related records
221
+ appear inline rather than as duplicate sidebar entries or child-count prompts.
222
+ Their interpretation/source form remains available through the inline details
223
+ action, with a return link to the record that opened that preview. Sidebar
224
+ selection clears this return context; references alone never create a back trail.
225
+ Records with no valid parent remain reachable in the existing unlinked-record group; this presentation never repairs
226
+ references or removes historical records.
227
+
228
+ For a workspace with one outer tabs node containing one `record_inspector` and
229
+ artifact sibling views, the selected record's original form header appears once
230
+ above the tabs. The existing name binding and lifecycle actions stay shared across
231
+ views; the inspector renders only its body there. Other compositions keep their
232
+ existing header ownership. This is presentation, not another record or save path.
233
+
234
+ `record_workspace.navigation_group_by` optionally names a safe direct **string
235
+ or string-enum classification field** in every primary source's bound record
236
+ schema (after its section `fields_path`, if any). This field need not have an
237
+ editable control. Metadata, references, objects, arrays and non-text enums are
238
+ not supported. Contextual child collections and a relation graph's edge
239
+ collection are not grouped as primary sources.
240
+
241
+ ```yaml
242
+ ui:
243
+ component: record_workspace
244
+ id: workbench
245
+ sources: [items]
246
+ navigation_group_by: category
247
+ children:
248
+ - {component: record_inspector, id: details}
249
+ ```
250
+
251
+ Groups reuse the shared collapsible navigation tree. They are projections,
252
+ not selectable parent objects: no synthetic IDs, parent fields, inheritance,
253
+ order writes or new canonical collections. Exact nonblank field values are
254
+ labels; absent/blank values use the shared localized “Ungrouped” label without
255
+ normalizing saved text. Group order follows first appearance in the existing
256
+ record order. A real label equal to “Ungrouped” remains distinct from the
257
+ fallback group. Selection still identifies the real section/record, and
258
+ editing classification moves its navigation entry without changing its ID.
259
+
260
+ `navigation_layout: list` keeps group members flat; the default tree preserves
261
+ contextual children and same-group hierarchy. A parent outside a group is not
262
+ fabricated or copied there: its child appears at that group's root, while the
263
+ canonical reference remains unchanged. A single primary collection shows its
264
+ real records directly, with or without a graph; it does not add a redundant
265
+ collection header. Multiple primary collections retain their own collection
266
+ headers. Each collection keeps its ordinary add action,
267
+ with only its declared defaults; adding does not infer a category from a group.
268
+ Read-only views never add or initialize records. Omitting `navigation_group_by`
269
+ retains the existing navigation behavior.
270
+
271
+ Within a `record_workspace`, `navigation: contextual` declares a child-record
272
+ collection rather than another top-level navigation group. The renderer finds
273
+ its owning parent from a `record_select` or `record_multi_select` field whose
274
+ `options_from_section` names the parent section, then renders the generic
275
+ outline `parent record → child collection → child records`. Child records can
276
+ be added and selected from that outline; the fixed inspector edits only the
277
+ selected record and summarizes, rather than duplicates, its child collections.
278
+ No section id, field name, or domain vocabulary is built into this behavior.
279
+ With `record_multi_select`, the same child is visible beneath every referenced
280
+ parent. A contextual section without an in-workspace parent reference is
281
+ invalid instead of silently becoming a top-level section.
282
+ When the reference field is declared but a saved child has no existing parent,
283
+ the sidebar keeps a selectable warning entry so its details can be corrected.
284
+ This also applies when a related editor normally owns those children. The
285
+ projection does not infer, repair or remove a reference, and disappears once
286
+ the record has a valid parent. Multi-parent records with at least one existing
287
+ parent remain reachable there; their other invalid references stay visible in
288
+ the ordinary reference editor.
289
+
290
+ Workspace navigation has two shared presentation shapes, not one style per
291
+ Bundle. **Structure navigation** renders records or chapters, optional hierarchy
292
+ and explicitly supplied status/annotations. A flat list is its zero-hierarchy
293
+ case: `record_workspace.navigation_layout: list` shows primary records and
294
+ collection-tail add actions without category/contextual nodes, while retaining
295
+ related editors. `tree` (the default) exposes the declared grouping/hierarchy.
296
+ Both use the same wrapping labels, selection treatment and row geometry as
297
+ record boards, diagram, artifact and document workspaces. **Card navigation**
298
+ combines a title and secondary context, as in `question_workspace` rounds.
299
+ Do not choose round cards merely because a collection is flat. These are shared
300
+ renderer defaults, not new DSL components or arbitrary style overrides. The
301
+ Bundle supplies information bindings; status never creates canonical facts.
302
+
303
+ Nested form collections use the same content-group composition as ordinary
304
+ record details: parent-owned 16px between complete field groups, 8px within a
305
+ group, and its add action at the collection tail. A collapsible record owns only
306
+ its direct fields; nested radio/checkbox labels keep their own choice spacing.
307
+ Use existing field/group, `record_map` and related-editor declarations rather
308
+ than compensating with empty text nodes, ad-hoc separators or Bundle CSS.
309
+
310
+ An authored `reference_graph` is a read-only canvas for independent collections:
311
+ `references.nodes` binds unique workspace `source` sections with a text
312
+ `label_field`; `references.links` binds `source`, `field`, `target` and optional
313
+ display `label`/`reverse`. Each link field must be a declared `record_select` or
314
+ `record_multi_select` targeting that section. A link may instead declare
315
+ `item_field` to read a declared `record_map.item_fields` leaf `record_select`
316
+ targeting that section. This finite child editor reads options from parent Panel
317
+ sections; it cannot write the target, reference another Panel, nest another map,
318
+ or traverse arbitrary dotted paths. It derives transient nodes/edges
319
+ from current references, reports missing targets, and maps details back to the
320
+ original records. It never saves graph coordinates or creates connections.
321
+ Resource references do not create containment or implicit parent/back navigation.
322
+ A node may declare `label_scope: record` to read its direct root-record label
323
+ when the source section edits a nested `fields_path`. The same canonical
324
+ `records_path` must also have a root section declaring that text field; this
325
+ adds no copied title or editable alias. Omitting it retains field-scoped labels.
326
+ A record reference may use exclusive `options_from_sections: [a, b, ...]` to
327
+ select from a finite union of distinct local sections. Its graph link uses
328
+ `targets` with exactly those sections instead of `target`. Values remain the
329
+ original unqualified record IDs: a value present in several target collections
330
+ is ambiguous, is not offered as a new choice, and remains visible with a
331
+ diagnostic if already saved. Missing or ambiguous values create no guessed
332
+ edge and are never cleared by rendering. Hub layout retains single-target links.
333
+ An optional authored `references.layout: {kind: hub, center, top?, bottom?,
334
+ left?, right?}` arranges the same records in a hub-and-resources overview and a
335
+ focused internal view. Assign every node section to exactly one zone. Optional
336
+ `group_by` is a center-owned `record_select` into `top` with a declared link;
337
+ equal labels never imply a shared identity. `value_field` binds center-owned
338
+ text, and `entries: {field, title_field, description_field}` projects captions
339
+ from a center-owned `record_map`; complete rows remain in the existing form.
340
+ Node bindings may add `description_field`, scalar `kind_field` (localized through
341
+ the declared choice options) and a finite semantic `icon`. Optional `kind_icons`
342
+ maps declared kind-choice values to the same finite icons; unknown values, URLs
343
+ and executable artwork are rejected. The label remains visible, so color is not
344
+ the sole type cue. Optional `center_presentation: portrait` uses original,
345
+ decorative human-like portraits keyed only by stable record identity, with a
346
+ role header and brain/resource anatomy in focus. It adds no avatar field or
347
+ external image client. In portrait focus, each nonempty side is one connected
348
+ resource container with selectable internal mini-cards, not a separate connected
349
+ node per member. Container identities and aggregated edge routes are transient;
350
+ members retain their original record identity and all reference evidence. Large
351
+ lists scroll inside the container. Its handles remain measurable but invisible,
352
+ and connecting, moving or deleting records is prohibited. Compact profiles put
353
+ internal-view and original-form actions first, followed by bounded summaries;
354
+ complete entry/handoff facts remain in their existing original forms. Other hub
355
+ presets retain their individual resource cards.
356
+ The preset is authored-only, optional, and does not infer role traits from names.
357
+ Selection,
358
+ zoom, grouping frames and edge routes are transient, never new Design File facts.
359
+ Missing references stay diagnosable. This layout is optional and does not replace
360
+ BPMN, navigation maps, relation graphs or native whiteboard geometry.
361
+ `record_workspace.workspace_view: switch` accepts this canvas before its
362
+ `record_inspector`. Generated A2UI does not gain this static authored extension.
363
+ Matching state `member_of_map`/`members_of_map` rules participate in the existing
364
+ Panel integrity gate; absent/empty reference lists are valid, dangling targets
365
+ are not. Completion rules are not promoted into save gates.
366
+
367
+ For a nested link the same state rule uses
368
+ `members_of_map: {value: handoffs, item_field: target, map: agents}` inside the
369
+ owning `for_each_in_map`. Only explicit `item_field` selects a map-of-records;
370
+ ordinary list rules still reject maps. Absent/empty child references are valid
371
+ drafts; nonempty missing IDs fail without whitespace normalization. The save
372
+ gate matches source, field, target and item field exactly. Projection deduplicates
373
+ repeated targets visually while preserving every canonical handoff row.
374
+
375
+ In a workspace with a `relation_graph`, the graph's edge section remains in
376
+ the editing scope but is not duplicated as a sidebar tree. Select relationships
377
+ from the canvas to edit them in the same inspector. The same single-collection
378
+ navigation rule applies with or without a graph. Multi-collection and contextual
379
+ trees retain their declared grouping. A switching workspace reuses the shared
380
+ sidebar-edge canvas toggle and the same detail-form spacing as ordinary forms;
381
+ switching views changes neither records nor their stable identities.
382
+ Relationships with missing endpoints cannot be drawn but must not disappear:
383
+ the canvas exposes a localized warning with record selection into the same
384
+ inspector, including when both endpoints are absent. Read-only inspection stays
385
+ read-only; no placeholder endpoints are invented and no automatic repair occurs.
386
+
387
+ An authored `relation_graph` may instead bind
388
+ `graph.participants: {field, reference_field, role_field, order_field}`. The field
389
+ is an edge-owned `record_map` with a child `record_select` into the node section,
390
+ a text role, and the existing sibling string-array `order_field`. Stable child
391
+ keys identify participation rows; repeated references in different roles remain
392
+ distinct. This mode excludes source/target fields, endpoint annotations, binary
393
+ hierarchy and reversal declarations. Existing binary declarations retain their
394
+ behavior. Two complete participants render an ordered edge with role labels;
395
+ three or more render the original relation as a selectable incidence center and
396
+ one undirected line per row. The center is not another business object or saved
397
+ graph record. Dragging between objects creates two rows and their sibling order;
398
+ the inspector adds or reorders further participants. Relation centers cannot be
399
+ connection endpoints. Missing participants remain selectable and diagnosable.
400
+
401
+ A participant graph may also declare `references.nodes` and `references.links`
402
+ to show contextual collections on that same canvas. Reuse the reference-graph
403
+ field contracts: include the primary node section with the same label field,
404
+ exclude the relation section, and omit `references.layout`. Original business
405
+ nodes and participant relations retain their projection and drag behavior;
406
+ context nodes and reference links select their canonical owners but never become
407
+ connection endpoints or independent editable relations. Missing references have
408
+ an owner-detail entry. The graph save gate selects only matching declared state
409
+ reference rules; it does not promote completion requirements into save rules.
410
+
411
+ `graph.related` may reference either the node or relation section, enabling one
412
+ canonical property collection to retain its actual owner. State
413
+ `members_of_map: {value, item_field, map, order_field}` matches the participant
414
+ binding in the existing graph save gate. The optional sibling order must contain
415
+ unique, existing child keys; an absent/partial order remains a draft. A completion
416
+ rule may add `min_entries` to require the minimum number of nonempty references
417
+ and full order coverage. Old list and nested-reference behavior is unchanged
418
+ when these options are omitted. `member_of_map.allow_empty: true` explicitly
419
+ permits empty text in an optional reference; its default remains unchanged.
420
+ `exclusive_fields: {fields: [object_ref, relation_ref], allow_empty: true}` permits
421
+ an unfinished owner but rejects two nonempty owners. Omit `allow_empty` in a
422
+ completion rule to require exactly one nonempty owner. State exclusivity is
423
+ included in graph save only when every field is an explicitly bound related
424
+ reference; completion is never promoted into that save gate.
425
+
426
+ A record section can also declare a self-referential hierarchy on its parent
427
+ `record_select` field:
428
+
429
+ ```yaml
430
+ fields:
431
+ - key: parent_ref
432
+ control: record_select
433
+ options_from_section: items
434
+ applies_to: [items]
435
+ hierarchy:
436
+ label_field: title
437
+ group_label: More specific items
438
+ create_label: Create a more specific item
439
+ create_title: Create a more specific item
440
+ description: Start from the selected item without changing the base taxonomy.
441
+ inherit_fields: [kind]
442
+ ```
443
+
444
+ The workspace then nests child records under their parent, provides the same
445
+ contextual create sheet from the tree and inspector, and writes the parent
446
+ reference plus the declared label. Only explicitly declared scalar
447
+ `inherit_fields` are copied; the renderer never invents domain inheritance or
448
+ duplicates related records. Cycles and missing parents remain visible at the
449
+ root rather than making records disappear. This is a generic record hierarchy,
450
+ not a Kit-specific type system.
451
+
452
+ An edge-based hierarchy can opt into child creation with
453
+ `graph.hierarchy.create: {edge_kind, create_label, create_title}`. The edge kind
454
+ must be one of the declared hierarchy kinds. The shared create sheet stores a
455
+ new node using `graph.label_field` and a new edge from that child (`source`) to
456
+ the selected parent (`target`) in one Panel transaction. The edge name uses the
457
+ localized kind option label; identity and enum values stay canonical. Existing
458
+ records and explicitly declared order bindings are retained, with no copies of
459
+ the parent's fields or related records. A read-only Panel, cancelled sheet or
460
+ missing parent emits no update. Merely declaring `hierarchy.values` does not
461
+ enable creation. Node, edge and order storage paths must be disjoint, and label
462
+ fields must be writable text distinct from IDs, endpoints and kind fields.
463
+
464
+ An authored edge hierarchy may declare `max_parents: 1` with exactly one
465
+ hierarchy kind. The shared inspector then offers a single-source selector;
466
+ changing it updates the existing edge in place, preserving ID, label and
467
+ metadata. Detaching removes only that edge/order entry. Missing endpoints,
468
+ cycles and duplicate parent edges do not cause implicit repair or copying.
469
+ Canvas connection uses the same presentation guard. The owning Bundle must
470
+ also validate single-parent and acyclic edges before persistence; a UI guard is
471
+ not the validation authority. No declaration changes existing multi-parent graphs.
472
+
473
+ Within that workspace, `record_related_editor.inherit_from_graph: true` opts
474
+ into read-only ancestor groups alongside the selected node's own editable
475
+ associated records. `bindings.reference` must target the graph's node section.
476
+ Ancestor facts retain their owner, conditions, restrictions and confirmation
477
+ requirements. A source link selects the original record; no associated record
478
+ is copied, merged or granted. The domain method must explain conflicts rather
479
+ than assuming override/deny precedence. This opt-in also avoids duplicating the
480
+ covered related collection as sidebar child branches. Generated Auto Panels
481
+ cannot declare this policy. View/locale changes do not emit canonical updates.
482
+
483
+ ### `record_form`: headers, body composition and order actions
484
+
485
+ `sections[].form` configures shared `record_form` presentation, including forms
486
+ composed by an inspector or related-record editor. Omission preserves the old
487
+ record label, body fields and order-dependent move controls.
488
+
489
+ ```yaml
490
+ sections:
491
+ - id: entries
492
+ title: Entries
493
+ order: entry_order
494
+ form:
495
+ reorder: false
496
+ header: {variant: detail, title: {field: caption, editable: true}}
497
+ - id: notes
498
+ title: Notes
499
+ form:
500
+ reorder: false
501
+ header: {variant: card, title: {text: Note, numbered: true}}
502
+ ```
503
+
504
+ The fixed `detail` header is 44px high, with a 32px editable title; `card` is
505
+ 40px high with a display title and optional ordinal in the currently displayed
506
+ record list. Header text supports normal Bundle translation tokens. Ordinals
507
+ are presentation, not record identities or newly stored facts.
508
+
509
+ A field-bound title must reference an unconditional declared `text` field of
510
+ the same section, never its identity. `editable: true` additionally excludes
511
+ readonly and derived fields and schema metadata/references. It uses the same
512
+ field binding/edit channel as the body, and consumes that field once: no second
513
+ body input or title copy is created. Omitted/false `editable` presents it as
514
+ text. Host readonly mode never renders a title editor or lifecycle actions.
515
+ Title edits retain all other record fields, IDs, references and order. The
516
+ existing confirm/atomic-delete behavior is unaffected.
517
+
518
+ `reorder: false` hides move controls only. It does not remove stored order,
519
+ change how records are read/added/deleted, or authorize other writes. `true`
520
+ still requires an existing durable order binding. This configuration is a
521
+ static Panel capability: generated-origin A2UI panels currently reject `form`
522
+ explicitly on generation/export/reload rather than dropping it or widening
523
+ their write permissions.
524
+
525
+ `form.body` is an optional finite list of `field`, `row`, `group`, and `tabs` items:
526
+
527
+ ```yaml
528
+ form:
529
+ body:
530
+ - kind: row
531
+ items:
532
+ - {kind: text, text: '$t:decisionPrefix'}
533
+ - {kind: field, field: decision, label: visually_hidden, width: auto}
534
+ - {kind: field, field: description, label: visually_hidden, width: fill}
535
+ - kind: group
536
+ title: $t:conditions
537
+ description: $t:conditionsHelp
538
+ separator: true
539
+ items: [{kind: field, field: condition, label: inline}]
540
+ ```
541
+
542
+ Rows contain fields or display-only text; groups contain fields or rows, never
543
+ nested groups. The shapes are closed, with no scripts, CSS or expressions.
544
+ Group titles are optional: use the field caption for one input, and title a
545
+ multi-field scope only when it adds meaning. The shared renderer removes an
546
+ exact duplicate title for a single direct field with a visible caption and no
547
+ sidecar. It retains differently named scopes, multi-field headings, sidecar
548
+ headings and the sole heading of a visually hidden caption. Required cues and
549
+ accessible names remain bound to the original field; near-synonyms are an
550
+ authoring review concern, not runtime guesses. Field groups share the 16px
551
+ section / 8px control rhythm; field help has 8px before it and no trailing
552
+ margin, so it cannot add a second section gap.
553
+ Groups may additionally declare one read-only preview beside their fields:
554
+
555
+ ```yaml
556
+ sidecar:
557
+ component: record_preview
558
+ title: $t:preview
559
+ preview: {title: title, body: description, action: next_action, empty: '$t:empty'}
560
+ ```
561
+
562
+ This reuses `record_preview`, bound to the exact record rendered by the form,
563
+ including nested `records_path`/`fields_path`; it needs no workspace selection
564
+ and cannot bind another section or execute the displayed action. The closed
565
+ slot admits only `component`, optional display `title`, and `preview`.
566
+ Preview title/body and optional action reference declared, unconditional, non-hidden text or
567
+ textarea fields in the same section. Binding names never translate; only the
568
+ sidecar display title and `preview.empty` do. Fields remain editable through
569
+ their existing canonical channel; the preview owns no state or write channel.
570
+ It stacks below fields in narrow containers. An empty conditional group still
571
+ disappears rather than exposing its hidden fields through a preview. This is a
572
+ static authored capability; generated A2UI forms reject it explicitly along
573
+ with `form`, not silently drop it during retention/export.
574
+
575
+ Field references are same-section declared undotted keys, cannot be binding-only
576
+ hidden fields, and cannot repeat another body/header editor. Conditional fields
577
+ keep their existing visibility/cleanup rules; empty groups and rows whose fields
578
+ are all invisible disappear. Explicit text-only rows are allowed. Unconsumed
579
+ visible fields are appended with their original renderer: partial layouts never
580
+ silently omit facts. `label` is `stacked` (default), `inline` (stacks in narrow
581
+ containers), or `visually_hidden` (accessible name remains). `width` is `auto`
582
+ or `fill`; this changes presentation, not write authority. Group titles/help and
583
+ row text use existing Bundle translations; keys, IDs and canonical values do not.
584
+
585
+ For longer records, a top-level body item may declare bounded record-local tabs:
586
+
587
+ ```yaml
588
+ - kind: tabs
589
+ id: record-design
590
+ title: Design views
591
+ tabs:
592
+ - id: experience
593
+ title: Experience
594
+ items: [{kind: field, field: purpose}]
595
+ - id: agreements
596
+ title: Agreements
597
+ items:
598
+ - kind: group
599
+ title: Optional references
600
+ collapsible: true
601
+ items: [{kind: field, field: notes}]
602
+ ```
603
+
604
+ Tab-group IDs are unique in a body, and tab IDs unique within that group. Tabs
605
+ contain only the existing field/row/group items: no nested tabs or groups.
606
+ They reuse the shared `tabs` component, including keyboard navigation, stable
607
+ ID selection and mounted inactive editors. Fields remain unique across all
608
+ pages and the record header; fallback fields are appended once outside tabs.
609
+ Changing page, language or disclosure state emits no canonical edit and never
610
+ clears existing values. Readonly follows the original field's authority.
611
+ `group.collapsible: true` requires a nonempty title, starts closed and uses the
612
+ shared disclosure glyph with native keyboard-accessible details semantics.
613
+ Its content remains mounted; display state is not another data field. Choose
614
+ this only for optional material, not to hide an unresolved blocking decision.
615
+ Both additions are static authored form presentation; generated-origin A2UI
616
+ still rejects the complete `form` extension rather than silently dropping it.
617
+
618
+ `EditorField.choice_layout` is `column`, `row_wrap`, or `row_scroll`, only for
619
+ `radio`, `radio_custom`, and `multi_select`. Omission keeps the old layout.
620
+ `custom_focus: true` is only for `radio_custom` and focuses its custom input after
621
+ the user selects Other, not on mount, polling, locale switching or readonly.
622
+ `allow_clear: false` is only for `select` and suppresses new empty selections.
623
+ An existing missing value gets a disabled blank placeholder; a stale saved value
624
+ remains visible. Neither is normalized on load. Omitted/true retains the original
625
+ empty option and `undefined` edit. These field presentation extensions, like
626
+ `form`, explicitly reject in generated A2UI panels until separately supported.
627
+
628
+ ## `fields`
629
+
630
+ `required: true` presents an expected input, including accessible naming and a
631
+ visible indicator. It does **not** add a browser submit constraint, rewrite an
632
+ empty value, or introduce a save/completion validator. Schema `required` checks
633
+ property presence; nonempty text and other content invariants belong to the
634
+ Bundle's existing scoped validation and methods. Panel Save and executor
635
+ publication retain their current different validation paths.
636
+
637
+ For a field shared by sections with different requirements, use the authored
638
+ alternative `required_in: [section_id]`. Each entry must be a distinct declared
639
+ `applies_to` section; it cannot coexist with `required`. Only those sections show
640
+ the requirement. The field keeps one canonical key and the same edit channel.
641
+ Generated A2UI currently rejects this authored extension explicitly; it does not
642
+ silently drop section-specific requirements.
643
+
644
+ Ordinary controls expose `aria-required`; radio choices expose it on the
645
+ `radiogroup`. Multi-value/token editors use a named group with a localized
646
+ required indication, not unsupported `aria-required` on `group` and not a
647
+ requirement on every draft token input. A matching single-field group title owns
648
+ the visible indicator when the field caption is visually hidden; otherwise a
649
+ small inline indicator remains beside the control. Conditional fields lose their
650
+ indicator when hidden. Optional notes must not declare either requirement form.
651
+
652
+ ```yaml
653
+ fields:
654
+ - key: priority # record field key
655
+ control: select # one of CONTROL_KINDS
656
+ label: 优先级
657
+ applies_to: [functions] # sections this field edits
658
+ required: true
659
+ wide: true # optional full-width hint
660
+ options: # for select/radio/multi_select
661
+ - { value: High, label: 高 }
662
+ ```
663
+
664
+ ### `control` (closed)
665
+
666
+ `text | textarea | number | select | radio | list | multi_select |
667
+ record_select | record_multi_select | key_value | toggle | artifact_ref |
668
+ rows | source_list | token_list | radio_custom | record_map |
669
+ source_reference_map | data_table | color`
670
+
671
+ The authoritative closed set is `CONTROL_KINDS` in
672
+ [the shared DSL contract](../../index.md#developer-source-references). A control being
673
+ listed here does not make its parameters interchangeable with other controls;
674
+ use the corresponding field contract and validator when authoring a Bundle.
675
+
676
+ ### Schema binding for `select` and `radio`
677
+
678
+ A `select` or `radio` field binds to a section record property declared in the
679
+ Bundle schema as `{"type": "enum", "values": [...]}` with a non-empty `values`
680
+ list. In generated A2UI, `options` must contain exactly those enum values, one
681
+ option per value, with display labels. There is no `enum` key on `type: "string"`:
682
+ declaring `{type: string, enum: [...]}` leaves a plain string property, and the
683
+ existing validators reject the mismatch instead of coercing it. Exact diagnostics:
684
+
685
+ - a generated `select`/`radio` field bound to a non-`enum` property, or an `enum`
686
+ property with missing/empty `values` or mismatched options, fails with
687
+ `auto panel: field "<key>" does not match schema`;
688
+ - keeping `options` on a control that does not consume them (e.g. `text`)
689
+ fails manifest parsing with
690
+ `field "<key>" control "text" does not consume options`.
691
+
692
+ Minimal matching pair (synthetic; the JSON is the record property's schema):
693
+
694
+ ```yaml
695
+ fields:
696
+ - key: status
697
+ label: Status
698
+ control: select
699
+ applies_to: [devices]
700
+ options:
701
+ - {value: normal, label: Normal}
702
+ - {value: anomaly, label: Anomaly}
703
+ ```
704
+
705
+ ```json
706
+ {"type": "enum", "values": ["normal", "anomaly"]}
707
+ ```
708
+
709
+ ### Field extensions for `record_form`
710
+
711
+ ```yaml
712
+ fields:
713
+ - key: detail
714
+ control: textarea
715
+ applies_to: [adaptations]
716
+ visible_when: { field: decision, in: [adapt] } # conditional visibility
717
+ - key: standard_ref
718
+ control: record_select
719
+ applies_to: [adaptations]
720
+ options_from_section: standards # options = section records
721
+ - key: module_ref
722
+ control: record_select
723
+ applies_to: [adaptations]
724
+ options_from_panel: # cross-panel option source
725
+ panel_type: function_modules
726
+ section_id: functions
727
+ - key: steps
728
+ control: rows # typed sub-table
729
+ applies_to: [adaptations]
730
+ row_name: 步骤
731
+ max_rows: 3 # default 50
732
+ columns:
733
+ - { key: title, control: text, label: 步骤 }
734
+ - key: kind
735
+ control: select
736
+ label: 类型
737
+ options: [{ value: dev, label: 开发 }]
738
+ - { key: owner, control: ref, label: 负责标准, ref_sections: [standards] }
739
+ - key: sources
740
+ control: source_list # `kind:name` ref chips
741
+ applies_to: [adaptations]
742
+ ```
743
+
744
+ - `visible_when` hides the field unless another field of the same record
745
+ currently holds a value in `in`; the gate re-evaluates on every edit.
746
+ Authored fields may use `visible_when: {all: [{field: source_ref, in: ['']},
747
+ {field: connection, in: [existing]}]}` for a nonempty, flat conjunction of
748
+ these same conditions. Missing/null scalar values match `''`; arrays match
749
+ if any string member matches. Every clause must match. Hidden values are
750
+ retained unless the existing explicit `clear_when_hidden` contract applies;
751
+ a change to any declared dependency then re-evaluates that contract. No
752
+ recursive condition/expression language or executable predicates are allowed.
753
+ - Authored `label_when: [{field: mode, in: [automatic], label: When it runs}]`
754
+ selects display copy from sibling values, using the same matching rule as
755
+ `visible_when`. The first matching entry wins; no match keeps `label` (or the
756
+ field key). Dependencies must be declared on a shared section, or on the same
757
+ child for `record_map.item_fields`. Labels support `$t:` translations and are
758
+ used consistently for captions and accessible control names. This never
759
+ changes bindings, values, requirements or save rules. Hide inapplicable fields
760
+ with `visible_when`; do not erase data unless an existing, explicit clearing
761
+ contract requires it. Generated Auto Panel editor fields do not yet accept
762
+ `label_when` (like the existing authored visibility extension).
763
+ - `options_from_section` / `options_from_panel` resolve choice options from
764
+ record ids (label = record title). Cross-panel refs resolve through the
765
+ host-supplied `panelData` render option; an absent resolver yields no
766
+ options and never copies data into this panel.
767
+ - Static `options[]` entries may carry `when: { field, in }` to offer the
768
+ option only while another field of the record matches.
769
+ - `rows` edits an array of row objects cell-by-cell; column controls are
770
+ `text | textarea | select | ref`. `ref` columns need `ref_sections`
771
+ (this panel) or `options_from_panel` (cross-panel).
772
+ - `source_list` edits an array of `kind:name` reference strings and renders
773
+ readable chips (`standard:*` → 标准参考, `upload|user|research|ai`
774
+ suffixed); unknown kinds pass through.
775
+ - `token_list` edits free string lists with optional suggested `options`. `token_layout:
776
+ cards` displays option descriptions and `custom_description` for custom entries.
777
+ Authored fields may opt into `token_add_mode: menu`: a keyboard-accessible preset
778
+ menu disables already selected values and opens a cancellable custom-entry card.
779
+ In card layout, the add/custom card shares the existing card grid (two columns
780
+ in a wide workspace, one in a narrow workspace). `token_add_description` supplies
781
+ a content-owned subtitle. `token_custom_icon` and each option's `icon` can select
782
+ the shared `message-square` or `plug` glyph; arbitrary markup and unknown glyphs
783
+ are rejected. These attributes are only valid on `token_list`, never generated
784
+ scalar fields. Omission preserves the original inline editor.
785
+ Options may declare `menu_description` and `selected_description` for distinct
786
+ unselected/selected menu copy, both falling back to `description`. Saved cards
787
+ keep the original `description`; copy never changes stored values.
788
+ Cancel/Escape discard only the unsaved input; Add/Enter split and deduplicate values
789
+ into the same bound list. Selecting another record discards the local entry draft.
790
+ Omission or `inline` preserves the existing preset select and always-visible input.
791
+ This static extension grants no new write scope; generated panels reject it explicitly.
792
+
793
+ ```yaml
794
+ - key: delivery_methods
795
+ control: token_list
796
+ token_layout: cards
797
+ token_add_mode: menu
798
+ custom_description: Requires an external service
799
+ options: [{value: internal, label: Internal, description: Built in}]
800
+ applies_to: [records]
801
+ ```
802
+
803
+ Semantics decisions:
804
+
805
+ - Resolved options are deduped by value; earlier sources win (static
806
+ `options`, then `options_from_section`, then `options_from_panel`).
807
+ Record ids are Kit-level global reference ids.
808
+ - Stored row/ref arrays are never destructively normalized: a
809
+ non-conforming member disables the whole field's editing with a clear
810
+ diagnostic while the raw value is preserved verbatim; explicit deletion
811
+ (after fixing the data) is the only removal path.
812
+ - `rows` keys React nodes through a module-level identity map over row
813
+ objects, so deleting a middle row never re-keys the surviving rows;
814
+ edited rows are cloned, untouched rows keep identity.
815
+ - `multi_select`/`record_multi_select` round-trip as string arrays; a
816
+ comma-separated string is an accepted input contract on read (split and
817
+ trimmed), while writes always emit arrays.
818
+ - `record_form` carries a generic record lifecycle in editable mode:
819
+ add/remove/reorder emit whole-section rewrites through the panel-update
820
+ channel (map insertion order is the record order); read-only renders no
821
+ lifecycle affordances.
822
+ - `visible_when` and option `when` gates must reference a declared field
823
+ sharing at least one `applies_to` section (column option gates must
824
+ reference a column of the same `rows` field).
825
+
826
+ ## `ui` component tree
827
+
828
+ A node binds a component to sections and may nest children or named slots.
829
+
830
+ ```yaml
831
+ ui:
832
+ component: record_workspace
833
+ id: functions-view
834
+ sources: [functions]
835
+ navigation_group_by: function_epic # optional declared grouping field
836
+ children:
837
+ - { component: record_inspector, id: details }
838
+ ```
839
+
840
+ Record navigation and details use `record_workspace` and `record_inspector`.
841
+ The workspace owns selection, navigation controls and content scrolling. A flat
842
+ collection can use `navigation_layout: list`; the default is structure navigation.
843
+ Do not reconstruct this interaction from separate lists and forms.
844
+
845
+ The lower-level `panel_workspace` is a layout shell with `sidebar`/`main` slots,
846
+ for compositions that do not need record selection. Ordinary main content scrolls
847
+ inside the shell; a complete child workspace retains its own scrolling:
848
+
849
+ ```yaml
850
+ ui:
851
+ component: panel_workspace
852
+ id: root
853
+ slots:
854
+ sidebar: { component: text_block, id: help, text: "Review the roles and their responsibilities." }
855
+ main: { component: record_form, id: form, source: roles }
856
+ ```
857
+
858
+ ### `guidance` — independent Panel action guidance
859
+
860
+ An authored UI node may provide optional nonempty `guidance` text, including an
861
+ existing `$t:guidance` locale token. Put it on the owning workspace (or the root
862
+ of a plain form composition), once per Panel. It tells users what to do after
863
+ opening the Panel; it is not `SKILL.md` capability copy, `bundleDescription`,
864
+ empty-state `description`, field help, execution status or an error.
865
+
866
+ The Panel shows an optional tip icon in its bottom-left corner, with or without
867
+ sidebar navigation. Hover, keyboard focus or click reveals the guidance;
868
+ Escape or leaving the tip closes it. It occupies no permanent content row and
869
+ does not edit data, invoke save or persist a preference. Only explicit guidance
870
+ creates the tip; descriptions are not a fallback. The Agent briefly guides the
871
+ user in the conversation when handing over the Panel, using the authored guidance
872
+ when available or its own task-specific understanding otherwise. The tip is a
873
+ reminder, never a required review step or an additional handoff gate.
874
+ Do not declare both properties with the same action message or duplicate a
875
+ parent's guidance on its nested child. Omission adds no help control; an explicit
876
+ blank or non-string guidance value fails the existing Panel validation.
877
+
878
+ Editable record headers use the shared pencil to focus the original title
879
+ input, with no second rename control or title `*`. Required aria semantics and
880
+ owning schema/save checks remain; ordinary required fields keep their marks.
881
+ Readonly/derived names and missing update callbacks do not gain a pencil or
882
+ write authority. Special workspace names use their existing metadata bindings.
883
+
884
+ ### `sidebar_icon` — authored sidebar title icons
885
+
886
+ An authored workspace may set `sidebar_icon: users` beside its `title`.
887
+ It selects a decorative 16px Lucide icon in the owning sidebar header, not
888
+ an icon on each record, a button, or a business-data field. The visible title
889
+ and navigation accessibility label remain authoritative.
890
+
891
+ The finite vocabulary is `SIDEBAR_ICONS` / `SidebarIcon` in
892
+ [`panel-dsl.ts`](../../index.md#developer-source-references); supported components are
893
+ derived from the catalog's `sidebarTitle` capability. They currently include
894
+ `question_workspace`, `question_rounds`, `record_workspace`, `record_board`,
895
+ `document_workspace`, `artifact_workspace`, `diagram_workspace`,
896
+ `canvas_workspace`, `preview_workspace`, and `navigation_workspace`.
897
+ Raw `panel_workspace` slots, forms and `question_list` have no owning sidebar
898
+ title and reject this field. Omission preserves the component's existing chrome.
899
+
900
+ Only a finite string is accepted: URLs, SVG/HTML, import paths, expressions,
901
+ objects, null and unknown names fail validation. Content cannot load code or
902
+ register icons. Generated A2UI panels reject the field even on an otherwise
903
+ allowed component; static authoring capability does not expand that subset.
904
+ The icon does not alter canonical data, selection, edits, execution or save.
905
+
906
+ ### `navigation_workspace` — creating connections
907
+
908
+ `navigation_map` binds independent node, edge and frame collections. Optional
909
+ `connection_policy.allow_self` and `allow_parallel` affect only new connections;
910
+ omitting either flag allows that case. Parallel connections have the same
911
+ ordered source and target identities, regardless of visual ports. A reverse
912
+ connection is distinct. Both endpoints must exist. Changing this declaration
913
+ never removes or rewrites existing connections, including invalid old records.
914
+ These flags do not express acyclicity, degree limits or arbitrary graph rules.
915
+
916
+ Optional `navigation_map.edges.new_label` supplies a new connection's initial
917
+ label. It accepts literal text or an existing `$t:key` reference, with only
918
+ `{source}` and `{target}` placeholders. Endpoint labels come from `nodes.label`,
919
+ falling back to record identities; substitution is single-pass plain text.
920
+ Resolved labels are validated in each loaded locale with its declared fallback.
921
+ Empty templates, unknown placeholders, malformed braces and wrong types fail.
922
+ Omission keeps the existing section creation defaults. The declaration never
923
+ renames saved edges or relabels them after an endpoint changes.
924
+
925
+ The workspace checks the same creation policy during preview and again when
926
+ creating a connection, using current edit permission and canonical endpoints.
927
+ See `ComponentNode.navigation_map` in [the Core contract](../../index.md#developer-source-references)
928
+ and the source-derived component inspector for the complete field bindings.
929
+
930
+ ### `component` (trusted, extensible library)
931
+
932
+ The authoritative vocabulary is [`PANEL_COMPONENT_CATALOG`](../../index.md#developer-source-references).
933
+ `COMPONENT_KINDS`, workspace ownership, source bindings and the generated-panel
934
+ subset are derived from that one registry; this document is not a second
935
+ validation whitelist. Bundle data cannot register executable components.
936
+
937
+ The shared library includes basic layouts and controls, question workspaces,
938
+ record navigation/editing, diagrams, canvases, artifact readers and previews.
939
+ Full-height workspace components preserve scroll and navigation ownership:
940
+ `record_board`, `document_workspace`, `artifact_workspace`, `diagram_workspace`,
941
+ `canvas_workspace`, `preview_workspace` and `navigation_workspace` expose their
942
+ behavior through explicit data bindings rather than Kit names. These are reusable
943
+ capabilities, not a guarantee that every record schema fits every workspace.
944
+
945
+ `record_board.board.detail_sources` can embed exactly one `record_workspace`
946
+ under the selected card. Each `{section, reference}` binding declares an unordered
947
+ direct record collection and a readonly `record_select` back to the board's
948
+ parent section. The child workspace sources must belong to those bindings.
949
+ Owner and child storage paths cannot alias or overlap. The renderer filters
950
+ children by the selected parent, binds new records to it, and merges hidden
951
+ sibling records back into canonical updates. It refuses sibling-id replacement,
952
+ reparenting and writes outside these collections. This is a view projection,
953
+ not a second stored copy; it does not support independently ordered child maps,
954
+ nested `fields_path` records or artifact staging in this first composition slice.
955
+ Ordinary `detail_sections` retain their existing same-record nested-form meaning.
956
+
957
+ `record_board` uses full-width cards and a workspace-covering overview. Optional
958
+ `board.group` binds a real grouping field. When omitted, the sidebar lists records
959
+ directly, cards have no artificial group heading, and the overview connects the
960
+ root directly to records. Do not bind long summaries merely to satisfy grouping;
961
+ this projection never adds a grouping field to canonical records.
962
+ Sidebar selection scrolls to a card; it does not start editing. Description and
963
+ badge drafts have explicit Save/Cancel, while rejected records remain inspectable
964
+ without granting edit access. Optional `board.id_field` binds a declared visible,
965
+ readonly `text` field and displays its existing string beside the card title and
966
+ at the top of cover details. Inline details retain the same card header. It does
967
+ not add an ID editor, generate a fallback ID or write state; omission retains the
968
+ existing title-only presentation. `board.detail_fields` restricts the parent fields
969
+ shown in the detail fold, and `details_title` localizes its heading. Optional nested
970
+ dimensions can be added or removed without replacing unrelated record fields.
971
+ `board.detail_fields_mode: fixed` instead shows every declared nested input and
972
+ removes dimension-level add/delete controls; collection item add/delete still
973
+ uses its usual editor. Fields remain schema-optional, including empty inputs.
974
+ Viewing does not insert missing strings/maps. Omitted/`on_demand` retains the
975
+ existing optional-dimension behavior. This option grants no new write authority.
976
+
977
+ `record_workspace.workspace_view: switch` puts the first child canvas over the
978
+ whole workspace. The edge action opens it, and the return action or a node's
979
+ details action returns to the selected record. It does not add form/canvas tabs
980
+ to the sidebar. Covered content stays mounted and inert to preserve selection,
981
+ drafts and the graph viewport without allowing hidden controls to receive input.
982
+
983
+ `record_related_editor.record_table` is an authored-only table presentation of
984
+ the same child collection, not a conversion to a `rows` array. Its finite
985
+ `columns: [{fields: [field_key, ...], label?: string}]` groups existing field
986
+ editors into cells. Every non-hidden field declared for that child section must
987
+ appear exactly once; hidden/foreign/duplicate bindings and unknown column keys
988
+ are rejected. Column labels default to the first field's label and use the usual
989
+ locale resolution. A cell retains field visibility, help, requiredness, custom
990
+ conditions and existing edit/derived-field rules. Record creation still binds
991
+ the selected parent, deletion preserves the normal section cleanup rules, and
992
+ `inherit_from_graph` tables remain source-linked and read-only. The shared table
993
+ wrapper owns horizontal scrolling at narrow widths. This does not promote the
994
+ component or this declaration to generated A2UI.
995
+
996
+ An authored graph hierarchy with `max_parents: 1` may opt into
997
+ `parent_control: header`. The existing single-parent selector then sits beside
998
+ the selected record's form title, rather than above the whole inspector. It
999
+ still updates the same relation edge, rejects cycles, retains the source-record
1000
+ navigation and shows the actual parent in read-only mode. Omission preserves
1001
+ the prior inspector presentation; neither view creates an extra parent field.
1002
+
1003
+ `diagram_workspace.diagram.detail_rows` groups declared read-only fields into
1004
+ responsive fact cards. `chip_fields` selects string-list fields rendered as tags;
1005
+ `detail_hint_fields` supplies the populated field labels for the details action.
1006
+ `tags` maps declared enum fields to labels and finite semantic tones. These are
1007
+ presentation declarations, not new edit rights or storage. Diagram details cover
1008
+ only the content pane; the navigator remains available. Leaving an edited diagram
1009
+ still requires successful serialization through the existing save barrier.
1010
+
1011
+ `diagram_workspace.diagram.label_source` can read a declared label from another
1012
+ section bound to the same record collection. The optional `inspector` keeps a
1013
+ context editor alongside the BPMN canvas: `process_sections` edit the selected
1014
+ process; `nodes` binds `source`, `process_field`, `element_field`, `label_field`
1015
+ and same-collection `sections`. Optional `related` groups use a process reference
1016
+ and an optional `node_field`; `advanced: true` starts the group collapsed.
1017
+ References must be declared `record_select` fields targeting the corresponding
1018
+ collection. Clicking an element resolves its exact ID within the selected
1019
+ process only; absent or duplicate bindings do not guess a record. Existing field
1020
+ edit permissions and the atomic artifact save barrier remain authoritative.
1021
+ This is contextual navigation, not automatic synchronization of BPMN structure
1022
+ and business facts; authors must explain how structural changes are reconciled.
1023
+
1024
+ For an exact component contract and on-demand local type declarations, use the
1025
+ authoring inspector from the repository root:
1026
+
1027
+ ```sh
1028
+ node .agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs . navigation_workspace --type ComponentNode.navigation_map.edges
1029
+ ```
1030
+
1031
+ Use the [component extension contract](a2ui-component-catalog-contract.md) when
1032
+ adding a component: catalog, validation, renderer, styles, edit boundaries,
1033
+ tests and authoring guidance must agree. Trusted runtime additions are possible;
1034
+ unknown component names in a manifest are rejected.
1035
+
1036
+ Acceptance of a component name alone does not establish rendering fidelity,
1037
+ editable lifecycle support, or compatibility with every host; those require
1038
+ the component's binding contract and actual runtime verification.
1039
+
1040
+ Predefined DSL and A2UI-derived panels share this library, but generated panels
1041
+ may use only the subset with an implemented generation/edit-authority contract.
1042
+ An authored workspace is not automatically promoted into that subset.
1043
+ Supported generated results can be deterministically retained as DSL; unsupported
1044
+ capabilities must fail explicitly, never disappear during conversion. This is
1045
+ not an arbitrary bidirectional A2UI protocol converter.
1046
+
1047
+ `question_list` is the standard controlled question interaction. Each source
1048
+ record uses `prompt`, optional `note`, `kind` (`text | single | multiple`),
1049
+ optional `choices[]` (`value`, `label`, `recommended`), `answer`, and optional
1050
+ `detail`. Text answers render as one multiline input; an existing text-question
1051
+ `detail` remains visible as read-only context rather than becoming a second
1052
+ answer box. Single/multiple answers use accessible choice rows and may edit
1053
+ `detail`. Existing read-only context and choice supplements use the same
1054
+ localized label (without the optional-input suffix in reading mode). Cards
1055
+ with a non-empty `answer` collapse to a readable result and can
1056
+ be reopened for editing. The component writes only the fields exposed by that
1057
+ interaction back to the owning record. It does not invent approval state, and an
1058
+ empty answer remains unanswered even when `detail` contains context. Native
1059
+ providers may explicitly extend answer-state semantics for attachments, and
1060
+ may add rounds or rejection around this base contract without making those
1061
+ extensions mandatory for other Kits.
1062
+
1063
+ Authored `question_list`, `question_rounds`, and `question_workspace` may declare
1064
+ `card_groups` with a unique `id`, `title`, and ordered `question_ids`. Members
1065
+ must be contiguous in the existing record order and, for round workspaces, stay
1066
+ within one round. Invalid groups fall back to ordinary cards with a diagnostic;
1067
+ grouping never reorders canonical records. Generated-origin Panels reject this
1068
+ authored extension.
1069
+
1070
+ Each group may declare a `presentation` object containing only optional boolean
1071
+ `always_expanded`, `show_detail`, and `show_attachments` properties. These select
1072
+ shared component behavior, not Bundle-specific styling. Omission preserves the
1073
+ usual collapse, detail, and attachment controls. Hiding a control preserves its
1074
+ canonical data; keeping a card expanded does not grant editing permission.
1075
+ Read-only, disabled, protected, historical and rejection guards still apply.
1076
+
1077
+ `question_workspace` composes the same question cards with the standard
1078
+ `panel_workspace` navigation shell. It groups records by optional numeric
1079
+ `round`, shows answer progress, and keeps only the selected group in the main
1080
+ pane; records without a round form one current group. Its optional
1081
+ `description` is rendered through the shared sticky workspace Tip Bar above
1082
+ the main content, never squeezed into the navigation sidebar. `question_rounds` is the
1083
+ backward-compatible alias for this workspace behavior. Optional
1084
+ `multimodal_answer[]` entries use the Web App-compatible local reference shape
1085
+ (`type`, `file_md5`, `filename`, `mime_type`, `size_bytes`, `artifact_file`).
1086
+ The client keeps pending bytes in a reserved browser-only transport, strips it
1087
+ before schema validation, and atomically saves only files still referenced by
1088
+ canonical state. The transport is framework state, never a Bundle field.
1089
+
1090
+ Authored `question_workspace` / `question_rounds` nodes may explicitly set
1091
+ `question_policy.allow_choice_actions: true`. Expanded editable dynamic single
1092
+ cards offer “Switch to multiple choice”; multiple cards offer “Select all” /
1093
+ “Deselect all”. Omission or `false` preserves the existing controls. The shared
1094
+ runtime owns these actions and their localized styling, not Bundle CSS or an
1095
+ author-supplied `renderActions` callback. Switching changes only `kind` to
1096
+ `multiple`, preserving the exact answer bytes and keeping the editor open.
1097
+ Select-all writes choice values in declared order through the existing
1098
+ comma-separated `answer` contract; deselect-all writes an empty answer. Neither
1099
+ action changes detail, attachments, identity, choices or round. Records declared
1100
+ in `first_round_ids` are the fixed first-round configuration and do not receive
1101
+ these actions; `protected_ids` still controls rejection only. Read-only,
1102
+ disabled, rejected and read-only historical cards cannot invoke the actions.
1103
+ Generated-origin/A2UI auto Panels reject this configuration, even when `false`;
1104
+ their existing answer/detail-only write authority and protected `kind` remain
1105
+ unchanged. Converting a generated view into an authored reusable panel does not
1106
+ silently grant this capability: the author must opt in under the static contract.
1107
+
1108
+ `panel_workspace` is the reusable panel-internal left navigation + main content
1109
+ layout. It standardizes containment, scroll ownership and narrow-panel fallback;
1110
+ it does not define domain records or selection semantics. Use it rather than
1111
+ copying a Kit-specific two-column shell.
1112
+
1113
+ The shared runtime `PanelWorkspaceNavigation` accepts optional per-item
1114
+ `description`, `supporting`, and `statusLabel` display slots alongside the
1115
+ label/current row. These are supplied display text, not canonical fields or
1116
+ new DSL expressions. Omitted slots render no empty rows. The `meta` fallback
1117
+ remains supported. A marker requires both explicit `statusIndicator: true`
1118
+ and an existing `status`; a label-only item never gains an inferred status dot.
1119
+ Flat record navigation, question rounds, and future workspace consumers share
1120
+ the same base navigation typography, spacing and selected appearance. Bundle
1121
+ CSS is not required. Hierarchical trees retain their separate structure.
1122
+ Question progress excludes rejected items from answered/completion checks,
1123
+ while retaining all group records in the displayed total and preserving fixed
1124
+ question grouping, stable IDs, selection and canonical answers. The original
1125
+ Web App question panel used body round sections, not this sidebar; the shared
1126
+ sidebar is an enhanced structure using the original public navigation style,
1127
+ not a claim of one-to-one restoration of a nonexistent original sidebar.
1128
+
1129
+ `doc_lifecycle_studio` binds `objects`/`axes`/`actions` sections (validation
1130
+ fails loud when one is missing) and renders the fact table (actions × state
1131
+ axes, per-cell effects) plus process/derivation/ledger projections derived at
1132
+ render time; unavailable views render disabled with a reason, never hidden.
1133
+ `rowview_workbench` renders the residue envelope (below) and requires a
1134
+ `source` declaring the add section it owns — the details-envelope schema
1135
+ check and the renderer are both scoped to that section; a workbench without
1136
+ `source` is rejected at compile time.
1137
+
1138
+ In editable mode `bpmn_canvas` edits bidirectionally: each process record's
1139
+ `name` and `steps` array (step name, `kind` task/gateway/event, order, add,
1140
+ remove) round-trip through the panel Save like any field edit.
1141
+
1142
+ ### `execution_log` — embedded Host logs (authored Panels)
1143
+
1144
+ `execution_log` embeds the shared rolling Host log in an authored layout. It is
1145
+ read-only runtime observation: it does not create executions, edit Design Files,
1146
+ or grant access to arbitrary transcripts. Discover it with
1147
+ `design_list_panel_components` before authoring. Generated Panels cannot add it.
1148
+
1149
+ ```yaml
1150
+ ui:
1151
+ component: stack
1152
+ id: research-layout
1153
+ children:
1154
+ - component: execution_log
1155
+ id: producer-progress
1156
+ title: Execution progress
1157
+ log: {scope: producer, max_entries: 200}
1158
+ - component: execution_log
1159
+ id: selected-artifact-progress
1160
+ title: Artifact progress
1161
+ log:
1162
+ scope: artifact
1163
+ artifact_id_path: selected_artifact_id
1164
+ artifact_kind: research_direction
1165
+ artifact_file_path: selected_artifact_file
1166
+ max_entries: 200
1167
+ ```
1168
+
1169
+ `scope: producer` resolves the current Bundle's root native Producer.
1170
+ `scope: artifact` requires exactly one `artifact_id` (literal) or
1171
+ `artifact_id_path` (safe dotted path in this Panel's canonical data). Optional
1172
+ `artifact_kind` and `artifact_file_path` disambiguate the Host's existing
1173
+ association; these are selectors, not authorization. Canonical paths are read
1174
+ only, and this component does not infer a selected record from a neighboring
1175
+ workspace. Do not persist a transient selection merely to connect logs.
1176
+
1177
+ Only observations belonging to the owning Bundle are eligible. Native run ids,
1178
+ invocation ids, transcript paths and credentials cannot be authored in `log`.
1179
+ The Host still verifies every read. Main-mode artifact logs require an explicit
1180
+ Host focus association; a main conversation must never substitute for an
1181
+ unavailable Producer or artifact log. Missing associations/read capability show
1182
+ an unavailable message. Support for exact artifact targets depends on the Host
1183
+ adapter; a rendered log alone does not prove a native execution succeeded.
1184
+
1185
+ `max_entries` is an integer from 1 to 1000 (default 200). The log follows new rows
1186
+ while the reader remains at the bottom, preserves manual scrolling, expands on
1187
+ active execution and folds when it finishes. A run/target change clears old rows
1188
+ and ignores late responses from the previous target. Temporary read failures
1189
+ retain the last readable rows and active logs retry through the shared polling
1190
+ scheduler. All these surfaces use the same `ExecutionRollingLog` client component.
1191
+
1192
+ ### `tabs` — mounted views with stable identities
1193
+
1194
+ Use `tabs` to switch between declared child views, not to split canonical data
1195
+ into copies. Its inputs are `id`, optional `title` (the tablist accessible name),
1196
+ and `children`. Each child needs a non-empty `id`, unique among its siblings;
1197
+ its optional `title` is the tab label, falling back to its ID. IDs are data
1198
+ identities, not translated labels. Nested groups may reuse IDs because their
1199
+ DOM relationships are independently scoped. Empty children render no tabs.
1200
+
1201
+ Selection is local presentation state. The first child is initially active;
1202
+ changing labels or child order preserves selection by ID. Removing the active
1203
+ child selects the first remaining child; re-adding it does not steal selection.
1204
+ Inactive children stay mounted but are hidden, preserving their local drafts.
1205
+ Do not use this component when inactive content must be unloaded or its readers
1206
+ must stop: it does not promise lazy loading or cancellation. Hidden controls
1207
+ are not reachable through ordinary keyboard focus.
1208
+
1209
+ Click/focus selects a tab. ArrowLeft/ArrowRight wrap between tabs; Home/End
1210
+ select the first/last. The active tab is the one tablist entry in the Tab order;
1211
+ each panel is linked through reciprocal `aria-controls`/`aria-labelledby`.
1212
+ Tab selection emits no canonical edit. Child editors retain their existing
1213
+ schema, save and read-only authority; a hidden editor is not an authorization
1214
+ boundary. The host still owns atomic persistence and unsaved-change handling.
1215
+
1216
+ This non-Web equipment note example composes existing components only:
1217
+
1218
+ ```yaml
1219
+ version: 1
1220
+ panel_kind: evidence_workbook
1221
+ sections:
1222
+ - {id: equipment, title: Equipment notes, add_mode: none}
1223
+ fields:
1224
+ - {key: title, label: Equipment, control: text, applies_to: [equipment]}
1225
+ - {key: note, label: Inspection note, control: textarea, applies_to: [equipment]}
1226
+ ui:
1227
+ component: tabs
1228
+ id: equipment-views
1229
+ title: Equipment views
1230
+ children:
1231
+ - {component: text_block, id: guidance, title: Guidance, text: Record observations without inventing inspection results.}
1232
+ - {component: record_form, id: notes, title: Notes, source: equipment}
1233
+ ```
1234
+
1235
+ This notes-only example explicitly sets `add_mode: none`; adding or removing
1236
+ equipment records is not authorized by its editors. It expects a declared
1237
+ `equipment` map of records containing string `title` and
1238
+ `note` fields, e.g. `{equipment: {pump_a: {title: 'Synthetic pump', note: ''}}}`.
1239
+ It is a composition example, not a complete Kit or verified inspection fact.
1240
+ The executable example test validates the actual YAML, schema-bound generated
1241
+ adapter, retention and editor permissions; installed-host save/reopen remains
1242
+ a separate verification layer. For localization, put display strings in Bundle
1243
+ locale resources and replace titles/labels/text with `$t:` tokens; do not
1244
+ translate `equipment`, `pump_a`, child IDs or stored observations.
1245
+
1246
+ The trusted catalog registers `tabs` for the supported generated subset. A2UI
1247
+ conversion must still validate the complete child tree and edit bindings; tabs
1248
+ cannot authorize an unsupported child, action or wider write scope. Generated
1249
+ and retained DSL use the same renderer. Unknown components or incompatible
1250
+ retained definitions must fail explicitly, not silently drop a tab.
1251
+
1252
+ Styles use the dedicated `.dsh-component-tabs` namespace so public `renderNode`
1253
+ mounting does not collide with host navigation. Hosts must load shared Panel
1254
+ styles; the component does not inject CSS. Test keyboard/hidden behavior and
1255
+ narrow-container overflow in a real browser in addition to structural checks.
1256
+
1257
+ ## Validation rules (fail loud)
1258
+
1259
+ `parsePanelManifest` / `validatePanelManifest` reject a manifest when:
1260
+
1261
+ - `version` is not `1`, or `panel_kind`/`control`/`component` is not in the
1262
+ closed sets;
1263
+ - `sections`/`fields` are not lists, a field lacks a string key, or field
1264
+ keys duplicate;
1265
+ - a `field.applies_to` references an undeclared section or is not a string
1266
+ list;
1267
+ - a `ui` node's `source`/`sources` references an undeclared section;
1268
+ - an `options[]` entry lacks string `value`/`label`, duplicates a value, or
1269
+ carries a malformed `when` (gate field must be declared and share an
1270
+ `applies_to` section; `in` must be a non-empty string list);
1271
+ - `options_from_section` references an undeclared section, or
1272
+ `options_from_panel` lacks a non-empty `panel_type`/`section_id`;
1273
+ - `visible_when` is malformed or its field is undeclared / shares no
1274
+ section with the gated field, or `in` is not a non-empty string list;
1275
+ - a `rows` field lacks `columns` or `columns` is not a list, duplicates a
1276
+ column key, uses a column control outside the closed set, declares a
1277
+ `ref` column without exactly one of `ref_sections`/`options_from_panel`,
1278
+ references an undeclared section in `ref_sections`, carries malformed
1279
+ column options (a column option `when` must reference a column of the
1280
+ same `rows` field), or sets a non-positive `max_rows`;
1281
+ - the YAML does not parse. The validator itself never throws on malformed
1282
+ shapes — every malformation surfaces as an error string.
1283
+
1284
+ The interpreter uses an exhaustive trusted renderer registry. Unknown components
1285
+ are rejected, not silently replaced by a labelled placeholder. This structural
1286
+ contract does not establish installed-host, artifact, save/reopen, language or
1287
+ browser fidelity; those require the corresponding runtime acceptance tests.
1288
+
1289
+ ## Data binding model
1290
+
1291
+ The interpreter projects Design Files by logical section: its record map is
1292
+ read from `section.records_path ?? section.id`. With default paths, a component
1293
+ with `source: functions` renders `data.functions`, and field values read
1294
+ `record[field.key]`. A declared `fields_path` routes those fields into the
1295
+ record's nested object instead. Cross-panel references
1296
+ (`record_select` / `options_from_panel`) resolve against the owning skill's
1297
+ Design Files by stable record id — references are never copied.
1298
+
1299
+ ## Residue envelope (rowview_workbench)
1300
+
1301
+ The panel working copy's top level may carry the frozen A11 envelope, recognized by shape
1302
+ only:
1303
+
1304
+ - `sync.refs[]` — read-only aggregation references
1305
+ (`{concern, record_ref, projection?}`). The renderer groups them by concern;
1306
+ a ref whose projection carries no title/summary/status degrades to a warning
1307
+ row showing the raw `record_ref` (never silently dropped).
1308
+ - `add` / `add_order` — the exclusive editable region: sections of evidence
1309
+ records (`{id, title, summary?, details}`); manifest fields declared for the
1310
+ section edit `record.details`; add/remove/update emit panel-level
1311
+ `{add, add_order}` updates through the host merge.
1312
+ - `module` / `residue_shape` — render-time metadata chips.
1313
+
1314
+ ## Presentation contract
1315
+
1316
+ Dispatch between bespoke and declarative rendering is decided by the bundle's
1317
+ `skill.yaml`, never by the skill name:
1318
+
1319
+ ```yaml
1320
+ presentation:
1321
+ mode: native
1322
+ renderer: io.deepseek.design.web-app.research/v1
1323
+ ```
1324
+
1325
+ The client reads the metadata from the projected `skillManifest`; `native`
1326
+ resolves the matching compiled renderer from the lifecycle-owned client
1327
+ registry, while `declarative` renders through this DSL. An unavailable native
1328
+ renderer displays an explicit error and never falls back to the DSL, because
1329
+ the declarative editor may not preserve the provider contribution's state semantics.
1330
+ `none` creates no panel tab. A Bundle author may omit `presentation` from
1331
+ `skill.yaml`; the Kit loader normalizes that omission to `{ mode: none }`
1332
+ before publishing metadata. The client also treats an absent presentation as
1333
+ no panel. A present declaration with an unrecognized mode is invalid and must
1334
+ not silently select another rendering mode.
1335
+
1336
+ ### Board user requests
1337
+
1338
+ Authored `record_board.board.request_create` declares `fields` (nonempty unique
1339
+ editable text/textarea/choice field keys in the board's source), `prompt`, and
1340
+ `submit_label` (localized display text). The Add action opens a local dialog and
1341
+ sends the user-confirmed values through the current host's existing message
1342
+ adapter. It never inserts a provisional canonical record. Required fields and
1343
+ choices are checked before sending; a rejected send retains the dialog and values.
1344
+ The action is unavailable in read-only mode or without a host message adapter.
1345
+ Generated panels do not receive this adapter. Boards without this declaration
1346
+ retain the existing declared direct-record creation behavior.
1347
+
1348
+ `navigation_map.nodes.caption_fields` optionally lists visible text, select or list fields from the node section for the native-style map card subtitle. Select values use declared labels; lists show their count and field label. This projection grants no edit authority. Artifact navigation retains the flat page list, preview toolbar, map cover and transient visual-geometry diagnostics; it does not substitute a generic record form for the live preview.
1349
+
1350
+ `board.detail_presentation: cover` promotes the selected record’s explicitly scoped `detail_sources` workspace into a full workspace cover. The board stays mounted to retain selection, scroll and local drafts; closing the cover restores it. The optional declaration changes presentation only: all child edits retain the same scoped merge and owning-record checks. Omitted/`inline` preserves ordinary card details.
1351
+
1352
+ ### 可编辑数据表(Data Table)
1353
+
1354
+ `control: data_table` 用于字段由用户或 Agent 定义的样例数据。将它声明在记录字段中,
1355
+ 通过现有 `record_inspector` / `record_form` 编辑;也可以在 `record_workspace` 中用
1356
+ `{component: data_table, source: datasets, table: {field: table}}` 呈现同一字段。
1357
+ 组件从保存的数据读取列定义,不接受 `rows` 的静态 `columns`、选项或脚本。
1358
+ 它属于预定义 DSL 目录,尚未纳入生成式 A2UI 白名单。
1359
+
1360
+ ```yaml
1361
+ fields:
1362
+ - key: table
1363
+ label: 字段与样例数据
1364
+ control: data_table
1365
+ applies_to: [datasets]
1366
+ ```
1367
+
1368
+ 该字段对应 schema 中的闭合对象 `{columns, rows}`,两项均 required。
1369
+ `columns` 是对象数组,每列必需 `id: string`、`name: string`、
1370
+ `type: enum[text, number, boolean, date, select]`,并声明可选
1371
+ `role: enum[dimension, value, attribute]`、`unit: string`、`description: string`
1372
+ 和 `options: array<string>`。列仅将 id/name/type 声明为必需。Bundle 可以声明自己的可选列元数据;编辑器原样保留,
1373
+ 不推断业务引用。`rows` 是 `map<map<string>>`:稳定行 key → 稳定列 id → 值。
1374
+ 列标题与排列不改变身份;删列同时删除该列单元格。
1375
+
1376
+ 数据例:
1377
+
1378
+ ```json
1379
+ {
1380
+ "columns": [
1381
+ {"id":"material","name":"物料","type":"text","role":"dimension"},
1382
+ {"id":"quantity","name":"用量","type":"number","role":"value","unit":"kg"}
1383
+ ],
1384
+ "rows": {"sample_1":{"material":"钢材","quantity":"2.5"}}
1385
+ }
1386
+ ```
1387
+
1388
+ 单元格保留文本编码,由列类型解释并校验,禁止执行表达式。number 必须是有限数值文本,
1389
+ boolean 仅 `"true"` / `"false"`,date 使用有效 `YYYY-MM-DD`,select 使用非空且不重复的
1390
+ `options`。空字符串或省略的值表示未知,不能当零或 false;不存在的列、重复列 id、
1391
+ 非法行 id 或多余表级字段均拒绝。列/行 id 使用英文字母开头的字母、数字、下划线或短横线,
1392
+ 最多 64 字符并排除原型键。样例上限为 64 列、500 行,每格 10000 字符。
1393
+
1394
+ 在现有 `validation.yaml` 中声明结构/类型约束,供 Agent 校验和 Panel 保存共用:
1395
+
1396
+ ```yaml
1397
+ - id: typed_tables
1398
+ scope: [state, completion]
1399
+ code: input.invalid_table
1400
+ check:
1401
+ for_each_in_map: datasets
1402
+ data_table: table
1403
+ ```
1404
+
1405
+ 未开始的可选字段可省略;这条规则不增加完成度门槛。声明是否必需仍由 schema 与已有
1406
+ 完成度规则负责。检查失败不自动转换或丢弃数据。输入错误可在草稿中显示,保存前须修正。
1407
+
1408
+ 面板支持字段名称/类型/用途/单位/说明、单选项、列移位、列与行增删、Tab/Enter 导航和
1409
+ 从现有单元格粘贴制表符分隔的数据。粘贴越界或类型错误整批拒绝,不截断;不会自动把
1410
+ 表头当字段导入。两维加一个值列可切换矩阵,仍使用同一组行,重复坐标显示冲突而不聚合。
1411
+ 组件没有上传入口;外部文件由宿主 Agent 接收,面板编辑其解析结果与样例。