Darmok and Jalad at the Terminal: A Negotiation in Tamarian A junior engineer and a senior engineer negotiate safe use of autonomous AI coding agents, agreeing to sandbox the agent, enforce strict tests, and manually review all generated code to avoid technical debt and cognitive debt. Darmok and Jalad at the Terminal: A Negotiation in Tamarian. Autonomous AI coding agents can write thousands of lines of code in minutes. They can introduce subtle vulnerabilities, architectural anti-patterns, and cognitive debt just as fast. So when our junior engineer, Elara, got access to our newest agent and wanted to point it at our authentication service and let it rip, we had a conversation about it. Or rather, a negotiation. Elara: Kaelen Zatar, his hands moving blindly The harvest, gathered in a single day The Loom of Kahl, waiting. Translator:Look The AI agent generates code so incredibly fast. It can write the entire authentication service today I want to point it at the production codebase. Kaelen: Elara… Shaka, when the walls fell. The golem, walking without a master. The pack mule, breaking under unseen stones. Stop, that is a catastrophic idea. Autonomous agents acting without strict boundaries create disastrous technical debt that will eventually crush us. Elara: Zatar, in chains? The Loom, silent? Should I not use the AI agent at all? Should we just write it all manually? Kaelen: Boreth, within the iron cage. The river, carving the canyon. No, use it, but keep it strictly isolated in a sandbox. Give it small, iterative tasks: one piece at a time, not the whole project at once. Elara: The river, carving the canyon. But Zatar, his speed is the wind Why leash the wind? I understand small iterations, but its primary advantage is speed. Why slow it down? Kaelen: Lorian, drinking the saltwater. The scholar, reading a burning book. Because it hallucinates. It will confidently generate code that looks plausible but is fundamentally toxic: deprecated APIs, race conditions, libraries that don’t exist. Elara: The gauntlet of Kolar? But Zatar forges his own shield, and tests it himself Test-Driven Development, then? But the agent can write its own tests. Why should I write them by hand? Kaelen: Zatar, judging his own trial. The sieve, catching the stones. Ariadne’s thread, out of the labyrinth. Never let it grade its own work. Write the tests yourself first, then force the agent to pass them. Be the reviewer that filters out the bad logic, and keep your commits atomic so you can revert the moment it breaks something. Elara: Sokath, his eyes uncovered But… the scribe, forgetting his own words. The shadow, growing longer in the afternoon. Oh. I see it now. But what about cognitive debt? If the AI writes everything, I won’t understand how the system works. I won’t be able to debug it later. Kaelen: Picard and Dathon at El-Adrel. The builder, touching every stone. The master and the apprentice, sharing the blade. You must co-create. You must read and understand every single line it generates as if you wrote it yourself. It is an assistant, not a replacement. You must touch every stone. Elara: Boreth, within the iron cage. The gauntlet of Kolar. The builder, touching every stone. Zatar and Elara on the ocean. Sandbox the agent. Use strict tests. Review every line manually to maintain understanding. If I do that, the AI and I can navigate this project together safely. Kaelen: Darmok and Jalad at Tanagra We have an understanding We will conquer this challenge together. Elara: Mirab, with sails unfurled I am ready to deploy the test environment Agentic AI is not a replacement for senior engineers. It is a fast, eager junior developer who has read every book in the library and has no real-world judgment. Guide it. Constrain it. Review it. Darmok and Jalad on the ocean. A Tamarian Engineering Lexicon For those who would speak the language. Recovered fragments, with their operational meaning. Boreth, within the iron cage Sandbox the agent. No production credentials, no root, no open network. Ephemeral containers only. The river, carving the canyon Small, bounded tasks. Schema, then migration, then interface. Never “build the billing system.” Lorian, drinking the saltwater It looks refreshing and it will poison you. Treat generated code as untrusted input. The gauntlet of Kolar You write the tests first. The agent writes code until they pass. It cannot cheat a boundary it didn’t draw. Ariadne’s thread, out of the labyrinth Small atomic commits. The maze is survivable only if you can revert your way back out. The builder, touching every stone Read every line as if you wrote it. If you can’t explain it to another engineer, you may not merge it. The scribe, forgetting his own words Cognitive debt: the system works, and no one knows how. The most expensive debt there is.