cx-platform-workbench
the document workbench — open, browse, comment on and safely modify a CX document
Why reach for it
One place to open a CX document, read it, talk about it and change it
without breaking it. cx-platform-workbench is the document
workbench: it browses a document by path or CXPath, keeps comments on
its nodes beside it, and makes every edit a previewed change whose
result is checked — it re-reads to its own address and passes its
declared schema — before a byte of the file is written.
The workbench is a consumer of verbs cx already ships: the strict canonical form and its hash give every node and every version an identity, CXPath selects, the semantic diff shows what an edit does, schema validation decides whether it may land, and the lossless formatter keeps the bytes a person wrote. A comment is itself a CX element, addressed by the hashes of the document and of the node it is about, so it survives a reformat and is refused when its node is gone.
What it gives you
One package of the platform group, born as its own repository rather
than extracted from the front door. Today it carries its design and
its first conformance case; the module and its cx subcommand land
with the implementation.
This repository ships no bundled module of its own; what it gives you is above, and its links are below.
Try it
The comment shape, frozen by the design: a comment on node /2/1 of a document, read back as its head, its attribute names in order and its one body.
input.cx
[wb:comment surface=1
on=sha2-256:2a63d766a79794b72128ad81e98136690800c1e1693dc45123725e96ee4e4880
doc=sha2-256:79a1f636e2150adb1dc432f45f35dde1d0041bd7292b872128739837877ea661
path=/2/1 author=ada time=2026-10-06T23:59:00Z
[wb:body 'The ship date contradicts the contract annex.']]
prog.cx
[?let [= $c $doc]
[= $b $c/wb:body]
[list [$name $c] [?for [in $a [$attrs $c]] [yield $a@name]] [$count $b] $c@path]]
$ cx --data=input.cx prog.cx
[list 'wb:comment' 'surface' 'on' 'doc' 'path' 'author' 'time' 1 '/2/1']
Fixture wb-000-the-comment-shape in deps/cx-platform-workbench/conformance/workbench.cxd — replayed against this cx when the page was built.
Status
A design with its error band registered (CXER7300–7349) and one smoke case graded by the repository's own check; the module, its reference page and its place in the build arrive with the implementation.
| fact | as the registry records it |
|---|---|
| ships as |
package
|
| status | created |
| pinned at |
24fbd3393
|
| builds on | cx-core-code |
| built on by | nothing pins it yet |
| bundled modules | 0 |
cx-platform-workbench plugs into: the repositories it builds on (left), the modules it ships (centre), the repositories that build on it (right) · drawn from registry/repos.cxd, deps.cxd and registry/modules.cxd when this page was builtLinks
- github.com/cx-home/cx-platform-workbench — the repository
- README — what it is, how to install it, what it pins
-
spec— the specification, the only truth -
conformance— the conformance corpus, the executable truth