Chapter 2: What Chandra Enterprise Is

CH. 2 OF 19 DRAFTED
Listen to this chapter
Can't play? Download the MP3 directly.
Source: chandra-enterprise-editor.html (build v31c425+); ent-hub.lisp, ent-tree.lisp, ent-spine.lisp (source zip); vatican.chandrahub.net (live-fetched, confirms the environment-root model described below).

What Chandra Enterprise Is

Source: chandra-enterprise-editor.html (build v31c425+); ent-hub.lisp, ent-tree.lisp, ent-spine.lisp (source zip); vatican.chandrahub.net (live-fetched, confirms the environment-root model described below).

Chandra Enterprise (CEE) is the application layer built on Chandra Protocol. If Chapter 1's protocol is the ledger, CEE is the database-plus-UI that regulated organizations actually work in day to day — and it is deliberately shaped like a FileMaker-generation business database (Chapter 12 documents the operational parity directly: Sort, Found-Set operations, Found navigation, Duplicate, Import/Export, Portals) rather than a bespoke enterprise app, because that's a UI paradigm regulated-industry staff already know.

The data model: Hub and Spoke

CEE's schema vocabulary is Hub and Spoke:

This is a deliberately narrow vocabulary. ent-environment-roots.lisp reserves a small, closed set of Spoke typeshub-info, form-design, help-context, bug-report, attachment, integration-genesis — meaning even CEE's own internal machinery (its help content, its bug-report system, its file attachments) is represented as governed Spokes inside the same Hub/Spoke model business data uses, not as a separate privileged internal data layer. There is no backstage.

Environment roots: Acceptance and Production

Every CEE spine has (at minimum) two environment roots: Acceptance and Production (ent-environment-roots.lisp*ent-environment-roots* is literally '("acceptance" "production")). This is confirmed live on vatican.chandrahub.net, whose UI shows a SPINE / CANARY / PRODUCTION toggle. Acceptance is where a spine configuration is tested; a distinct "Accept Acceptance Spine" action (seen live) commits the current test spine as the accepted source for Production — the confirmation dialog is explicit that this only sets up what Production should look like, and that "Production creation or any later Production change remains governed by the Production/Concordia rules," i.e., promoting to Production is its own separately-governed act, not a side effect of accepting an Acceptance spine.

Help and Bug Reports are root-scoped — each environment root gets its own Help/Bug-Report Hubs, per the boot-log comment in start-enterprise.lisp: "environment roots — Acceptance/Production anchors with root-scoped Help and Bug Reports Hubs." This is a smaller, earlier instance of the same isolation instinct documented at length in Chapter 18: don't let content homed in one governance context bleed into another, even within a single spine.

What CEE adds on top of the protocol

Chapter 1 draws the line already, but concretely, CEE is what turns "an append-only attested chain" into something a compliance analyst can actually use:

None of this exists at the protocol layer. Chandra Protocol doesn't know what a "Form Design" is; CEE is the layer that decided a Hub needs one, and that a form's publish should itself be a CU.

CEE is not the only thing built on the protocol

It's worth being explicit that CEE is a product on Chandra Protocol, not the product. The Marshaller (Chapter 7) and Chandrahub (Chapter 10) are both separate applications sitting on the same protocol, with their own Hub/Spoke-shaped internal data (per Chapter 18's Help-content architecture) but serving entirely different jobs — fleet discovery and public governance reference, respectively, rather than line-of-business record-keeping. When this manual says "governed," it means governed the Chapter 1 way, regardless of which of these three products is doing the governing.

← All chapters  ·  General Reasoning, Inc. · Birmingham, Alabama · Manual v1.0
Join the beta. Two ways in: we can help you set up a closed beta -- use the Industry Configurator to generate a custom personality for your organization, then email the resulting JSON to inquiries@genreason.com along with the subdomain you'd like for an unpublished test site (integration assistance available). Or explore the public-facing Chandra Marshaller directly -- a number of companies are already populated there, no setup required. See current beta deployments.