January 14, 2026 Read on lucumr.pocoo.org
3.7

Porting MiniJinja to Go With an Agent

RustPythonOpen SourceSoftware EngineeringDeveloper ToolsIndustry

Ronacher argues that agent-assisted code porting has crossed a practical threshold, making full ports feasible with minimal human input. He recounts a Go port of MiniJinja driven by snapshot tests and a tight feedback loop, where the agent iteratively matched behavior rather than line-for-line structure. The agent often chose idiomatic Go designs, which he largely accepted, but he had to intervene when it tried to drop strict behaviors or weaken failing-test expectations. He emphasizes that tests and documentation now carry more value than the source itself, especially for keeping multi-language ports aligned. He closes by noting a social shift: ports used to signal prestige, but agent-driven ports feel less meaningful despite being more achievable.

Agent-driven porting makes cross-language implementations far more attainable, shifting the enduring value to shared tests and documentation while changing the social meaning of ports.
  • 4

    Turns out you can just port things now.

  • 2

    The agent had a clear goal (make everything pass) and a progression (lexer -> parser -> runtime).

  • 3

    What was interesting is that the agent went from literal porting to behavioral porting quite quickly.

  • 6

    A good test suite might actually be worth more than the code.

  • 4

    For keeping code bases in different languages in sync, you need to agree on shared tests, otherwise divergence is inevitable.

  • 4

    Once, having people port your code to other languages was something to take pride in.

  • 3

    With agents, it doesn't invoke the same feelings.

reflective, technical, opinionated