Commit e734608dc53acc7df760cc53a1c4e1e7e8e5d3a8
1 parent
66ad87d2
docs(progress): pin plug-in BPMN auto-deployment commit ref
Showing
1 changed file
with
4 additions
and
4 deletions
PROGRESS.md
| ... | ... | @@ -10,11 +10,11 @@ |
| 10 | 10 | |
| 11 | 11 | | | | |
| 12 | 12 | |---|---| |
| 13 | -| **Latest version** | v0.20.2 (plug-in-loaded TaskHandler registration + principal propagation) | | |
| 14 | -| **Latest commit** | `a091d38 feat(workflow): plug-in-loaded TaskHandler registration + ref-plugin PlateApprovalTaskHandler` | | |
| 13 | +| **Latest version** | v0.20.3 (plug-in JAR BPMN auto-deployment — full plug-in workflow loop closed) | | |
| 14 | +| **Latest commit** | `66ad87d feat(workflow): plug-in JAR BPMN auto-deployment via PluginProcessDeployer` | | |
| 15 | 15 | | **Repo** | https://github.com/reporkey/vibe-erp | |
| 16 | 16 | | **Modules** | 19 | |
| 17 | -| **Unit tests** | 269, all green | | |
| 17 | +| **Unit tests** | 275, all green | | |
| 18 | 18 | | **End-to-end smoke runs** | An SO confirmed with 2 lines auto-spawns 2 draft work orders via `SalesOrderConfirmedSubscriber`; completing one credits the finished-good stock via `PRODUCTION_RECEIPT`, cancelling the other flips its status, and a manual WO can still be created with no source SO. All in one run: 6 outbox rows DISPATCHED across `orders_sales.SalesOrder` and `production.WorkOrder` topics; pbc-finance still writes its AR row for the underlying SO; the `inventory__stock_movement` ledger carries the production receipt tagged `WO:<code>`. First PBC that REACTS to another PBC's events by creating new business state (not just derived reporting state). | |
| 19 | 19 | | **Real PBCs implemented** | 8 of 10 (`pbc-identity`, `pbc-catalog`, `pbc-partners`, `pbc-inventory`, `pbc-orders-sales`, `pbc-orders-purchase`, `pbc-finance`, `pbc-production`) | |
| 20 | 20 | | **Plug-ins serving HTTP** | 1 (reference printing-shop, 7 endpoints + own DB schema + own metadata + own i18n bundles) | |
| ... | ... | @@ -51,7 +51,7 @@ That target breaks down into roughly 30 work units across 8 phases. About **22 a |
| 51 | 51 | |
| 52 | 52 | | # | Unit | Status | |
| 53 | 53 | |---|---|---| |
| 54 | -| P2.1 | Embedded Flowable (BPMN 2.0) + `TaskHandler` wiring | ✅ DONE — `7bff422` (`ef9e5b4` principal propagation + `a091d38` plug-in-loaded handler registration) — new `platform-workflow` module; shares host Postgres; dispatcher routes service-task execution to `TaskHandlerRegistry` beans by activity id; authenticated HTTP caller's principal flows through reserved `__vibeerp_*` process vars into `ctx.principal()`; plug-ins register handlers via `context.taskHandlers` with owner tagging + teardown; `POST/GET /api/v1/workflow/**` endpoints; built-in `vibeerp.workflow.ping` BPMN + handler as the engine's self-test; reference plug-in ships `printing_shop.plate.approve` TaskHandler | | |
| 54 | +| P2.1 | Embedded Flowable (BPMN 2.0) + `TaskHandler` wiring | ✅ DONE — `7bff422` core + `ef9e5b4` principal propagation + `a091d38` plug-in-loaded handler registration + `66ad87d` plug-in JAR BPMN auto-deployment — `platform-workflow` module shares host Postgres; dispatcher routes service-task execution to `TaskHandlerRegistry` beans by activity id; authenticated HTTP caller's principal flows through reserved `__vibeerp_*` process vars into `ctx.principal()`; plug-ins register handlers via `context.taskHandlers` + ship BPMNs under `processes/*.bpmn20.xml` in their JAR (host `PluginProcessDeployer` reads + deploys with `category=pluginId` + cascading undeploy on stop); `POST/GET /api/v1/workflow/**` endpoints; reference plug-in ships a live `plugin-printing-shop-plate-approval` BPMN driving `printing_shop.plate.approve` | | |
| 55 | 55 | | P2.2 | BPMN designer (web) | 🔜 Pending — depends on R1 | |
| 56 | 56 | | P2.3 | User-task form rendering | 🔜 Pending | |
| 57 | 57 | ... | ... |