v0.2.0 (5/N): close audit sweep — BridgeOp contract test + PLAN.md status
The audit's substantive items shipped in chunks 1–4. Two remaining loose ends inspected and parked: - Generated controller findOr404 boilerplate. MapEntity changes the 404 response shape away from problem+json unless framework-level RFC 7807 error config is updated; a private helper is net-zero on lines. Parking until either (a) skeleton-level RFC 7807 error wiring, or (b) --with-dto flipping to default-on and the legacy template's polish becoming irrelevant. - ModelPublisher::extractId reflection branch. Looks dead because every maker-output entity has getId(), but it remains a safety net for hand-written entities that don't. Keeping. This commit ships: - BridgeOpTest — locks the enum case values against accidental rename. Every case value is a documented wire-format token QML clients hardcode, so renaming a `value` is a wire-protocol break and this fails the build before it ships. - PLAN.md §13 v0.2.0 status block with what's shipped on dev (interfaces / BridgeOp / BridgeBundleInfo / Maker DRY / --with-dto) and what's still open (findOr404 polish, --with-dto default flip). Test count 23 → 24, all passing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,10 @@ This section tracks work landing on `dev` toward **v0.2.0** (next minor; pre-1.0
|
||||
|
||||
- **`ModelPublisher::extractId` reflection cleanup.** Removed the `setAccessible(true)` call (deprecated since PHP 8.1; all properties are accessible via Reflection without it).
|
||||
|
||||
### Tests
|
||||
|
||||
- **`BridgeOpTest` wire-format contract.** Locks the four enum case values (`upsert` / `delete` / `replace` / `event`) against accidental rename — QML clients hardcode the strings, so a `value` change is a wire-protocol break and the test fails the build before it ships.
|
||||
|
||||
## [0.1.2] — 2026-05-03
|
||||
|
||||
Bugfix release. Bundles the v0.1.1 follow-up that surfaced during the v0.1.2 cycle (bundled-mode supervisor cleanly SIGTERMs its child on host exit) with three non-breaking fixes from a post-v0.1.1 architecture audit.
|
||||
|
||||
Reference in New Issue
Block a user