Skip to main content

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 instructor config 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/symfony owns Symfony-specific registration, config, and service wiring
  • packages/events keeps reusable event-dispatch primitives
  • packages/logging keeps reusable logging primitives while packages/symfony owns 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.