@open-mercato/cli 0.6.8-develop.6961.1.5b7ca407e7 → 0.6.8-develop.6963.1.04a6d320e9

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 (900) hide show
  1. package/build.mjs +16 -7
  2. package/dist/agentic/guides/architecture.md +2 -2
  3. package/dist/agentic/guides/extensions.md +1 -1
  4. package/dist/agentic/guides/module-facts.json +112 -112
  5. package/dist/agentic/guides/module-facts.v2.json +112 -112
  6. package/dist/agentic/guides/module-system.md +1 -1
  7. package/dist/agentic/guides/modules/ai_assistant/acl-features.md +18 -0
  8. package/dist/agentic/guides/modules/ai_assistant/ai-tools-mcp-capabilities.md +18 -0
  9. package/dist/agentic/guides/modules/ai_assistant/backend-pages.md +18 -0
  10. package/dist/agentic/guides/modules/ai_assistant/cli-commands.md +19 -0
  11. package/dist/agentic/guides/modules/ai_assistant/contribution-resolutions.md +22 -0
  12. package/dist/agentic/guides/modules/ai_assistant/di-registrations-rich.md +12 -0
  13. package/dist/agentic/guides/modules/ai_assistant/di-service-tokens.md +11 -0
  14. package/dist/agentic/guides/modules/ai_assistant/entities.md +21 -0
  15. package/dist/agentic/guides/modules/ai_assistant/events.md +17 -0
  16. package/dist/agentic/guides/modules/ai_assistant/exact-override-targets.md +51 -0
  17. package/dist/agentic/guides/modules/ai_assistant/index.md +27 -0
  18. package/dist/agentic/guides/modules/ai_assistant/notifications.md +11 -0
  19. package/dist/agentic/guides/modules/ai_assistant/owned-contract-module-metadata.md +11 -0
  20. package/dist/agentic/guides/modules/ai_assistant/setup.md +11 -0
  21. package/dist/agentic/guides/modules/ai_assistant/umes-contributions.md +22 -0
  22. package/dist/agentic/guides/modules/ai_assistant/umes-hosts.md +28 -0
  23. package/dist/agentic/guides/modules/ai_assistant/workers.md +12 -0
  24. package/dist/agentic/guides/modules/api_docs/backend-pages.md +11 -0
  25. package/dist/agentic/guides/modules/api_docs/exact-override-targets.md +12 -0
  26. package/dist/agentic/guides/modules/api_docs/frontend-pages.md +11 -0
  27. package/dist/agentic/guides/modules/api_docs/index.md +15 -0
  28. package/dist/agentic/guides/modules/api_docs/owned-contract-module-metadata.md +11 -0
  29. package/dist/agentic/guides/modules/api_keys/acl-features.md +13 -0
  30. package/dist/agentic/guides/modules/api_keys/backend-pages.md +12 -0
  31. package/dist/agentic/guides/modules/api_keys/cli-commands.md +11 -0
  32. package/dist/agentic/guides/modules/api_keys/entities.md +11 -0
  33. package/dist/agentic/guides/modules/api_keys/exact-override-targets.md +17 -0
  34. package/dist/agentic/guides/modules/api_keys/host-extension-points.md +10 -0
  35. package/dist/agentic/guides/modules/api_keys/index.md +21 -0
  36. package/dist/agentic/guides/modules/api_keys/owned-contract-module-metadata.md +11 -0
  37. package/dist/agentic/guides/modules/api_keys/setup.md +11 -0
  38. package/dist/agentic/guides/modules/api_keys/umes-diagnostics.md +9 -0
  39. package/dist/agentic/guides/modules/api_keys/umes-hosts.md +20 -0
  40. package/dist/agentic/guides/modules/attachments/acl-features.md +12 -0
  41. package/dist/agentic/guides/modules/attachments/backend-pages.md +12 -0
  42. package/dist/agentic/guides/modules/attachments/cli-commands.md +11 -0
  43. package/dist/agentic/guides/modules/attachments/custom-entities.md +11 -0
  44. package/dist/agentic/guides/modules/attachments/di-registrations-rich.md +13 -0
  45. package/dist/agentic/guides/modules/attachments/di-service-tokens.md +12 -0
  46. package/dist/agentic/guides/modules/attachments/entities.md +13 -0
  47. package/dist/agentic/guides/modules/attachments/events.md +13 -0
  48. package/dist/agentic/guides/modules/attachments/exact-override-targets.md +20 -0
  49. package/dist/agentic/guides/modules/attachments/incoming-installed-contributions.md +12 -0
  50. package/dist/agentic/guides/modules/attachments/index.md +25 -0
  51. package/dist/agentic/guides/modules/attachments/owned-contract-module-metadata.md +11 -0
  52. package/dist/agentic/guides/modules/attachments/setup.md +11 -0
  53. package/dist/agentic/guides/modules/attachments/umes-hosts.md +16 -0
  54. package/dist/agentic/guides/modules/attachments/workers.md +11 -0
  55. package/dist/agentic/guides/modules/audit_logs/acl-features.md +16 -0
  56. package/dist/agentic/guides/modules/audit_logs/backend-pages.md +11 -0
  57. package/dist/agentic/guides/modules/audit_logs/cli-commands.md +11 -0
  58. package/dist/agentic/guides/modules/audit_logs/di-registrations-rich.md +12 -0
  59. package/dist/agentic/guides/modules/audit_logs/di-service-tokens.md +12 -0
  60. package/dist/agentic/guides/modules/audit_logs/encryption.md +12 -0
  61. package/dist/agentic/guides/modules/audit_logs/entities.md +12 -0
  62. package/dist/agentic/guides/modules/audit_logs/exact-override-targets.md +23 -0
  63. package/dist/agentic/guides/modules/audit_logs/host-extension-points.md +10 -0
  64. package/dist/agentic/guides/modules/audit_logs/index.md +24 -0
  65. package/dist/agentic/guides/modules/audit_logs/owned-contract-module-metadata.md +11 -0
  66. package/dist/agentic/guides/modules/audit_logs/setup.md +11 -0
  67. package/dist/agentic/guides/modules/audit_logs/umes-diagnostics.md +10 -0
  68. package/dist/agentic/guides/modules/audit_logs/umes-hosts.md +30 -0
  69. package/dist/agentic/guides/modules/auth/acl-features.md +18 -0
  70. package/dist/agentic/guides/modules/auth/active-extension-bindings.md +13 -0
  71. package/dist/agentic/guides/modules/auth/backend-pages.md +21 -0
  72. package/dist/agentic/guides/modules/auth/cli-commands.md +20 -0
  73. package/dist/agentic/guides/modules/auth/contribution-resolutions.md +16 -0
  74. package/dist/agentic/guides/modules/auth/di-registrations-rich.md +12 -0
  75. package/dist/agentic/guides/modules/auth/di-service-tokens.md +12 -0
  76. package/dist/agentic/guides/modules/auth/domain-commands.md +16 -0
  77. package/dist/agentic/guides/modules/auth/encryption.md +12 -0
  78. package/dist/agentic/guides/modules/auth/entities.md +21 -0
  79. package/dist/agentic/guides/modules/auth/events.md +22 -0
  80. package/dist/agentic/guides/modules/auth/exact-override-targets.md +53 -0
  81. package/dist/agentic/guides/modules/auth/frontend-pages.md +13 -0
  82. package/dist/agentic/guides/modules/auth/host-extension-points.md +10 -0
  83. package/dist/agentic/guides/modules/auth/incoming-installed-contributions.md +17 -0
  84. package/dist/agentic/guides/modules/auth/index.md +32 -0
  85. package/dist/agentic/guides/modules/auth/notifications.md +16 -0
  86. package/dist/agentic/guides/modules/auth/owned-contract-module-metadata.md +11 -0
  87. package/dist/agentic/guides/modules/auth/setup.md +11 -0
  88. package/dist/agentic/guides/modules/auth/umes-contributions.md +16 -0
  89. package/dist/agentic/guides/modules/auth/umes-diagnostics.md +10 -0
  90. package/dist/agentic/guides/modules/auth/umes-hosts.md +53 -0
  91. package/dist/agentic/guides/modules/business_rules/acl-features.md +15 -0
  92. package/dist/agentic/guides/modules/business_rules/backend-pages.md +18 -0
  93. package/dist/agentic/guides/modules/business_rules/cli-commands.md +11 -0
  94. package/dist/agentic/guides/modules/business_rules/contribution-resolutions.md +13 -0
  95. package/dist/agentic/guides/modules/business_rules/di-registrations-rich.md +13 -0
  96. package/dist/agentic/guides/modules/business_rules/di-service-tokens.md +13 -0
  97. package/dist/agentic/guides/modules/business_rules/entities.md +14 -0
  98. package/dist/agentic/guides/modules/business_rules/events.md +11 -0
  99. package/dist/agentic/guides/modules/business_rules/exact-override-targets.md +31 -0
  100. package/dist/agentic/guides/modules/business_rules/host-extension-points.md +10 -0
  101. package/dist/agentic/guides/modules/business_rules/index.md +27 -0
  102. package/dist/agentic/guides/modules/business_rules/notifications.md +11 -0
  103. package/dist/agentic/guides/modules/business_rules/owned-contract-module-metadata.md +11 -0
  104. package/dist/agentic/guides/modules/business_rules/setup.md +11 -0
  105. package/dist/agentic/guides/modules/business_rules/umes-contributions.md +13 -0
  106. package/dist/agentic/guides/modules/business_rules/umes-diagnostics.md +9 -0
  107. package/dist/agentic/guides/modules/business_rules/umes-hosts.md +24 -0
  108. package/dist/agentic/guides/modules/catalog/acl-features.md +17 -0
  109. package/dist/agentic/guides/modules/catalog/active-extension-bindings.md +23 -0
  110. package/dist/agentic/guides/modules/catalog/ai-agents.md +12 -0
  111. package/dist/agentic/guides/modules/catalog/ai-tools-mcp-capabilities.md +39 -0
  112. package/dist/agentic/guides/modules/catalog/backend-pages.md +19 -0
  113. package/dist/agentic/guides/modules/catalog/cli-commands.md +14 -0
  114. package/dist/agentic/guides/modules/catalog/contribution-resolutions.md +58 -0
  115. package/dist/agentic/guides/modules/catalog/custom-entities.md +13 -0
  116. package/dist/agentic/guides/modules/catalog/di-registrations-rich.md +13 -0
  117. package/dist/agentic/guides/modules/catalog/di-service-tokens.md +11 -0
  118. package/dist/agentic/guides/modules/catalog/domain-commands.md +34 -0
  119. package/dist/agentic/guides/modules/catalog/entities.md +22 -0
  120. package/dist/agentic/guides/modules/catalog/events.md +28 -0
  121. package/dist/agentic/guides/modules/catalog/exact-override-targets.md +73 -0
  122. package/dist/agentic/guides/modules/catalog/host-extension-points.md +10 -0
  123. package/dist/agentic/guides/modules/catalog/incoming-installed-contributions.md +19 -0
  124. package/dist/agentic/guides/modules/catalog/index.md +35 -0
  125. package/dist/agentic/guides/modules/catalog/notifications.md +11 -0
  126. package/dist/agentic/guides/modules/catalog/owned-contract-module-metadata.md +11 -0
  127. package/dist/agentic/guides/modules/catalog/search-entities.md +18 -0
  128. package/dist/agentic/guides/modules/catalog/setup.md +11 -0
  129. package/dist/agentic/guides/modules/catalog/umes-contributions.md +58 -0
  130. package/dist/agentic/guides/modules/catalog/umes-diagnostics.md +17 -0
  131. package/dist/agentic/guides/modules/catalog/umes-hosts.md +79 -0
  132. package/dist/agentic/guides/modules/catalog/workers.md +11 -0
  133. package/dist/agentic/guides/modules/channel_gmail/acl-features.md +12 -0
  134. package/dist/agentic/guides/modules/channel_gmail/contribution-resolutions.md +12 -0
  135. package/dist/agentic/guides/modules/channel_gmail/di-registrations-rich.md +12 -0
  136. package/dist/agentic/guides/modules/channel_gmail/exact-override-targets.md +17 -0
  137. package/dist/agentic/guides/modules/channel_gmail/index.md +18 -0
  138. package/dist/agentic/guides/modules/channel_gmail/owned-contract-module-metadata.md +11 -0
  139. package/dist/agentic/guides/modules/channel_gmail/setup.md +11 -0
  140. package/dist/agentic/guides/modules/channel_gmail/umes-contributions.md +12 -0
  141. package/dist/agentic/guides/modules/channel_imap/acl-features.md +12 -0
  142. package/dist/agentic/guides/modules/channel_imap/contribution-resolutions.md +12 -0
  143. package/dist/agentic/guides/modules/channel_imap/di-registrations-rich.md +12 -0
  144. package/dist/agentic/guides/modules/channel_imap/exact-override-targets.md +17 -0
  145. package/dist/agentic/guides/modules/channel_imap/index.md +18 -0
  146. package/dist/agentic/guides/modules/channel_imap/owned-contract-module-metadata.md +11 -0
  147. package/dist/agentic/guides/modules/channel_imap/setup.md +11 -0
  148. package/dist/agentic/guides/modules/channel_imap/umes-contributions.md +12 -0
  149. package/dist/agentic/guides/modules/checkout/acl-features.md +16 -0
  150. package/dist/agentic/guides/modules/checkout/backend-pages.md +20 -0
  151. package/dist/agentic/guides/modules/checkout/contribution-resolutions.md +29 -0
  152. package/dist/agentic/guides/modules/checkout/domain-commands.md +18 -0
  153. package/dist/agentic/guides/modules/checkout/encryption.md +13 -0
  154. package/dist/agentic/guides/modules/checkout/entities.md +13 -0
  155. package/dist/agentic/guides/modules/checkout/events.md +26 -0
  156. package/dist/agentic/guides/modules/checkout/exact-override-targets.md +51 -0
  157. package/dist/agentic/guides/modules/checkout/frontend-pages.md +13 -0
  158. package/dist/agentic/guides/modules/checkout/host-extension-points.md +10 -0
  159. package/dist/agentic/guides/modules/checkout/index.md +28 -0
  160. package/dist/agentic/guides/modules/checkout/notifications.md +13 -0
  161. package/dist/agentic/guides/modules/checkout/owned-contract-module-metadata.md +11 -0
  162. package/dist/agentic/guides/modules/checkout/setup.md +11 -0
  163. package/dist/agentic/guides/modules/checkout/umes-contributions.md +29 -0
  164. package/dist/agentic/guides/modules/checkout/umes-diagnostics.md +11 -0
  165. package/dist/agentic/guides/modules/checkout/umes-hosts.md +92 -0
  166. package/dist/agentic/guides/modules/checkout/workers.md +12 -0
  167. package/dist/agentic/guides/modules/communication_channels/acl-features.md +18 -0
  168. package/dist/agentic/guides/modules/communication_channels/active-extension-bindings.md +11 -0
  169. package/dist/agentic/guides/modules/communication_channels/backend-pages.md +13 -0
  170. package/dist/agentic/guides/modules/communication_channels/contribution-resolutions.md +42 -0
  171. package/dist/agentic/guides/modules/communication_channels/di-registrations-rich.md +18 -0
  172. package/dist/agentic/guides/modules/communication_channels/domain-commands.md +19 -0
  173. package/dist/agentic/guides/modules/communication_channels/encryption.md +11 -0
  174. package/dist/agentic/guides/modules/communication_channels/entities.md +18 -0
  175. package/dist/agentic/guides/modules/communication_channels/events.md +26 -0
  176. package/dist/agentic/guides/modules/communication_channels/exact-override-targets.md +54 -0
  177. package/dist/agentic/guides/modules/communication_channels/host-extension-points.md +10 -0
  178. package/dist/agentic/guides/modules/communication_channels/incoming-installed-contributions.md +14 -0
  179. package/dist/agentic/guides/modules/communication_channels/index.md +30 -0
  180. package/dist/agentic/guides/modules/communication_channels/notifications.md +12 -0
  181. package/dist/agentic/guides/modules/communication_channels/owned-contract-module-metadata.md +11 -0
  182. package/dist/agentic/guides/modules/communication_channels/setup.md +11 -0
  183. package/dist/agentic/guides/modules/communication_channels/umes-contributions.md +42 -0
  184. package/dist/agentic/guides/modules/communication_channels/umes-diagnostics.md +10 -0
  185. package/dist/agentic/guides/modules/communication_channels/umes-hosts.md +53 -0
  186. package/dist/agentic/guides/modules/communication_channels/workers.md +18 -0
  187. package/dist/agentic/guides/modules/configs/acl-features.md +14 -0
  188. package/dist/agentic/guides/modules/configs/active-extension-bindings.md +12 -0
  189. package/dist/agentic/guides/modules/configs/backend-pages.md +13 -0
  190. package/dist/agentic/guides/modules/configs/cli-commands.md +13 -0
  191. package/dist/agentic/guides/modules/configs/di-registrations-rich.md +11 -0
  192. package/dist/agentic/guides/modules/configs/entities.md +12 -0
  193. package/dist/agentic/guides/modules/configs/exact-override-targets.md +22 -0
  194. package/dist/agentic/guides/modules/configs/incoming-installed-contributions.md +11 -0
  195. package/dist/agentic/guides/modules/configs/index.md +22 -0
  196. package/dist/agentic/guides/modules/configs/owned-contract-module-metadata.md +11 -0
  197. package/dist/agentic/guides/modules/configs/setup.md +11 -0
  198. package/dist/agentic/guides/modules/configs/umes-hosts.md +13 -0
  199. package/dist/agentic/guides/modules/content/exact-override-targets.md +12 -0
  200. package/dist/agentic/guides/modules/content/frontend-pages.md +12 -0
  201. package/dist/agentic/guides/modules/content/index.md +14 -0
  202. package/dist/agentic/guides/modules/content/owned-contract-module-metadata.md +11 -0
  203. package/dist/agentic/guides/modules/currencies/acl-features.md +16 -0
  204. package/dist/agentic/guides/modules/currencies/backend-pages.md +17 -0
  205. package/dist/agentic/guides/modules/currencies/cli-commands.md +13 -0
  206. package/dist/agentic/guides/modules/currencies/domain-commands.md +16 -0
  207. package/dist/agentic/guides/modules/currencies/entities.md +13 -0
  208. package/dist/agentic/guides/modules/currencies/events.md +16 -0
  209. package/dist/agentic/guides/modules/currencies/exact-override-targets.md +28 -0
  210. package/dist/agentic/guides/modules/currencies/host-extension-points.md +10 -0
  211. package/dist/agentic/guides/modules/currencies/index.md +23 -0
  212. package/dist/agentic/guides/modules/currencies/owned-contract-module-metadata.md +11 -0
  213. package/dist/agentic/guides/modules/currencies/setup.md +11 -0
  214. package/dist/agentic/guides/modules/currencies/umes-diagnostics.md +10 -0
  215. package/dist/agentic/guides/modules/currencies/umes-hosts.md +37 -0
  216. package/dist/agentic/guides/modules/customer_accounts/acl-features.md +15 -0
  217. package/dist/agentic/guides/modules/customer_accounts/active-extension-bindings.md +12 -0
  218. package/dist/agentic/guides/modules/customer_accounts/backend-pages.md +17 -0
  219. package/dist/agentic/guides/modules/customer_accounts/contribution-resolutions.md +59 -0
  220. package/dist/agentic/guides/modules/customer_accounts/custom-entities.md +12 -0
  221. package/dist/agentic/guides/modules/customer_accounts/di-registrations-rich.md +16 -0
  222. package/dist/agentic/guides/modules/customer_accounts/di-service-tokens.md +16 -0
  223. package/dist/agentic/guides/modules/customer_accounts/encryption.md +13 -0
  224. package/dist/agentic/guides/modules/customer_accounts/entities.md +20 -0
  225. package/dist/agentic/guides/modules/customer_accounts/events.md +35 -0
  226. package/dist/agentic/guides/modules/customer_accounts/exact-override-targets.md +64 -0
  227. package/dist/agentic/guides/modules/customer_accounts/host-extension-points.md +10 -0
  228. package/dist/agentic/guides/modules/customer_accounts/index.md +31 -0
  229. package/dist/agentic/guides/modules/customer_accounts/notifications.md +16 -0
  230. package/dist/agentic/guides/modules/customer_accounts/owned-contract-module-metadata.md +11 -0
  231. package/dist/agentic/guides/modules/customer_accounts/search-entities.md +12 -0
  232. package/dist/agentic/guides/modules/customer_accounts/setup.md +11 -0
  233. package/dist/agentic/guides/modules/customer_accounts/umes-contributions.md +59 -0
  234. package/dist/agentic/guides/modules/customer_accounts/umes-diagnostics.md +10 -0
  235. package/dist/agentic/guides/modules/customer_accounts/umes-hosts.md +69 -0
  236. package/dist/agentic/guides/modules/customer_accounts/workers.md +14 -0
  237. package/dist/agentic/guides/modules/customers/acl-features.md +31 -0
  238. package/dist/agentic/guides/modules/customers/active-extension-bindings.md +37 -0
  239. package/dist/agentic/guides/modules/customers/ai-agents.md +13 -0
  240. package/dist/agentic/guides/modules/customers/ai-tools-mcp-capabilities.md +30 -0
  241. package/dist/agentic/guides/modules/customers/backend-pages.md +28 -0
  242. package/dist/agentic/guides/modules/customers/cli-commands.md +14 -0
  243. package/dist/agentic/guides/modules/customers/contribution-resolutions.md +63 -0
  244. package/dist/agentic/guides/modules/customers/custom-entities.md +15 -0
  245. package/dist/agentic/guides/modules/customers/di-registrations-rich.md +13 -0
  246. package/dist/agentic/guides/modules/customers/domain-commands.md +64 -0
  247. package/dist/agentic/guides/modules/customers/encryption.md +18 -0
  248. package/dist/agentic/guides/modules/customers/entities.md +35 -0
  249. package/dist/agentic/guides/modules/customers/events.md +59 -0
  250. package/dist/agentic/guides/modules/customers/exact-override-targets.md +108 -0
  251. package/dist/agentic/guides/modules/customers/host-extension-points.md +10 -0
  252. package/dist/agentic/guides/modules/customers/incoming-installed-contributions.md +23 -0
  253. package/dist/agentic/guides/modules/customers/index.md +35 -0
  254. package/dist/agentic/guides/modules/customers/notifications.md +12 -0
  255. package/dist/agentic/guides/modules/customers/owned-contract-module-metadata.md +11 -0
  256. package/dist/agentic/guides/modules/customers/search-entities.md +16 -0
  257. package/dist/agentic/guides/modules/customers/setup.md +11 -0
  258. package/dist/agentic/guides/modules/customers/umes-contributions.md +63 -0
  259. package/dist/agentic/guides/modules/customers/umes-diagnostics.md +33 -0
  260. package/dist/agentic/guides/modules/customers/umes-hosts.md +166 -0
  261. package/dist/agentic/guides/modules/customers/workers.md +12 -0
  262. package/dist/agentic/guides/modules/dashboards/acl-features.md +14 -0
  263. package/dist/agentic/guides/modules/dashboards/active-extension-bindings.md +24 -0
  264. package/dist/agentic/guides/modules/dashboards/cli-commands.md +14 -0
  265. package/dist/agentic/guides/modules/dashboards/contribution-resolutions.md +21 -0
  266. package/dist/agentic/guides/modules/dashboards/di-registrations-rich.md +11 -0
  267. package/dist/agentic/guides/modules/dashboards/di-service-tokens.md +11 -0
  268. package/dist/agentic/guides/modules/dashboards/entities.md +13 -0
  269. package/dist/agentic/guides/modules/dashboards/exact-override-targets.md +33 -0
  270. package/dist/agentic/guides/modules/dashboards/incoming-installed-contributions.md +11 -0
  271. package/dist/agentic/guides/modules/dashboards/index.md +24 -0
  272. package/dist/agentic/guides/modules/dashboards/owned-contract-module-metadata.md +11 -0
  273. package/dist/agentic/guides/modules/dashboards/setup.md +11 -0
  274. package/dist/agentic/guides/modules/dashboards/umes-contributions.md +21 -0
  275. package/dist/agentic/guides/modules/dashboards/umes-hosts.md +16 -0
  276. package/dist/agentic/guides/modules/data_sync/acl-features.md +13 -0
  277. package/dist/agentic/guides/modules/data_sync/active-extension-bindings.md +13 -0
  278. package/dist/agentic/guides/modules/data_sync/backend-pages.md +12 -0
  279. package/dist/agentic/guides/modules/data_sync/di-registrations-rich.md +18 -0
  280. package/dist/agentic/guides/modules/data_sync/di-service-tokens.md +14 -0
  281. package/dist/agentic/guides/modules/data_sync/entities.md +14 -0
  282. package/dist/agentic/guides/modules/data_sync/events.md +14 -0
  283. package/dist/agentic/guides/modules/data_sync/exact-override-targets.md +27 -0
  284. package/dist/agentic/guides/modules/data_sync/host-extension-points.md +10 -0
  285. package/dist/agentic/guides/modules/data_sync/index.md +25 -0
  286. package/dist/agentic/guides/modules/data_sync/owned-contract-module-metadata.md +11 -0
  287. package/dist/agentic/guides/modules/data_sync/setup.md +11 -0
  288. package/dist/agentic/guides/modules/data_sync/umes-diagnostics.md +9 -0
  289. package/dist/agentic/guides/modules/data_sync/umes-hosts.md +30 -0
  290. package/dist/agentic/guides/modules/data_sync/workers.md +13 -0
  291. package/dist/agentic/guides/modules/design_system/acl-features.md +11 -0
  292. package/dist/agentic/guides/modules/design_system/backend-pages.md +11 -0
  293. package/dist/agentic/guides/modules/design_system/exact-override-targets.md +13 -0
  294. package/dist/agentic/guides/modules/design_system/index.md +16 -0
  295. package/dist/agentic/guides/modules/design_system/owned-contract-module-metadata.md +11 -0
  296. package/dist/agentic/guides/modules/design_system/setup.md +11 -0
  297. package/dist/agentic/guides/modules/dictionaries/acl-features.md +12 -0
  298. package/dist/agentic/guides/modules/dictionaries/active-extension-bindings.md +12 -0
  299. package/dist/agentic/guides/modules/dictionaries/backend-pages.md +11 -0
  300. package/dist/agentic/guides/modules/dictionaries/di-registrations-rich.md +12 -0
  301. package/dist/agentic/guides/modules/dictionaries/domain-commands.md +15 -0
  302. package/dist/agentic/guides/modules/dictionaries/entities.md +12 -0
  303. package/dist/agentic/guides/modules/dictionaries/events.md +13 -0
  304. package/dist/agentic/guides/modules/dictionaries/exact-override-targets.md +16 -0
  305. package/dist/agentic/guides/modules/dictionaries/index.md +22 -0
  306. package/dist/agentic/guides/modules/dictionaries/owned-contract-module-metadata.md +11 -0
  307. package/dist/agentic/guides/modules/dictionaries/setup.md +11 -0
  308. package/dist/agentic/guides/modules/dictionaries/umes-hosts.md +17 -0
  309. package/dist/agentic/guides/modules/directory/acl-features.md +14 -0
  310. package/dist/agentic/guides/modules/directory/active-extension-bindings.md +11 -0
  311. package/dist/agentic/guides/modules/directory/backend-pages.md +17 -0
  312. package/dist/agentic/guides/modules/directory/contribution-resolutions.md +11 -0
  313. package/dist/agentic/guides/modules/directory/domain-commands.md +16 -0
  314. package/dist/agentic/guides/modules/directory/entities.md +12 -0
  315. package/dist/agentic/guides/modules/directory/events.md +16 -0
  316. package/dist/agentic/guides/modules/directory/exact-override-targets.md +24 -0
  317. package/dist/agentic/guides/modules/directory/host-extension-points.md +10 -0
  318. package/dist/agentic/guides/modules/directory/incoming-installed-contributions.md +11 -0
  319. package/dist/agentic/guides/modules/directory/index.md +26 -0
  320. package/dist/agentic/guides/modules/directory/owned-contract-module-metadata.md +11 -0
  321. package/dist/agentic/guides/modules/directory/setup.md +11 -0
  322. package/dist/agentic/guides/modules/directory/umes-contributions.md +11 -0
  323. package/dist/agentic/guides/modules/directory/umes-diagnostics.md +10 -0
  324. package/dist/agentic/guides/modules/directory/umes-hosts.md +37 -0
  325. package/dist/agentic/guides/modules/entities/acl-features.md +14 -0
  326. package/dist/agentic/guides/modules/entities/active-extension-bindings.md +11 -0
  327. package/dist/agentic/guides/modules/entities/backend-pages.md +19 -0
  328. package/dist/agentic/guides/modules/entities/cli-commands.md +17 -0
  329. package/dist/agentic/guides/modules/entities/entities.md +16 -0
  330. package/dist/agentic/guides/modules/entities/exact-override-targets.md +31 -0
  331. package/dist/agentic/guides/modules/entities/host-extension-points.md +10 -0
  332. package/dist/agentic/guides/modules/entities/index.md +22 -0
  333. package/dist/agentic/guides/modules/entities/owned-contract-module-metadata.md +11 -0
  334. package/dist/agentic/guides/modules/entities/setup.md +11 -0
  335. package/dist/agentic/guides/modules/entities/umes-diagnostics.md +10 -0
  336. package/dist/agentic/guides/modules/entities/umes-hosts.md +36 -0
  337. package/dist/agentic/guides/modules/eudr/acl-features.md +20 -0
  338. package/dist/agentic/guides/modules/eudr/active-extension-bindings.md +11 -0
  339. package/dist/agentic/guides/modules/eudr/ai-agents.md +11 -0
  340. package/dist/agentic/guides/modules/eudr/ai-tools-mcp-capabilities.md +15 -0
  341. package/dist/agentic/guides/modules/eudr/backend-pages.md +26 -0
  342. package/dist/agentic/guides/modules/eudr/contribution-resolutions.md +37 -0
  343. package/dist/agentic/guides/modules/eudr/custom-entities.md +16 -0
  344. package/dist/agentic/guides/modules/eudr/domain-commands.md +28 -0
  345. package/dist/agentic/guides/modules/eudr/encryption.md +14 -0
  346. package/dist/agentic/guides/modules/eudr/entities.md +16 -0
  347. package/dist/agentic/guides/modules/eudr/events.md +33 -0
  348. package/dist/agentic/guides/modules/eudr/exact-override-targets.md +64 -0
  349. package/dist/agentic/guides/modules/eudr/host-extension-points.md +10 -0
  350. package/dist/agentic/guides/modules/eudr/index.md +30 -0
  351. package/dist/agentic/guides/modules/eudr/notifications.md +15 -0
  352. package/dist/agentic/guides/modules/eudr/owned-contract-module-metadata.md +11 -0
  353. package/dist/agentic/guides/modules/eudr/search-entities.md +13 -0
  354. package/dist/agentic/guides/modules/eudr/setup.md +11 -0
  355. package/dist/agentic/guides/modules/eudr/umes-contributions.md +37 -0
  356. package/dist/agentic/guides/modules/eudr/umes-hosts.md +45 -0
  357. package/dist/agentic/guides/modules/events/exact-override-targets.md +11 -0
  358. package/dist/agentic/guides/modules/events/index.md +14 -0
  359. package/dist/agentic/guides/modules/events/owned-contract-module-metadata.md +11 -0
  360. package/dist/agentic/guides/modules/events/workers.md +11 -0
  361. package/dist/agentic/guides/modules/feature_toggles/acl-features.md +13 -0
  362. package/dist/agentic/guides/modules/feature_toggles/active-extension-bindings.md +11 -0
  363. package/dist/agentic/guides/modules/feature_toggles/backend-pages.md +15 -0
  364. package/dist/agentic/guides/modules/feature_toggles/cli-commands.md +15 -0
  365. package/dist/agentic/guides/modules/feature_toggles/di-registrations-rich.md +11 -0
  366. package/dist/agentic/guides/modules/feature_toggles/di-service-tokens.md +11 -0
  367. package/dist/agentic/guides/modules/feature_toggles/domain-commands.md +14 -0
  368. package/dist/agentic/guides/modules/feature_toggles/entities.md +12 -0
  369. package/dist/agentic/guides/modules/feature_toggles/exact-override-targets.md +25 -0
  370. package/dist/agentic/guides/modules/feature_toggles/index.md +23 -0
  371. package/dist/agentic/guides/modules/feature_toggles/owned-contract-module-metadata.md +11 -0
  372. package/dist/agentic/guides/modules/feature_toggles/setup.md +11 -0
  373. package/dist/agentic/guides/modules/feature_toggles/umes-hosts.md +13 -0
  374. package/dist/agentic/guides/modules/gateway_stripe/acl-features.md +12 -0
  375. package/dist/agentic/guides/modules/gateway_stripe/cli-commands.md +12 -0
  376. package/dist/agentic/guides/modules/gateway_stripe/contribution-resolutions.md +12 -0
  377. package/dist/agentic/guides/modules/gateway_stripe/di-registrations-rich.md +11 -0
  378. package/dist/agentic/guides/modules/gateway_stripe/exact-override-targets.md +18 -0
  379. package/dist/agentic/guides/modules/gateway_stripe/index.md +20 -0
  380. package/dist/agentic/guides/modules/gateway_stripe/owned-contract-module-metadata.md +11 -0
  381. package/dist/agentic/guides/modules/gateway_stripe/setup.md +11 -0
  382. package/dist/agentic/guides/modules/gateway_stripe/umes-contributions.md +12 -0
  383. package/dist/agentic/guides/modules/gateway_stripe/workers.md +11 -0
  384. package/dist/agentic/guides/modules/generators/index.md +11 -0
  385. package/dist/agentic/guides/modules/inbox_ops/acl-features.md +15 -0
  386. package/dist/agentic/guides/modules/inbox_ops/active-extension-bindings.md +13 -0
  387. package/dist/agentic/guides/modules/inbox_ops/ai-tools-mcp-capabilities.md +14 -0
  388. package/dist/agentic/guides/modules/inbox_ops/backend-pages.md +14 -0
  389. package/dist/agentic/guides/modules/inbox_ops/contribution-resolutions.md +20 -0
  390. package/dist/agentic/guides/modules/inbox_ops/custom-entities.md +11 -0
  391. package/dist/agentic/guides/modules/inbox_ops/di-registrations-rich.md +15 -0
  392. package/dist/agentic/guides/modules/inbox_ops/encryption.md +15 -0
  393. package/dist/agentic/guides/modules/inbox_ops/entities.md +15 -0
  394. package/dist/agentic/guides/modules/inbox_ops/events.md +23 -0
  395. package/dist/agentic/guides/modules/inbox_ops/exact-override-targets.md +41 -0
  396. package/dist/agentic/guides/modules/inbox_ops/index.md +28 -0
  397. package/dist/agentic/guides/modules/inbox_ops/notifications.md +11 -0
  398. package/dist/agentic/guides/modules/inbox_ops/owned-contract-module-metadata.md +11 -0
  399. package/dist/agentic/guides/modules/inbox_ops/search-entities.md +11 -0
  400. package/dist/agentic/guides/modules/inbox_ops/setup.md +11 -0
  401. package/dist/agentic/guides/modules/inbox_ops/umes-contributions.md +20 -0
  402. package/dist/agentic/guides/modules/inbox_ops/umes-hosts.md +30 -0
  403. package/dist/agentic/guides/modules/integrations/acl-features.md +13 -0
  404. package/dist/agentic/guides/modules/integrations/backend-pages.md +13 -0
  405. package/dist/agentic/guides/modules/integrations/contribution-resolutions.md +12 -0
  406. package/dist/agentic/guides/modules/integrations/di-registrations-rich.md +18 -0
  407. package/dist/agentic/guides/modules/integrations/di-service-tokens.md +14 -0
  408. package/dist/agentic/guides/modules/integrations/encryption.md +11 -0
  409. package/dist/agentic/guides/modules/integrations/entities.md +14 -0
  410. package/dist/agentic/guides/modules/integrations/events.md +14 -0
  411. package/dist/agentic/guides/modules/integrations/exact-override-targets.md +31 -0
  412. package/dist/agentic/guides/modules/integrations/index.md +25 -0
  413. package/dist/agentic/guides/modules/integrations/owned-contract-module-metadata.md +11 -0
  414. package/dist/agentic/guides/modules/integrations/setup.md +11 -0
  415. package/dist/agentic/guides/modules/integrations/umes-contributions.md +12 -0
  416. package/dist/agentic/guides/modules/integrations/umes-hosts.md +20 -0
  417. package/dist/agentic/guides/modules/integrations/workers.md +12 -0
  418. package/dist/agentic/guides/modules/messages/acl-features.md +17 -0
  419. package/dist/agentic/guides/modules/messages/active-extension-bindings.md +13 -0
  420. package/dist/agentic/guides/modules/messages/backend-pages.md +13 -0
  421. package/dist/agentic/guides/modules/messages/contribution-resolutions.md +23 -0
  422. package/dist/agentic/guides/modules/messages/domain-commands.md +30 -0
  423. package/dist/agentic/guides/modules/messages/encryption.md +11 -0
  424. package/dist/agentic/guides/modules/messages/entities.md +15 -0
  425. package/dist/agentic/guides/modules/messages/events.md +19 -0
  426. package/dist/agentic/guides/modules/messages/exact-override-targets.md +27 -0
  427. package/dist/agentic/guides/modules/messages/frontend-pages.md +11 -0
  428. package/dist/agentic/guides/modules/messages/host-extension-points.md +10 -0
  429. package/dist/agentic/guides/modules/messages/incoming-installed-contributions.md +17 -0
  430. package/dist/agentic/guides/modules/messages/index.md +31 -0
  431. package/dist/agentic/guides/modules/messages/notifications.md +11 -0
  432. package/dist/agentic/guides/modules/messages/owned-contract-module-metadata.md +11 -0
  433. package/dist/agentic/guides/modules/messages/search-entities.md +11 -0
  434. package/dist/agentic/guides/modules/messages/setup.md +11 -0
  435. package/dist/agentic/guides/modules/messages/umes-contributions.md +23 -0
  436. package/dist/agentic/guides/modules/messages/umes-diagnostics.md +9 -0
  437. package/dist/agentic/guides/modules/messages/umes-hosts.md +38 -0
  438. package/dist/agentic/guides/modules/messages/workers.md +11 -0
  439. package/dist/agentic/guides/modules/notifications/acl-features.md +13 -0
  440. package/dist/agentic/guides/modules/notifications/backend-pages.md +11 -0
  441. package/dist/agentic/guides/modules/notifications/cli-commands.md +11 -0
  442. package/dist/agentic/guides/modules/notifications/di-registrations-rich.md +11 -0
  443. package/dist/agentic/guides/modules/notifications/di-service-tokens.md +11 -0
  444. package/dist/agentic/guides/modules/notifications/entities.md +11 -0
  445. package/dist/agentic/guides/modules/notifications/exact-override-targets.md +18 -0
  446. package/dist/agentic/guides/modules/notifications/index.md +22 -0
  447. package/dist/agentic/guides/modules/notifications/owned-contract-module-metadata.md +11 -0
  448. package/dist/agentic/guides/modules/notifications/setup.md +11 -0
  449. package/dist/agentic/guides/modules/notifications/umes-hosts.md +11 -0
  450. package/dist/agentic/guides/modules/notifications/workers.md +11 -0
  451. package/dist/agentic/guides/modules/onboarding/acl-features.md +13 -0
  452. package/dist/agentic/guides/modules/onboarding/encryption.md +11 -0
  453. package/dist/agentic/guides/modules/onboarding/entities.md +11 -0
  454. package/dist/agentic/guides/modules/onboarding/exact-override-targets.md +16 -0
  455. package/dist/agentic/guides/modules/onboarding/frontend-pages.md +12 -0
  456. package/dist/agentic/guides/modules/onboarding/index.md +18 -0
  457. package/dist/agentic/guides/modules/onboarding/owned-contract-module-metadata.md +11 -0
  458. package/dist/agentic/guides/modules/onboarding/umes-hosts.md +11 -0
  459. package/dist/agentic/guides/modules/payment_gateways/acl-features.md +14 -0
  460. package/dist/agentic/guides/modules/payment_gateways/active-extension-bindings.md +13 -0
  461. package/dist/agentic/guides/modules/payment_gateways/backend-pages.md +11 -0
  462. package/dist/agentic/guides/modules/payment_gateways/contribution-resolutions.md +11 -0
  463. package/dist/agentic/guides/modules/payment_gateways/di-registrations-rich.md +14 -0
  464. package/dist/agentic/guides/modules/payment_gateways/di-service-tokens.md +12 -0
  465. package/dist/agentic/guides/modules/payment_gateways/encryption.md +11 -0
  466. package/dist/agentic/guides/modules/payment_gateways/entities.md +14 -0
  467. package/dist/agentic/guides/modules/payment_gateways/events.md +19 -0
  468. package/dist/agentic/guides/modules/payment_gateways/exact-override-targets.md +26 -0
  469. package/dist/agentic/guides/modules/payment_gateways/host-extension-points.md +10 -0
  470. package/dist/agentic/guides/modules/payment_gateways/incoming-installed-contributions.md +16 -0
  471. package/dist/agentic/guides/modules/payment_gateways/index.md +29 -0
  472. package/dist/agentic/guides/modules/payment_gateways/owned-contract-module-metadata.md +11 -0
  473. package/dist/agentic/guides/modules/payment_gateways/setup.md +11 -0
  474. package/dist/agentic/guides/modules/payment_gateways/umes-contributions.md +11 -0
  475. package/dist/agentic/guides/modules/payment_gateways/umes-diagnostics.md +9 -0
  476. package/dist/agentic/guides/modules/payment_gateways/umes-hosts.md +34 -0
  477. package/dist/agentic/guides/modules/payment_gateways/workers.md +13 -0
  478. package/dist/agentic/guides/modules/perspectives/acl-features.md +12 -0
  479. package/dist/agentic/guides/modules/perspectives/active-extension-bindings.md +12 -0
  480. package/dist/agentic/guides/modules/perspectives/entities.md +12 -0
  481. package/dist/agentic/guides/modules/perspectives/exact-override-targets.md +13 -0
  482. package/dist/agentic/guides/modules/perspectives/index.md +18 -0
  483. package/dist/agentic/guides/modules/perspectives/owned-contract-module-metadata.md +11 -0
  484. package/dist/agentic/guides/modules/perspectives/setup.md +11 -0
  485. package/dist/agentic/guides/modules/perspectives/umes-hosts.md +14 -0
  486. package/dist/agentic/guides/modules/planner/acl-features.md +12 -0
  487. package/dist/agentic/guides/modules/planner/active-extension-bindings.md +11 -0
  488. package/dist/agentic/guides/modules/planner/backend-pages.md +13 -0
  489. package/dist/agentic/guides/modules/planner/cli-commands.md +12 -0
  490. package/dist/agentic/guides/modules/planner/contribution-resolutions.md +11 -0
  491. package/dist/agentic/guides/modules/planner/di-registrations-rich.md +11 -0
  492. package/dist/agentic/guides/modules/planner/di-service-tokens.md +11 -0
  493. package/dist/agentic/guides/modules/planner/domain-commands.md +18 -0
  494. package/dist/agentic/guides/modules/planner/entities.md +12 -0
  495. package/dist/agentic/guides/modules/planner/events.md +16 -0
  496. package/dist/agentic/guides/modules/planner/exact-override-targets.md +21 -0
  497. package/dist/agentic/guides/modules/planner/index.md +27 -0
  498. package/dist/agentic/guides/modules/planner/owned-contract-module-metadata.md +11 -0
  499. package/dist/agentic/guides/modules/planner/search-entities.md +11 -0
  500. package/dist/agentic/guides/modules/planner/setup.md +11 -0
  501. package/dist/agentic/guides/modules/planner/umes-contributions.md +11 -0
  502. package/dist/agentic/guides/modules/planner/umes-hosts.md +21 -0
  503. package/dist/agentic/guides/modules/portal/active-extension-bindings.md +11 -0
  504. package/dist/agentic/guides/modules/portal/exact-override-targets.md +19 -0
  505. package/dist/agentic/guides/modules/portal/frontend-pages.md +18 -0
  506. package/dist/agentic/guides/modules/portal/incoming-installed-contributions.md +11 -0
  507. package/dist/agentic/guides/modules/portal/index.md +18 -0
  508. package/dist/agentic/guides/modules/portal/owned-contract-module-metadata.md +11 -0
  509. package/dist/agentic/guides/modules/portal/setup.md +11 -0
  510. package/dist/agentic/guides/modules/portal/umes-hosts.md +22 -0
  511. package/dist/agentic/guides/modules/progress/acl-features.md +15 -0
  512. package/dist/agentic/guides/modules/progress/contribution-resolutions.md +16 -0
  513. package/dist/agentic/guides/modules/progress/entities.md +11 -0
  514. package/dist/agentic/guides/modules/progress/events.md +16 -0
  515. package/dist/agentic/guides/modules/progress/exact-override-targets.md +16 -0
  516. package/dist/agentic/guides/modules/progress/index.md +20 -0
  517. package/dist/agentic/guides/modules/progress/owned-contract-module-metadata.md +11 -0
  518. package/dist/agentic/guides/modules/progress/setup.md +11 -0
  519. package/dist/agentic/guides/modules/progress/umes-contributions.md +16 -0
  520. package/dist/agentic/guides/modules/progress/umes-hosts.md +17 -0
  521. package/dist/agentic/guides/modules/query_index/acl-features.md +13 -0
  522. package/dist/agentic/guides/modules/query_index/active-extension-bindings.md +11 -0
  523. package/dist/agentic/guides/modules/query_index/backend-pages.md +11 -0
  524. package/dist/agentic/guides/modules/query_index/cli-commands.md +14 -0
  525. package/dist/agentic/guides/modules/query_index/contribution-resolutions.md +16 -0
  526. package/dist/agentic/guides/modules/query_index/entities.md +16 -0
  527. package/dist/agentic/guides/modules/query_index/events.md +18 -0
  528. package/dist/agentic/guides/modules/query_index/exact-override-targets.md +25 -0
  529. package/dist/agentic/guides/modules/query_index/host-extension-points.md +10 -0
  530. package/dist/agentic/guides/modules/query_index/incoming-installed-contributions.md +14 -0
  531. package/dist/agentic/guides/modules/query_index/index.md +26 -0
  532. package/dist/agentic/guides/modules/query_index/owned-contract-module-metadata.md +11 -0
  533. package/dist/agentic/guides/modules/query_index/setup.md +11 -0
  534. package/dist/agentic/guides/modules/query_index/umes-contributions.md +16 -0
  535. package/dist/agentic/guides/modules/query_index/umes-diagnostics.md +9 -0
  536. package/dist/agentic/guides/modules/query_index/umes-hosts.md +34 -0
  537. package/dist/agentic/guides/modules/record_locks/acl-features.md +14 -0
  538. package/dist/agentic/guides/modules/record_locks/active-extension-bindings.md +11 -0
  539. package/dist/agentic/guides/modules/record_locks/backend-pages.md +11 -0
  540. package/dist/agentic/guides/modules/record_locks/contribution-resolutions.md +33 -0
  541. package/dist/agentic/guides/modules/record_locks/di-registrations-rich.md +13 -0
  542. package/dist/agentic/guides/modules/record_locks/di-service-tokens.md +13 -0
  543. package/dist/agentic/guides/modules/record_locks/domain-commands.md +12 -0
  544. package/dist/agentic/guides/modules/record_locks/entities.md +12 -0
  545. package/dist/agentic/guides/modules/record_locks/events.md +20 -0
  546. package/dist/agentic/guides/modules/record_locks/exact-override-targets.md +41 -0
  547. package/dist/agentic/guides/modules/record_locks/index.md +26 -0
  548. package/dist/agentic/guides/modules/record_locks/notifications.md +18 -0
  549. package/dist/agentic/guides/modules/record_locks/owned-contract-module-metadata.md +11 -0
  550. package/dist/agentic/guides/modules/record_locks/setup.md +11 -0
  551. package/dist/agentic/guides/modules/record_locks/umes-contributions.md +33 -0
  552. package/dist/agentic/guides/modules/record_locks/umes-hosts.md +22 -0
  553. package/dist/agentic/guides/modules/resources/acl-features.md +12 -0
  554. package/dist/agentic/guides/modules/resources/active-extension-bindings.md +11 -0
  555. package/dist/agentic/guides/modules/resources/backend-pages.md +16 -0
  556. package/dist/agentic/guides/modules/resources/cli-commands.md +14 -0
  557. package/dist/agentic/guides/modules/resources/contribution-resolutions.md +12 -0
  558. package/dist/agentic/guides/modules/resources/domain-commands.md +27 -0
  559. package/dist/agentic/guides/modules/resources/entities.md +16 -0
  560. package/dist/agentic/guides/modules/resources/events.md +25 -0
  561. package/dist/agentic/guides/modules/resources/exact-override-targets.md +25 -0
  562. package/dist/agentic/guides/modules/resources/host-extension-points.md +10 -0
  563. package/dist/agentic/guides/modules/resources/index.md +27 -0
  564. package/dist/agentic/guides/modules/resources/owned-contract-module-metadata.md +11 -0
  565. package/dist/agentic/guides/modules/resources/search-entities.md +12 -0
  566. package/dist/agentic/guides/modules/resources/setup.md +11 -0
  567. package/dist/agentic/guides/modules/resources/umes-contributions.md +12 -0
  568. package/dist/agentic/guides/modules/resources/umes-diagnostics.md +10 -0
  569. package/dist/agentic/guides/modules/resources/umes-hosts.md +54 -0
  570. package/dist/agentic/guides/modules/sales/acl-features.md +29 -0
  571. package/dist/agentic/guides/modules/sales/active-extension-bindings.md +17 -0
  572. package/dist/agentic/guides/modules/sales/backend-pages.md +23 -0
  573. package/dist/agentic/guides/modules/sales/cli-commands.md +17 -0
  574. package/dist/agentic/guides/modules/sales/contribution-resolutions.md +49 -0
  575. package/dist/agentic/guides/modules/sales/custom-entities.md +25 -0
  576. package/dist/agentic/guides/modules/sales/di-registrations-rich.md +40 -0
  577. package/dist/agentic/guides/modules/sales/di-service-tokens.md +15 -0
  578. package/dist/agentic/guides/modules/sales/domain-commands.md +80 -0
  579. package/dist/agentic/guides/modules/sales/encryption.md +15 -0
  580. package/dist/agentic/guides/modules/sales/entities.md +37 -0
  581. package/dist/agentic/guides/modules/sales/events.md +54 -0
  582. package/dist/agentic/guides/modules/sales/exact-override-targets.md +103 -0
  583. package/dist/agentic/guides/modules/sales/frontend-pages.md +11 -0
  584. package/dist/agentic/guides/modules/sales/host-extension-points.md +10 -0
  585. package/dist/agentic/guides/modules/sales/incoming-installed-contributions.md +15 -0
  586. package/dist/agentic/guides/modules/sales/index.md +34 -0
  587. package/dist/agentic/guides/modules/sales/notifications.md +14 -0
  588. package/dist/agentic/guides/modules/sales/owned-contract-module-metadata.md +11 -0
  589. package/dist/agentic/guides/modules/sales/search-entities.md +32 -0
  590. package/dist/agentic/guides/modules/sales/setup.md +11 -0
  591. package/dist/agentic/guides/modules/sales/umes-contributions.md +49 -0
  592. package/dist/agentic/guides/modules/sales/umes-diagnostics.md +10 -0
  593. package/dist/agentic/guides/modules/sales/umes-hosts.md +147 -0
  594. package/dist/agentic/guides/modules/scheduler/acl-features.md +13 -0
  595. package/dist/agentic/guides/modules/scheduler/backend-pages.md +14 -0
  596. package/dist/agentic/guides/modules/scheduler/cli-commands.md +14 -0
  597. package/dist/agentic/guides/modules/scheduler/di-registrations-rich.md +13 -0
  598. package/dist/agentic/guides/modules/scheduler/di-service-tokens.md +13 -0
  599. package/dist/agentic/guides/modules/scheduler/domain-commands.md +14 -0
  600. package/dist/agentic/guides/modules/scheduler/entities.md +11 -0
  601. package/dist/agentic/guides/modules/scheduler/events.md +14 -0
  602. package/dist/agentic/guides/modules/scheduler/exact-override-targets.md +26 -0
  603. package/dist/agentic/guides/modules/scheduler/index.md +24 -0
  604. package/dist/agentic/guides/modules/scheduler/owned-contract-module-metadata.md +11 -0
  605. package/dist/agentic/guides/modules/scheduler/setup.md +11 -0
  606. package/dist/agentic/guides/modules/scheduler/umes-hosts.md +15 -0
  607. package/dist/agentic/guides/modules/scheduler/workers.md +11 -0
  608. package/dist/agentic/guides/modules/search/acl-features.md +16 -0
  609. package/dist/agentic/guides/modules/search/ai-tools-mcp-capabilities.md +16 -0
  610. package/dist/agentic/guides/modules/search/backend-pages.md +11 -0
  611. package/dist/agentic/guides/modules/search/cli-commands.md +18 -0
  612. package/dist/agentic/guides/modules/search/contribution-resolutions.md +20 -0
  613. package/dist/agentic/guides/modules/search/di-registrations-rich.md +15 -0
  614. package/dist/agentic/guides/modules/search/encryption.md +11 -0
  615. package/dist/agentic/guides/modules/search/events.md +11 -0
  616. package/dist/agentic/guides/modules/search/exact-override-targets.md +44 -0
  617. package/dist/agentic/guides/modules/search/index.md +25 -0
  618. package/dist/agentic/guides/modules/search/owned-contract-module-metadata.md +11 -0
  619. package/dist/agentic/guides/modules/search/setup.md +11 -0
  620. package/dist/agentic/guides/modules/search/umes-contributions.md +20 -0
  621. package/dist/agentic/guides/modules/search/umes-hosts.md +11 -0
  622. package/dist/agentic/guides/modules/search/workers.md +12 -0
  623. package/dist/agentic/guides/modules/security/acl-features.md +17 -0
  624. package/dist/agentic/guides/modules/security/backend-pages.md +22 -0
  625. package/dist/agentic/guides/modules/security/contribution-resolutions.md +22 -0
  626. package/dist/agentic/guides/modules/security/di-registrations-rich.md +17 -0
  627. package/dist/agentic/guides/modules/security/di-service-tokens.md +16 -0
  628. package/dist/agentic/guides/modules/security/domain-commands.md +20 -0
  629. package/dist/agentic/guides/modules/security/entities.md +16 -0
  630. package/dist/agentic/guides/modules/security/events.md +30 -0
  631. package/dist/agentic/guides/modules/security/exact-override-targets.md +52 -0
  632. package/dist/agentic/guides/modules/security/generator-plugins.md +12 -0
  633. package/dist/agentic/guides/modules/security/host-extension-points.md +10 -0
  634. package/dist/agentic/guides/modules/security/index.md +29 -0
  635. package/dist/agentic/guides/modules/security/notifications.md +14 -0
  636. package/dist/agentic/guides/modules/security/owned-contract-module-metadata.md +11 -0
  637. package/dist/agentic/guides/modules/security/page-middleware.md +13 -0
  638. package/dist/agentic/guides/modules/security/setup.md +11 -0
  639. package/dist/agentic/guides/modules/security/umes-contributions.md +22 -0
  640. package/dist/agentic/guides/modules/security/umes-diagnostics.md +11 -0
  641. package/dist/agentic/guides/modules/security/umes-hosts.md +65 -0
  642. package/dist/agentic/guides/modules/shipping_carriers/acl-features.md +12 -0
  643. package/dist/agentic/guides/modules/shipping_carriers/active-extension-bindings.md +11 -0
  644. package/dist/agentic/guides/modules/shipping_carriers/backend-pages.md +11 -0
  645. package/dist/agentic/guides/modules/shipping_carriers/contribution-resolutions.md +15 -0
  646. package/dist/agentic/guides/modules/shipping_carriers/di-registrations-rich.md +12 -0
  647. package/dist/agentic/guides/modules/shipping_carriers/di-service-tokens.md +11 -0
  648. package/dist/agentic/guides/modules/shipping_carriers/entities.md +13 -0
  649. package/dist/agentic/guides/modules/shipping_carriers/events.md +17 -0
  650. package/dist/agentic/guides/modules/shipping_carriers/exact-override-targets.md +23 -0
  651. package/dist/agentic/guides/modules/shipping_carriers/index.md +25 -0
  652. package/dist/agentic/guides/modules/shipping_carriers/owned-contract-module-metadata.md +11 -0
  653. package/dist/agentic/guides/modules/shipping_carriers/setup.md +11 -0
  654. package/dist/agentic/guides/modules/shipping_carriers/umes-contributions.md +15 -0
  655. package/dist/agentic/guides/modules/shipping_carriers/umes-hosts.md +21 -0
  656. package/dist/agentic/guides/modules/shipping_carriers/workers.md +12 -0
  657. package/dist/agentic/guides/modules/sso/acl-features.md +13 -0
  658. package/dist/agentic/guides/modules/sso/backend-pages.md +13 -0
  659. package/dist/agentic/guides/modules/sso/contribution-resolutions.md +12 -0
  660. package/dist/agentic/guides/modules/sso/di-registrations-rich.md +17 -0
  661. package/dist/agentic/guides/modules/sso/di-service-tokens.md +16 -0
  662. package/dist/agentic/guides/modules/sso/entities.md +16 -0
  663. package/dist/agentic/guides/modules/sso/events.md +22 -0
  664. package/dist/agentic/guides/modules/sso/exact-override-targets.md +27 -0
  665. package/dist/agentic/guides/modules/sso/index.md +23 -0
  666. package/dist/agentic/guides/modules/sso/owned-contract-module-metadata.md +11 -0
  667. package/dist/agentic/guides/modules/sso/setup.md +11 -0
  668. package/dist/agentic/guides/modules/sso/umes-contributions.md +12 -0
  669. package/dist/agentic/guides/modules/sso/umes-hosts.md +28 -0
  670. package/dist/agentic/guides/modules/staff/acl-features.md +26 -0
  671. package/dist/agentic/guides/modules/staff/active-extension-bindings.md +14 -0
  672. package/dist/agentic/guides/modules/staff/backend-pages.md +32 -0
  673. package/dist/agentic/guides/modules/staff/cli-commands.md +14 -0
  674. package/dist/agentic/guides/modules/staff/contribution-resolutions.md +23 -0
  675. package/dist/agentic/guides/modules/staff/custom-entities.md +11 -0
  676. package/dist/agentic/guides/modules/staff/di-registrations-rich.md +11 -0
  677. package/dist/agentic/guides/modules/staff/domain-commands.md +47 -0
  678. package/dist/agentic/guides/modules/staff/encryption.md +11 -0
  679. package/dist/agentic/guides/modules/staff/entities.md +22 -0
  680. package/dist/agentic/guides/modules/staff/events.md +45 -0
  681. package/dist/agentic/guides/modules/staff/exact-override-targets.md +66 -0
  682. package/dist/agentic/guides/modules/staff/index.md +29 -0
  683. package/dist/agentic/guides/modules/staff/notifications.md +13 -0
  684. package/dist/agentic/guides/modules/staff/owned-contract-module-metadata.md +11 -0
  685. package/dist/agentic/guides/modules/staff/search-entities.md +14 -0
  686. package/dist/agentic/guides/modules/staff/setup.md +11 -0
  687. package/dist/agentic/guides/modules/staff/umes-contributions.md +23 -0
  688. package/dist/agentic/guides/modules/staff/umes-hosts.md +65 -0
  689. package/dist/agentic/guides/modules/storage_s3/acl-features.md +11 -0
  690. package/dist/agentic/guides/modules/storage_s3/cli-commands.md +12 -0
  691. package/dist/agentic/guides/modules/storage_s3/contribution-resolutions.md +11 -0
  692. package/dist/agentic/guides/modules/storage_s3/di-registrations-rich.md +13 -0
  693. package/dist/agentic/guides/modules/storage_s3/di-service-tokens.md +11 -0
  694. package/dist/agentic/guides/modules/storage_s3/exact-override-targets.md +19 -0
  695. package/dist/agentic/guides/modules/storage_s3/index.md +21 -0
  696. package/dist/agentic/guides/modules/storage_s3/owned-contract-module-metadata.md +11 -0
  697. package/dist/agentic/guides/modules/storage_s3/setup.md +11 -0
  698. package/dist/agentic/guides/modules/storage_s3/umes-contributions.md +11 -0
  699. package/dist/agentic/guides/modules/storage_s3/workers.md +11 -0
  700. package/dist/agentic/guides/modules/sync_akeneo/cli-commands.md +12 -0
  701. package/dist/agentic/guides/modules/sync_akeneo/contribution-resolutions.md +11 -0
  702. package/dist/agentic/guides/modules/sync_akeneo/di-registrations-rich.md +11 -0
  703. package/dist/agentic/guides/modules/sync_akeneo/exact-override-targets.md +16 -0
  704. package/dist/agentic/guides/modules/sync_akeneo/index.md +19 -0
  705. package/dist/agentic/guides/modules/sync_akeneo/owned-contract-module-metadata.md +11 -0
  706. package/dist/agentic/guides/modules/sync_akeneo/setup.md +11 -0
  707. package/dist/agentic/guides/modules/sync_akeneo/umes-contributions.md +11 -0
  708. package/dist/agentic/guides/modules/sync_akeneo/workers.md +12 -0
  709. package/dist/agentic/guides/modules/sync_excel/acl-features.md +12 -0
  710. package/dist/agentic/guides/modules/sync_excel/contribution-resolutions.md +11 -0
  711. package/dist/agentic/guides/modules/sync_excel/entities.md +11 -0
  712. package/dist/agentic/guides/modules/sync_excel/exact-override-targets.md +14 -0
  713. package/dist/agentic/guides/modules/sync_excel/index.md +19 -0
  714. package/dist/agentic/guides/modules/sync_excel/owned-contract-module-metadata.md +11 -0
  715. package/dist/agentic/guides/modules/sync_excel/setup.md +11 -0
  716. package/dist/agentic/guides/modules/sync_excel/umes-contributions.md +11 -0
  717. package/dist/agentic/guides/modules/sync_excel/umes-hosts.md +11 -0
  718. package/dist/agentic/guides/modules/system_status_overlays/contribution-resolutions.md +12 -0
  719. package/dist/agentic/guides/modules/system_status_overlays/exact-override-targets.md +12 -0
  720. package/dist/agentic/guides/modules/system_status_overlays/index.md +15 -0
  721. package/dist/agentic/guides/modules/system_status_overlays/owned-contract-module-metadata.md +11 -0
  722. package/dist/agentic/guides/modules/system_status_overlays/umes-contributions.md +12 -0
  723. package/dist/agentic/guides/modules/translations/acl-features.md +13 -0
  724. package/dist/agentic/guides/modules/translations/active-extension-bindings.md +12 -0
  725. package/dist/agentic/guides/modules/translations/backend-pages.md +11 -0
  726. package/dist/agentic/guides/modules/translations/contribution-resolutions.md +13 -0
  727. package/dist/agentic/guides/modules/translations/domain-commands.md +12 -0
  728. package/dist/agentic/guides/modules/translations/entities.md +11 -0
  729. package/dist/agentic/guides/modules/translations/events.md +12 -0
  730. package/dist/agentic/guides/modules/translations/exact-override-targets.md +18 -0
  731. package/dist/agentic/guides/modules/translations/index.md +23 -0
  732. package/dist/agentic/guides/modules/translations/owned-contract-module-metadata.md +11 -0
  733. package/dist/agentic/guides/modules/translations/setup.md +11 -0
  734. package/dist/agentic/guides/modules/translations/umes-contributions.md +13 -0
  735. package/dist/agentic/guides/modules/translations/umes-hosts.md +15 -0
  736. package/dist/agentic/guides/modules/webhooks/acl-features.md +14 -0
  737. package/dist/agentic/guides/modules/webhooks/backend-pages.md +13 -0
  738. package/dist/agentic/guides/modules/webhooks/contribution-resolutions.md +20 -0
  739. package/dist/agentic/guides/modules/webhooks/encryption.md +12 -0
  740. package/dist/agentic/guides/modules/webhooks/entities.md +15 -0
  741. package/dist/agentic/guides/modules/webhooks/events.md +22 -0
  742. package/dist/agentic/guides/modules/webhooks/exact-override-targets.md +26 -0
  743. package/dist/agentic/guides/modules/webhooks/generator-plugins.md +12 -0
  744. package/dist/agentic/guides/modules/webhooks/host-extension-points.md +10 -0
  745. package/dist/agentic/guides/modules/webhooks/index.md +27 -0
  746. package/dist/agentic/guides/modules/webhooks/notifications.md +11 -0
  747. package/dist/agentic/guides/modules/webhooks/owned-contract-module-metadata.md +11 -0
  748. package/dist/agentic/guides/modules/webhooks/setup.md +11 -0
  749. package/dist/agentic/guides/modules/webhooks/umes-contributions.md +20 -0
  750. package/dist/agentic/guides/modules/webhooks/umes-diagnostics.md +11 -0
  751. package/dist/agentic/guides/modules/webhooks/umes-hosts.md +54 -0
  752. package/dist/agentic/guides/modules/webhooks/workers.md +12 -0
  753. package/dist/agentic/guides/modules/wms/acl-features.md +20 -0
  754. package/dist/agentic/guides/modules/wms/active-extension-bindings.md +12 -0
  755. package/dist/agentic/guides/modules/wms/backend-pages.md +22 -0
  756. package/dist/agentic/guides/modules/wms/cli-commands.md +11 -0
  757. package/dist/agentic/guides/modules/wms/contribution-resolutions.md +29 -0
  758. package/dist/agentic/guides/modules/wms/custom-entities.md +18 -0
  759. package/dist/agentic/guides/modules/wms/di-registrations-rich.md +18 -0
  760. package/dist/agentic/guides/modules/wms/domain-commands.md +34 -0
  761. package/dist/agentic/guides/modules/wms/entities.md +19 -0
  762. package/dist/agentic/guides/modules/wms/events.md +37 -0
  763. package/dist/agentic/guides/modules/wms/exact-override-targets.md +57 -0
  764. package/dist/agentic/guides/modules/wms/host-extension-points.md +10 -0
  765. package/dist/agentic/guides/modules/wms/index.md +30 -0
  766. package/dist/agentic/guides/modules/wms/notifications.md +12 -0
  767. package/dist/agentic/guides/modules/wms/owned-contract-module-metadata.md +11 -0
  768. package/dist/agentic/guides/modules/wms/search-entities.md +14 -0
  769. package/dist/agentic/guides/modules/wms/setup.md +11 -0
  770. package/dist/agentic/guides/modules/wms/umes-contributions.md +29 -0
  771. package/dist/agentic/guides/modules/wms/umes-diagnostics.md +22 -0
  772. package/dist/agentic/guides/modules/wms/umes-hosts.md +181 -0
  773. package/dist/agentic/guides/modules/workflows/acl-features.md +28 -0
  774. package/dist/agentic/guides/modules/workflows/active-extension-bindings.md +11 -0
  775. package/dist/agentic/guides/modules/workflows/backend-pages.md +20 -0
  776. package/dist/agentic/guides/modules/workflows/cli-commands.md +18 -0
  777. package/dist/agentic/guides/modules/workflows/contribution-resolutions.md +16 -0
  778. package/dist/agentic/guides/modules/workflows/di-registrations-rich.md +17 -0
  779. package/dist/agentic/guides/modules/workflows/di-service-tokens.md +17 -0
  780. package/dist/agentic/guides/modules/workflows/entities.md +17 -0
  781. package/dist/agentic/guides/modules/workflows/events.md +36 -0
  782. package/dist/agentic/guides/modules/workflows/exact-override-targets.md +61 -0
  783. package/dist/agentic/guides/modules/workflows/frontend-pages.md +11 -0
  784. package/dist/agentic/guides/modules/workflows/host-extension-points.md +10 -0
  785. package/dist/agentic/guides/modules/workflows/index.md +30 -0
  786. package/dist/agentic/guides/modules/workflows/notifications.md +11 -0
  787. package/dist/agentic/guides/modules/workflows/owned-contract-module-metadata.md +11 -0
  788. package/dist/agentic/guides/modules/workflows/setup.md +11 -0
  789. package/dist/agentic/guides/modules/workflows/umes-contributions.md +16 -0
  790. package/dist/agentic/guides/modules/workflows/umes-diagnostics.md +11 -0
  791. package/dist/agentic/guides/modules/workflows/umes-hosts.md +71 -0
  792. package/dist/agentic/guides/modules/workflows/workers.md +11 -0
  793. package/dist/agentic/guides/reference-module-facts.json +1 -1
  794. package/dist/agentic/guides/reference-modules/example/acl-features.md +19 -0
  795. package/dist/agentic/guides/reference-modules/example/active-extension-bindings.md +26 -0
  796. package/dist/agentic/guides/reference-modules/example/ai-agents.md +11 -0
  797. package/dist/agentic/guides/reference-modules/example/ai-extensions.md +13 -0
  798. package/dist/agentic/guides/reference-modules/example/ai-tools-mcp-capabilities.md +12 -0
  799. package/dist/agentic/guides/reference-modules/example/backend-pages.md +24 -0
  800. package/dist/agentic/guides/reference-modules/example/cli-commands.md +12 -0
  801. package/dist/agentic/guides/reference-modules/example/contribution-resolutions.md +83 -0
  802. package/dist/agentic/guides/reference-modules/example/custom-entities.md +12 -0
  803. package/dist/agentic/guides/reference-modules/example/di-registrations-rich.md +12 -0
  804. package/dist/agentic/guides/reference-modules/example/di-service-tokens.md +11 -0
  805. package/dist/agentic/guides/reference-modules/example/domain-commands.md +13 -0
  806. package/dist/agentic/guides/reference-modules/example/encryption.md +11 -0
  807. package/dist/agentic/guides/reference-modules/example/entities.md +14 -0
  808. package/dist/agentic/guides/reference-modules/example/events.md +15 -0
  809. package/dist/agentic/guides/reference-modules/example/exact-override-targets.md +93 -0
  810. package/dist/agentic/guides/reference-modules/example/frontend-pages.md +12 -0
  811. package/dist/agentic/guides/reference-modules/example/generator-plugins.md +11 -0
  812. package/dist/agentic/guides/reference-modules/example/host-extension-points.md +10 -0
  813. package/dist/agentic/guides/reference-modules/example/index.md +40 -0
  814. package/dist/agentic/guides/reference-modules/example/notifications.md +11 -0
  815. package/dist/agentic/guides/reference-modules/example/owned-contract-module-metadata.md +11 -0
  816. package/dist/agentic/guides/reference-modules/example/page-middleware.md +12 -0
  817. package/dist/agentic/guides/reference-modules/example/search-entities.md +11 -0
  818. package/dist/agentic/guides/reference-modules/example/setup.md +11 -0
  819. package/dist/agentic/guides/reference-modules/example/umes-contributions.md +83 -0
  820. package/dist/agentic/guides/reference-modules/example/umes-diagnostics.md +16 -0
  821. package/dist/agentic/guides/reference-modules/example/umes-hosts.md +36 -0
  822. package/dist/agentic/guides/reference-modules/example/workers.md +12 -0
  823. package/dist/agentic/guides/upstream/manifest.json +1 -1
  824. package/dist/agentic/shared/ai/harness/cases.json +364 -364
  825. package/dist/agentic/shared/ai/harness/writable-spec-oracles.mjs +1 -1
  826. package/dist/agentic/shared/ai/skills/om-build-workflow/SKILL.md +2 -2
  827. package/dist/agentic/shared/ai/skills/om-create-ai-agent/SKILL.md +1 -1
  828. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/surface-selector.md +1 -1
  829. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/business-one-shot-blueprints.md +1 -1
  830. package/dist/agentic/shared/scripts/evaluate-agent-harness.mjs +12 -3
  831. package/dist/lib/__integration__/TC-INT-008.spec.js +10 -2
  832. package/dist/lib/__integration__/TC-INT-008.spec.js.map +2 -2
  833. package/dist/lib/agentic-setup.js +24 -7
  834. package/dist/lib/agentic-setup.js.map +2 -2
  835. package/dist/lib/generators/module-facts.js +277 -98
  836. package/dist/lib/generators/module-facts.js.map +2 -2
  837. package/package.json +6 -6
  838. package/src/lib/__integration__/TC-INT-008.spec.ts +12 -4
  839. package/src/lib/__tests__/agentic-setup.ownership.test.ts +19 -0
  840. package/src/lib/agentic-setup.ts +34 -10
  841. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +118 -2
  842. package/src/lib/generators/__tests__/module-facts.source-links.test.ts +78 -2
  843. package/src/lib/generators/module-facts.ts +378 -96
  844. package/dist/agentic/guides/modules/ai_assistant.md +0 -256
  845. package/dist/agentic/guides/modules/api_docs.md +0 -95
  846. package/dist/agentic/guides/modules/api_keys.md +0 -126
  847. package/dist/agentic/guides/modules/attachments.md +0 -154
  848. package/dist/agentic/guides/modules/audit_logs.md +0 -163
  849. package/dist/agentic/guides/modules/auth.md +0 -307
  850. package/dist/agentic/guides/modules/business_rules.md +0 -179
  851. package/dist/agentic/guides/modules/catalog.md +0 -512
  852. package/dist/agentic/guides/modules/channel_gmail.md +0 -118
  853. package/dist/agentic/guides/modules/channel_imap.md +0 -118
  854. package/dist/agentic/guides/modules/checkout.md +0 -338
  855. package/dist/agentic/guides/modules/communication_channels.md +0 -347
  856. package/dist/agentic/guides/modules/configs.md +0 -138
  857. package/dist/agentic/guides/modules/content.md +0 -94
  858. package/dist/agentic/guides/modules/currencies.md +0 -185
  859. package/dist/agentic/guides/modules/customer_accounts.md +0 -418
  860. package/dist/agentic/guides/modules/customers.md +0 -780
  861. package/dist/agentic/guides/modules/dashboards.md +0 -188
  862. package/dist/agentic/guides/modules/data_sync.md +0 -182
  863. package/dist/agentic/guides/modules/design_system.md +0 -102
  864. package/dist/agentic/guides/modules/dictionaries.md +0 -141
  865. package/dist/agentic/guides/modules/directory.md +0 -182
  866. package/dist/agentic/guides/modules/entities.md +0 -178
  867. package/dist/agentic/guides/modules/eudr.md +0 -363
  868. package/dist/agentic/guides/modules/events.md +0 -96
  869. package/dist/agentic/guides/modules/feature_toggles.md +0 -152
  870. package/dist/agentic/guides/modules/gateway_stripe.md +0 -127
  871. package/dist/agentic/guides/modules/generators.md +0 -82
  872. package/dist/agentic/guides/modules/inbox_ops.md +0 -239
  873. package/dist/agentic/guides/modules/integrations.md +0 -182
  874. package/dist/agentic/guides/modules/messages.md +0 -254
  875. package/dist/agentic/guides/modules/notifications.md +0 -129
  876. package/dist/agentic/guides/modules/onboarding.md +0 -112
  877. package/dist/agentic/guides/modules/payment_gateways.md +0 -201
  878. package/dist/agentic/guides/modules/perspectives.md +0 -112
  879. package/dist/agentic/guides/modules/planner.md +0 -167
  880. package/dist/agentic/guides/modules/portal.md +0 -130
  881. package/dist/agentic/guides/modules/progress.md +0 -138
  882. package/dist/agentic/guides/modules/query_index.md +0 -185
  883. package/dist/agentic/guides/modules/record_locks.md +0 -238
  884. package/dist/agentic/guides/modules/resources.md +0 -229
  885. package/dist/agentic/guides/modules/sales.md +0 -714
  886. package/dist/agentic/guides/modules/scheduler.md +0 -165
  887. package/dist/agentic/guides/modules/search.md +0 -203
  888. package/dist/agentic/guides/modules/security.md +0 -326
  889. package/dist/agentic/guides/modules/shipping_carriers.md +0 -167
  890. package/dist/agentic/guides/modules/sso.md +0 -184
  891. package/dist/agentic/guides/modules/staff.md +0 -403
  892. package/dist/agentic/guides/modules/storage_s3.md +0 -129
  893. package/dist/agentic/guides/modules/sync_akeneo.md +0 -121
  894. package/dist/agentic/guides/modules/sync_excel.md +0 -110
  895. package/dist/agentic/guides/modules/system_status_overlays.md +0 -97
  896. package/dist/agentic/guides/modules/translations.md +0 -138
  897. package/dist/agentic/guides/modules/webhooks.md +0 -233
  898. package/dist/agentic/guides/modules/wms.md +0 -499
  899. package/dist/agentic/guides/modules/workflows.md +0 -332
  900. package/dist/agentic/guides/reference-modules/example.md +0 -489
@@ -49,7 +49,7 @@ const EXAMPLE_ROOT = 'src/modules/example'
49
49
  const EXAMPLE_INVENTORY = `${EXAMPLE_ROOT}/references/surface-inventory.json`
50
50
  const REFERENCE_FACTS = '.ai/guides/reference-module-facts.json'
51
51
  const SOURCE_LINK_INVENTORY = '.ai/harness/source-link-inventory.json'
52
- const REFERENCE_SHEET = '.ai/guides/reference-modules/example.md'
52
+ const REFERENCE_SHEET = '.ai/guides/reference-modules/example/index.md'
53
53
  const EXAMPLE_FILE_PATTERN = /\bsrc\/modules\/example\/[A-Za-z0-9._/-]+\.[A-Za-z0-9]+\b/g
54
54
  // A directory-only or globbed hint is not a source link. `src/modules/example/api/**`,
55
55
  // `src/modules/example/widgets/*.ts` and a bare `src/modules/example/commands/` all name a
@@ -9,7 +9,7 @@ Compose the installed workflow engine; do not bypass its executor, state machine
9
9
 
10
10
  ## Workflow
11
11
 
12
- Route before reading: workflow definitions, activities, durable engine state, idempotency, tasks, and outputs stay on `ai-workflow`. Workflow-only work loads `.ai/guides/modules/workflows.md`, not `.ai/guides/contracts.md`; coordinating installed-host order, status, or quantity state also selects `module-data` + `umes` and loads `.ai/guides/contracts.md`, `.ai/guides/extensions.md`, and `om-system-extension`.
12
+ Route before reading: workflow definitions, activities, durable engine state, idempotency, tasks, and outputs stay on `ai-workflow`. Workflow-only work loads `.ai/guides/modules/workflows/index.md`, not `.ai/guides/contracts.md`; coordinating installed-host order, status, or quantity state also selects `module-data` + `umes` and loads `.ai/guides/contracts.md`, `.ai/guides/extensions.md`, and `om-system-extension`.
13
13
 
14
14
  1. Read `.ai/guides/ai-workflows.md`; inspect the installed workflows module facts and use `om-framework-context` for exact service/activity contracts.
15
15
  2. Always load `references/workflow-design.md` before defining steps, transitions, triggers, variables, tasks, compensation, or terminal states.
@@ -18,7 +18,7 @@ Route before reading: workflow definitions, activities, durable engine state, id
18
18
  5. Run `yarn generate`; test event storms, retry/restart, rollback, duplicate signal/callback, cancellation, compensation failure, and scope isolation.
19
19
 
20
20
  Durable work that coordinates host order, status, or quantity state must declare a stable output (`workflow-output-path`), even when work screens or user tasks are primary.
21
- An onboarding workflow required for every new business account loads and declares `.ai/guides/modules/onboarding.md`, then uses `onTenantCreated` (`on-tenant-created-hook`).
21
+ An onboarding workflow required for every new business account loads and declares `.ai/guides/modules/onboarding/index.md`, then uses `onTenantCreated` (`on-tenant-created-hook`).
22
22
 
23
23
  ## Rules
24
24
 
@@ -16,7 +16,7 @@ Choose module AI versus file-agent orchestration, then implement typed inputs/ou
16
16
  5. Test missing provider, denied ACL/scope, tool validation, budgets, approval/cancel/expire/stale version, artifact authorization, and generated registration.
17
17
 
18
18
  An authorized AI file upload stays on the attachment branch; add integration or data-model context only for a custom transport, storage provider, or app-owned persistence.
19
- An agent/tool that scores or explains customer, contact, lead, or deal records must load `.ai/guides/modules/customers.md`; read-only access still targets that host.
19
+ An agent/tool that scores or explains customer, contact, lead, or deal records must load `.ai/guides/modules/customers/index.md`; read-only access still targets that host.
20
20
 
21
21
  ## Rules
22
22
 
@@ -16,4 +16,4 @@ Load this reference before creating files.
16
16
 
17
17
  Use exact installed orchestrator context for file agents; do not conflate them with product module agents.
18
18
 
19
- MCP/OpenCode configuration, authentication, provider precedence, and session semantics are ask-first contract surfaces. Route them through the `ai-workflow` guide and the installed `.ai/guides/modules/ai_assistant.md` fact sheet rather than guessing.
19
+ MCP/OpenCode configuration, authentication, provider precedence, and session semantics are ask-first contract surfaces. Route them through the `ai-workflow` guide and the installed `.ai/guides/modules/ai_assistant/index.md` fact sheet rather than guessing.
@@ -100,7 +100,7 @@ Before stopping, run `yarn generate` and then `yarn typecheck`. Any diagnostic m
100
100
 
101
101
  | One-shot business brief | Mechanism | Routes | Smallest complete vertical slice | Key invariants |
102
102
  |---|---|---|---|---|
103
- | “Generate an app that gathers website leads and adds them to the CRM.” | App module owns public capture + UMES/events create or link CRM customer/deal; MUST read `.ai/guides/modules/customers.md`, invoke `om-data-model-design`, and report `smallest-validation` for the lead record and scalar CRM link | `M+U+B` (`+W` for async handoff) | public form, spam/consent validation, lead inbox, dedupe, qualification command, CRM handoff, attribution, success/error paths | public input never supplies scope; an explicit trusted config/domain binding selects the exact tenant+organization and missing, partial, or ambiguous bindings fail closed—never select or persist the first/oldest active tenant or organization; idempotency lookup and database uniqueness include tenant+organization; merge and revalidate mutation guards' `modifiedPayload` before command dispatch; PII encryption with `TenantDataEncryptionService` and `lookupHashCandidates`; CRM optional/degraded; handoff retry cannot duplicate |
103
+ | “Generate an app that gathers website leads and adds them to the CRM.” | App module owns public capture + UMES/events create or link CRM customer/deal; MUST read `.ai/guides/modules/customers/index.md`, invoke `om-data-model-design`, and report `smallest-validation` for the lead record and scalar CRM link | `M+U+B` (`+W` for async handoff) | public form, spam/consent validation, lead inbox, dedupe, qualification command, CRM handoff, attribution, success/error paths | public input never supplies scope; an explicit trusted config/domain binding selects the exact tenant+organization and missing, partial, or ambiguous bindings fail closed—never select or persist the first/oldest active tenant or organization; idempotency lookup and database uniqueness include tenant+organization; merge and revalidate mutation guards' `modifiedPayload` before command dispatch; PII encryption with `TenantDataEncryptionService` and `lookupHashCandidates`; CRM optional/degraded; handoff retry cannot duplicate |
104
104
  | “Build partner referral intake connected to CRM.” | App module + UMES CRM handoff | `M+U+B` | partner-authenticated form, referral record/status, customer/deal match, owner assignment, partner-visible outcome | partner sees only its referrals; deterministic dedupe; immutable attribution; CRM IDs stored as scalars |
105
105
  | “Assign incoming leads fairly across eligible staff.” | App assignment policy + UMES customer/staff seams | `M+U` | read both `customers` and `staff` facts; scoped cursor, deterministic selector, availability resolver, assignment command/audit, fallback | concurrency-safe round robin; retries preserve the winner; unauthorized/unavailable staff excluded; staff module optional |
106
106
  | “Import trade-show badge scans and turn qualified leads into deals.” | App module + data-sync provider when scanner API is reusable + UMES | `M+P+U+W` | upload/sync, mapping preview, lead staging, dedupe, qualification queue, CRM conversion report | resumable/idempotent batches; row-level errors; encrypted credentials; no partial duplicate conversions |
@@ -2263,7 +2263,7 @@ function prepareCaseFrameworkContext(caseRecord, controllerRoot, runRoot) {
2263
2263
 
2264
2264
  export function caseReadAllowlist(caseRecord, writable, appRoot) {
2265
2265
  const skillIds = supportingSkillIds(caseRecord)
2266
- return [...new Set([
2266
+ const declared = [
2267
2267
  'AGENTS.md',
2268
2268
  ...exampleReadAllowlist(caseRecord, appRoot),
2269
2269
  ...(caseRecord.context?.required ?? []),
@@ -2277,7 +2277,12 @@ export function caseReadAllowlist(caseRecord, writable, appRoot) {
2277
2277
  ]),
2278
2278
  ...(caseRecord.materializedFrameworkContextPatterns ?? []),
2279
2279
  ...(writable ? caseRecord.allowedWrites ?? [] : []),
2280
- ])].sort()
2280
+ ]
2281
+ const moduleFactSections = declared.flatMap((entry) => {
2282
+ const match = /^(\.ai\/guides\/(?:modules|reference-modules)\/[a-z0-9_]+)\/index\.md$/.exec(entry)
2283
+ return match ? [`${match[1]}/*.md`] : []
2284
+ })
2285
+ return [...new Set([...declared, ...moduleFactSections])].sort()
2281
2286
  }
2282
2287
 
2283
2288
  function permittedContextPath(relative, caseRecord) {
@@ -2288,7 +2293,11 @@ function permittedContextPath(relative, caseRecord) {
2288
2293
  ...permittedCaseRoutes(caseRecord).flatMap((route) => ROUTE_STANDARD_CONTEXT[route]?.guides ?? []),
2289
2294
  ...(caseRecord.materializedFrameworkContextPatterns ?? []),
2290
2295
  ]
2291
- if (contextPaths.some((pattern) => globToRegExp(pattern).test(relative))) return true
2296
+ const expandedContextPaths = contextPaths.flatMap((entry) => {
2297
+ const match = /^(\.ai\/guides\/(?:modules|reference-modules)\/[a-z0-9_]+)\/index\.md$/.exec(entry)
2298
+ return match ? [entry, `${match[1]}/*.md`] : [entry]
2299
+ })
2300
+ if (expandedContextPaths.some((pattern) => globToRegExp(pattern).test(relative))) return true
2292
2301
  const skillPaths = supportingSkillPaths(caseRecord)
2293
2302
  const skillRoots = [...contextPaths, ...skillPaths]
2294
2303
  .filter((entry) => entry.endsWith('/SKILL.md'))
@@ -210,12 +210,20 @@ function expectedGuideOutputNames() {
210
210
  }
211
211
  collected.add("module-facts.json");
212
212
  collected.add("module-facts.v2.json");
213
+ collected.add("reference-module-facts.json");
213
214
  collected.add("framework-extension-points.md");
214
215
  collected.add("upstream/AGENTS.md");
215
216
  collected.add("upstream/BACKWARD_COMPATIBILITY.md");
216
217
  collected.add("upstream/manifest.json");
217
218
  for (const moduleId of FIXTURE_ENABLED_MODULES) {
218
- collected.add(normalizePath(path.join("modules", `${moduleId}.md`)));
219
+ const moduleFactsRoot = path.join(cliDir, "dist", "agentic", "guides", "modules", moduleId);
220
+ for (const file of fs.readdirSync(moduleFactsRoot)) {
221
+ if (file.endsWith(".md")) collected.add(normalizePath(path.join("modules", moduleId, file)));
222
+ }
223
+ }
224
+ const referenceFactsRoot = path.join(cliDir, "dist", "agentic", "guides", "reference-modules");
225
+ for (const file of listRelativeFiles(referenceFactsRoot)) {
226
+ collected.add(normalizePath(path.join("reference-modules", file)));
219
227
  }
220
228
  return Array.from(collected).sort();
221
229
  }
@@ -252,7 +260,7 @@ test.describe("TC-INT-008: CLI agentic init mirrors standalone scaffolding asset
252
260
  for (const moduleId of FIXTURE_ENABLED_MODULES) {
253
261
  expect(agentsSource).toContain(`\`${moduleId}\``);
254
262
  }
255
- expect(agentsSource).toContain("`.ai/guides/modules/<id>.md`");
263
+ expect(agentsSource).toContain("`.ai/guides/modules/<id>/index.md`");
256
264
  expect(agentsSource.match(/\.ai\/guides\/modules\//g)).toHaveLength(1);
257
265
  expect(agentsSource).not.toContain("`auth`");
258
266
  expect(agentsSource).not.toContain("Core CRM capabilities");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lib/__integration__/TC-INT-008.spec.ts"],
4
- "sourcesContent": ["import { expect, test } from '@playwright/test'\nimport { execFileSync } from 'node:child_process'\nimport fs from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst repoRoot = path.resolve(__dirname, '..', '..', '..', '..', '..')\nconst cliDir = path.join(repoRoot, 'packages', 'cli')\nconst cliBin = path.join(cliDir, 'dist', 'bin.js')\nconst cliBuildScript = path.join(cliDir, 'build.mjs')\nconst cliIntegrationRunnerPath = path.join(cliDir, 'src', 'lib', 'testing', 'integration.ts')\nconst standaloneTemplatePackageJsonPath = path.join(repoRoot, 'packages', 'create-app', 'template', 'package.json.template')\nconst agenticRoot = path.join(repoRoot, 'packages', 'create-app', 'agentic')\nconst packagesRoot = path.join(repoRoot, 'packages')\nconst coreVersion = JSON.parse(fs.readFileSync(path.join(packagesRoot, 'core', 'package.json'), 'utf8')).version as string\nconst UNROUTED_PACKAGE_GUIDES = new Set(['cache', 'core', 'events', 'queue', 'search', 'shared', 'ui'])\n\n// Modules the standalone fixture enables in src/modules.ts. Both are on the\n// fact-sheet allowlist, so agentic:init must ship exactly their fact-sheets\n// (enabled \u2229 allowlist \u2014 spec D6) and list them in the AGENTS.md marker block.\nconst FIXTURE_ENABLED_MODULES = ['customers', 'sales']\n\nfunction normalizePath(value: string): string {\n return value.split(path.sep).join('/')\n}\n\nfunction runCommand(command: string, args: string[], cwd: string, env: NodeJS.ProcessEnv = {}): string {\n return execFileSync(command, args, {\n cwd,\n encoding: 'utf8',\n env: {\n ...process.env,\n FORCE_COLOR: '0',\n NODE_NO_WARNINGS: '1',\n // Keep the test hermetic: agentic:init runs scripts/install-skills.sh,\n // whose external step (`npx skills add`) needs the network. Local tier\n // symlinks are still installed.\n OM_SKIP_EXTERNAL_SKILLS: '1',\n ...env,\n },\n })\n}\n\nfunction runMercato(args: string[], cwd: string): string {\n return runCommand(process.execPath, [cliBin, ...args], cwd)\n}\n\nfunction writeFile(filePath: string, content: string): void {\n fs.mkdirSync(path.dirname(filePath), { recursive: true })\n fs.writeFileSync(filePath, content)\n}\n\nfunction ensureCliBuilt(): void {\n runCommand(process.execPath, [cliBuildScript], cliDir)\n}\n\nfunction createStandaloneFixture(rootDir: string): string {\n const appDir = path.join(rootDir, 'sample-store')\n writeFile(\n path.join(appDir, 'package.json'),\n JSON.stringify(\n {\n name: 'sample-store',\n private: true,\n dependencies: { '@open-mercato/core': coreVersion },\n },\n null,\n 2,\n ),\n )\n const moduleEntries = FIXTURE_ENABLED_MODULES\n .map((moduleId) => ` { id: '${moduleId}', from: '@open-mercato/core' },`)\n .join('\\n')\n writeFile(path.join(appDir, 'src', 'modules.ts'), `export const enabledModules = [\\n${moduleEntries}\\n]\\n`)\n return appDir\n}\n\nfunction installFakeFrameworkPackage(appDir: string): string {\n const packageRoot = path.join(appDir, 'node_modules', '@open-mercato', 'core')\n writeFile(path.join(packageRoot, 'package.json'), JSON.stringify({\n name: '@open-mercato/core',\n version: coreVersion,\n type: 'module',\n exports: { '.': './dist/index.js' },\n }))\n writeFile(path.join(packageRoot, 'dist', 'index.js'), 'export {}\\n')\n writeFile(path.join(packageRoot, 'AGENTS.md'), '# Installed core instructions\\n')\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n writeFile(path.join(packageRoot, 'src', 'modules', moduleId, 'AGENTS.md'), `# Installed ${moduleId} instructions\\n`)\n writeFile(\n path.join(packageRoot, 'src', 'modules', moduleId, 'data', 'entities.ts'),\n `export class ${moduleId === 'customers' ? 'Person' : 'Sale'} {}\\n`,\n )\n }\n return packageRoot\n}\n\nfunction snapshotTextFiles(rootDir: string): Record<string, string> {\n return Object.fromEntries(\n listRelativeFiles(rootDir).map((relativePath) => [\n relativePath,\n fs.readFileSync(path.join(rootDir, relativePath), 'utf8'),\n ]),\n )\n}\n\nfunction listRelativeFiles(rootDir: string): string[] {\n if (!fs.existsSync(rootDir)) {\n return []\n }\n\n const collected: string[] = []\n for (const entry of fs.readdirSync(rootDir, { withFileTypes: true })) {\n const absolutePath = path.join(rootDir, entry.name)\n if (entry.isDirectory()) {\n for (const nestedPath of listRelativeFiles(absolutePath)) {\n collected.push(path.join(entry.name, nestedPath))\n }\n continue\n }\n if (entry.isFile()) {\n collected.push(entry.name)\n }\n }\n\n return collected.map(normalizePath).sort()\n}\n\nfunction mapSharedSourceToOutput(relativePath: string): string {\n if (relativePath === 'AGENTS.md.template') {\n return 'AGENTS.md'\n }\n\n if (relativePath.startsWith('scripts/')) {\n return relativePath\n }\n\n if (!relativePath.startsWith('ai/')) {\n throw new Error(`Unexpected shared source path: ${relativePath}`)\n }\n\n return normalizePath(path.join('.ai', relativePath.slice('ai/'.length)))\n}\n\nfunction mapClaudeSourceToOutput(relativePath: string): string {\n if (relativePath === 'CLAUDE.md.template') {\n return 'CLAUDE.md'\n }\n if (relativePath === 'settings.json') {\n return '.claude/settings.json'\n }\n if (relativePath === 'mcp.json.example') {\n return '.mcp.json.example'\n }\n if (relativePath.startsWith('hooks/')) {\n return normalizePath(path.join('.claude', relativePath))\n }\n\n throw new Error(`Unexpected Claude source path: ${relativePath}`)\n}\n\nfunction mapCursorSourceToOutput(relativePath: string): string {\n if (relativePath === 'hooks.json') {\n return '.cursor/hooks.json'\n }\n if (relativePath === 'mcp.json.example') {\n return '.cursor/mcp.json.example'\n }\n if (relativePath.startsWith('hooks/') || relativePath.startsWith('rules/')) {\n return normalizePath(path.join('.cursor', relativePath))\n }\n\n throw new Error(`Unexpected Cursor source path: ${relativePath}`)\n}\n\nfunction mapCodexSourceToOutput(relativePath: string): string | null {\n if (relativePath === 'mcp.json.example') {\n return '.codex/mcp.json.example'\n }\n if (relativePath === 'enforcement-rules.md') {\n return null\n }\n\n throw new Error(`Unexpected Codex source path: ${relativePath}`)\n}\n\nfunction readPlaywrightConfigPathFromTemplate(): string {\n const packageTemplate = JSON.parse(fs.readFileSync(standaloneTemplatePackageJsonPath, 'utf8')) as {\n scripts?: Record<string, string>\n }\n const integrationScript = packageTemplate.scripts?.['test:integration']\n if (!integrationScript) {\n throw new Error('Standalone template is missing the test:integration script')\n }\n\n const configPathMatch = integrationScript.match(/--config\\s+([^\\s]+)/)\n if (!configPathMatch?.[1]) {\n throw new Error('Standalone template test:integration script is missing --config')\n }\n\n return normalizePath(configPathMatch[1])\n}\n\nfunction readPlaywrightConfigPathFromCliRunner(): string {\n const integrationRunnerSource = fs.readFileSync(cliIntegrationRunnerPath, 'utf8')\n const configPathMatch = integrationRunnerSource.match(/const PLAYWRIGHT_INTEGRATION_CONFIG_PATH = '([^']+)'/)\n if (!configPathMatch?.[1]) {\n throw new Error('CLI integration runner is missing PLAYWRIGHT_INTEGRATION_CONFIG_PATH')\n }\n\n return normalizePath(configPathMatch[1])\n}\n\nfunction expectedGuideOutputNames(): string[] {\n const collected = new Set<string>()\n\n // Static conceptual guides checked into create-app (e.g. module-system.md) are\n // bundled into dist/agentic/guides by the CLI build and copied wholesale.\n const staticGuidesRoot = path.join(agenticRoot, 'guides')\n if (fs.existsSync(staticGuidesRoot)) {\n for (const entry of fs.readdirSync(staticGuidesRoot, { withFileTypes: true })) {\n if (entry.isFile() && entry.name.endsWith('.md')) {\n collected.add(entry.name)\n }\n }\n }\n\n for (const packageName of fs.readdirSync(packagesRoot)) {\n const packageGuide = path.join(packagesRoot, packageName, 'agentic', 'standalone-guide.md')\n if (fs.existsSync(packageGuide) && !UNROUTED_PACKAGE_GUIDES.has(packageName)) {\n collected.add(`${packageName}.md`)\n }\n\n const modulesRoot = path.join(packagesRoot, packageName, 'src', 'modules')\n if (!fs.existsSync(modulesRoot)) {\n continue\n }\n\n for (const moduleName of fs.readdirSync(modulesRoot)) {\n const moduleGuide = path.join(modulesRoot, moduleName, 'agentic', 'standalone-guide.md')\n if (fs.existsSync(moduleGuide)) {\n collected.add(`${packageName}.${moduleName}.md`)\n }\n }\n }\n\n // Generated fact-sheet artifacts (spec 2026-06-27-ts-morph-module-fact-sheets):\n // the v1 module-facts.json and corrected module-facts.v2.json sidecars are copied\n // as-is and fact-sheets are filtered to the fixture's enabled modules. The legacy\n // core.<module>.md redirect stubs are no longer\n // emitted (#3754). framework-extension-points.md is likewise generated into\n // dist/agentic/guides by both build.mjs pipelines (#4810) rather than checked in\n // alongside the static conceptual guides, so it needs an explicit entry here.\n collected.add('module-facts.json')\n collected.add('module-facts.v2.json')\n collected.add('framework-extension-points.md')\n collected.add('upstream/AGENTS.md')\n collected.add('upstream/BACKWARD_COMPATIBILITY.md')\n collected.add('upstream/manifest.json')\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n collected.add(normalizePath(path.join('modules', `${moduleId}.md`)))\n }\n\n return Array.from(collected).sort()\n}\n\nfunction assertPathsExist(appDir: string, relativePaths: string[]): void {\n const missingPaths = relativePaths.filter((relativePath) => !fs.existsSync(path.join(appDir, relativePath)))\n expect(missingPaths).toEqual([])\n}\n\ntest.describe('TC-INT-008: CLI agentic init mirrors standalone scaffolding assets', () => {\n test.beforeAll(() => {\n ensureCliBuilt()\n })\n\n test('should run bootstrap-free and generate the shared, guide, and tool-specific agentic files', () => {\n const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'mercato-cli-agentic-'))\n\n try {\n const appDir = createStandaloneFixture(tempRoot)\n const standalonePlaywrightConfigPath = readPlaywrightConfigPathFromTemplate()\n const cliPlaywrightConfigPath = readPlaywrightConfigPathFromCliRunner()\n const commandOutput = runMercato(['agentic:init', '--tool=claude-code,codex,cursor'], appDir)\n\n expect(cliPlaywrightConfigPath).toBe(standalonePlaywrightConfigPath)\n expect(commandOutput).toContain('Agentic setup complete:')\n expect(fs.existsSync(path.join(appDir, '.mercato', 'generated'))).toBe(false)\n\n const sharedOutputs = listRelativeFiles(path.join(agenticRoot, 'shared')).map(mapSharedSourceToOutput)\n const claudeOutputs = listRelativeFiles(path.join(agenticRoot, 'claude-code')).map(mapClaudeSourceToOutput)\n const cursorOutputs = listRelativeFiles(path.join(agenticRoot, 'cursor')).map(mapCursorSourceToOutput)\n const codexOutputs = listRelativeFiles(path.join(agenticRoot, 'codex'))\n .map(mapCodexSourceToOutput)\n .filter((relativePath): relativePath is string => relativePath !== null)\n\n expect(sharedOutputs).toContain(standalonePlaywrightConfigPath)\n assertPathsExist(appDir, [...sharedOutputs, ...claudeOutputs, ...cursorOutputs, ...codexOutputs])\n expect(fs.existsSync(path.join(appDir, standalonePlaywrightConfigPath))).toBe(true)\n\n const generatedGuideNames = listRelativeFiles(path.join(appDir, '.ai', 'guides'))\n expect(generatedGuideNames).toEqual(expectedGuideOutputNames())\n\n const agentsSource = fs.readFileSync(path.join(appDir, 'AGENTS.md'), 'utf8')\n expect(agentsSource).toContain('<!-- CODEX_ENFORCEMENT_RULES_START -->')\n expect(agentsSource).toContain('.ai/guides/upstream/BACKWARD_COMPATIBILITY.md')\n\n // The Module-Specific Guides marker block is a compact enabled-module ID\n // index (enabled \u2229 bundled) plus one progressively loaded path pattern.\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n expect(agentsSource).toContain(`\\`${moduleId}\\``)\n }\n expect(agentsSource).toContain('`.ai/guides/modules/<id>.md`')\n expect(agentsSource.match(/\\.ai\\/guides\\/modules\\//g)).toHaveLength(1)\n expect(agentsSource).not.toContain('`auth`')\n expect(agentsSource).not.toContain('Core CRM capabilities')\n\n const specsReadmeSource = fs.readFileSync(path.join(appDir, '.ai', 'specs', 'README.md'), 'utf8')\n expect(specsReadmeSource).toContain('sample-store')\n\n const cursorRulesSource = fs.readFileSync(path.join(appDir, '.cursor', 'rules', 'open-mercato.mdc'), 'utf8')\n expect(cursorRulesSource).toContain('sample-store')\n\n // om-spec-writing moved to the external open-mercato/skills collection\n // (installed via `yarn install-skills`), so agentic:init must not ship a copy.\n expect(fs.existsSync(path.join(appDir, '.ai', 'skills', 'om-spec-writing'))).toBe(false)\n expect(fs.existsSync(path.join(appDir, 'scripts', 'install-skills.sh'))).toBe(true)\n\n // install-skills.sh (run by agentic:init) installs every local tier skill once,\n // into the canonical .agents/skills/. Codex and Cursor read that directory\n // natively, so they get no skills directory of their own; Claude Code cannot,\n // so it keeps a link layer pointing back at the canonical copy.\n const tiersManifest = JSON.parse(\n fs.readFileSync(path.join(agenticRoot, 'shared', 'ai', 'skills', 'tiers.json'), 'utf8'),\n ) as { default: string[]; tiers: Record<string, { skills: string[] }> }\n const defaultTierSkills = tiersManifest.default.flatMap((tierName) => tiersManifest.tiers[tierName].skills)\n expect(defaultTierSkills.length).toBeGreaterThan(0)\n\n for (const skillName of defaultTierSkills) {\n const canonicalLinkPath = path.join(appDir, '.agents', 'skills', skillName)\n expect(fs.lstatSync(canonicalLinkPath).isSymbolicLink()).toBe(true)\n expect(normalizePath(fs.readlinkSync(canonicalLinkPath))).toBe(`../../.ai/skills/${skillName}`)\n\n const claudeLinkPath = path.join(appDir, '.claude', 'skills', skillName)\n expect(fs.lstatSync(claudeLinkPath).isSymbolicLink()).toBe(true)\n expect(normalizePath(fs.readlinkSync(claudeLinkPath))).toBe(`../../.agents/skills/${skillName}`)\n }\n\n expect(fs.existsSync(path.join(appDir, '.codex', 'skills'))).toBe(false)\n expect(fs.existsSync(path.join(appDir, '.cursor', 'skills'))).toBe(false)\n } finally {\n fs.rmSync(tempRoot, { recursive: true, force: true })\n }\n })\n\n test('emits a runnable exact-version framework context escape hatch for an installed package', () => {\n const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'mercato-cli-framework-context-'))\n\n try {\n const appDir = createStandaloneFixture(tempRoot)\n const packageRoot = installFakeFrameworkPackage(appDir)\n const resolvedPackageRoot = fs.realpathSync(packageRoot)\n const packageBefore = snapshotTextFiles(packageRoot)\n\n runMercato(['agentic:init', '--tool=codex'], appDir)\n const generatedScript = path.join(appDir, 'scripts', 'framework-context.mjs')\n expect(fs.existsSync(generatedScript)).toBe(true)\n\n const output = runCommand(\n process.execPath,\n [generatedScript, '--module', 'customers', '--query', 'Person', '--json'],\n appDir,\n // The generated standalone helper must not depend on a globally\n // installed ripgrep binary; process.execPath is already absolute.\n { PATH: '', Path: '' },\n )\n const context = JSON.parse(output) as {\n module: string\n package: { name: string; version: string; root: string }\n sourceKind: string\n sourceRoot: string\n materializedSource: string\n instructions: Array<{ kind: string; path: string | null; materializedPath?: string }>\n boundedSearch: { status: string; matches: number; maxMatches: number; result: string }\n warnings: string[]\n }\n\n expect(context.module).toBe('customers')\n expect(context.package).toEqual({ name: '@open-mercato/core', version: coreVersion, root: resolvedPackageRoot })\n expect(context.sourceKind).toBe('source')\n expect(normalizePath(context.sourceRoot)).toBe(normalizePath(path.join(resolvedPackageRoot, 'src', 'modules', 'customers')))\n expect(context.instructions.filter((entry) => entry.path).map((entry) => entry.kind)).toEqual([\n 'standalone-root',\n 'upstream-bc',\n 'package',\n 'module-1',\n 'upstream-root',\n ])\n expect(context.instructions.filter((entry) => entry.path).every((entry) => entry.materializedPath)).toBe(true)\n expect(context.boundedSearch).toMatchObject({ status: 'matched', matches: 1, maxMatches: 200 })\n expect(fs.existsSync(path.join(appDir, context.materializedSource))).toBe(true)\n expect(fs.existsSync(path.join(appDir, context.boundedSearch.result))).toBe(true)\n expect(context.warnings.some((warning) => warning.includes('Generated facts for customers are stale'))).toBe(false)\n expect(snapshotTextFiles(packageRoot)).toEqual(packageBefore)\n } finally {\n fs.rmSync(tempRoot, { recursive: true, force: true })\n }\n })\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { expect, test } from '@playwright/test'\nimport { execFileSync } from 'node:child_process'\nimport fs from 'node:fs'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst repoRoot = path.resolve(__dirname, '..', '..', '..', '..', '..')\nconst cliDir = path.join(repoRoot, 'packages', 'cli')\nconst cliBin = path.join(cliDir, 'dist', 'bin.js')\nconst cliBuildScript = path.join(cliDir, 'build.mjs')\nconst cliIntegrationRunnerPath = path.join(cliDir, 'src', 'lib', 'testing', 'integration.ts')\nconst standaloneTemplatePackageJsonPath = path.join(repoRoot, 'packages', 'create-app', 'template', 'package.json.template')\nconst agenticRoot = path.join(repoRoot, 'packages', 'create-app', 'agentic')\nconst packagesRoot = path.join(repoRoot, 'packages')\nconst coreVersion = JSON.parse(fs.readFileSync(path.join(packagesRoot, 'core', 'package.json'), 'utf8')).version as string\nconst UNROUTED_PACKAGE_GUIDES = new Set(['cache', 'core', 'events', 'queue', 'search', 'shared', 'ui'])\n\n// Modules the standalone fixture enables in src/modules.ts. Both are on the\n// fact-sheet allowlist, so agentic:init must ship exactly their fact-sheets\n// (enabled \u2229 allowlist \u2014 spec D6) and list them in the AGENTS.md marker block.\nconst FIXTURE_ENABLED_MODULES = ['customers', 'sales']\n\nfunction normalizePath(value: string): string {\n return value.split(path.sep).join('/')\n}\n\nfunction runCommand(command: string, args: string[], cwd: string, env: NodeJS.ProcessEnv = {}): string {\n return execFileSync(command, args, {\n cwd,\n encoding: 'utf8',\n env: {\n ...process.env,\n FORCE_COLOR: '0',\n NODE_NO_WARNINGS: '1',\n // Keep the test hermetic: agentic:init runs scripts/install-skills.sh,\n // whose external step (`npx skills add`) needs the network. Local tier\n // symlinks are still installed.\n OM_SKIP_EXTERNAL_SKILLS: '1',\n ...env,\n },\n })\n}\n\nfunction runMercato(args: string[], cwd: string): string {\n return runCommand(process.execPath, [cliBin, ...args], cwd)\n}\n\nfunction writeFile(filePath: string, content: string): void {\n fs.mkdirSync(path.dirname(filePath), { recursive: true })\n fs.writeFileSync(filePath, content)\n}\n\nfunction ensureCliBuilt(): void {\n runCommand(process.execPath, [cliBuildScript], cliDir)\n}\n\nfunction createStandaloneFixture(rootDir: string): string {\n const appDir = path.join(rootDir, 'sample-store')\n writeFile(\n path.join(appDir, 'package.json'),\n JSON.stringify(\n {\n name: 'sample-store',\n private: true,\n dependencies: { '@open-mercato/core': coreVersion },\n },\n null,\n 2,\n ),\n )\n const moduleEntries = FIXTURE_ENABLED_MODULES\n .map((moduleId) => ` { id: '${moduleId}', from: '@open-mercato/core' },`)\n .join('\\n')\n writeFile(path.join(appDir, 'src', 'modules.ts'), `export const enabledModules = [\\n${moduleEntries}\\n]\\n`)\n return appDir\n}\n\nfunction installFakeFrameworkPackage(appDir: string): string {\n const packageRoot = path.join(appDir, 'node_modules', '@open-mercato', 'core')\n writeFile(path.join(packageRoot, 'package.json'), JSON.stringify({\n name: '@open-mercato/core',\n version: coreVersion,\n type: 'module',\n exports: { '.': './dist/index.js' },\n }))\n writeFile(path.join(packageRoot, 'dist', 'index.js'), 'export {}\\n')\n writeFile(path.join(packageRoot, 'AGENTS.md'), '# Installed core instructions\\n')\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n writeFile(path.join(packageRoot, 'src', 'modules', moduleId, 'AGENTS.md'), `# Installed ${moduleId} instructions\\n`)\n writeFile(\n path.join(packageRoot, 'src', 'modules', moduleId, 'data', 'entities.ts'),\n `export class ${moduleId === 'customers' ? 'Person' : 'Sale'} {}\\n`,\n )\n }\n return packageRoot\n}\n\nfunction snapshotTextFiles(rootDir: string): Record<string, string> {\n return Object.fromEntries(\n listRelativeFiles(rootDir).map((relativePath) => [\n relativePath,\n fs.readFileSync(path.join(rootDir, relativePath), 'utf8'),\n ]),\n )\n}\n\nfunction listRelativeFiles(rootDir: string): string[] {\n if (!fs.existsSync(rootDir)) {\n return []\n }\n\n const collected: string[] = []\n for (const entry of fs.readdirSync(rootDir, { withFileTypes: true })) {\n const absolutePath = path.join(rootDir, entry.name)\n if (entry.isDirectory()) {\n for (const nestedPath of listRelativeFiles(absolutePath)) {\n collected.push(path.join(entry.name, nestedPath))\n }\n continue\n }\n if (entry.isFile()) {\n collected.push(entry.name)\n }\n }\n\n return collected.map(normalizePath).sort()\n}\n\nfunction mapSharedSourceToOutput(relativePath: string): string {\n if (relativePath === 'AGENTS.md.template') {\n return 'AGENTS.md'\n }\n\n if (relativePath.startsWith('scripts/')) {\n return relativePath\n }\n\n if (!relativePath.startsWith('ai/')) {\n throw new Error(`Unexpected shared source path: ${relativePath}`)\n }\n\n return normalizePath(path.join('.ai', relativePath.slice('ai/'.length)))\n}\n\nfunction mapClaudeSourceToOutput(relativePath: string): string {\n if (relativePath === 'CLAUDE.md.template') {\n return 'CLAUDE.md'\n }\n if (relativePath === 'settings.json') {\n return '.claude/settings.json'\n }\n if (relativePath === 'mcp.json.example') {\n return '.mcp.json.example'\n }\n if (relativePath.startsWith('hooks/')) {\n return normalizePath(path.join('.claude', relativePath))\n }\n\n throw new Error(`Unexpected Claude source path: ${relativePath}`)\n}\n\nfunction mapCursorSourceToOutput(relativePath: string): string {\n if (relativePath === 'hooks.json') {\n return '.cursor/hooks.json'\n }\n if (relativePath === 'mcp.json.example') {\n return '.cursor/mcp.json.example'\n }\n if (relativePath.startsWith('hooks/') || relativePath.startsWith('rules/')) {\n return normalizePath(path.join('.cursor', relativePath))\n }\n\n throw new Error(`Unexpected Cursor source path: ${relativePath}`)\n}\n\nfunction mapCodexSourceToOutput(relativePath: string): string | null {\n if (relativePath === 'mcp.json.example') {\n return '.codex/mcp.json.example'\n }\n if (relativePath === 'enforcement-rules.md') {\n return null\n }\n\n throw new Error(`Unexpected Codex source path: ${relativePath}`)\n}\n\nfunction readPlaywrightConfigPathFromTemplate(): string {\n const packageTemplate = JSON.parse(fs.readFileSync(standaloneTemplatePackageJsonPath, 'utf8')) as {\n scripts?: Record<string, string>\n }\n const integrationScript = packageTemplate.scripts?.['test:integration']\n if (!integrationScript) {\n throw new Error('Standalone template is missing the test:integration script')\n }\n\n const configPathMatch = integrationScript.match(/--config\\s+([^\\s]+)/)\n if (!configPathMatch?.[1]) {\n throw new Error('Standalone template test:integration script is missing --config')\n }\n\n return normalizePath(configPathMatch[1])\n}\n\nfunction readPlaywrightConfigPathFromCliRunner(): string {\n const integrationRunnerSource = fs.readFileSync(cliIntegrationRunnerPath, 'utf8')\n const configPathMatch = integrationRunnerSource.match(/const PLAYWRIGHT_INTEGRATION_CONFIG_PATH = '([^']+)'/)\n if (!configPathMatch?.[1]) {\n throw new Error('CLI integration runner is missing PLAYWRIGHT_INTEGRATION_CONFIG_PATH')\n }\n\n return normalizePath(configPathMatch[1])\n}\n\nfunction expectedGuideOutputNames(): string[] {\n const collected = new Set<string>()\n\n // Static conceptual guides checked into create-app (e.g. module-system.md) are\n // bundled into dist/agentic/guides by the CLI build and copied wholesale.\n const staticGuidesRoot = path.join(agenticRoot, 'guides')\n if (fs.existsSync(staticGuidesRoot)) {\n for (const entry of fs.readdirSync(staticGuidesRoot, { withFileTypes: true })) {\n if (entry.isFile() && entry.name.endsWith('.md')) {\n collected.add(entry.name)\n }\n }\n }\n\n for (const packageName of fs.readdirSync(packagesRoot)) {\n const packageGuide = path.join(packagesRoot, packageName, 'agentic', 'standalone-guide.md')\n if (fs.existsSync(packageGuide) && !UNROUTED_PACKAGE_GUIDES.has(packageName)) {\n collected.add(`${packageName}.md`)\n }\n\n const modulesRoot = path.join(packagesRoot, packageName, 'src', 'modules')\n if (!fs.existsSync(modulesRoot)) {\n continue\n }\n\n for (const moduleName of fs.readdirSync(modulesRoot)) {\n const moduleGuide = path.join(modulesRoot, moduleName, 'agentic', 'standalone-guide.md')\n if (fs.existsSync(moduleGuide)) {\n collected.add(`${packageName}.${moduleName}.md`)\n }\n }\n }\n\n // Generated fact-sheet artifacts (spec 2026-06-27-ts-morph-module-fact-sheets):\n // the v1/v2 sidecars and disabled local-reference projection are copied as-is,\n // while installed fact-sheets are filtered to the fixture's enabled modules. The legacy\n // core.<module>.md redirect stubs are no longer\n // emitted (#3754). framework-extension-points.md is likewise generated into\n // dist/agentic/guides by both build.mjs pipelines (#4810) rather than checked in\n // alongside the static conceptual guides, so it needs an explicit entry here.\n collected.add('module-facts.json')\n collected.add('module-facts.v2.json')\n collected.add('reference-module-facts.json')\n collected.add('framework-extension-points.md')\n collected.add('upstream/AGENTS.md')\n collected.add('upstream/BACKWARD_COMPATIBILITY.md')\n collected.add('upstream/manifest.json')\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n const moduleFactsRoot = path.join(cliDir, 'dist', 'agentic', 'guides', 'modules', moduleId)\n for (const file of fs.readdirSync(moduleFactsRoot)) {\n if (file.endsWith('.md')) collected.add(normalizePath(path.join('modules', moduleId, file)))\n }\n }\n const referenceFactsRoot = path.join(cliDir, 'dist', 'agentic', 'guides', 'reference-modules')\n for (const file of listRelativeFiles(referenceFactsRoot)) {\n collected.add(normalizePath(path.join('reference-modules', file)))\n }\n\n return Array.from(collected).sort()\n}\n\nfunction assertPathsExist(appDir: string, relativePaths: string[]): void {\n const missingPaths = relativePaths.filter((relativePath) => !fs.existsSync(path.join(appDir, relativePath)))\n expect(missingPaths).toEqual([])\n}\n\ntest.describe('TC-INT-008: CLI agentic init mirrors standalone scaffolding assets', () => {\n test.beforeAll(() => {\n ensureCliBuilt()\n })\n\n test('should run bootstrap-free and generate the shared, guide, and tool-specific agentic files', () => {\n const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'mercato-cli-agentic-'))\n\n try {\n const appDir = createStandaloneFixture(tempRoot)\n const standalonePlaywrightConfigPath = readPlaywrightConfigPathFromTemplate()\n const cliPlaywrightConfigPath = readPlaywrightConfigPathFromCliRunner()\n const commandOutput = runMercato(['agentic:init', '--tool=claude-code,codex,cursor'], appDir)\n\n expect(cliPlaywrightConfigPath).toBe(standalonePlaywrightConfigPath)\n expect(commandOutput).toContain('Agentic setup complete:')\n expect(fs.existsSync(path.join(appDir, '.mercato', 'generated'))).toBe(false)\n\n const sharedOutputs = listRelativeFiles(path.join(agenticRoot, 'shared')).map(mapSharedSourceToOutput)\n const claudeOutputs = listRelativeFiles(path.join(agenticRoot, 'claude-code')).map(mapClaudeSourceToOutput)\n const cursorOutputs = listRelativeFiles(path.join(agenticRoot, 'cursor')).map(mapCursorSourceToOutput)\n const codexOutputs = listRelativeFiles(path.join(agenticRoot, 'codex'))\n .map(mapCodexSourceToOutput)\n .filter((relativePath): relativePath is string => relativePath !== null)\n\n expect(sharedOutputs).toContain(standalonePlaywrightConfigPath)\n assertPathsExist(appDir, [...sharedOutputs, ...claudeOutputs, ...cursorOutputs, ...codexOutputs])\n expect(fs.existsSync(path.join(appDir, standalonePlaywrightConfigPath))).toBe(true)\n\n const generatedGuideNames = listRelativeFiles(path.join(appDir, '.ai', 'guides'))\n expect(generatedGuideNames).toEqual(expectedGuideOutputNames())\n\n const agentsSource = fs.readFileSync(path.join(appDir, 'AGENTS.md'), 'utf8')\n expect(agentsSource).toContain('<!-- CODEX_ENFORCEMENT_RULES_START -->')\n expect(agentsSource).toContain('.ai/guides/upstream/BACKWARD_COMPATIBILITY.md')\n\n // The Module-Specific Guides marker block is a compact enabled-module ID\n // index (enabled \u2229 bundled) plus one progressively loaded path pattern.\n for (const moduleId of FIXTURE_ENABLED_MODULES) {\n expect(agentsSource).toContain(`\\`${moduleId}\\``)\n }\n expect(agentsSource).toContain('`.ai/guides/modules/<id>/index.md`')\n expect(agentsSource.match(/\\.ai\\/guides\\/modules\\//g)).toHaveLength(1)\n expect(agentsSource).not.toContain('`auth`')\n expect(agentsSource).not.toContain('Core CRM capabilities')\n\n const specsReadmeSource = fs.readFileSync(path.join(appDir, '.ai', 'specs', 'README.md'), 'utf8')\n expect(specsReadmeSource).toContain('sample-store')\n\n const cursorRulesSource = fs.readFileSync(path.join(appDir, '.cursor', 'rules', 'open-mercato.mdc'), 'utf8')\n expect(cursorRulesSource).toContain('sample-store')\n\n // om-spec-writing moved to the external open-mercato/skills collection\n // (installed via `yarn install-skills`), so agentic:init must not ship a copy.\n expect(fs.existsSync(path.join(appDir, '.ai', 'skills', 'om-spec-writing'))).toBe(false)\n expect(fs.existsSync(path.join(appDir, 'scripts', 'install-skills.sh'))).toBe(true)\n\n // install-skills.sh (run by agentic:init) installs every local tier skill once,\n // into the canonical .agents/skills/. Codex and Cursor read that directory\n // natively, so they get no skills directory of their own; Claude Code cannot,\n // so it keeps a link layer pointing back at the canonical copy.\n const tiersManifest = JSON.parse(\n fs.readFileSync(path.join(agenticRoot, 'shared', 'ai', 'skills', 'tiers.json'), 'utf8'),\n ) as { default: string[]; tiers: Record<string, { skills: string[] }> }\n const defaultTierSkills = tiersManifest.default.flatMap((tierName) => tiersManifest.tiers[tierName].skills)\n expect(defaultTierSkills.length).toBeGreaterThan(0)\n\n for (const skillName of defaultTierSkills) {\n const canonicalLinkPath = path.join(appDir, '.agents', 'skills', skillName)\n expect(fs.lstatSync(canonicalLinkPath).isSymbolicLink()).toBe(true)\n expect(normalizePath(fs.readlinkSync(canonicalLinkPath))).toBe(`../../.ai/skills/${skillName}`)\n\n const claudeLinkPath = path.join(appDir, '.claude', 'skills', skillName)\n expect(fs.lstatSync(claudeLinkPath).isSymbolicLink()).toBe(true)\n expect(normalizePath(fs.readlinkSync(claudeLinkPath))).toBe(`../../.agents/skills/${skillName}`)\n }\n\n expect(fs.existsSync(path.join(appDir, '.codex', 'skills'))).toBe(false)\n expect(fs.existsSync(path.join(appDir, '.cursor', 'skills'))).toBe(false)\n } finally {\n fs.rmSync(tempRoot, { recursive: true, force: true })\n }\n })\n\n test('emits a runnable exact-version framework context escape hatch for an installed package', () => {\n const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'mercato-cli-framework-context-'))\n\n try {\n const appDir = createStandaloneFixture(tempRoot)\n const packageRoot = installFakeFrameworkPackage(appDir)\n const resolvedPackageRoot = fs.realpathSync(packageRoot)\n const packageBefore = snapshotTextFiles(packageRoot)\n\n runMercato(['agentic:init', '--tool=codex'], appDir)\n const generatedScript = path.join(appDir, 'scripts', 'framework-context.mjs')\n expect(fs.existsSync(generatedScript)).toBe(true)\n\n const output = runCommand(\n process.execPath,\n [generatedScript, '--module', 'customers', '--query', 'Person', '--json'],\n appDir,\n // The generated standalone helper must not depend on a globally\n // installed ripgrep binary; process.execPath is already absolute.\n { PATH: '', Path: '' },\n )\n const context = JSON.parse(output) as {\n module: string\n package: { name: string; version: string; root: string }\n sourceKind: string\n sourceRoot: string\n materializedSource: string\n instructions: Array<{ kind: string; path: string | null; materializedPath?: string }>\n boundedSearch: { status: string; matches: number; maxMatches: number; result: string }\n warnings: string[]\n }\n\n expect(context.module).toBe('customers')\n expect(context.package).toEqual({ name: '@open-mercato/core', version: coreVersion, root: resolvedPackageRoot })\n expect(context.sourceKind).toBe('source')\n expect(normalizePath(context.sourceRoot)).toBe(normalizePath(path.join(resolvedPackageRoot, 'src', 'modules', 'customers')))\n expect(context.instructions.filter((entry) => entry.path).map((entry) => entry.kind)).toEqual([\n 'standalone-root',\n 'upstream-bc',\n 'package',\n 'module-1',\n 'upstream-root',\n ])\n expect(context.instructions.filter((entry) => entry.path).every((entry) => entry.materializedPath)).toBe(true)\n expect(context.boundedSearch).toMatchObject({ status: 'matched', matches: 1, maxMatches: 200 })\n expect(fs.existsSync(path.join(appDir, context.materializedSource))).toBe(true)\n expect(fs.existsSync(path.join(appDir, context.boundedSearch.result))).toBe(true)\n expect(context.warnings.some((warning) => warning.includes('Generated facts for customers are stale'))).toBe(false)\n expect(snapshotTextFiles(packageRoot)).toEqual(packageBefore)\n } finally {\n fs.rmSync(tempRoot, { recursive: true, force: true })\n }\n })\n})\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -63,7 +63,7 @@ function readEnabledModuleIds(modulesPath) {
63
63
  }
64
64
  }
65
65
  function selectModuleFactSheets(targetDir, modulesSubdir) {
66
- const available = existsSync(modulesSubdir) ? readdirSync(modulesSubdir).filter((file) => file.endsWith(".md")).map((file) => file.replace(/\.md$/, "")) : [];
66
+ const available = existsSync(modulesSubdir) ? readdirSync(modulesSubdir, { withFileTypes: true }).filter((entry) => entry.isDirectory() && existsSync(join(modulesSubdir, entry.name, "index.md"))).map((entry) => entry.name) : [];
67
67
  if (available.length === 0) return [];
68
68
  const parsed = readEnabledModuleIds(join(targetDir, "src", "modules.ts"));
69
69
  if (!parsed.parsed) return available;
@@ -80,7 +80,7 @@ function renderModuleGuidesBlock(selected, options = {}) {
80
80
  return [
81
81
  index,
82
82
  "",
83
- "Load `.ai/guides/modules/<id>.md` only for a named or targeted installed module/host; never preload all module facts."
83
+ "Load `.ai/guides/modules/<id>/index.md` only for a targeted installed module/host; never preload all module facts."
84
84
  ].join("\n");
85
85
  }
86
86
  function injectModuleGuides(agentsMdPath, selected, options = {}) {
@@ -301,14 +301,21 @@ function finalizeHarnessManifest(config, selectedTools) {
301
301
  ...targetPathsForTree(join(srcDir, "scripts"), join(targetDir, "scripts"))
302
302
  ]);
303
303
  for (const file of readdirSync(GUIDES_DIR)) {
304
- if (file.endsWith(".md") || file === "module-facts.json" || file === "module-facts.v2.json") {
304
+ if (file.endsWith(".md") || file === "module-facts.json" || file === "module-facts.v2.json" || file === "reference-module-facts.json") {
305
305
  paths.add(join(targetDir, ".ai", "guides", file));
306
306
  }
307
307
  }
308
308
  for (const file of listFiles(join(GUIDES_DIR, "upstream"))) {
309
309
  paths.add(join(targetDir, ".ai", "guides", "upstream", relative(join(GUIDES_DIR, "upstream"), file)));
310
310
  }
311
- for (const moduleId of selectedModules) paths.add(join(targetDir, ".ai", "guides", "modules", `${moduleId}.md`));
311
+ for (const moduleId of selectedModules) {
312
+ const sourceRoot = join(GUIDES_DIR, "modules", moduleId);
313
+ const destinationRoot = join(targetDir, ".ai", "guides", "modules", moduleId);
314
+ for (const file of targetPathsForTree(sourceRoot, destinationRoot)) paths.add(file);
315
+ }
316
+ for (const file of listFiles(join(GUIDES_DIR, "reference-modules"))) {
317
+ paths.add(join(targetDir, ".ai", "guides", "reference-modules", relative(join(GUIDES_DIR, "reference-modules"), file)));
318
+ }
312
319
  if (selectedTools.includes("claude-code")) {
313
320
  paths.add(join(targetDir, "CLAUDE.md"));
314
321
  paths.add(join(targetDir, ".claude", "settings.json"));
@@ -403,6 +410,11 @@ function applyHarnessUpdate(targetDir, stagingDir, options = {}) {
403
410
  const destinationPath = resolveManifestPath(targetRoot, previousEntry.path);
404
411
  if (!destinationPath || !existsSync(destinationPath)) continue;
405
412
  assertManagedPath(targetRoot, destinationPath, { leaf: "file" });
413
+ const isRetiredFlatModuleFact = !previousEntry.userEditable && /^\.ai\/guides\/(?:modules|reference-modules)\/[^/]+\.md$/.test(previousEntry.path);
414
+ if (isRetiredFlatModuleFact) {
415
+ rmSync(destinationPath, { force: true });
416
+ continue;
417
+ }
406
418
  let unchanged = false;
407
419
  try {
408
420
  unchanged = hashFile(destinationPath) === previousEntry.sha256;
@@ -453,12 +465,17 @@ function generateShared(config) {
453
465
  ensureDir(destPath);
454
466
  copyFileSync(moduleFactsV2Path, destPath);
455
467
  }
468
+ const referenceFactsPath = join(GUIDES_DIR, "reference-module-facts.json");
469
+ if (existsSync(referenceFactsPath)) {
470
+ const destPath = join(guidesDestDir, "reference-module-facts.json");
471
+ ensureDir(destPath);
472
+ copyFileSync(referenceFactsPath, destPath);
473
+ }
456
474
  copyTree(join(GUIDES_DIR, "upstream"), join(guidesDestDir, "upstream"), config);
475
+ copyTree(join(GUIDES_DIR, "reference-modules"), join(guidesDestDir, "reference-modules"), config);
457
476
  const modulesSubdir = join(GUIDES_DIR, "modules");
458
477
  for (const moduleId of selectedModules) {
459
- const destPath = join(guidesDestDir, "modules", `${moduleId}.md`);
460
- ensureDir(destPath);
461
- copyFileSync(join(modulesSubdir, `${moduleId}.md`), destPath);
478
+ copyTree(join(modulesSubdir, moduleId), join(guidesDestDir, "modules", moduleId), config);
462
479
  }
463
480
  }
464
481
  injectModuleGuides(join(targetDir, "AGENTS.md"), selectedModules);