changedown

ChangeDown ccn-1Ccn-2ollaborative Editing Powered by CriticMarkup💬cn-3

By: Author 1, Product Lead – ChangeDown

Author 2, Engineering – ChangeDown

Author 3, Documentation – ChangeDown💬cn-4

Introductioncn-5

When teams collaborate on documents, they are not thinking about the underlying technology cn-6 they just want their edits tracked reliably and attributed correctly.

But mostcn-7 document editing workflows face a familiar challenge: you have invested in sophisticatedcn-8 AI agentscn-9 that can draft, revise, and restructure content, yet they bypasscn-10 every editorial safeguard your team depends on cn-11 cn-12Edits arrive without attributionattributioncn-13. Revisions overwrite previous work with no recordrecordcn-14. Reviewers discover changes only by diffing file versions after the fact,cn-15 cn-16 reconstructing context from commit messages that rarely explain why a particular sentence was reworded or a paragraph reorganized.

That is why ChangeDown and the CriticMarkup open standardcn-17 took a different approach.cn-18 :Every edit iscn-19 capturedcn-20 inline, attributed to itsitscn-21 author, with a reason attached.

The new open-sourceopen sourcecn-22 CriticMarkupcn-23 connector for markdown editors gives teams a bring-your-own-vocabulary approach to change tracking. Rather than forcing a proprietary format, the connector maps every insertion, deletion, substitution,cn-24 "cn-25highlight"and commentcn-26 to standard CriticMarkup delimiters that any text editor can render. This means organizations can integrate change tracking into their existing markdown pipelines without vendor lock-in, using the same files across VS Code, GitHub, static site generators, and documentation build systems that already process plain text natively,cn-27 while maintaining full editorial accountability.

For the more thancn-28 10,000+cn-29 organizations running collaborative document workflows today, this integration delivers a practical path to tracked AI editing. Teams in North America, Europe, and the Asia-Pacific regionNorth America, Europe, and the Asia-Pacific regioncn-30 cancn-31 connect theircn-32 existing markdown toolchains to ChangeDown without replacing their current editors or revision control systems+cn-33.

Here is how the integration works, where it fits across collaborative editing workflows, and what measurable improvements organizations report from deploying tracked change management.

ChangeDown Integration Architecture and DesignChangeDowncn-34 integrationcn-35 architecture and designcn-36

This integration connects your markdown editing environment to open-source CriticMarkup services through a layeredlayeredcn-37 architecture designed for extensibility and reliability. The architecture comprises three integrated layers:cn-38

Fcn-39igurecn-40 1cn-41 shows the component architecture for the ChangeDown integration, illustrating how the VS Code extension, the MCP tool server, and the CriticMarkup parser work together to deliver tracked changes.cn-42

Diagram showing human and AI agent collaboration flowcn-43

Figure 1: ChangeDown extension integration with CriticMarkup servicescn-44

The architecture comprises three integrated layers:cn-45

  • Editor interaction layercn-46 interaction layer: cn-47 The VS Code extension captures every keystroke and cursor movement, accumulating edits into boundary-delimited change operations that wrap automatically in CriticMarkup (cn-48CriticMarkup)(CM)cn-49 syntax before writing each attributed change to the file.
  • Connector layer: cn-50 The open-sourceopen sourcecn-51 MCP tool server bridges AI agents to the same CriticMarkup format, translating propose_change calls into attributed edit operations with full metadata.
  • AI agent layercn-52 layer:cn-53 Large language models and other AI agents interact with tracked files through the MCP tool server, generating context-aware edit proposals that reference LINE:HASH coordinates. The connector validates each proposal against the current file state before committing attributed changes to the CriticMarkup record usingcn-54 thecn-55six-level matching cascadesix-level matching cascadecn-56. Metadata extraction is handled by the footnote-native parsercn-57, delivering structured metadata extraction for attributed review responses.

This arccn-58hitecture is illustrated in the following NEEDS ACTION: replace with actual figure reference diagramcn-59.cn-60

Diagram showing human and AI agent collaboration flowcn-61

Figure 1: ChangeDown extension integration with CriticMarkup services overviewcn-62

How ancn-63 Agent Eecn-64diting Ffcn-65lows End-to-Endcn-66

Diagram showing MCP plugin agent editing flowcn-67

Figure 2: ChangeDown Agent Editing and Review Integration Call flowcn-68

When an agent connects to a tracked file in the editing environment, the following flow takes place:💬cn-69

  1. Agent reads file state -cn-70 The agent reads the current file state through the MCP read_tracked_file tool, which returns every line with its LINE:HASH coordinate. The agent receives the full document context including pending changes, author metadata, and review status for each trackedcn-71 operationtracked operationcn-72.
  2. Parser interprets intent cn-73 -cn-74 The CriticMarkup parserThe CriticMarkup parsercn-75 processes the request and identifies the appropriate editing action from the agent instructions through three stages:
    1. Change Detection: cn-76 The edit boundary engine detects keystroke sequences and cursor movements, segmenting them into discrete change operations for the tracking pipeline (cn-77supporting)cn-78 thousands ofcn-79 concurrentcn-80 editing sessions
    2. Intent Understanding: cn-81 The footnote-native parser maps recognized text to editing intents such as insert, delete, substitute, highlight, and comment operations with full author (cn-82attribution)cn-83,cn-84 now enhanced with LLM-powered contextual intent classificationLLM-powered contextual intent classificationcn-85 for faster, description-based intent classification
    3. Response Generation: cn-86 For straightforward requests, the MCP tool serverthe MCP tool servercn-87 generates a direct response using its built-in propose_change fulfillment. For complex editing tasks requiring document context, the systemthe systemcn-88 routes to large language models (such as Claude) for nuanced revision proposalscn-89 that respect existing tracked changes.cn-90

This architecture supports multi-turn conversations with contextual awareness, so an agent can reference earlier edits in the same session and build on previous review decisions.cn-91

  1. Response flows back cn-92 -cn-93 The MCP tool server formulates the edit proposal and routes it through the CriticMarkup parser for validation and serialization. The response includes fully attributed change operations with LINE:HASH coordinates. The parserThe parsercn-94 supportssupports thecn-95 six-level matching cascadesix-level matching cascadecn-96 for fine-grained control over anchor resolution, whitespace normalization, and settled-text fallback (cn-97STF)cn-98 in ambiguous contexts. The response flows back through the connector to the editor viausingcn-99 the CriticMarkup protocol.
  2. Escalation when needed cn-100 -cn-101 If the virtual agent cannotcan'tcn-102 resolve the editing request — for example, when a proposed substitution conflicts with a pending change from another author — the system escalates to a human reviewer. The escalation preserves the full dialoguecn-103 context so the reviewer can pick up without repeating steps.

This architecture supports multiturn conversations with contextual awareness, allowing agents to reference earlier edits and build on previous review decisions within the same session.cn-104

The agent editing flow is illustrated in the following flow diagram.cn-105

Diagram showing MCP plugin agent editing flowcn-106

Figure 2: ChangeDown agent editing environment and review integration call flowcn-107

How tTcn-108his solution integrates with your editing environment in the following ways for collaborative workflows.cn-109

  • CriticMarkup services: cn-110 The CriticMarkup parser handles change detection and edit-boundary segmentation, while the footnote-native parser provides structured metadata extraction for attributed review (cn-111responses)cn-112 and agentic developer tools provide the orchestration framework for agent-driven editing workflows with full LINE:HASH (cn-113addressing)cn-114. The parser resolves ambiguous anchors using the six-level matching cascadethe matching cascadecn-115.
  • Agentic developer tools: cn-116 The MCP tool server provides the orchestration framework for agent-driven editing workflows with full LINE:HASH addressing.
  • Generative AI with large languagecn-117 models: cn-118 Large language models power context-aware edit generation — the model reads full document statethe model reads full document statecn-119 via read_tracked_file before proposing attributed changesattributed changes,cn-120 cn-121enabling responses that go beyond scripted intents.

Why this design matters

  • Your files, your rules. The ChangeDown extensionextensioncn-122 runs entirely in your own editor, giving you full control over customization, data retention, and compliance.
  • Built for performance. Designed for responsive, real-time change tracking with minimal editor overhead.
  • Secure by design. Local-first processing means your document data stays in your infrastructure at all times.
  • Deploy where you need. Available as an open source extension supporting global teams, with local-firstcn-123 processing and no cloud dependency for all supported editing operations.💬cn-124

Use cases across collaborative workflows

Organizationscn-125 across industries can find benefits in pursuing tracked, AI-assisted document management solutions.cn-126

Healthcare:cn-127

Healthcare organizations cancn-128 enhance clinical documentation with intelligent template management, automated discharge summary drafting, and smart protocol routing that assigns revisions to the right specialist while maintaining comprehensive audit trails of every clinical document changecn-129 revision.

Finance:cn-130

Finance organizations cancn-131 improve document self-service in situations like regulatory filing preparation, contract revision tracking, and compliance report generation, all while maintaining the strict change attribution and editorial audit trails that financial regulators require for audit readiness and operational transparencytransparencycn-132.💬cn-133

Government:cn-134

Government agencies can streamline policy document workflows with full change attribution, supporting inter-agency review processes with tracked revisions for benefit enrollment guides, permit application forms, and public records documentation.💬cn-135

Workflow benefits

Editorial workflow automation:cn-136

cn-137Tracked AI editing transforms routine document revisions, includingcn-138 cn-139content updates, structural reorganization, and style corrections, into streamlined self-service experiences. The integration delivers consistent editorial quality around the clock and scales to handle revision volume spikes without adding headcount or compromising review quality. The result:iscn-140 consistent, quality support available 24/7around the clockcn-141 without proportional staffing costs.

Step Traditional pcn-142Pcn-143rocess With integrationChangeDown integrationcn-144 icn-145Icn-146ntegration
1 Author initiates edit Opens file, makes changes without attribution (4cn-147-cn-148 minminutecn-149 no audit trail) Instant change tracking with author metadata viausingcn-150 LINE:HASH coordinates (under 1 second)
2 Review Reviewer manually diffs versions (2-cn-1513 min per file) ChangeDownChangeDowncn-152 presents inline changes with author, date, and reason in secondscn-153
3 Resolution 8cn-154-cn-15512 minute review cycle 2cn-156-cn-1574 minute resolution with full context preserved

Similar efficiency gains apply to content migration and multi-author consolidation workflows across all supported editing environments.

Personalized editorial engagement:cn-158

The CriticMarkup matching cascade'scn-159 contextual editingcontextual editing capabilities in the CriticMarkup matching cascadecn-160 enables genuine contextual editing experiences. The system recognizes returning authors,cn-161;cn-162 it references their change history:. Itcn-163 recognizescn-164ingcn-165 returning authors, referencescn-166ingcn-167 their change history, and anticipatescn-168ingcn-169 revision patterns based on previous edits. This intelligent, empathetic approach builds loyalty by making every author feel known, not processed.

Summary/cn-170Conclusion

In today's collaborative editing deployments, organizations face a definitive challenge.cn-171:The need to address hcn-172Hcn-173ow to scale AI-assisted document workflows without sacrificing the editorial accountability that reviewers and compliance teams require. Through the open-sourceopen sourcecn-174 CriticMarkup connector, combined with the MCP tool server and VS Code extension, delivers a production-ready solution.

Organizations implementing this Open-sourcecn-175ocn-176pen sourcecn-177 integrationCriticMarkup integrationcn-178 gain measurable advantages in editorial throughput,cn-179 review quality, and document integrity. This solution integrates with proven CriticMarkupopen sourcecn-180 standards to improve every interaction and maintain context and intent across complete conversations,cn-181 thatcn-182 improvesingcn-183 your editorial experience.

Ready to transform your collaborative editing strategy? Connect with the ChangeDowncn-184 open source community to design a deployment architecturecn-185 tailored to your specific editorial workflow requirements.💬cn-186

cn-1 @editor 2026-03-21
cn-2 @editor 2026-03-21
cn-3 @editor 2026-03-21 proposed
@editor 2026-03-21: This post was copyedited for grammar, spelling, capitalization, punctuation, terminology, and consistency issues. Other important issues are noted in comments, and you should consider revising the content accordingly before publication.
cn-4 @editor 2026-03-21 proposed
@editor 2026-03-21: **NEEDS ACTION:** Please add byline information following the format provided
cn-5 @editor 2026-03-21
cn-6 @editor 2026-03-21
cn-7 @editor 2026-03-21
cn-8 @editor 2026-03-21
cn-9 @editor 2026-03-21
cn-10 @editor 2026-03-21
cn-11 @editor 2026-03-21
cn-12 @editor 2026-03-21
cn-13 @editor 2026-03-21
cn-14 @editor 2026-03-21
cn-15 @editor 2026-03-21
cn-16 @editor 2026-03-21
cn-17 @editor 2026-03-21
cn-18 @editor 2026-03-21
cn-19 @editor 2026-03-21
cn-20 @editor 2026-03-21
cn-21 @editor 2026-03-21
cn-22 @editor 2026-03-21
cn-23 @editor 2026-03-21
cn-24 @editor 2026-03-21
cn-25 @editor 2026-03-21
cn-26 @editor 2026-03-21
cn-27 @editor 2026-03-21
cn-28 @editor 2026-03-21
cn-29 @editor 2026-03-21
cn-30 @editor 2026-03-21
cn-31 @editor 2026-03-21
cn-32 @editor 2026-03-21
cn-33 @editor 2026-03-21
cn-34 @editor 2026-03-21
cn-35 @editor 2026-03-21
cn-36 @editor 2026-03-21
cn-37 @editor 2026-03-21
cn-38 @editor 2026-03-21
cn-39 @editor 2026-03-21
cn-40 @editor 2026-03-21
cn-41 @editor 2026-03-21
cn-42 @editor 2026-03-21
cn-43 @editor 2026-03-21
cn-44 @editor 2026-03-21
cn-45 @editor 2026-03-21
cn-46 @editor 2026-03-21
cn-47 @editor 2026-03-21
cn-48 @editor 2026-03-21
cn-49 @editor 2026-03-21
cn-50 @editor 2026-03-21
cn-51 @editor 2026-03-21
cn-52 @editor 2026-03-21
cn-53 @editor 2026-03-21
cn-54 @editor 2026-03-21
cn-55 @editor 2026-03-21
cn-56 @editor 2026-03-21
cn-57 @editor 2026-03-21
cn-58 @editor 2026-03-21
cn-59 @editor 2026-03-21
cn-60 @editor 2026-03-21
cn-61 @editor 2026-03-21
cn-62 @editor 2026-03-21
cn-63 @editor 2026-03-21
cn-64 @editor 2026-03-21
cn-65 @editor 2026-03-21
cn-66 @editor 2026-03-21
cn-67 @editor 2026-03-21
cn-68 @editor 2026-03-21
cn-69 @editor 2026-03-21 proposed
@editor 2026-03-21: **NEEDS ACTION:** Lists need to be introduced with a sentence rather than a heading. I've added a suggestion. Please review for accuracy.
cn-70 @editor 2026-03-21
cn-71 @editor 2026-03-21
cn-72 @editor 2026-03-21
cn-73 @editor 2026-03-21
cn-74 @editor 2026-03-21
cn-75 @editor 2026-03-21
cn-76 @editor 2026-03-21
cn-77 @editor 2026-03-21
cn-78 @editor 2026-03-21
cn-79 @editor 2026-03-21
cn-80 @editor 2026-03-21
cn-81 @editor 2026-03-21
cn-82 @editor 2026-03-21
cn-83 @editor 2026-03-21
cn-84 @editor 2026-03-21
cn-85 @editor 2026-03-21
cn-86 @editor 2026-03-21
cn-87 @editor 2026-03-21
cn-88 @editor 2026-03-21
cn-89 @editor 2026-03-21
cn-90 @editor 2026-03-21
cn-91 @editor 2026-03-21
cn-92 @editor 2026-03-21
cn-93 @editor 2026-03-21
cn-94 @editor 2026-03-21
cn-95 @editor 2026-03-21
cn-96 @editor 2026-03-21
cn-97 @editor 2026-03-21
cn-98 @editor 2026-03-21
cn-99 @editor 2026-03-21
cn-100 @editor 2026-03-21
cn-101 @editor 2026-03-21
cn-102 @editor 2026-03-21
cn-103 @editor 2026-03-21
cn-104 @editor 2026-03-21
cn-105 @editor 2026-03-21
cn-106 @editor 2026-03-21
cn-107 @editor 2026-03-21
cn-108 @editor 2026-03-21
cn-109 @editor 2026-03-21
cn-110 @editor 2026-03-21
cn-111 @editor 2026-03-21
cn-112 @editor 2026-03-21
cn-113 @editor 2026-03-21
cn-114 @editor 2026-03-21
cn-115 @editor 2026-03-21
cn-116 @editor 2026-03-21
cn-117 @editor 2026-03-21
cn-118 @editor 2026-03-21
cn-119 @editor 2026-03-21
cn-120 @editor 2026-03-21
cn-121 @editor 2026-03-21
cn-122 @editor 2026-03-21
cn-123 @editor 2026-03-21
cn-124 @editor 2026-03-21 proposed
@editor 2026-03-21: **NEEDS ACTION:** Best practice for blog posts is to convey information in prose and reserve lists for information that should be itemized. This list would probably serve the reader better as prose; consider converting it. At the least, the list needs to be introduced with prose (i.e., a complete sentence not in boldface).
cn-125 @editor 2026-03-21
cn-126 @editor 2026-03-21
cn-127 @editor 2026-03-21
cn-128 @editor 2026-03-21
cn-129 @editor 2026-03-21
cn-130 @editor 2026-03-21
cn-131 @editor 2026-03-21
cn-132 @editor 2026-03-21
cn-133 @editor 2026-03-21 proposed
@editor 2026-03-21: **NEEDS ACTION:** I revised this section to prose. Please review for accuracy.
cn-134 @editor 2026-03-21
cn-135 @editor 2026-03-21 proposed
@editor 2026-03-21: **NEEDS ACTION:** Please revise to complete sentences
cn-136 @editor 2026-03-21
cn-137 @editor 2026-03-21
cn-138 @editor 2026-03-21
cn-139 @editor 2026-03-21
cn-140 @editor 2026-03-21
cn-141 @editor 2026-03-21
cn-142 @editor 2026-03-21
cn-143 @editor 2026-03-21
cn-144 @editor 2026-03-21
cn-145 @editor 2026-03-21
cn-146 @editor 2026-03-21
cn-147 @editor 2026-03-21
cn-148 @editor 2026-03-21
cn-149 @editor 2026-03-21
cn-150 @editor 2026-03-21
cn-151 @editor 2026-03-21
cn-152 @editor 2026-03-21
cn-153 @editor 2026-03-21
cn-154 @editor 2026-03-21
cn-155 @editor 2026-03-21
cn-156 @editor 2026-03-21
cn-157 @editor 2026-03-21
cn-158 @editor 2026-03-21
cn-159 @editor 2026-03-21
cn-160 @editor 2026-03-21
cn-161 @editor 2026-03-21
cn-162 @editor 2026-03-21
cn-163 @editor 2026-03-21
cn-164 @editor 2026-03-21
cn-165 @editor 2026-03-21
cn-166 @editor 2026-03-21
cn-167 @editor 2026-03-21
cn-168 @editor 2026-03-21
cn-169 @editor 2026-03-21
cn-170 @editor 2026-03-21
cn-171 @editor 2026-03-21
cn-172 @editor 2026-03-21
cn-173 @editor 2026-03-21
cn-174 @editor 2026-03-21
cn-175 @editor 2026-03-21
cn-176 @editor 2026-03-21
cn-177 @editor 2026-03-21
cn-178 @editor 2026-03-21
cn-179 @editor 2026-03-21
cn-180 @editor 2026-03-21
cn-181 @editor 2026-03-21
cn-182 @editor 2026-03-21
cn-183 @editor 2026-03-21
cn-184 @editor 2026-03-21
cn-185 @editor 2026-03-21
cn-186 @editor 2026-03-21 proposed
@editor 2026-03-21: **QUESTION:** is there a place somewhere in the post for this link? ChangeDown Open Source Community [https://github.com/changedown/community](https://github.com/changedown/community)
0 changes · 0 accepted · 0 rejected