@open-mercato/cli 0.6.7 → 0.6.8-develop.6875.1.871a4afc94

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 (278) hide show
  1. package/.turbo/turbo-build.log +4 -4
  2. package/build.mjs +24 -7
  3. package/dist/agentic/claude-code/hooks/entity-migration-check.ts +32 -88
  4. package/dist/agentic/codex/enforcement-rules.md +2 -16
  5. package/dist/agentic/cursor/hooks/entity-migration-check.mjs +19 -50
  6. package/dist/agentic/cursor/rules/entity-guard.mdc +9 -21
  7. package/dist/agentic/cursor/rules/generated-guard.mdc +3 -5
  8. package/dist/agentic/cursor/rules/open-mercato.mdc +3 -29
  9. package/dist/agentic/guides/ai-workflows.md +76 -0
  10. package/dist/agentic/guides/architecture.md +107 -0
  11. package/dist/agentic/guides/backend-ui.md +80 -0
  12. package/dist/agentic/guides/contracts.md +92 -0
  13. package/dist/agentic/guides/extensions.md +121 -0
  14. package/dist/agentic/guides/framework-extension-points.md +36 -0
  15. package/dist/agentic/guides/integrations.md +81 -0
  16. package/dist/agentic/guides/module-facts.json +115537 -3951
  17. package/dist/agentic/guides/module-system.md +12 -127
  18. package/dist/agentic/guides/modules/ai_assistant.md +227 -28
  19. package/dist/agentic/guides/modules/api_docs.md +58 -2
  20. package/dist/agentic/guides/modules/api_keys.md +92 -7
  21. package/dist/agentic/guides/modules/attachments.md +119 -14
  22. package/dist/agentic/guides/modules/audit_logs.md +131 -10
  23. package/dist/agentic/guides/modules/auth.md +276 -33
  24. package/dist/agentic/guides/modules/business_rules.md +149 -14
  25. package/dist/agentic/guides/modules/catalog.md +475 -43
  26. package/dist/agentic/guides/modules/channel_gmail.md +82 -3
  27. package/dist/agentic/guides/modules/channel_imap.md +82 -3
  28. package/dist/agentic/guides/modules/checkout.md +299 -27
  29. package/dist/agentic/guides/modules/communication_channels.md +315 -33
  30. package/dist/agentic/guides/modules/configs.md +104 -8
  31. package/dist/agentic/guides/modules/content.md +57 -2
  32. package/dist/agentic/guides/modules/currencies.md +152 -17
  33. package/dist/agentic/guides/modules/customer_accounts.md +387 -45
  34. package/dist/agentic/guides/modules/customers.md +746 -85
  35. package/dist/agentic/guides/modules/dashboards.md +155 -10
  36. package/dist/agentic/guides/modules/data_sync.md +149 -16
  37. package/dist/agentic/guides/modules/design_system.md +102 -0
  38. package/dist/agentic/guides/modules/dictionaries.md +107 -12
  39. package/dist/agentic/guides/modules/directory.md +148 -15
  40. package/dist/agentic/guides/modules/entities.md +145 -13
  41. package/dist/agentic/guides/modules/events.md +59 -2
  42. package/dist/agentic/guides/modules/feature_toggles.md +119 -9
  43. package/dist/agentic/guides/modules/gateway_stripe.md +92 -4
  44. package/dist/agentic/guides/modules/generators.md +45 -2
  45. package/dist/agentic/guides/modules/inbox_ops.md +207 -27
  46. package/dist/agentic/guides/modules/integrations.md +146 -16
  47. package/dist/agentic/guides/modules/messages.md +223 -24
  48. package/dist/agentic/guides/modules/notifications.md +96 -8
  49. package/dist/agentic/guides/modules/onboarding.md +77 -6
  50. package/dist/agentic/guides/modules/payment_gateways.md +164 -21
  51. package/dist/agentic/guides/modules/perspectives.md +77 -7
  52. package/dist/agentic/guides/modules/planner.md +136 -18
  53. package/dist/agentic/guides/modules/portal.md +93 -2
  54. package/dist/agentic/guides/modules/progress.md +104 -14
  55. package/dist/agentic/guides/modules/query_index.md +154 -15
  56. package/dist/agentic/guides/modules/record_locks.md +206 -21
  57. package/dist/agentic/guides/modules/resources.md +197 -30
  58. package/dist/agentic/guides/modules/sales.md +678 -84
  59. package/dist/agentic/guides/modules/scheduler.md +133 -14
  60. package/dist/agentic/guides/modules/search.md +170 -6
  61. package/dist/agentic/guides/modules/security.md +294 -35
  62. package/dist/agentic/guides/modules/shipping_carriers.md +134 -18
  63. package/dist/agentic/guides/modules/sso.md +151 -26
  64. package/dist/agentic/guides/modules/staff.md +369 -57
  65. package/dist/agentic/guides/modules/storage_s3.md +95 -5
  66. package/dist/agentic/guides/modules/sync_akeneo.md +85 -3
  67. package/dist/agentic/guides/modules/sync_excel.md +75 -6
  68. package/dist/agentic/guides/modules/system_status_overlays.md +60 -2
  69. package/dist/agentic/guides/modules/translations.md +104 -10
  70. package/dist/agentic/guides/modules/webhooks.md +203 -24
  71. package/dist/agentic/guides/modules/wms.md +441 -46
  72. package/dist/agentic/guides/modules/workflows.md +302 -43
  73. package/dist/agentic/guides/spec-delivery.md +22 -0
  74. package/dist/agentic/guides/testing-debugging.md +80 -0
  75. package/dist/agentic/guides/upstream/AGENTS.md +299 -0
  76. package/dist/agentic/guides/upstream/BACKWARD_COMPATIBILITY.md +316 -0
  77. package/dist/agentic/guides/upstream/manifest.json +8 -0
  78. package/dist/agentic/shared/AGENTS.md.template +124 -311
  79. package/dist/agentic/shared/ai/agentic.config.json +2 -0
  80. package/dist/agentic/shared/ai/harness/README.md +50 -0
  81. package/dist/agentic/shared/ai/harness/RELEASE.md +57 -0
  82. package/dist/agentic/shared/ai/harness/cases.json +13680 -0
  83. package/dist/agentic/shared/ai/harness/cases.schema.json +133 -0
  84. package/dist/agentic/shared/ai/harness/fixtures/index.json +49 -0
  85. package/dist/agentic/shared/ai/harness/fixtures/seeds.json +162 -0
  86. package/dist/agentic/shared/ai/harness/generated-code-review-policy.md +21 -0
  87. package/dist/agentic/shared/ai/harness/generated-code-review-response.schema.json +96 -0
  88. package/dist/agentic/shared/ai/harness/generated-code-review-result.schema.json +172 -0
  89. package/dist/agentic/shared/ai/harness/release-matrix.json +158 -0
  90. package/dist/agentic/shared/ai/harness/release-result.schema.json +219 -0
  91. package/dist/agentic/shared/ai/harness/result.schema.json +76 -0
  92. package/dist/agentic/shared/ai/harness/routing-response.schema.json +12 -0
  93. package/dist/agentic/shared/ai/harness/target-validation-result.schema.json +73 -0
  94. package/dist/agentic/shared/ai/harness/validators.json +78 -0
  95. package/dist/agentic/shared/ai/harness/writable-ast-oracles.mjs +2121 -0
  96. package/dist/agentic/shared/ai/harness/writable-behavior-oracles.mjs +1096 -0
  97. package/dist/agentic/shared/ai/lessons/_template.md +16 -0
  98. package/dist/agentic/shared/ai/lessons.md +26 -3
  99. package/dist/agentic/shared/ai/review-checklist.md +36 -0
  100. package/dist/agentic/shared/ai/skills/om-auto-implement-spec/SKILL.md +21 -0
  101. package/dist/agentic/shared/ai/skills/om-auto-review-pr/SKILL.md +4 -0
  102. package/dist/agentic/shared/ai/skills/om-auto-upgrade-0.6.6-to-0.6.7/SKILL.md +98 -0
  103. package/dist/agentic/shared/ai/skills/om-backend-ui-design/SKILL.md +20 -241
  104. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/crud-surfaces.md +16 -0
  105. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/frontend-and-design-system.md +53 -0
  106. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/page-and-navigation.md +13 -0
  107. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/quality-states.md +11 -0
  108. package/dist/agentic/shared/ai/skills/om-build-workflow/SKILL.md +30 -0
  109. package/dist/agentic/shared/ai/skills/om-build-workflow/references/activity-contracts.md +12 -0
  110. package/dist/agentic/shared/ai/skills/om-build-workflow/references/durability-and-progress.md +13 -0
  111. package/dist/agentic/shared/ai/skills/om-build-workflow/references/workflow-design.md +14 -0
  112. package/dist/agentic/shared/ai/skills/om-create-ai-agent/SKILL.md +28 -0
  113. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/attachments-and-overrides.md +12 -0
  114. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/module-agents-and-tools.md +22 -0
  115. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/orchestrator-agents.md +12 -0
  116. package/dist/agentic/shared/ai/skills/om-create-ai-agent/references/surface-selector.md +19 -0
  117. package/dist/agentic/shared/ai/skills/om-data-model-design/SKILL.md +16 -601
  118. package/dist/agentic/shared/ai/skills/om-data-model-design/references/integrity-and-concurrency.md +19 -0
  119. package/dist/agentic/shared/ai/skills/om-data-model-design/references/migration-workflow.md +13 -0
  120. package/dist/agentic/shared/ai/skills/om-data-model-design/references/schema-design.md +14 -0
  121. package/dist/agentic/shared/ai/skills/om-data-model-design/references/sensitive-data.md +10 -0
  122. package/dist/agentic/shared/ai/skills/om-eject-and-customize/SKILL.md +14 -310
  123. package/dist/agentic/shared/ai/skills/om-eject-and-customize/references/decision-and-procedure.md +17 -0
  124. package/dist/agentic/shared/ai/skills/om-evolve-harness/SKILL.md +29 -0
  125. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-template.md +100 -0
  126. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/case-workflow.md +16 -0
  127. package/dist/agentic/shared/ai/skills/om-evolve-harness/references/owner-selection.md +17 -0
  128. package/dist/agentic/shared/ai/skills/om-framework-context/SKILL.md +25 -0
  129. package/dist/agentic/shared/ai/skills/om-framework-context/references/resolver-procedure.md +11 -0
  130. package/dist/agentic/shared/ai/skills/om-framework-context/references/skew-and-escalation.md +13 -0
  131. package/dist/agentic/shared/ai/skills/om-help/SKILL.md +15 -97
  132. package/dist/agentic/shared/ai/skills/om-help/references/delivery-workflows.md +18 -0
  133. package/dist/agentic/shared/ai/skills/om-help/references/task-families.md +20 -0
  134. package/dist/agentic/shared/ai/skills/om-implement-spec/SKILL.md +33 -152
  135. package/dist/agentic/shared/ai/skills/om-implement-spec/references/phases-and-gates.md +33 -0
  136. package/dist/agentic/shared/ai/skills/om-implement-spec/references/planning-and-progress.md +40 -0
  137. package/dist/agentic/shared/ai/skills/om-implement-spec/references/report-templates.md +27 -0
  138. package/dist/agentic/shared/ai/skills/om-implement-spec/references/spec-resolution.md +24 -0
  139. package/dist/agentic/shared/ai/skills/om-integration-builder/SKILL.md +24 -708
  140. package/dist/agentic/shared/ai/skills/om-integration-builder/references/package-and-activation.md +16 -0
  141. package/dist/agentic/shared/ai/skills/om-integration-builder/references/provider-families.md +14 -0
  142. package/dist/agentic/shared/ai/skills/om-integration-builder/references/security-and-reliability.md +15 -0
  143. package/dist/agentic/shared/ai/skills/om-integration-builder/references/sync-and-files.md +12 -0
  144. package/dist/agentic/shared/ai/skills/om-judge-agent-session/SKILL.md +34 -0
  145. package/dist/agentic/shared/ai/skills/om-judge-agent-session/agents/openai.yaml +4 -0
  146. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/agentic-setup.md +11 -0
  147. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/input-normalization.md +31 -0
  148. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/judge-workflow.md +39 -0
  149. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/report-template.md +43 -0
  150. package/dist/agentic/shared/ai/skills/om-judge-agent-session/references/rules.md +11 -0
  151. package/dist/agentic/shared/ai/skills/om-module-scaffold/SKILL.md +20 -820
  152. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/api-and-domain.md +19 -0
  153. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/business-one-shot-blueprints.md +172 -0
  154. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/data-and-migrations.md +12 -0
  155. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/discovery-surface-catalog.md +83 -0
  156. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/module-surfaces.md +21 -0
  157. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/planning.md +11 -0
  158. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/runtime-cache-and-queues.md +22 -0
  159. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/verification.md +13 -0
  160. package/dist/agentic/shared/ai/skills/om-share-this-session/SKILL.md +41 -0
  161. package/dist/agentic/shared/ai/skills/om-share-this-session/references/agentic-setup.md +19 -0
  162. package/dist/agentic/shared/ai/skills/om-share-this-session/references/bundle-preparation.md +44 -0
  163. package/dist/agentic/shared/ai/skills/om-share-this-session/references/consent-and-review.md +39 -0
  164. package/dist/agentic/shared/ai/skills/om-share-this-session/references/publication.md +20 -0
  165. package/dist/agentic/shared/ai/skills/om-share-this-session/references/report-templates.md +57 -0
  166. package/dist/agentic/shared/ai/skills/om-share-this-session/references/rules.md +11 -0
  167. package/dist/agentic/shared/ai/skills/om-share-this-session/scripts/prepare-share-bundle.mjs +486 -0
  168. package/dist/agentic/shared/ai/skills/om-system-extension/SKILL.md +19 -843
  169. package/dist/agentic/shared/ai/skills/om-system-extension/references/extension-branches.md +18 -0
  170. package/dist/agentic/shared/ai/skills/om-system-extension/references/mechanism-selector.md +27 -0
  171. package/dist/agentic/shared/ai/skills/om-system-extension/references/read-write-roundtrip.md +13 -0
  172. package/dist/agentic/shared/ai/skills/om-system-extension/references/unified-overrides.md +41 -0
  173. package/dist/agentic/shared/ai/skills/om-system-extension/references/verification.md +11 -0
  174. package/dist/agentic/shared/ai/skills/om-trim-unused-modules/SKILL.md +15 -63
  175. package/dist/agentic/shared/ai/skills/om-trim-unused-modules/references/dependency-and-redirect.md +15 -0
  176. package/dist/agentic/shared/ai/skills/om-troubleshooter/SKILL.md +16 -467
  177. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/diagnosis-map.md +16 -0
  178. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/regression-oracles.md +14 -0
  179. package/dist/agentic/shared/ai/skills/tiers.json +143 -21
  180. package/dist/agentic/shared/ai/skills/tiers.schema.json +52 -40
  181. package/dist/agentic/shared/ai/specs/README.md +4 -3
  182. package/dist/agentic/shared/ai/specs/SPEC-000-template.md +226 -10
  183. package/dist/agentic/shared/ai/trackers/github.md +108 -4
  184. package/dist/agentic/shared/scripts/agent-harness-tool-server.mjs +187 -0
  185. package/dist/agentic/shared/scripts/check-lessons.mjs +178 -0
  186. package/dist/agentic/shared/scripts/evaluate-agent-harness.mjs +2958 -0
  187. package/dist/agentic/shared/scripts/execution-sandbox.mjs +329 -0
  188. package/dist/agentic/shared/scripts/framework-context.mjs +888 -0
  189. package/dist/agentic/shared/scripts/install-skills.mjs +1029 -0
  190. package/dist/agentic/shared/scripts/install-skills.sh +4 -694
  191. package/dist/agentic/shared/scripts/prepare-agent-harness-fixture.mjs +222 -0
  192. package/dist/agentic/shared/scripts/run-agent-harness-release.mjs +1774 -0
  193. package/dist/bin.js +13 -1
  194. package/dist/bin.js.map +2 -2
  195. package/dist/lib/__integration__/TC-INT-008.spec.js +88 -8
  196. package/dist/lib/__integration__/TC-INT-008.spec.js.map +2 -2
  197. package/dist/lib/agentic-init.js +13 -3
  198. package/dist/lib/agentic-init.js.map +2 -2
  199. package/dist/lib/agentic-setup.js +434 -186
  200. package/dist/lib/agentic-setup.js.map +2 -2
  201. package/dist/lib/generators/extensions/injection-widgets.js +20 -0
  202. package/dist/lib/generators/extensions/injection-widgets.js.map +2 -2
  203. package/dist/lib/generators/module-extension-facts.js +1840 -0
  204. package/dist/lib/generators/module-extension-facts.js.map +7 -0
  205. package/dist/lib/generators/module-fact-sources.js +70 -0
  206. package/dist/lib/generators/module-fact-sources.js.map +7 -0
  207. package/dist/lib/generators/module-facts-discovery.js +41 -7
  208. package/dist/lib/generators/module-facts-discovery.js.map +2 -2
  209. package/dist/lib/generators/module-facts.js +1387 -45
  210. package/dist/lib/generators/module-facts.js.map +3 -3
  211. package/dist/lib/generators/module-override-targets.js +688 -0
  212. package/dist/lib/generators/module-override-targets.js.map +7 -0
  213. package/dist/lib/generators/module-registry.js +11 -5
  214. package/dist/lib/generators/module-registry.js.map +2 -2
  215. package/dist/lib/load-env.js +24 -0
  216. package/dist/lib/load-env.js.map +7 -0
  217. package/dist/lib/resolver.js +2 -0
  218. package/dist/lib/resolver.js.map +2 -2
  219. package/dist/lib/telemetry-init.js +358 -0
  220. package/dist/lib/telemetry-init.js.map +7 -0
  221. package/dist/lib/testing/integration.js +5 -0
  222. package/dist/lib/testing/integration.js.map +2 -2
  223. package/dist/mercato.js +23 -1
  224. package/dist/mercato.js.map +2 -2
  225. package/package.json +13 -11
  226. package/src/bin.ts +33 -1
  227. package/src/lib/__integration__/TC-INT-008.spec.ts +107 -9
  228. package/src/lib/__tests__/agentic-init.test.ts +41 -5
  229. package/src/lib/__tests__/agentic-setup.ownership.test.ts +386 -0
  230. package/src/lib/__tests__/injection-widget-id-validation.test.ts +184 -0
  231. package/src/lib/__tests__/load-env.test.ts +65 -0
  232. package/src/lib/__tests__/telemetry-init.test.ts +298 -0
  233. package/src/lib/agentic-init.ts +15 -3
  234. package/src/lib/agentic-setup.ts +573 -222
  235. package/src/lib/generators/__tests__/activation-adapter-coverage.test.ts +92 -0
  236. package/src/lib/generators/__tests__/module-extension-activations.test.ts +762 -0
  237. package/src/lib/generators/__tests__/module-extension-facts.test.ts +404 -0
  238. package/src/lib/generators/__tests__/module-facts.bc-guard.test.ts +88 -2
  239. package/src/lib/generators/__tests__/module-facts.customers.fixture.test.ts +1 -0
  240. package/src/lib/generators/__tests__/module-facts.discovery.test.ts +54 -10
  241. package/src/lib/generators/__tests__/module-facts.extension-hosts.test.ts +108 -0
  242. package/src/lib/generators/__tests__/module-facts.owned-contracts.test.ts +561 -0
  243. package/src/lib/generators/__tests__/module-facts.source-links.test.ts +119 -0
  244. package/src/lib/generators/__tests__/module-override-targets.roundtrip.test.ts +149 -0
  245. package/src/lib/generators/__tests__/module-override-targets.test.ts +304 -0
  246. package/src/lib/generators/__tests__/module-subset.test.ts +18 -0
  247. package/src/lib/generators/extensions/injection-widgets.ts +51 -0
  248. package/src/lib/generators/module-extension-facts.ts +2365 -0
  249. package/src/lib/generators/module-fact-sources.ts +108 -0
  250. package/src/lib/generators/module-facts-discovery.ts +58 -7
  251. package/src/lib/generators/module-facts.ts +1851 -46
  252. package/src/lib/generators/module-override-targets.ts +863 -0
  253. package/src/lib/generators/module-registry.ts +16 -6
  254. package/src/lib/load-env.ts +30 -0
  255. package/src/lib/resolver.ts +3 -0
  256. package/src/lib/telemetry-init.ts +461 -0
  257. package/src/lib/testing/__tests__/integration.test.ts +4 -0
  258. package/src/lib/testing/integration.ts +5 -0
  259. package/src/mercato.ts +26 -1
  260. package/dist/agentic/guides/cache.md +0 -45
  261. package/dist/agentic/guides/core.md +0 -453
  262. package/dist/agentic/guides/events.md +0 -117
  263. package/dist/agentic/guides/queue.md +0 -53
  264. package/dist/agentic/guides/search.md +0 -115
  265. package/dist/agentic/guides/shared.md +0 -108
  266. package/dist/agentic/guides/ui.md +0 -347
  267. package/dist/agentic/shared/ai/skills/om-auto-continue-pr-loop/SKILL.md +0 -27
  268. package/dist/agentic/shared/ai/skills/om-auto-create-pr-loop/SKILL.md +0 -27
  269. package/dist/agentic/shared/ai/skills/om-backend-ui-design/references/ui-components.md +0 -260
  270. package/dist/agentic/shared/ai/skills/om-data-model-design/references/mikro-orm-cheatsheet.md +0 -146
  271. package/dist/agentic/shared/ai/skills/om-help/references/skills-catalog.md +0 -84
  272. package/dist/agentic/shared/ai/skills/om-help/references/workflow-sequences.md +0 -193
  273. package/dist/agentic/shared/ai/skills/om-integration-builder/STANDALONE.md +0 -34
  274. package/dist/agentic/shared/ai/skills/om-integration-builder/references/adapter-contracts.md +0 -762
  275. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/naming-conventions.md +0 -50
  276. package/dist/agentic/shared/ai/skills/om-module-scaffold/references/navigation-patterns.md +0 -97
  277. package/dist/agentic/shared/ai/skills/om-system-extension/references/extension-contracts.md +0 -271
  278. package/dist/agentic/shared/ai/skills/om-troubleshooter/references/diagnostic-commands.md +0 -101
@@ -1,59 +1,109 @@
1
1
  # workflows — module facts (generated, do not edit)
2
- <!-- generated from @open-mercato/core 0.6.7 — R1 staleness stamp -->
2
+ <!-- generated from @open-mercato/core 0.6.8-develop.6875.1.871a4afc94; core 0.6.8-develop.6875.1.871a4afc94 — R1 staleness stamp -->
3
+ Source root: [node_modules/@open-mercato/core/src/modules/workflows](../../../node_modules/@open-mercato/core/src/modules/workflows)
3
4
 
4
5
  ## Entities
5
6
 
6
- | Entity ID | Class | Table | Editable | CustomFields |
7
- |---|---|---|---|---|
8
- | workflows:workflow_definition | WorkflowDefinition | workflow_definitions | yes | no |
9
- | workflows:workflow_instance | WorkflowInstance | workflow_instances | yes | no |
10
- | workflows:workflow_branch_instance | WorkflowBranchInstance | workflow_branch_instances | yes | no |
11
- | workflows:step_instance | StepInstance | step_instances | yes | no |
12
- | workflows:user_task | UserTask | user_tasks | yes | no |
13
- | workflows:workflow_event | WorkflowEvent | workflow_events | no | no |
14
- | workflows:workflow_event_trigger | WorkflowEventTrigger | workflow_event_triggers | yes | no |
7
+ | Entity ID | Class | Table | Editable | CustomFields | Source |
8
+ |---|---|---|---|---|---|
9
+ | workflows:workflow_definition | WorkflowDefinition | workflow_definitions | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
10
+ | workflows:workflow_instance | WorkflowInstance | workflow_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
11
+ | workflows:workflow_branch_instance | WorkflowBranchInstance | workflow_branch_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
12
+ | workflows:step_instance | StepInstance | step_instances | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
13
+ | workflows:user_task | UserTask | user_tasks | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
14
+ | workflows:workflow_event | WorkflowEvent | workflow_events | no | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
15
+ | workflows:workflow_event_trigger | WorkflowEventTrigger | workflow_event_triggers | yes | no | [node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/data/entities.ts) |
15
16
 
16
- ## Events (25)
17
+ ## Events (26)
17
18
 
18
- | ID | Category | Entity |
19
- |---|---|---|
20
- | workflows.definition.created | crud | definition |
21
- | workflows.definition.updated | crud | definition |
22
- | workflows.definition.deleted | crud | definition |
23
- | workflows.definition.customized | lifecycle | definition |
24
- | workflows.definition.reset_to_code | lifecycle | definition |
25
- | workflows.instance.created | crud | instance |
26
- | workflows.instance.updated | crud | instance |
27
- | workflows.instance.deleted | crud | instance |
28
- | workflows.instance.started | lifecycle | — |
29
- | workflows.instance.completed | lifecycle | — |
30
- | workflows.instance.failed | lifecycle | — |
31
- | workflows.instance.cancelled | lifecycle | — |
32
- | workflows.instance.paused | lifecycle | — |
33
- | workflows.instance.resumed | lifecycle | — |
34
- | workflows.activity.started | lifecycle | — |
35
- | workflows.activity.completed | lifecycle | — |
36
- | workflows.activity.failed | lifecycle | — |
37
- | workflows.trigger.created | crud | trigger |
38
- | workflows.trigger.updated | crud | trigger |
39
- | workflows.trigger.deleted | crud | trigger |
40
- | workflows.branch.opened | lifecycle | branch |
41
- | workflows.branch.completed | lifecycle | branch |
42
- | workflows.branch.cancelled | lifecycle | branch |
43
- | workflows.branch.failed | lifecycle | branch |
44
- | workflows.join.completed | lifecycle | branch |
19
+ | ID | Category | Entity | Browser transport | Source |
20
+ |---|---|---|---|---|
21
+ | workflows.definition.created | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
22
+ | workflows.definition.updated | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
23
+ | workflows.definition.deleted | crud | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
24
+ | workflows.definition.customized | lifecycle | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
25
+ | workflows.definition.reset_to_code | lifecycle | definition | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
26
+ | workflows.instance.created | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
27
+ | workflows.instance.updated | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
28
+ | workflows.instance.deleted | crud | instance | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
29
+ | workflows.instance.started | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
30
+ | workflows.instance.completed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
31
+ | workflows.instance.failed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
32
+ | workflows.instance.cancelled | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
33
+ | workflows.instance.paused | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
34
+ | workflows.instance.resumed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
35
+ | workflows.activity.started | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
36
+ | workflows.activity.completed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
37
+ | workflows.activity.failed | lifecycle | — | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
38
+ | workflows.task.assigned | lifecycle | task | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
39
+ | workflows.trigger.created | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
40
+ | workflows.trigger.updated | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
41
+ | workflows.trigger.deleted | crud | trigger | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
42
+ | workflows.branch.opened | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
43
+ | workflows.branch.completed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
44
+ | workflows.branch.cancelled | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
45
+ | workflows.branch.failed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
46
+ | workflows.join.completed | lifecycle | branch | — | [node_modules/@open-mercato/core/src/modules/workflows/events.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/events.ts) |
45
47
 
46
48
  ## ACL features (18)
47
49
 
48
- workflows.view · workflows.manage · workflows.view_logs · workflows.view_tasks · workflows.definitions.view · workflows.definitions.create · workflows.definitions.edit · workflows.definitions.delete · workflows.instances.view · workflows.instances.create · workflows.instances.cancel · workflows.instances.retry · workflows.instances.signal · workflows.tasks.view · workflows.tasks.claim · workflows.tasks.complete · workflows.signals.send · workflows.events.view
50
+ | Feature | Source |
51
+ |---|---|
52
+ | workflows.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
53
+ | workflows.manage | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
54
+ | workflows.view_logs | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
55
+ | workflows.view_tasks | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
56
+ | workflows.definitions.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
57
+ | workflows.definitions.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
58
+ | workflows.definitions.edit | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
59
+ | workflows.definitions.delete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
60
+ | workflows.instances.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
61
+ | workflows.instances.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
62
+ | workflows.instances.cancel | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
63
+ | workflows.instances.retry | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
64
+ | workflows.instances.signal | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
65
+ | workflows.tasks.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
66
+ | workflows.tasks.claim | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
67
+ | workflows.tasks.complete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
68
+ | workflows.signals.send | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
69
+ | workflows.events.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
49
70
 
50
71
  ## API routes
51
72
 
52
73
  _none_
53
74
 
75
+ ## Backend pages
76
+
77
+ | ID / path | Source |
78
+ |---|---|
79
+ | /backend/definitions | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx) |
80
+ | /backend/definitions/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx) |
81
+ | /backend/definitions/create | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx) |
82
+ | /backend/definitions/visual-editor | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx) |
83
+ | /backend/events | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx) |
84
+ | /backend/events/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx) |
85
+ | /backend/instances | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx) |
86
+ | /backend/instances/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx) |
87
+ | /backend/tasks | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx) |
88
+ | /backend/tasks/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx) |
89
+
90
+ ## Frontend pages
91
+
92
+ | ID / path | Source |
93
+ |---|---|
94
+ | /checkout-demo | [node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx) |
95
+
54
96
  ## DI service tokens
55
97
 
56
- workflowExecutor · stepHandler · transitionHandler · activityExecutor · eventLogger · signalHandler · timerHandler
98
+ | Token | Source |
99
+ |---|---|
100
+ | workflowExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
101
+ | stepHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
102
+ | transitionHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
103
+ | activityExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
104
+ | eventLogger | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
105
+ | signalHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
106
+ | timerHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
57
107
 
58
108
  ## Search entities
59
109
 
@@ -64,10 +114,219 @@ _none_
64
114
  - Entity IDs: _none_
65
115
  - Table IDs: workflows.definitions.list · workflows.instances.list · workflows.tasks.list
66
116
 
117
+ ## UMES hosts
118
+
119
+ | ID / pattern | Family | Supports | Context | Stability | Source |
120
+ |---|---|---|---|---|---|
121
+ | data-table:workflows.definitions.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
122
+ | data-table:workflows.definitions.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
123
+ | data-table:workflows.definitions.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
124
+ | data-table:workflows.definitions.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
125
+ | data-table:workflows.definitions.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
126
+ | data-table:workflows.definitions.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
127
+ | data-table:workflows.definitions.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
128
+ | data-table:workflows.definitions.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
129
+ | data-table:workflows.definitions.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
130
+ | data-table:workflows.instances.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
131
+ | data-table:workflows.instances.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
132
+ | data-table:workflows.instances.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
133
+ | data-table:workflows.instances.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
134
+ | data-table:workflows.instances.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
135
+ | data-table:workflows.instances.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
136
+ | data-table:workflows.instances.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
137
+ | data-table:workflows.instances.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
138
+ | data-table:workflows.instances.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
139
+ | data-table:workflows.tasks.list | data-table | component-replacement | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
140
+ | data-table:workflows.tasks.list:bulk-actions | data-table | bulk-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
141
+ | data-table:workflows.tasks.list:columns | data-table | column-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
142
+ | data-table:workflows.tasks.list:filters | data-table | filter-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
143
+ | data-table:workflows.tasks.list:footer | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
144
+ | data-table:workflows.tasks.list:header | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
145
+ | data-table:workflows.tasks.list:row-actions | data-table | row-action | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
146
+ | data-table:workflows.tasks.list:search-trailing | data-table | render-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
147
+ | data-table:workflows.tasks.list:toolbar | data-table | toolbar-widget | — | FROZEN | [node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/extension-points.ts) |
148
+ | workflows:step_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:step_instance |
149
+ | workflows:user_task | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:user_task |
150
+ | workflows:workflow_branch_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_branch_instance |
151
+ | workflows:workflow_definition | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_definition |
152
+ | workflows:workflow_event | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_event |
153
+ | workflows:workflow_event_trigger | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_event_trigger |
154
+ | workflows:workflow_instance | entity | response-enricher, query-enricher, mutation-guard, entity-extension | tenant-and-organization | STABLE | entities:workflows:workflow_instance |
155
+ | workflows.definition | entity | response-enricher, query-enricher, mutation-guard | tenant-and-organization | STABLE | [node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts) |
156
+ | workflows.activity.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.completed |
157
+ | workflows.activity.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.failed |
158
+ | workflows.activity.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.activity.started |
159
+ | workflows.branch.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.cancelled |
160
+ | workflows.branch.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.completed |
161
+ | workflows.branch.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.failed |
162
+ | workflows.branch.opened | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.branch.opened |
163
+ | workflows.definition.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.created |
164
+ | workflows.definition.customized | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.customized |
165
+ | workflows.definition.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.deleted |
166
+ | workflows.definition.reset_to_code | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.reset_to_code |
167
+ | workflows.definition.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.definition.updated |
168
+ | workflows.instance.cancelled | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.cancelled |
169
+ | workflows.instance.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.completed |
170
+ | workflows.instance.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.created |
171
+ | workflows.instance.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.deleted |
172
+ | workflows.instance.failed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.failed |
173
+ | workflows.instance.paused | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.paused |
174
+ | workflows.instance.resumed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.resumed |
175
+ | workflows.instance.started | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.started |
176
+ | workflows.instance.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.instance.updated |
177
+ | workflows.join.completed | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.join.completed |
178
+ | workflows.task.assigned | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.task.assigned |
179
+ | workflows.trigger.created | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.created |
180
+ | workflows.trigger.deleted | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.deleted |
181
+ | workflows.trigger.updated | event | async-subscriber, sync-subscriber | tenant-organization-and-audience | STABLE | events:workflows.trigger.updated |
182
+
183
+ ## UMES contributions
184
+
185
+ | ID | Kind | Target | Phase / operations | Contract | Resolution | Source |
186
+ |---|---|---|---|---|---|---|
187
+ | notification:workflows.task.assigned | specialized-registry | workflows.task.assigned | — | registry=notification; registryId=workflows.task.assigned; specialistRoute=notifications | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
188
+ | workflow:workflows.checkout-demo | specialized-registry | workflows.checkout-demo | — | registry=workflow; registryId=workflows.checkout-demo; specialistRoute=workflows | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
189
+ | workflow:workflows.simple-approval | specialized-registry | workflows.simple-approval | — | registry=workflow; registryId=workflows.simple-approval; specialistRoute=workflows | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
190
+ | workflows:event-trigger | subscriber | * | async-delivery | event=*; persistent=true; subscriberId=workflows:event-trigger; sync=false | pattern | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
191
+ | workflows:task-assigned-notification | subscriber | workflows.task.assigned | async-delivery | event=workflows.task.assigned; persistent=true; subscriberId=workflows:task-assigned-notification; sync=false | fact-ref | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
192
+ | workflows.injection.order-approval@sales.document.detail.order:details | widget | sales.document.detail.order:details | — | executionGuard=host; payload=render; registryKey=workflows.injection.order-approval | pattern | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
193
+
194
+ ## Active extension bindings
195
+
196
+ | Activation | Kind | Host | Contribution kinds | Phases | Bridge | Source |
197
+ |---|---|---|---|---|---|---|
198
+ | entity:workflows.definition:mutation-guard | mutation-guard | entity:workflows.definition @workflows | mutation-guard | — | — | [node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts:64](../../../node_modules/@open-mercato/core/src/modules/workflows/api/definitions/[id]/customize/route.ts#L64) |
199
+
200
+ ## Incoming installed contributions
201
+
202
+ _none_
203
+
204
+ ## Contribution resolutions
205
+
206
+ | Contribution | Target | Resolution | Activations | Source |
207
+ |---|---|---|---|---|
208
+ | notification:workflows.task.assigned | module:workflows.task.assigned @workflows | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
209
+ | workflow:workflows.checkout-demo | module:workflows.checkout-demo | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
210
+ | workflow:workflows.simple-approval | module:workflows.simple-approval | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/workflows.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/workflows.ts) |
211
+ | workflows:event-trigger | wildcard:* | wildcard | — | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
212
+ | workflows:task-assigned-notification | event:workflows.task.assigned @workflows | capability-only | — | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
213
+ | workflows.injection.order-approval@sales.document.detail.order:details | widget-spot:sales.document.detail.order:details | wildcard | — | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
214
+
215
+ ## UMES diagnostics
216
+
217
+ - unbound-helper: data-table:workflows.definitions.list:empty-state
218
+ - unbound-helper: data-table:workflows.instances.list:empty-state
219
+ - unbound-helper: data-table:workflows.tasks.list:empty-state
220
+
67
221
  ## Notifications
68
222
 
69
- workflows.task.assigned
223
+ | Notification ID | Source |
224
+ |---|---|
225
+ | workflows.task.assigned | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
226
+
227
+ ## CLI commands
228
+
229
+ | ID / path | Source |
230
+ |---|---|
231
+ | start-worker | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
232
+ | process-activities | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
233
+ | seed-demo | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
234
+ | seed-demo-with-rules | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
235
+ | seed-sales-pipeline | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
236
+ | seed-simple-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
237
+ | seed-order-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
238
+ | seed-all | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
239
+
240
+ ## AI tools / MCP capabilities
241
+
242
+ _none_
243
+
244
+ ## AI agents
245
+
246
+ _none_
247
+
248
+ ## Exact override targets
249
+
250
+ | Domain | Path / key | Supported modes | Referenced fact | Source |
251
+ |---|---|---|---|---|
252
+ | acl | `overrides.acl.features["workflows.definitions.create"]` | disable-replace | aclFeatures:workflows.definitions.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
253
+ | acl | `overrides.acl.features["workflows.definitions.delete"]` | disable-replace | aclFeatures:workflows.definitions.delete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
254
+ | acl | `overrides.acl.features["workflows.definitions.edit"]` | disable-replace | aclFeatures:workflows.definitions.edit | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
255
+ | acl | `overrides.acl.features["workflows.definitions.view"]` | disable-replace | aclFeatures:workflows.definitions.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
256
+ | acl | `overrides.acl.features["workflows.events.view"]` | disable-replace | aclFeatures:workflows.events.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
257
+ | acl | `overrides.acl.features["workflows.instances.cancel"]` | disable-replace | aclFeatures:workflows.instances.cancel | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
258
+ | acl | `overrides.acl.features["workflows.instances.create"]` | disable-replace | aclFeatures:workflows.instances.create | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
259
+ | acl | `overrides.acl.features["workflows.instances.retry"]` | disable-replace | aclFeatures:workflows.instances.retry | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
260
+ | acl | `overrides.acl.features["workflows.instances.signal"]` | disable-replace | aclFeatures:workflows.instances.signal | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
261
+ | acl | `overrides.acl.features["workflows.instances.view"]` | disable-replace | aclFeatures:workflows.instances.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
262
+ | acl | `overrides.acl.features["workflows.manage"]` | disable-replace | aclFeatures:workflows.manage | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
263
+ | acl | `overrides.acl.features["workflows.signals.send"]` | disable-replace | aclFeatures:workflows.signals.send | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
264
+ | acl | `overrides.acl.features["workflows.tasks.claim"]` | disable-replace | aclFeatures:workflows.tasks.claim | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
265
+ | acl | `overrides.acl.features["workflows.tasks.complete"]` | disable-replace | aclFeatures:workflows.tasks.complete | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
266
+ | acl | `overrides.acl.features["workflows.tasks.view"]` | disable-replace | aclFeatures:workflows.tasks.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
267
+ | acl | `overrides.acl.features["workflows.view"]` | disable-replace | aclFeatures:workflows.view | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
268
+ | acl | `overrides.acl.features["workflows.view_logs"]` | disable-replace | aclFeatures:workflows.view_logs | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
269
+ | acl | `overrides.acl.features["workflows.view_tasks"]` | disable-replace | aclFeatures:workflows.view_tasks | [node_modules/@open-mercato/core/src/modules/workflows/acl.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/acl.ts) |
270
+ | cli | `overrides.cli["process-activities"]` | disable-replace | cliCommands:process-activities | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
271
+ | cli | `overrides.cli["seed-all"]` | disable-replace | cliCommands:seed-all | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
272
+ | cli | `overrides.cli["seed-demo"]` | disable-replace | cliCommands:seed-demo | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
273
+ | cli | `overrides.cli["seed-demo-with-rules"]` | disable-replace | cliCommands:seed-demo-with-rules | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
274
+ | cli | `overrides.cli["seed-order-approval"]` | disable-replace | cliCommands:seed-order-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
275
+ | cli | `overrides.cli["seed-sales-pipeline"]` | disable-replace | cliCommands:seed-sales-pipeline | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
276
+ | cli | `overrides.cli["seed-simple-approval"]` | disable-replace | cliCommands:seed-simple-approval | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
277
+ | cli | `overrides.cli["start-worker"]` | disable-replace | cliCommands:start-worker | [node_modules/@open-mercato/core/src/modules/workflows/cli.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/cli.ts) |
278
+ | di | `overrides.di["activityExecutor"]` | disable-replace | ownedContracts.di-registration:activityExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
279
+ | di | `overrides.di["eventLogger"]` | disable-replace | ownedContracts.di-registration:eventLogger | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
280
+ | di | `overrides.di["signalHandler"]` | disable-replace | ownedContracts.di-registration:signalHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
281
+ | di | `overrides.di["stepHandler"]` | disable-replace | ownedContracts.di-registration:stepHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
282
+ | di | `overrides.di["timerHandler"]` | disable-replace | ownedContracts.di-registration:timerHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
283
+ | di | `overrides.di["transitionHandler"]` | disable-replace | ownedContracts.di-registration:transitionHandler | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
284
+ | di | `overrides.di["workflowExecutor"]` | disable-replace | ownedContracts.di-registration:workflowExecutor | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
285
+ | events | `overrides.events.subscribers["workflows:event-trigger"]` | disable-replace | extensionSurfaces.contributions:workflows:event-trigger | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/event-trigger.ts) |
286
+ | events | `overrides.events.subscribers["workflows:task-assigned-notification"]` | disable-replace | extensionSurfaces.contributions:workflows:task-assigned-notification | [node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/subscribers/task-assigned-notification.ts) |
287
+ | notifications | `overrides.notifications.types["workflows.task.assigned"]` | disable-replace | notifications:workflows.task.assigned | [node_modules/@open-mercato/core/src/modules/workflows/notifications.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/notifications.ts) |
288
+ | routes | `overrides.routes.pages["backend:/backend/definitions"]` | disable-replace | backendPages:/backend/definitions | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/page.tsx) |
289
+ | routes | `overrides.routes.pages["backend:/backend/definitions/[id]"]` | disable-replace | backendPages:/backend/definitions/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/[id]/page.tsx) |
290
+ | routes | `overrides.routes.pages["backend:/backend/definitions/create"]` | disable-replace | backendPages:/backend/definitions/create | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/create/page.tsx) |
291
+ | routes | `overrides.routes.pages["backend:/backend/definitions/visual-editor"]` | disable-replace | backendPages:/backend/definitions/visual-editor | [node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/definitions/visual-editor/page.tsx) |
292
+ | routes | `overrides.routes.pages["backend:/backend/events"]` | disable-replace | backendPages:/backend/events | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/page.tsx) |
293
+ | routes | `overrides.routes.pages["backend:/backend/events/[id]"]` | disable-replace | backendPages:/backend/events/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/events/[id]/page.tsx) |
294
+ | routes | `overrides.routes.pages["backend:/backend/instances"]` | disable-replace | backendPages:/backend/instances | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/page.tsx) |
295
+ | routes | `overrides.routes.pages["backend:/backend/instances/[id]"]` | disable-replace | backendPages:/backend/instances/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/instances/[id]/page.tsx) |
296
+ | routes | `overrides.routes.pages["backend:/backend/tasks"]` | disable-replace | backendPages:/backend/tasks | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/page.tsx) |
297
+ | routes | `overrides.routes.pages["backend:/backend/tasks/[id]"]` | disable-replace | backendPages:/backend/tasks/[id] | [node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/backend/tasks/[id]/page.tsx) |
298
+ | routes | `overrides.routes.pages["frontend:/checkout-demo"]` | disable-replace | frontendPages:/checkout-demo | [node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx](../../../node_modules/@open-mercato/core/src/modules/workflows/frontend/checkout-demo/page.tsx) |
299
+ | setup | `overrides.setup.defaultRoleFeatures` | replace | ownedContracts.setup:workflows:setup | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
300
+ | setup | `overrides.setup.seedDefaults` | replace | ownedContracts.setup:workflows:setup | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
301
+ | widgets | `overrides.widgets.injection["workflows.injection.order-approval"]` | disable-replace | extensionSurfaces.contributions:workflows.injection.order-approval@sales.document.detail.order:details | [node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts](../../../node_modules/@open-mercato/core/src/modules/workflows/widgets/injection-table.ts) |
302
+ | workers | `overrides.workers["workflows:workflow-activities"]` | disable-replace | ownedContracts.worker:workflows:workflow-activities | [node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts#L39) |
303
+
304
+ ## Owned contract — module metadata
305
+
306
+ | ID | Metadata | Source |
307
+ |---|---|---|
308
+ | workflows | ejectable=true; name=workflows; version=1.0.0 | [node_modules/@open-mercato/core/src/modules/workflows/index.ts:10](../../../node_modules/@open-mercato/core/src/modules/workflows/index.ts#L10) |
309
+
310
+ ## Workers
311
+
312
+ | ID | Metadata | Source |
313
+ |---|---|---|
314
+ | workflows:workflow-activities | queue=workflow-activities | [node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/workers/workflow-activities.worker.ts#L39) |
315
+
316
+ ## Setup
317
+
318
+ | ID | Metadata | Source |
319
+ |---|---|---|
320
+ | workflows:setup | hooks=seedDefaults; roles=admin | [node_modules/@open-mercato/core/src/modules/workflows/setup.ts:5](../../../node_modules/@open-mercato/core/src/modules/workflows/setup.ts#L5) |
70
321
 
71
- ## CLI
322
+ ## DI registrations (rich)
72
323
 
73
- start-worker · process-activities · seed-demo · seed-demo-with-rules · seed-sales-pipeline · seed-simple-approval · seed-order-approval · seed-all
324
+ | Token | Kind | Lifetime | Injection | Provider | Source |
325
+ |---|---|---|---|---|---|
326
+ | activityExecutor | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:42](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L42) |
327
+ | eventLogger | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:43](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L43) |
328
+ | signalHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:44](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L44) |
329
+ | stepHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:40](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L40) |
330
+ | timerHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:45](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L45) |
331
+ | transitionHandler | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:41](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L41) |
332
+ | workflowExecutor | function | scoped | — | — | [node_modules/@open-mercato/core/src/modules/workflows/di.ts:39](../../../node_modules/@open-mercato/core/src/modules/workflows/di.ts#L39) |
@@ -0,0 +1,22 @@
1
+ # Specification Delivery
2
+
3
+ Use this guide for a new application, multi-module feature, or other non-trivial business slice.
4
+
5
+ ## Authoring readiness gate
6
+
7
+ 1. Invoke `om-spec-writing` before authoring or revising. Mentioning the skill or reading only `SPEC-000-template.md` is not sufficient.
8
+ 2. After invocation, read `.ai/specs/SPEC-000-template.md` and preserve every section; use `N/A — reason` only when a section genuinely does not apply.
9
+ 3. Keep status `Draft` until no blocking open question remains and every requirement maps to an acceptance criterion, implementation phase, and self-contained test oracle.
10
+ 4. For each affected UI route, inspect and cite the closest existing Open Mercato page plus `.ai/guides/backend-ui.md`; specify its text mockup/structure, actions, data source and mutations, permissions, canonical shell/components, and loading/empty/error/conflict/keyboard/a11y/responsive/light/dark states. Tabular admin data names `DataTable`; CRUD create/edit names `CrudForm`; backend reads name shared API helpers; every exception has an explicit rationale.
11
+ 5. New applications and multi-module requests also define domain vocabulary/invariants, measurable success, navigation/widgets, module ownership and extension points, architecture/data flow, and concrete risk scenarios. A page inventory alone is not an app architecture.
12
+ 6. Phases are dependency-ordered complete vertical slices with concrete deliverables, acceptance IDs, bounded slices, tests, validation commands, business value, and observable exit gates. Do not defer required behavior to a catch-all “integration/polish” phase.
13
+ 7. Mark the spec `Ready for implementation` only after the traceability and final compliance matrices pass and the user approves implementation.
14
+
15
+ ## Implementation phase gate
16
+
17
+ - Use `om-implement-spec` for interactive local delivery and `om-auto-implement-spec` for whole-spec PR delivery. The local skill's progressive resolution, planning/progress, and report references own its exact workflow and final `Spec:` marker; it never claims PR/tracker output.
18
+ - Only the current unblocked phase may be in progress. Parallelize independent slices inside that phase only; never start a dependent module/phase before its prerequisite exit gate passes.
19
+ - Delegation does not bypass routing. Before any UI slice, actually invoke `om-backend-ui-design` and read `.ai/guides/backend-ui.md`; naming them in an agent prompt is not invocation. Every implementation brief names the active phase, routed guides/skills, closest reference page, canonical primitives, acceptance IDs, owned files, and validation oracle.
20
+ - Reject raw backend tables/forms/fetch, copied component families, arbitrary values, hard-coded palette/status colors, and light-only styling unless the approved spec records a necessary exception. UI phase evidence exercises affected routes in light and dark mode and at narrow width, including loading/empty/error/conflict and keyboard behavior.
21
+ - A phase remains open while it has stubs, missing integration evidence, unmet acceptance IDs, or failing validation. Generated discovery, file count, and typecheck alone do not prove completion.
22
+ - If no remote/tracker exists, report PR delivery unavailable and invoke local `om-implement-spec` phase-by-phase; never improvise a concurrent whole-spec build.
@@ -0,0 +1,80 @@
1
+ # Testing and Root-Cause Debugging
2
+
3
+ Diagnose before editing, fix the smallest knowledge/code owner, and prove the regression through the real runtime path.
4
+
5
+ ## Context Restraint
6
+
7
+ Name the areas the failure spans before loading anything, from the SYMPTOM and not only from the cause: a value that will not render, a session/locale/hydration mismatch, or a stale form spans `backend-ui`; wrong or lost records, commands, or events span `module-data`; an installed module's own surface spans `umes`; an external provider call spans `integration`.
8
+
9
+ A fix is always `debugging` plus every area you just named. Proving the fix with a regression oracle is part of `debugging` and does NOT add `testing`; a request that explicitly asks for tests, coverage, or app-level verification also selects `testing`. Load exactly this guide, each named area's guide, and `om-troubleshooter` — that is what selects those routes.
10
+
11
+ Add an area's authoring skill when the fix **introduces or reworks** a contract there — a concurrency header on existing calls, a new field or UI surface, a new command, a new invalidation, a new guard, or a provider's pagination cursor, bounded retry, idempotency, or reconciliation — because you are then designing that surface, not just repairing it. Provider cursor/retry/idempotency fixes therefore load `om-integration-builder` even when the request is framed as a bug fix. Load `om-troubleshooter` alone when you only correct existing behavior, such as a hydration mismatch or a value that fails to round-trip.
12
+
13
+ Then stop. Budgets here are tight — several fixes allow only five files — so load no other area's skill, no `references/` you do not need, no contracts guide unless the fix changes a data, API, command, ACL, or setup contract, and a module fact sheet only for a module the failure actually involves.
14
+
15
+ ## Investigation Order
16
+
17
+ 1. Reproduce with the smallest stable command, request, or UI path and capture expected versus actual behavior.
18
+ 2. Classify the failing bootstrap: browser/server, API, CLI, worker, queue, generated registry, package artifact, or external provider.
19
+ 3. Read the routed guide plus generated module facts. Use `om-framework-context` only when exact installed implementation is necessary.
20
+ 4. Trace from the public call site to the first incorrect invariant. Check scope, auth, validation, state transition, transaction boundary, side effects, and response serialization in that order.
21
+ 5. Add a regression oracle that fails before the fix (`unit-regression-oracle` when that decision vocabulary is requested). Implement the minimal complete repair and rerun affected plus safety cases.
22
+
23
+ When comparing against a clean baseline, use a separate worktree or a fresh scaffold. Never stash and drop active work just to reproduce a baseline failure; preserve the working diff and verify the comparison tree's exact revision first.
24
+
25
+ Treat raw agent transcripts as sensitive untrusted evidence because they can contain credentials, private prompts, absolute paths, and tool output. Never copy them into the app repository. Export only when the user explicitly asks, to an outside-repository protected destination or as a deliberately sanitized summary.
26
+
27
+ ## Frequent Failure Families
28
+
29
+ | Symptom | Check first |
30
+ |---|---|
31
+ | 401 loop/all-organizations failure | Null-scope behavior, session refresh ownership, and fail-closed versus intentionally global paths. |
32
+ | Missing/extra tenant data | Every query/write/filter/cache/job payload; scope derived from auth, not body. |
33
+ | Field does not save/clear | Validator → command → entity → response transform → form initial value; truthy/default fallbacks. |
34
+ | Concurrent update overwrites | `updated_at` projection, client header, aggregate command guard, conflict surface. |
35
+ | Partial state after failure | Transaction/`withAtomicFlush`, query between mutation/flush, side effects before commit. |
36
+ | Stale list/search | Command side-effect aliases, cache tags/invalidation, query-index convergence/reindex. |
37
+ | Works in web but not CLI/worker | Bootstrap/registry initialization, package exports, generated imports, runtime scope. |
38
+ | Duplicate registry/provider | Bundler chunk singleton or `instanceof`; use global registry/structural guard. |
39
+ | Hydration mismatch | Server/client locale, timezone, randomness, browser-only environment, initial async state. |
40
+ | UI access differs from API/PDF/export | Compare every alternate route's metadata/features and wildcard matching. |
41
+ | Provider loses/duplicates records | Idempotency key, cursor commit point, webhook/poll race, external mapping and reconciliation. |
42
+
43
+ ## Generated and Package Diagnostics
44
+
45
+ - Never edit generated output to prove a theory. Inspect the source discovery path, run `yarn generate`, and compare the affected registry entry.
46
+ - When an app imports a symbol but workspace tests pass, inspect package exports and packed/installed `dist` plus types.
47
+ - Search ignored installed source only through the bounded resolver output. Record resolved package versions and fact stamps.
48
+ - If a stale chunk/cache is suspected, prove the source/generator is correct before using the app's documented reset escape hatch.
49
+
50
+ ## Data and Security Regression Oracles
51
+
52
+ - Create fixtures for two tenants and two organizations; assert allowed, denied, null-scope, and wildcard-feature behavior.
53
+ - Inject failure between multi-phase writes; assert no partial rows/state and no premature event/cache/index side effect.
54
+ - Exercise update and delete with current, stale, and missing versions.
55
+ - Test malformed IDs/filters and ensure invalid input cannot widen a query.
56
+ - Test retry, duplicate delivery, cancellation, and worker restart for external/queued operations.
57
+ - Provider failure/retry/idempotency tests use an ephemeral test environment (`ephemeral-test-environment`) with mock effects, assert secrets are absent and diagnostics redacted (`health-retry-redaction`), and surface every real failure (`honest-test-result`).
58
+
59
+ ## UI Regression Oracles
60
+
61
+ - Use API-created fixtures and clean them in `finally`; do not depend on demo data.
62
+ - Cover loading, empty, validation, server error, conflict, retry, success, and authorization.
63
+ - Save/reload/edit/clear fields and verify API plus rendered values.
64
+ - Render under at least two locales/timezones when hydration or formatting is involved.
65
+ - Prefer semantic assertions and stable IDs over full DOM/file snapshots.
66
+
67
+ ## Validation Ladder
68
+
69
+ Before authoring a test file, read `.ai/skills/om-module-scaffold/references/verification.md` for the scaffold's test-runner contract.
70
+
71
+ 1. Focused unit/regression test.
72
+ 2. `yarn generate` when discovery is involved.
73
+ 3. Focused package/app typecheck or test.
74
+ 4. `yarn typecheck`, `yarn lint`, `yarn test`, `yarn build` for broad/contract changes.
75
+ 5. `yarn test:integration:ephemeral` or a filtered integration run for affected API/UI paths.
76
+ 6. Packed/Verdaccio standalone validation when package exports or compiled discovery are involved.
77
+
78
+ Run validation commands so the reported shell status is the validation command's status. Do not pipe gates through `grep`, `tail`, or a trailing `echo`; when log capture requires a pipeline, enable `pipefail` and explicitly preserve the command's exit code. Any nonzero status remains a failed gate.
79
+
80
+ Do not replace deterministic convergence with sleeps. Do not suppress failing tests, weaken assertions, or call a bug fixed because only one bootstrap path passes.