Symfony Overview¶
packages/symfony is the first-party Symfony integration package for InstructorPHP.
The package is still landing in phases, but the baseline framework surface is already live:
- one bundle to register
- one coherent
instructorconfig root - core runtime bindings for Inference, Embeddings, StructuredOutput, HTTP, and events
- initial AgentCtrl builders and context-aware runtime adapters
- native-agent session store selection with an explicit persistence seam
- package-owned telemetry exporter, projector, and lifecycle wiring
The package consolidates Symfony-facing glue that would otherwise be scattered across application code or lower-level packages. The intent is one supported installation path for Symfony apps instead of ad hoc event, HTTP, and container wiring.
The public framework config root remains instructor, with explicit subtrees for:
- core runtime configuration
- AgentCtrl
- native agents
- sessions
- telemetry
- logging
- testing
- delivery
Framework ownership is split intentionally:
packages/symfonyowns Symfony-specific registration, config, and service wiringpackages/eventskeeps reusable event-dispatch primitivespackages/loggingkeeps reusable logging primitives whilepackages/symfonyowns the long-term Symfony logging entrypoint and migration path
See packages/symfony/docs/logging.md for the explicit ownership and deprecation strategy for the older packages/logging Symfony bundle path.
See packages/symfony/docs/telemetry.md for exporter selection, projector ownership, and lifecycle hooks.
See packages/symfony/docs/delivery.md for the runtime-to-Symfony event-bridging and delivery model.
See packages/symfony/docs/testing.md for the package test harness, override seams, and the current public-helper boundary.
See packages/symfony/docs/operations.md for the practical web, API, Messenger, and CLI observability patterns.
See packages/symfony/docs/migration.md for the move from scattered Symfony glue onto the package-owned bundle surface.
See packages/symfony/docs/runtime-surfaces.md for the practical split between core primitives, AgentCtrl, and native agents.
Use the quickstart for installation and first-working examples, then the configuration guide for the full supported config surface.