iter8/builder-bundle
Iter8 Builder Bundle packages the Iter8 builder for PHP applications, adding bundle configuration and services that help you assemble custom components and workflows with less boilerplate. It suits projects already using Iter8 that need a consistent, reusable builder integration.
Package: iter8/builder-bundle — 2 stars, 0 dependents, prior release 2023-08-28, now v3.0.1, composite score at/near noise floor (0.01).
Change under review. v3.0.1 fixes a single Symfony deprecation. The full changelog is a one-line diff (v3.0.0...v3.0.1). This is the smallest possible release, but it carries two pieces of information that materially update the assessment:
-bundle suffix was not a naming accident; this is a Symfony bundle. Key question 2 from the prior assessment is answered, and the answer is the adverse branch.It also raises a question the prior assessment could not have asked: v3.0.0 is not in our assessment history. Either the 2023-08 release was v3.0.0 (and the package simply sat untouched), or a major landed between then and now and we missed it. Confirm which — if there was an intervening major, we have been tracking a version line that no longer exists.
Architecture fit. Poor, and now unambiguously so. A Symfony bundle ships a Bundle class registered in config/bundles.php; Laravel ships a ServiceProvider plus optional Facade and relies on package discovery. There is no path to consuming this as a Laravel package. The only viable consumption mode is as a plain PHP library installed without bundle registration, with our own ServiceProvider and config wiring on top. That means we own the entire integration surface, and the vendor tests none of it.
The builder component itself — fluent query builder, form/schema builder, or DTO/payload builder — still has not been scoped. Each has a very different blast radius (SQL injection surface vs. DOM escaping vs. inert value objects). This remains the single highest-value question and the release notes do not address it. Note that a deprecation-only release is weak evidence anyone is exercising the builder's runtime behaviour, since deprecations typically surface at compile/container-warm time.
Integration feasibility. Composer-installable, PSR-4, trivial to pull in mechanically. The blockers are constraint-graph and semantics:
symfony/* pins that conflict with, or are irrelevant to, a Laravel app — or a permissive constraint that installs cleanly and breaks at runtime.Technical risk. Unchanged in character, marginally improved in one dimension:
| Signal | Value | Implication |
|---|---|---|
| Stars | 2 | No community validation; effectively a private package published publicly |
| Dependents | 0 | No downstream consumers exercising edge cases |
| Prior release | 2023-08-28 | Long dormancy; no security patching during the gap |
| Latest release | v3.0.1 | Single deprecation fix — custodial, not active development |
| Score | ~0.01 | Composite signal at noise floor |
The deprecation fix is a genuine positive: it demonstrates the maintainer responds to upstream breakage, which is the specific failure mode that hurts most at framework upgrade time. But the response latency appears to be measured in years, which is not a service level we can plan a release train around. If the builder emits SQL or HTML, an unmaintained package still will not receive an advisory or a patch. Bus-factor risk stands: iter8-au appears to be an agency publishing an internal utility.
Key questions for the vendor/repo owner.
iter8-au actively maintaining this, and is there a named owner? Is the v3.0.1 fix community-contributed or author-committed?Verdict: unchanged, and reinforced. Symfony targeting is confirmed, which removes the best-case branch from the integration decision tree. Do not adopt as a direct dependency. Note that a patch release is not new evidence of viability — it is one data point that the repo is not archived. Proceed only to a time-boxed source audit.
Stack fit. Framework targeting is settled: this is a Symfony bundle and we are a Laravel shop. Two outcomes remain:
ServiceProvider, config publishing, and facade. We own 100% of the glue. Viable only if the builder's core logic is genuinely framework-independent underneath the bundle wrapper — verify by reading the source, not the README.The prior assessment's "genuinely Laravel-oriented" branch is now closed. The framework-agnostic branch is conditional on source inspection.
Migration path. Wrap immediately, and accept up front that the wrapper is not an adapter but a reimplementation of the Symfony integration. Define an internal interface (PayloadBuilder, QueryBuilder, etc.) in our own namespace and implement it against the package's core classes. This caps removal cost at one class. Given how small the package is likely to be, the honest default remains vendor the relevant source under our namespace with attribution rather than depend — a 2-star package with a two-year gap and a one-line release does not merit a dependency edge.
Compatibility. Pin explicitly and lock. Verify:
symfony/console is common to both — check for version contention).Sequencing.
Maintenance. Assume we own this from day one. The v3.0.1 release is encouraging but should not be read as a maintenance guarantee: one deprecation fix after a multi-year gap tells us the maintainer watches upstream notices, not that they triage issues, ship features, or respond to security reports. Budget maintenance as a line item. Mitigations: fork to an internal namespace, pin hard, and add a calendar reminder to re-evaluate at each PHP and Symfony/Laravel major.
Support. No support contract, no issue-tracker velocity, no Stack Overflow corpus. Engineers debugging a failure read source. Acceptable for a 300-line utility; unacceptable for anything load-bearing. The release notes being auto-generated with a one-line human description is a fair proxy for documentation quality elsewhere in the repo — confirm during the audit.
Scaling. Depends entirely on what is built:
Failure modes to plan for.
composer require.composer.lock and Renovate/Dependabot scoped to review, not auto-merge.Ramp-up. Low absolute cost, inverted shape. Small surface area, readable in an afternoon, but zero docs, zero examples, zero Q&A — learning is entirely self-service source reading, and onboarding a second engineer repeats it. The absence of documentation is now corroborated by the release-notes quality. That is a recurring tax that does not appear in a velocity metric until the original engineer rotates off.
Recommendation. The composite score, zero dependents, and long dormancy remain collectively disqualifying for direct adoption into anything customer-facing. The v3.0.1 release improves exactly one thing — proof of life — and should not shift the decision. Approve a one-day source audit. If the audit shows a small, well-tested, permissively licensed core with a thin Symfony wrapper, vendor it internally and own it deliberately. If the core is entangled with Symfony's container or form components, or the tests are thin, reject and build the equivalent in-house — the scope implied by the name is likely small enough that a first-party implementation costs less over a two-year horizon than adopting an orphan.
How can I help you explore Laravel packages today?