cx-platform-xap
the application host, compose, dist, schema, market, the reference deployments
Why reach for it
Features compose into an application, and the composition is
an algebra. cx-platform-xap is the host: a feature's grammar — its
nouns, verbs and requirements — is a data document, two features
compose into one grammar whichever order you name them in, and the
host serves the composed grammar to a terminal, a browser and an agent
through one cascade.
Every intent commits through one synchronous, journal-folded path: the bus calls the policy decision once, appends to the hash-chained journal and re-folds state, and a rejected intent is a value on the failure channel rather than a crash. Reads are a deterministic fold over the log. Agents are peers — they emit the same intents a human client does, gated by the same authorization dial.
The XAP overview and its four demo pages are the ladder: one capability, surfaced through progressively more clients, each rung turning on exactly one more subsystem, every page embedding the demo's real source and its recorded output. Sealing, publishing and installing a feature is xap-distribution; the platform chapter of the primer is projected from this repository's composition and deployment-topology pages.
What it gives you
The module below is the runtime a program imports. Beside it the
registry carries this repository's three conformance suites —
composition, schema-as-data and the on handler surface — and the
distribution natives; the corpus link at the foot of the page holds
them all.
| module | import it as | where it lives | reference |
|---|---|---|---|
xap
|
[?lib 'cx-platform/xap']
|
Ring 1 · the platform group | xap reference |
Try it
Two features composed. Each declares a highlight verb of its own;
composition keeps both, because a verb is qualified by the feature
that declares it — four verbs in the composed grammar, none lost, none
renamed.
prog.cx
[?lib 'cx-platform/xap' as=xap]
[?let [= $chart
[feature name=chart
[nouns [noun name=viewport singular=true [field name=center type=geo-point]]]
[verbs
[verb name=highlight effect=arrange [intent [do :highlight]] [reads viewport]]
[verb name=set-waypoint effect=act scope=shared consequence=reversible [intent [do :set-waypoint]] [writes viewport]]]
[requirements [requirement kind=functional as=user traces=highlight [want 'to mark a spot'] [so 'I can find it']]]]]
[= $strikes
[feature name=strikes
[nouns [noun name=strike [field name=pos type=geo-point] [field name=at type=instant]]]
[verbs
[verb name=highlight effect=arrange [intent [do :highlight]] [reads strike]]
[verb name=list-strikes effect=observe [intent [do :list-strikes]] [reads strike]]]
[requirements [requirement kind=functional as=user traces=highlight [want 'to see strikes'] [so 'I avoid them']]]]]
[= $g [$xap:compose $chart $strikes]]
[$count $g//verb]]
$ cx prog.cx
4
Fixture xap-compose-006-same-named-verbs-coexist in deps/cx-platform-xap/conformance/xap/xap-compose.cxd — replayed against this cx when the page was built.
Status
The host builds on the widest set of platform repositories on this site — the wire, mail, identity, the store, the database drivers, the fabric and the session layer — and the figure draws every one of them from the registry's own row.
| fact | as the registry records it |
|---|---|
| ships as |
binary
|
| status | extracted |
| pinned at |
c5ec39c5b
|
| builds on | cx-platform-net, cx-platform-mail, cx-platform-identity, cx-platform-store, cx-platform-db, cx-platform-fabric, cx-platform-xsp |
| built on by | cx-platform-agent |
| bundled modules | 1 |
cx-platform-xap 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-xap — the repository
- README — what it is, how to install it, what it pins
-
spec/03-approved— the specification, the only truth -
spec/03-approved/xap— the specification, the only truth -
conformance— the conformance corpus, the executable truth -
conformance/xap— the conformance corpus, the executable truth