Two sizing examples
Large shipbuilder
- Staff
- 5,000 – 20,000
- Active AI users
- 1,000 – 3,000
- Sources
- PLM, ERP, quality / NCR reports, welding procedures, class rules, drawings (OCR)
- Special needs
- Export control, often no internet (air-gapped), separate install for classified programmes, several languages
- Deployment
- On their premises (Option C)
Stellantis-sized car maker
- Staff
- about 250,000, 14 brands
- Active AI users
- about 50,000
- Daily load
- ~1 million texts to learn from, ~5 million searches (peak ~300 per second)
- Special needs
- Own SSO, own encryption keys, data kept in its region, brands as separate organisations under one account
- Deployment
- In their cloud, run by us (Option B)
Company names are used only to illustrate size. Figures are planning estimates, not client statements.
Why the design holds at that size
| Design element | What it gives a large client | Status |
|---|---|---|
| Account → organisations → teams, projects, clients, people | A group with many brands or shipyards is one account with several organisations; each keeps its own rules, shared where allowed. | in the design |
| Database-enforced separation (row-level security) | Every record carries its account; the database itself refuses cross-company reads, not just the application. | in the design |
| Client walls and private spaces in their own search stores | A naval programme or a supplier's data can be kept apart, moved or deleted in one step. | in the design |
| Cheap, cached permission check | Every request is checked; measured 0.8 ms for the "up to date?" check at 10,000 people. | measured |
| Stateless programs, shared cache, safe job queue | API, web and workers can run as many copies as needed; sessions and caches are shared, jobs are never taken twice. | in the design |
| Model-independent language layer | A GPU cluster or a client-approved model replaces the CPU model by configuration; on-prem models for air-gapped yards. | in the design |
| Open standards (MCP, REST, OpenID Connect) | Works with the client's AI tools and their own sign-in system. | in the design |
| Full audit trail, approvals, retention rules | What compliance teams in regulated industries ask for first. | in the design |
How we serve many large clients: one cell each
Each large client gets a complete, separate copy of cMCP — a cell — in its own cloud account or on its own premises. Smaller clients share a pooled cell. Same software everywhere; one client's load or incident can never touch another's.
What we build when a large client arrives
| Tool / step | Why it is needed at scale | Status |
|---|---|---|
| Kubernetes / Helm packaging | Run several copies of every part, update without downtime | build when needed |
| GPU server pool for learning from text | Hundreds of thousands of texts a day instead of a few thousand on CPU; better quality on long texts | build when needed |
| Database cluster, monthly table partitions, connection pooling | Standby copy for failure, fast audit and usage history at millions of events a day | build when needed |
| Search engine at hundreds of millions of facts | Load-tested at size; our own interface lets us swap in a dedicated vector database if needed | prove by load test |
| Client SSO + automatic user provisioning (SCIM) | 250,000 accounts managed from the client's own directory | build when needed |
| Client-held encryption keys (BYOK), clustered key vault | Required by large regulated clients | build when needed |
| Penetration test, SOC 2 | Proof for client security teams | build when needed |
Indicative hardware per cell
| Layer | Shipbuilder (on premises) | Stellantis-sized (cloud) |
|---|---|---|
| Application (API, web, workers, sign-in) | 3 servers · 32 cores · 128 GB | 6 – 10 servers · 32 cores |
| Database | 2 servers · 32–64 cores · 256–512 GB · 16 TB NVMe | 3-node cluster · 64 cores · 512 GB, plus a vector-search cluster (3–5 TB growth a year) |
| GPU (learning from text, search ranking, OCR) | 2 servers · one 96 GB or two 48 GB cards | 6 – 10 servers · 1–2 large cards each |
| Backup | 30–50 TB + off-site copy | Cloud object storage, cross-region copy |
| Pilot to start | 1 application + database server and 1 GPU server, for one shipyard or one brand (200–500 users) | |
Estimates for planning. The biggest drivers are: whole mailboxes imported or not, years of old documents loaded at the start, classified work, and whether the service must survive the loss of a server.
Path to a large client
- Load test the current design on synthetic data at 10 → 100 million facts and 250,000 people.
- GPU benchmark for learning from text at client volume. A first estimate for the GEX45 is in the LLM results, section 6; it is measured once that server is rented.
- Pilot with one shipyard or one brand on the pilot hardware.
- Build the scale tooling above, then grow the cell to full size.