Skip to content

Enhance documentation and refactor agent handling and interfaces#27

Merged
ericges merged 2 commits into
mainfrom
chore/docs-and-agents-update
Jul 12, 2026
Merged

Enhance documentation and refactor agent handling and interfaces#27
ericges merged 2 commits into
mainfrom
chore/docs-and-agents-update

Conversation

@ericges

@ericges ericges commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Docs & agents update, list-view cleanup, AsFilterInvoker deprecation

Summary

Documentation-focused PR with a few small API cleanups. Adds comprehensive AI-agent guidance via AGENTS.md (with CLAUDE.md as a symlink), refactors the list-only Twig template to use the engine's view API, deprecates #[AsFilterInvoker], and removes unused methods from ModInterface and QueryHelperTrait.

Changes

Documentation

  • AGENTS.md — substantially expanded guidance for AI coding agents:
    • Corrected the architecture flow diagram (adds ListSpecification, Loader, Mods; clarifies that Contexts and Projectors/Views are separate axes and that the Export context/projector/view are not yet implemented)
    • New "Notable subsystems" section (src/Specification/, src/Filter*/, src/Form/, src/Reader/, src/InferPtable/, src/Integration/, src/EventListener/NamedDispatch/)
    • Documented #[AsListCallback] and the @internal AsFlareCallback base attribute
    • Complete registry list (FilterCollectorRegistry, FlareCallbackRegistry, EngineModRegistry added)
    • New "Testing & CI" section: explicitly states there is no test suite yet and lists all CI workflows
    • Tooling additions (make phpstan-pro, make semgrep-sec; note that Mago runs in CI only) and updated PHPStan excludes
    • Updated Symfony version range to include ^7.0
  • CLAUDE.md — added as a symlink to AGENTS.md so Claude Code picks up the same instructions (edit AGENTS.md only)

List handling / templates

  • list_only.html.twig — now creates the view explicitly via {% set flare_list = flare.createView %} and iterates flare_list.entries instead of flare.entries

Deprecations & API cleanup

  • #[AsFilterInvoker] — deprecated; filter invocation should be defined via the filter element's __invoke method instead. Removal planned for v0.2.
  • Engine::addMod()$config parameter now defaults to []
  • ModInterface — removed the unused configureOptions(OptionsResolver $resolver) method (and the OptionsResolver dependency from the interface)
  • QueryHelperTrait — removed the unused column() helper

Breaking changes

  • Removing ModInterface::configureOptions() breaks custom engine mods that implement it (mods should drop the method).
  • Templates relying on flare.entries in list_only.html.twig follow a new pattern; custom templates are unaffected but should adopt flare.createView going forward.

Notes

  • No test suite exists yet; verified via PHPStan/CI workflows.

ericges added 2 commits July 12, 2026 22:35
@ericges ericges self-assigned this Jul 12, 2026
@ericges ericges added documentation Improvements or additions to documentation chore labels Jul 12, 2026
@ericges ericges merged commit 2c20de1 into main Jul 12, 2026
15 checks passed
@ericges ericges deleted the chore/docs-and-agents-update branch July 12, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant