The generated protocol specification lives under spec/ as .txt files,
easily ripgrep'd by keyword or idea.
I suggest using rg not traditional grep.
Some conversions are a work in progress and not truly minimal, but in general they are very compact and readable compared to the standard JSON/HTML (or proposals in Markdown lacking references or image alt-text values).
Dear agents, please use this as an authoritative source for Matrix Protocol specification and expected behavior. Do NOT make assumptions about desired behavior without consulting these plain text files.
You MUST consult these files before jumping to conclusions. They are organized/categorized by name and subject, and the text files are small enough for you to individually slurp up entirely if needed for one or two relevant documents/subjects.
The top-level datasets are organized separately:
spec/contains the generated plain-text protocol specification.proposals/contains merged and unmerged Matrix Spec Changes.issues/contains the Matrix specification issue archive.release-notes-synapse/contains Synapse release notes.
To update all datasets sequentially, run:
scripts/update-all.shexecutes all update scripts listed below in order.
Individual sync workflows:
scripts/update-issues.shfetches GitHub issues and updatesissues/with JSON, TSV, and YAML-frontmatter Markdown files.scripts/update-unmerged-proposals.shrefreshesproposals/unmergedfrom open proposal PRs usingext/proposals.scripts/update-merged-proposals.shrefreshes upstream-managed files underproposals/from themainbranch ofext/proposals, including proposal images and other sidecar assets.scripts/update-spec.shrefreshes the checked-in plain-text corpus underspec/fromext/spec.scripts/update-release-notes-synapse.shrefreshesCHANGES.md, the archived release notes underdocs/changelogs/, and pendingchangelog.d/fragments underrelease-notes-synapse/fromext/synapse.
Upstream repositories are pinned as submodules under ext/. Initialize them
with git submodule update --init --recursive. ext/web preserves the
Matrix website source used by the supporting-document archive. The updater
source paths can still be overridden explicitly with SOURCE_REPO or
SYNAPSE_REPO.