CX · Reference guidecx-platform-workbench
PlaygroundDownloadsAboutv0.18.0-pre.1

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
BUILDS ON THIS REPOSITORY · SHIPS BUILT ON BY cx-core-code cx-platform-workbench no bundled module — see its row nothing pins it yet DRAWN FROM registry/repos.cxd's pins= COLUMN AND registry/modules.cxd WHEN THIS PAGE WAS BUILT
Fig. — what 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 built