Experiments
Explore the edges
Small experiments with a concrete result and an honest limit.
A draft-writing assistant
Give an agent content:read and content:write, without content:publish. Let it propose a page, then inspect the saved revision in the CMS. A stale version must fail with 409. Success means the draft is useful and the public page is unchanged.
Use the CMS API and understand shared operations.
A source-bound answer
Stage Chat separates instructions, retrieved context, and conversation messages. The application chooses the sources and validates the answer. Start with a fake connector and test an unsupported question before adding a real provider.
The Codex adapter uses a separately installed, supported CLI and an approved authenticated account. It is not included in the core framework. Check the connector's version and execution limits before supplying data.
A large private download
Authorize the caller before constructing a FileResponse. Keep the stored file unchanged while it is sent. Compare a downloaded hash with the source and measure PHP memory on the actual server. Test missing files, denied access, and HEAD requests too.
The current response streams fixed-size chunks. It does not support range requests or resuming a download. Proxy buffering can change the memory and latency you observe.
An idea with a replaceable dependency
Build a small read-only route module with a constructor dependency. Run it once with an in-memory implementation and once with the real store. Test duplicate routes and method rejection. If packaging introduces more ceremony than reuse, keep it in the application.