Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.coreflux.org/llms.txt

Use this file to discover all available pages before exploring further.

Why naming matters

Consistent naming is the single most impactful practice for maintainable LoT systems. These conventions apply to all LoT entities and keep notebooks readable as your project grows.
Like street names in a city. Predictable patterns let anyone find an address without a map — and let AI assistants generate code that matches your project.

Entity names

All LoT entities use PascalCase. Names should be descriptive and purpose-driven.
EntityConventionGood ExamplesBad Examples
ActionsPascalCase, verb-firstProcessTemperature, MonitorPressure, SendDailyReporttemp_process, action1, myAction
ModelsPascalCase, noun-basedSensorReading, EquipmentStatus, ProductionRecordsensor_model, Model1, data
RulesPascalCase, descriptive scopeAllowAdminActions, ProtectSysTopics, RestrictDevicePublishRule1, myRule, newRule
RoutesPascalCase, destination-basedCloudBridge, SensorDatabase, AlertEmailroute1, my_route, dbRoute
Callable ActionsPascalCase, function-likeCalculateAverage, ConvertCelsiusToFahrenheitcalc, helper, util

Variable names

Variables use snake_case inside double quotes for SET declarations, and curly braces for references.
DEFINE ACTION ProcessSensorData
ON TOPIC "sensors/+/raw" DO
    SET "sensor_id" WITH TOPIC POSITION 2
    SET "raw_value" WITH (GET JSON "value" IN PAYLOAD AS DOUBLE)
    SET "converted_value" WITH ({raw_value} * 1.8 + 32)
    PUBLISH TOPIC "processed/" + {sensor_id} + "/fahrenheit" WITH {converted_value}
ContextConventionExamples
Declaration (SET)snake_case in double quotes"sensor_id", "raw_value", "cycle_time"
ReferenceCurly braces{sensor_id}, {raw_value}, {cycle_time}
Model fieldssnake_case in double quotes"equipment_id", "runtime_hours", "last_update"
Action inputssnake_case after keywordINPUT value AS DOUBLE, INPUT threshold AS DOUBLE

Topic names

Topics use lowercase with forward-slash separators. Multi-word segments use snake_case. Whenever possible, follow a Unified Namespace (UNS) format for topic naming. This enables readability and scalability as systems grow.
PatternExampleUse Case
domain/entity/attributesensors/temperature/valueGeneral data
domain/instance/attributesensors/temp001/rawInstance-specific data
domain/category/instancealerts/critical/pump03Categorized events
Prefixed namespacesprocessed/, alerts/, config/, cache/, state/, system/Functional separation
For hierarchy design, functional namespaces, and domain-specific UNS patterns, see Designing your data layer.

Next Steps

Designing your data layer

Topic trees, payload formats, and model inheritance.

Anti-patterns

Common mistakes and what to do instead.
Last modified on May 20, 2026