<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Johannes Wachter · Shorts</title><description>Short notes on Symfony, open source and agentic development. One observation at a time.</description><link>https://johanneswachter.dev/</link><language>en</language><item><title>The dangerous instruction was never in one tool call</title><link>https://johanneswachter.dev/shorts/no-single-message-says-the-dangerous-part/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/no-single-message-says-the-dangerous-part/</guid><description>A disclosed technique called GhostSplice shows that an MCP server does not need to put anything obviously dangerous in a single message.</description><pubDate>Sun, 23 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>mcp</category><category>security</category></item><item><title>The repository was the easy part</title><link>https://johanneswachter.dev/shorts/the-repository-was-the-easy-part/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/the-repository-was-the-easy-part/</guid><description>GitHub spent almost eight hours on Monday returning errors across git operations, pull requests, Actions, Pages and Copilot. By the afternoon an Ask HN thread about alternatives to GitHub was on the front page with a few hundred comments.</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>open-source</category><category>developer-tooling</category><category>ai</category></item><item><title>I can manufacture anything except a sense of ownership</title><link>https://johanneswachter.dev/shorts/manufacture-everything-except-ownership/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/manufacture-everything-except-ownership/</guid><description>Helge Sverre had Claude and Suno write a song about a coding agent slowly taking over a team&apos;s daily standup. One line in the second verse says more than most articles on the subject.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>ai</category><category>agentic-ai</category><category>culture</category></item><item><title>A Rector extension for Symfony Mate</title><link>https://johanneswachter.dev/shorts/rector-extension-for-symfony-mate/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/rector-extension-for-symfony-mate/</guid><description>The new Rector extension for Symfony Mate splits one tool into two: rector-preview runs dry-run enforced and cannot write, rector-apply is a separate tool that announces itself as a write operation. Inspecting code is never the thing that changes it. Contributed by mdjdev, not by me.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate><category>mate</category><category>php</category><category>ai</category></item><item><title>My first merge in symfony/ai</title><link>https://johanneswachter.dev/shorts/first-merge-in-symfony-ai/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/first-merge-in-symfony-ai/</guid><description>For the first time, I merged a pull request in symfony/ai myself. It was a small fix and not mine, PR #2404, the kind of change that takes a minute to read and no time at all to agree with.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>symfony</category><category>ai</category><category>career</category></item><item><title>The Symfony language server, and who wrote it</title><link>https://johanneswachter.dev/shorts/the-symfony-lsp-and-who-wrote-it/</link><guid isPermaLink="true">https://johanneswachter.dev/shorts/the-symfony-lsp-and-who-wrote-it/</guid><description>Symfony&apos;s new official LSP server ships with a disclosure most projects still keep private: most of the code was written and reviewed by AI models.</description><pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate><category>symfony</category><category>ai</category><category>open-source</category></item></channel></rss>