Draft

svc-nbit-sim — NBIT Digital Twin

Clientnovameraactive

Controllable digital twin of the NBIT downhole tool — speaks the real NCU↔NBIT wire protocol so the unmodified NCU connects to it exactly as to field hardware. Generates synthetic borehole runs on demand for QA without a drill site. State is live-driven, not canned.

flowchart LR
    QA["QA operator
(control API)"] -->|control plane| SIM[svc-nbit-sim
FastAPI] NCU[svc-ncu] -->|NBIT wire protocol| SIM SIM -->|data + events| NCU SIM -->|.nid/.spt/.ndd/.ncs.json/.log.csv| RUNFILES[(synthetic run files)] RUNFILES --> LIB[lib-qc validation] style SIM fill:#EDEDFF,stroke:#3B54F7

Modules:

  • protocol/ — NBIT wire protocol (UDP discovery, TCP command, webhook)

  • device/ — controllable device state + DAQ state machine (battery, signal, faults)

  • engine/ — synthetic data engine (borehole profile → trace/survey/depth arrays)

  • runfiles/ — writers for each on-disk format lib-qc consumes

  • Validation: lib-qc run against synthetic outputs in CI to ensure the digital twin stays format-compatible with real hardware.

  • Part of: novamera.ncu-sim — Docker Compose stack pairing svc-ncu + svc-nbit-sim for local QA.

  • Built on: the ecs-service pattern for hosted deployment.