Skip to main content

Architecture decisions

Important technical choices are recorded as an architecture decision record, a short document per decision. There are currently thirty-nine; one of them has since been replaced by a later decision.

The template​

Every decision follows the same structure:

  1. Context: what was the problem, and why now?
  2. Decision: what was chosen?
  3. Alternatives: what was considered and why was it dropped?
  4. Drawbacks: what does this choice cost us?
  5. When to reconsider: which circumstance makes this decision obsolete?

Points 3 to 5 are the most valuable. A decision without written-down drawbacks is usually not a decision but a preference, and without a review criterion a choice lingers long after the reason for it has gone.

A decision only counts as established when there is working evidence, not when the document is finished.

Decisions that shape the platform​

SubjectCore of the decision
Configurable promptsPrompts live in configuration, with a variant per tenant, not in code
AI gatewayAll generation goes through a single server-side entry point, with prompt resolution, model choice and monitoring
Search foundationRebuild of evidence retrieval: chunking, a semantic index and a bounded selection
Evidence chainReferences are checked server-side against what the model actually received
Grounded synthesisThe heavy analyses also receive dossier evidence, not just simple extractions
Tenant modelData model and permissions matrix for multiple organisations on one platform
Latency and time-outsStreaming, background tasks and model choice per task weight
Reporting engineBlock-based document model, strictly additive to existing worksheets
Capability modelThe connecting layer between strategy and change portfolio
Release pipelineStaging first, with automated gates for migrations and schema parity
Test strategyWhich test covers which risk, and when a test becomes mandatory
Security gateAudit log, backups and a demonstrably tested recovery procedure
Evidence on the rowThe evidence behind a generated text is stored with the text itself, not in a separate log
Provenance modelEvery AI generation carries its provenance: source, nature, sources, reasoning step and whether a human has written on it; the server decides whether material existed, not the model
Anonymous surfaceAnyone who is not logged in reads nothing, except what has been explicitly and justifiably released
Report modelFour documents per worksheet (view, summary, findings and One-pager), where the summary does not draw on the findings and a report is a snapshot
Provenance on acceptanceThe provenance mark disappears as soon as a human accepts the proposal; generating from general knowledge is allowed everywhere
Risk modelThe consultant's approval button is the control; heavy safeguards belong only at the boundary to the customer
Time rules for generationsAn aborted generation counts as failed, no second full attempt follows, and the ceiling follows from the time band
Processes and organisationChain, process and action each have one meaning; a process has a department as its owner, KPIs have a single form, and an issue concerns a process, a hand-over or a chain
Collaboration modelParticipants per canvas with a role, one account in several organisations, and hand-over from consultancy to client in one guarded step; an organisation's administrator manages who may join and does not read along by default
Build chainThe web application is built and developed with Vite (version 7), with a pinned build environment and a test suite without a heavy build layer on top
Value teamsA value team carries out roadmap tasks and can work across several chains, with an explicit agreement per initiative
Second factorSigning in with an authenticator app: switched on per organisation for administrators, and enforceable for all users
Staging topologyA separate test environment with its own database and its own address, alongside production
AI models per weekA new model goes on the list, is compared on a test set and replaces the old one per class or per AI button, with fallback
The AI layer as a wholeWhat the call does, with what and through what: model choice, project context and the route with a region setting (worldwide or EU), plus two gates before the call: write role and budget
IT worksheetSix tabs, information domains and a single landscape table; what the platform derives is a proposal and only counts once confirmed
FoundationsIsolation per organisation in the database, all text and AI instructions in the database, and no method or sector of its own in the platform
One base for the schemaThe schema is one base file plus the migrations after it; the older migrations are archive
Access to the full decisions

The full decision documents contain implementation details and internal trade-offs and are therefore not public. They are available to technical partners under non-disclosure.