# Module artifact 'com_r35157_nenjim-hubd-impl-ref' Artifact description comes here ## Project setup This module was initially created with the following command: ```bash /usr/local/software/bin/module_setup -V -g com.r35157.nenjim -t libjdk -n hubd (Script version: 0.0.2.4) ``` ## Usage Explain how to use this module ## Configuration format versions Every application-owned, human-maintained runtime configuration file starts with an explicit format version: ```text FORMAT_VERSION= ``` Blank lines and full-line comments may precede the declaration, but it must be the first actual configuration entry. Loading fails before any other content is parsed when the declaration is missing, duplicated, malformed, misplaced, or different from the version supported by the corresponding loader. Versions are independent for each configuration format. A breaking change to one format, such as `alarms.conf`, does not change any other format's version. When a breaking format change is made, update both the loader's hardcoded `SUPPORTED_FORMAT_VERSION` and the declaration in the runtime and example configuration files. Compatible additions do not require a version increment. This policy currently applies to: - `NenjimHub.conf` (mandatory version 1 with ordered `[AUTO_START]`) - `alarms.conf` - `alarmaction_Console.conf` - `alarmaction_Pushover.conf` - `alarmaction_JupiterPerpsPositionIncreaseAlarmAction.conf` - `alarmaction_JupiterPerpsPositionDecreaseAlarmAction.conf` - `evelyn.conf` - `positions.conf` Third-party configuration formats such as Log4j's XML configuration are versioned by their owning library and do not use this declaration. Nenjim Hub reads only `conf/NenjimHub.conf`; copy `conf/NenjimHub.conf.example` before first use and edit the ordered process list for the deployment role. The example is never loaded as runtime input. The Evelyn status processes use `evelyn.status.prod` and `evelyn.status.test`. When upgrading an existing deployment, replace `evelyn.service.prod` and `evelyn.service.test` with those IDs in private `conf/NenjimHub.conf`, preserving their order and enabled/commented selections. The instance names `Production` and `Test`, their `data/evelyn//status.log` files, and history format version 1 remain unchanged. `com.r35157.evelyn.service.status.EvelynStatusService` exposes immutable status history and `AssetPrice getReferencePrice(Instant timestamp)`. The reference price is calculated on demand for the supplied instant and carries the canonical EVE/USDT trading pair. It works before startup and while sampling is stopped, without accessing Ticker or history storage. See [Evelyn](docs/Evelyn.md) for the curve and service contract. ## Release log: | Date | Version | Description | |:-----------------|:--------------:|----------------------| | 2025/12/26 | v0.0.0 | First dummy release |