"Confluence Docs Lie. Tie Your Documentation to Code Instead." A developer argues that Confluence documentation inevitably goes stale because it's separate from code, and proposes tying documentation directly to code using tools like Spring Boot's springdoc-openapi for API docs and PostgreSQL's COMMENT ON for database schema comments. The approach ensures documentation stays in sync with code changes, reducing documentation debt. Every team has that Confluence page. The one that was carefully written to explain what the service does, what the API looks like, what each DB column means. Someone spent real time on it. It was accurate when it was written. Six months later, it's fiction. This isn't a discipline problem. I've seen it at teams with strong engineering culture, with good processes, with people who genuinely care about documentation. The Confluence page still goes stale. The root cause is structural, and until you treat it that way, nothing changes. When documentation lives in a different place than the code, there's no mechanism that forces them to stay in sync. It relies entirely on people remembering to update two separate things every time anything changes. A column gets renamed, an endpoint response adds a field, a Kafka message format evolves — the ticket gets closed, the code gets merged, and the Confluence page stays where it was. AI writing more of your code makes this worse. More code ships faster now. The documentation debt compounds faster too. The fix isn't better processes or more reminders in the PR template. It's to stop maintaining documentation as a separate artifact and tie it directly to the code. If you're using Spring Boot with springdoc-openapi, you already have the infrastructure. You just need to use it properly. @RestController @RequestMapping "/api/orders" @Tag name = "Orders", description = "Order lifecycle management" public class OrderController { @Operation summary = "Get order by ID", description = "Returns a single order. 404 if the order doesn't exist or belongs to a different customer." @ApiResponse responseCode = "200", description = "Order found" @ApiResponse responseCode = "404", description = "Order not found" @GetMapping "/{id}" public ResponseEntity