Touch points must be changed bottleneck / compiler gateEach numbered badge = one mandatory code change across two separate systems
⚠️
The hard ceiling. This instruction must be written in Chasm — Rival's proprietary chat assembly language. No LLM has training data on it. If the compiler was not explicitly taught this card, it cannot compile it. Changes 1 and 2 are irrelevant until this unblocks.
Node.js consumer. Transforms events, writes to OpenSearch.
indexes into
OpenSearch
Answer-level rows. One row per answer event.
streams into
Data Integration Layer
Streaming ETL. Pivots answer rows into engagement rows. Each question becomes a column.
direct pushscheduled sync
Sisense
Direct push. Ad-hoc, manual trigger. One class of reports.
Redshift
Regular scheduled sync. Feeds a second class of Sisense dashboards.
powers
Sisense
Redshift-backed dashboards. Second class of reports. Two Sisense surfaces, two data paths.
Four representations of the same survey, each with its own schema
UI Schema
Drives authoring UI only
YAML / DB
Saved survey representation
Compiled Script
What actually runs in Botcore
Card Renderer Schema
Drives Web Client; separate from everything above
Friction
Proprietary DSL: only the compiler can produce a runnable script. No AI model has training data on it.
Four representations: drift between UI schema, YAML, compiled script, and card renderer schema causes silent bugs.
Chasm ceiling: any new card behaviour requires new compiler instructions. If Chasm was not taught it, the survey cannot do it.
Nchan dependency: WebSocket scalability requires an extra infrastructure layer not native to the app server.
Card Renderer is a fourth schema surface: adding a card type requires changes in four places across two separate systems.
Analytics pipeline: answer rows land in OpenSearch, stream through a Data Integration ETL that pivots them into engagement rows, then split two ways — a manual direct push to Sisense and a scheduled sync via Redshift to a second Sisense surface. Two data paths, two Sisense instances, no single source of truth.