mpp/referential-bundle
mpp/referential-bundle is a Symfony bundle for managing referentials: structured reference data like categories, statuses, and code lists. It provides reusable entities, forms, and admin tooling to keep application dictionaries consistent and easy to maintain.
Architecture fit. The package name (-bundle) and vendor namespace (mon-petit-placement) make clear this is a Symfony bundle, not a Laravel package. That is the single most important finding: despite the Laravel framing in the brief, nothing here is designed for Laravel's container, Eloquent, or service provider model. Symfony bundles assume the Symfony kernel, DependencyInjection compilation, YAML/XML service definitions, and — for a referential domain — almost certainly Doctrine ORM. From a TPM perspective, the correct framing is: this is a reference implementation of a reference-data domain model, not a dependency to adopt. The product decision it informs is the build-vs-borrow-vs-buy call on your lookup-table strategy (enums vs. config vs. DB-backed referential with an admin surface), and on the Laravel side the answer to that call is well-served by native primitives (backed enums, config-driven lists, a lookup table plus Filament/Nova).
Integration feasibility. As a Laravel dependency: not feasible without a port. As a design input: feasible and cheap. The domain — authoritative code lists, categories, controlled vocabularies — is genuinely cross-cutting and reusable, and a peer fintech having modeled it is a useful signal. But the observable health metrics are uniformly poor: 0 stars, 0 dependents, score 0. There is no evidence of external consumption, no ecosystem, no third-party validation, and no indication the maintainers treat this as a public artifact. Practically, feasibility reduces to two questions a TPM can actually answer: can you obtain, license-check, and pin the code; and is the design worth a few engineering hours to harvest.
Technical risk.
Key questions to resolve before committing.
symfony/framework-bundle only, or Doctrine, API Platform, Messenger, security?main branch? Is there a CHANGELOG? What was the last commit date?Stack fit — decide first, because everything downstream changes.
composer require, register in config/bundles.php, import service config, run migrations. Half a day to a day for a spike — still gated on the provenance audit below.Leverage path (what a TPM actually does with this). Frame the deliverable as a decision memo plus harvested design, not a shipping dependency. The value is:
Migration path. There is no prior-consumer migration to perform. The realistic options are: (a) fork-and-own — vendor the code, strip Symfony wiring, internalize maintenance, and document the fork point (commit SHA) so you can diff upstream; (b) design-harvest — read it, write your own, own nothing external. For a Laravel team, (b) is the default recommendation.
Compatibility. Verify PHP and Symfony version constraints explicitly — internal bundles often pin conservatively (e.g., ^5.4) and lag the current LTS. Confirm whether the data model assumes a specific DB engine or collation. Pin to a commit SHA, never a branch.
Sequencing.
composer show --tree.Maintenance. Assume you own it if you take any code. Zero dependents and zero external contributors means upstream maintenance is a courtesy, not a contract. If forked, plan a named owner and a quarterly check for upstream security advisories and PHP/Symfony bumps; budget roughly 5–10% of one engineer's time. If harvested, the maintenance burden is just your own module — which is the point.
Support. No community, no Stack Overflow corpus, no issue history to mine. Support means reading the source. That is acceptable for a small, stable domain model and unacceptable for anything touching auth, payments, PII, or eligibility logic. Do not put this anywhere near money or compliance decisions without an owned fork and a test suite.
Scaling. Referential data is low-write, high-read, and small — scaling is not the concern. The two things to confirm during the spike: whether reads are cached (if not, and you call it per-request in a hot path, you add the cache layer yourself), and whether findAll-style APIs produce N+1s, which is common in internal CRUD bundles. For a Laravel reimplementation, both are trivial to design in from the start.
Failure modes to plan for.
Ramp-up. For a Symfony team, low — an afternoon of source reading plus the spike. For a Laravel team, the bundle itself is not the cost; translating Symfony idioms (attributes, Doctrine mappings, service tags) is, and that effort scales with how much you actually need. If you need only the data model and validation rules — which is the likely case — harvest those and skip the port entirely. Net TPM recommendation: spend a few engineering days, produce a design memo and an internal spec, and do not add mpp/referential-bundle to composer.json.
How can I help you explore Laravel packages today?