Commit d243a9a42afb39bf47a80ef440569087c683e185
1 parent
89f47a38
docs(progress): pin P1.8 JasperReports commit ref + Phase 1 platform row is now complete
Showing
1 changed file
with
5 additions
and
5 deletions
PROGRESS.md
| ... | ... | @@ -10,11 +10,11 @@ |
| 10 | 10 | |
| 11 | 11 | | | | |
| 12 | 12 | |---|---| |
| 13 | -| **Latest version** | v0.26.0 (quality→warehousing auto-quarantine + plug-in JobHandler registration) | | |
| 14 | -| **Latest commit** | `1a45a4b feat(jobs+plugins): plug-in loader JobHandler registration + reference PlateCleanupJobHandler` | | |
| 13 | +| **Latest version** | v0.27.0 (P1.8 — JasperReports integration; **all Phase 1 platform units done**) | | |
| 14 | +| **Latest commit** | `89f47a3 feat(reports): P1.8 — JasperReports integration + built-in ping report` | | |
| 15 | 15 | | **Repo** | https://github.com/reporkey/vibe-erp | |
| 16 | -| **Modules** | 23 | | |
| 17 | -| **Unit tests** | 334, all green | | |
| 16 | +| **Modules** | 24 | | |
| 17 | +| **Unit tests** | 337, all green | | |
| 18 | 18 | | **Real PBCs implemented** | **10 of 10** (pbc-identity, pbc-catalog, pbc-partners, pbc-inventory, pbc-warehousing, pbc-orders-sales, pbc-orders-purchase, pbc-finance, pbc-production, pbc-quality) — P5.x row of the implementation plan complete at minimal v1 scope | |
| 19 | 19 | | **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). | |
| 20 | 20 | | **Plug-ins serving HTTP** | 1 (reference printing-shop, 7 endpoints + own DB schema + own metadata + own i18n bundles) | |
| ... | ... | @@ -43,7 +43,7 @@ That target breaks down into roughly 30 work units across 8 phases. About **22 a |
| 43 | 43 | | P1.5 | Metadata store seeding | ✅ DONE — `1ead32d` | |
| 44 | 44 | | P1.6 | ICU4J `Translator` implementation + locale resolution | ✅ DONE — `01c71a6` | |
| 45 | 45 | | P1.7 | Event bus + transactional outbox | ✅ DONE — `c2f2314` | |
| 46 | -| P1.8 | JasperReports integration | 🔜 Pending | | |
| 46 | +| P1.8 | JasperReports integration | ✅ DONE — `89f47a3` — new `platform-reports` module with JasperReports 6.21.3; api.v1 `ReportRenderer` + `ReportRenderException`; `JasperReportRenderer` @Component running JDK javac via `JRJavacCompiler`; `PluginContext.reports` wired with default-throw; `/api/v1/reports/ping` + `/api/v1/reports/render` endpoints; built-in `vibeerp-ping-report.jrxml` self-test | | |
| 47 | 47 | | P1.9 | File store (local + S3) | ✅ Partial — `f2156c5` — api.v1 `FileStorage` + `FileHandle` + `FileReadResult`; new `platform-files` subproject with `LocalDiskFileStorage` (sidecar metadata files, atomic `put`, path-traversal guards); `PluginContext.files` with default-throw; `FileController` with multipart upload/download/list/delete. S3 backend still pending. | |
| 48 | 48 | | P1.10 | Job scheduler (Quartz) | ✅ DONE — `5d6a2f1` — new `platform-jobs` module with Quartz Spring Boot starter + JDBC job store against host Postgres; api.v1 `JobHandler`/`JobScheduler`/`JobContext`; owner-tagged `JobHandlerRegistry` parallel to `TaskHandlerRegistry`; `QuartzJobBridge` routes by key; `PrincipalContext.runAs("system:jobs:<key>")` wraps every execution; HTTP surface at `/api/v1/jobs/**` (list/trigger/schedule/unschedule); built-in `vibeerp.jobs.ping` diagnostic handler | |
| 49 | 49 | ... | ... |