changedown

For collaboration, a file format is all you need

Date: March 31st, 2026
Author: Hackerbara


How should humans and agents collaborate on documents? How do we keep track of who is changing what, when, and why? What does it mean to “review” and “approve” these changes? Beneath them all, something is missing: where does all this get recorded? And how do we control and share that record? I think we need an interchange file format, one that is human-readable, AI-readable, and plain text: Changedown - CriticMarkup + Markdown footnotes with governance. This allows the content state to live in the world, with intent and history living directly in the character stream. This fits the natural mental model of humans, and for AI it allows for clear programmatic enforcement and powerful optimization of token and conceptual economy through proper tool shaping.

This question comes into focus with the need to collaborate on detailed plan and skill files for AI agents, and complex documents and creative outputs being produced for humans and by humans in tandem with AI. Currently, when a human or an AI agent edits a Markdown file, you get a diff — new text you can compare against old. You can't see why. You can't see who proposed it, who approved it, whether anyone pushed back, what alternatives were considered. That context lives in agent traces, in chat logs, in PR comments, and in your memory, scattered across tools that need manual correlation. The next person who opens the file gets the final text and nothing else. Trying to get AI to reliably participate in and act on that context dance currently requires a messy constellation of correlation across git logs, MCP connections to apps, and command line binary tools. Changedown encapsulates all of that into the file itself, letting state live in the world directly.

There are many important questions that a file format doesn't solve: how you collaborate on edits in real-time with others, how humans and agents process through reviews, and how to make that all scale for AI outputs. These questions are upstream of how changes are recorded and shared.

Containing changes in a clear file format instead of behind opaque tooling also matters a lot for giving humans the ability to manage trust, perceptions, and privacy; and for how systems of control may be enacted or resisted. More on that later.

Putting intent in the character stream

Humans and AI agents already think in editing operations. A human making tracked changes in Word is composing insertions, deletions, and substitutions with specific purposes — not character-level real-time maps. An LLM proposing changes defaults to old_text/new_text and gives reasons in commit messages or responses. Both are "thinking" at the same level: writing and changing the words, with reasons attached.

Changedown writes this down in the file. An insertion: new text. A deletion: . A substitution: new. These are CriticMarkup delimiters. Below the document body, a footnote log records who, when, why, and what decision was made about each change. The in-body footnote tag provides location anchoring, with enhanced anchoring based on unique surrounding text when needed, drawing on the W3C Web Annotation Data Model (2017) approach to robust text anchoring.

Here's what that looks like in practice:

The API should use GraphQL for the public interface.

We added OAuth 2.0 with JWT tokens for authentication.
0 changes · 0 accepted · 0 rejected