Skip to content

Release notes

Every Artekis release note opens with three yes/no lines, so an upgrade can be planned from its first three lines:

  1. Schema step: yes or no; when yes, the upgrade script's name — applied by the DBA before the module.
  2. Playbook template major bump: yes or no; when yes, which template — the module keeps the previous major for one release, so re-pin or re-create playbooks within it.
  3. Configuration format change: yes or no; when yes, what to re-enter on the Artekis pages.

The feature list follows. Release notes are published with each release on the module's GitHub Releases page and in this pack's manifest entry.

1.5.29 — 2026-11-10

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (FindingDetail, AnomalyWatch/Queue): reinstall it.

What 1.5.29 changes. A setpoint finding's page leads with the reading (solid) and its setpoint (dashed, the same axis), orange dots on the readings outside the band around the setpoint; the gap chart follows. The setpoint line is stored as a second line (scope.overlayOf); the Anomaly Watch queue card still draws the gap chart (issue #321).

1.5.28 — 2026-11-10

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (FindingDetail, EvidenceCard): reinstall it.

What 1.5.28 changes. A second reading drawn on a right axis (a pump's current on its wear chart) is drawn steady when it is steady: the axis never zooms in past +/-10 % of the reading's median, so last-digit rounding does not read as swings (issue #318).

1.5.27 — 2026-11-10

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (FindingDetail, EvidenceCard): reinstall it.

What 1.5.27 changes. A pump wear finding's first chart draws the pump's daily flow with its daily current dashed on a right axis, and a second chart its flow per amp against its twin's, so the page shows both tags the check compares; the runs table is headed by its column names. A second line is stored as an ordinary trend naming its chart in scope.overlayOf. An open finding gets the new charts on its next run, under the same finding id (issue #315).

1.5.26 — 2026-11-09

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack is unchanged.

What 1.5.26 changes. An Incident chart is titled with the tag's name, as the Findings list names a tag (Trend of DCM-301 jet-cool flow), not its raw path. The finding read (getFinding) names it and returns the path in the evidence item's tagPath; the stored evidence is unchanged, so findings filed earlier read the same way (issue #313).

1.5.25 — 2026-11-08

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (FindingDetail, EvidenceCard): reinstall it.

What 1.5.25 changes. Incident charts mark the readings outside the normal range (else the alarm limits) and say how many, and whether the chart stops at the trigger. A chart with no flagged readings no longer fills and dots every reading (a 1.5.24 defect). Flagged readings are large dots, the rest small. The full list is in CHANGELOG.md.

1.5.24 — 2026-11-08

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (FindingDetail, new EvidenceCard): reinstall it.

What 1.5.24 changes. The finding page reads as a story: what was found, then every proof at once, in order of significance, each labelled with what it is and where it came from, with the problem readings marked on each chart; then why it matters, what to do now and the rest. The full list is in CHANGELOG.md.

1.5.23 — 2026-11-08

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. The views pack changed (Anomaly Watch Queue and AnomalyCard): reinstall it.

What 1.5.23 changes. The Status setup checklist runs top to bottom in the order a fresh install meets it, the module first. The Settings time zone is picked from a list. The Policy page's security fields say who may do what, and where. An Anomaly Watch card for a setpoint finding draws its allowed band, marks the readings outside it and says so in a caption. The full list is in CHANGELOG.md.

1.5.22 — 2026-11-08

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: optional — a context model may carry costs.attribution (finding family, optional asset and tag → downtime reason names); no existing setting changes meaning. The views pack changed (Findings, FindingDetail): reinstall it. MQTT messages and callbacks gain a cost object.

What 1.5.22 changes. A finding's cost now says what kind of figure it is and shows its arithmetic: attributed (only the stops the plant's records tie to the finding), above normal (an estimate of what is above the machine's own usual rate), risk (how soon a trend reaches its limit, never dollars) or not priced (with the reason). Each finding is priced on its own window, so its figure is the same on every page, and overlapping findings are named, never added. Setup findings show the operator burden instead of dollars. The full list is in CHANGELOG.md.

1.5.21 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: a context-model tag may now carry a name without a SQL source (it is shown, never matched); names are at most 100 characters. The views pack changed: reinstall it.

What 1.5.21 changes. A reading is named as the plant names it on every page: from its name in the context model, else from its tag path with its own capitals ("int response", not "intresponsems"). The finding page and the review cards show the reading's unit on the chart's value axis. The full list is in CHANGELOG.md.

1.5.20 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no; a new Anomaly Watch threshold trend.bandShare (default 0.5) and a new resolve reason within-band. The views pack changed: reinstall it.

What 1.5.20 changes. The Findings list opens worst first, then newest, and its amount column says what it is: downtime and scrap on the asset while the finding was open, not the price of the finding. Alarm and gateway setup findings carry no production cost. A slow trend that is small against its setpoint band is no longer filed. The Anomaly Watch setup page says which playbooks already watch an area and never writes over one it did not create. Readings are named as the plant names them on every page and in the digest. The full list is in CHANGELOG.md.

1.5.19 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.19 changes. When a part was replaced and the new one is wearing, the finding's text now says so plainly and starts the climb at the replacement, instead of treating the replacement as a reason to doubt the trend. The full list is in CHANGELOG.md.

1.5.18 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no; a save now refuses control or setpoint on a tag marked kind: "perPart".

What 1.5.18 changes. A part that wore, was replaced and wears again is found from the replacement, not a week later; a trend's plain-language text always says which direction is dangerous; a controller's lab reading that cannot be read says why, and a save checks its source; a per-part test result cannot declare a controller or a setpoint. The full list is in CHANGELOG.md.

1.5.17 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: optional only — a measurement tag may carry kind (perPart / continuous) and control; a context model without them works as before.

What 1.5.17 changes. A levelled-off trend is told as past with its real start and its dangerous direction; finding text no longer contradicts its own numbers; per-part test results are judged by parts; three lift-station checks (a leaking check valve, one pump doing all the work, a station taking in far more storm water than its neighbours); a controller holding a drifting sensor on setpoint is found from what the controller does; the Artekis gateway pages move from Home to Services → Artekis. The full list is in CHANGELOG.md.

1.5.16 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.16 changes. Findings a plant manager would not act on are no longer filed: an alarm running at its own normal rate, a restart's trips, a missing cost mapping, and one historian outage across several assets is one finding. The full list is in CHANGELOG.md.

1.5.15 — 2026-11-07

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.15 changes. Every change Artekis names (an operator's setpoint write, a recipe edit) now states the value before it and the direction, so a cut is no longer read as a return to normal. The full list is in CHANGELOG.md.

1.5.14 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.14 changes. A detector's past fires show as one finding per detector, on the Findings page and in the Anomaly Watch queue, instead of one per fire; one verdict is recorded on each of its fires, which still count one by one in the detector's hit rate, and every fire stays listed on the finding's page. The full list is in CHANGELOG.md.

1.5.13 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.13 fixes. Findings that are no longer seen close, each with a stated reason on its page and in every output (a detector fire that is over, an earlier stretch that is over, a check no longer screened, an Alarm Health alarm quiet for four weeks); a finding whose span has ended is priced only to its end. Live findings stay open. The full list is in CHANGELOG.md.

1.5.12 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.12 fixes. Ask Artekis to fill this in is no longer refused as off-topic: the Setup page sends one of two fixed requests, and only those overrule an off-topic scope check (a sensitive question is still refused). The What this page is for box's Hide button reads Hide from the start and keeps its own width. The full list is in CHANGELOG.md.

1.5.11 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.11 adds and fixes. Every full Artekis page opens with a What this page is for box. The Anomaly Watch screen lists every kind of anomaly (slow trends, off-setpoint and per-run findings were missing) through a Show list. On Anomaly Watch setup, Ask Artekis to fill this in sends Ask the setup request, and Ask may suggest a signal for a machine that needs a choice, for a person to check. The full list is in CHANGELOG.md.

1.5.10 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.10 fixes. The Findings list and a finding's page no longer take 15 to 55 seconds where costs are mapped: shape reads page on UTC days and keep a finished day for 15 minutes, so a repeat view reads only today and the window's partial first day. Prices, Ask's downtime tool and the watches see a correction on an earlier day within 15 minutes; contextModel.readShape always reads live. The full list is in CHANGELOG.md.

1.5.9 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no; new optional setpoint and tolerance fields on a measurement tag.

What 1.5.9 adds. Anomaly Watch compares a reading with its setpoint: a finding when the share of running time outside the setpoint band rises, or the reading sits off its setpoint, judged per part against its own baseline; a setpoint that moved with the reading following files nothing. Ask's downtime tool prices stops at each asset's cost per minute down, ranks the costliest causes and never prices planned periods. The full list is in CHANGELOG.md.

1.5.8 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.8 fixes and adds. A stale alarm is aged from the first activation after its last clear, so an alarm re-raised by gateway restarts (or shelved) while it never cleared keeps its stale finding open with its true age. A nuisance alarm finding names what changed on the alarm's equipment just before it started coming in more often (an audit-log write, or a setting step in the tag history when there is no audit record), with before and after counts over weekday-aligned spans, and never claims the change caused it. A slow climb (trend) that falls back to its old level after a repair closes within about a day, with a note giving the level it returned to. The full list is in CHANGELOG.md.

1.5.7 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.7 fixes. Ask's downtime tool now returns the groups past its 50-group cap summed per asset, so an answer accounts for every minute instead of saying part of the downtime could not be broken out. A finding filed before its asset was known (Alarm Health rows from before it named assets) takes the asset when it is seen again, so it shows up under its machine. The full list is in CHANGELOG.md.

1.5.6 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.6 fixes. Calls to Anthropic now stream, so a long answer no longer dies on a network or firewall that drops a connection left quiet for a few seconds; a dead connection is noticed within 60 s and retried. A writer call that still times out costs one batch of candidates, not the whole run, and Alarm Health writes 6 candidates per call. A trend or drift that stops being seen resolves again; the Perspective session message goes out only when a finding is new, resolved or worse; pump findings name a cause, prevention and a scored confidence; Ask offers only tools that can answer. The full list is in CHANGELOG.md.

1.5.5 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.5 fixes and adds. Pumps are judged run by run: for an asset with a run signal and flow and current readings, each run is cut at the run signal's edges and its medians compared with the pump's own earlier runs and its twins, so a worn impeller (less flow per amp while the twin is unchanged) and ragging (current up and flow down over several runs) are found even when a pump runs only a minute or two per cycle. No Alarm Health candidate vanishes: one the writer leaves out is stored with the analyzer's own text or recorded with its reason. A trend continues only a trend running the same way, takes over the drift row it replaces, and a continued finding states its whole episode. The full list is in CHANGELOG.md.

1.5.4 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

What 1.5.4 fixes and adds. Alarm Health flags an alarm too frequent to act on (more than 24 activations a day, or 10 or more in one hour) even when it neither chatters nor is fleeting, such as a high level reached on every pump cycle; it proposes no change for those, since a person must decide the setpoint or purpose. Anomaly Watch treats a tag that rests at exactly 0 for at least half its baseline (rain, an idle pump's flow) as event-driven: resting at 0 is not stuck, and a spell above rest that returns to 0 is its event, while a reading that creeps above 0 and stays is still filed. Quality flapping and rate swings that come back on a tag within 72 hours are one finding. Trend findings are titled by their rate and start. The full list is in CHANGELOG.md.

1.5.3 — 2026-11-06

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. Anomaly Watch's new trend check runs wherever drift is checked (turn it off with params.trend: false); Gateway Health adds the finding family unwatched (and lists no-cost, a watched collection with no cost mapping, in its coverage KPIs only: a setup task, not a finding).

What 1.5.3 fixes and adds. A slow drift is found by a trend check (12-hour medians over 28 days, a steady slope well beyond the reading's normal day-to-day spread), so a drift no longer hides in the baseline it drags along: "DCM-205 hydraulic oil temperature rising about 0.94 °F a day since Oct 16", with a forecast to its limit where the model sets one. One outage on an asset is one finding, a drift that returns with its part is one episode, and Alarm Health keeps a finding open while it is still true (a standing alarm, or a week with no activations to judge by). Findings name the change a person made on the same equipment just before they began (audit log). Titles use the plant's tag names and local time, alarm findings carry their asset, and Gateway Health says which equipment nothing watches and which areas cannot show costs. The full list is in CHANGELOG.md.

1.5.2 — 2026-11-05

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. A drift detector proposed by 1.5.2 exports a different tag import (its tag carries the window average, its alarm is AboveValue/BelowValue with a deadband, and arm helpers hold the run and changeover signals over the window); a detector imported before 1.5.2 keeps working and still reads applied. Re-confirm its finding, or re-import, to get the new shape.

What 1.5.2 fixes and adds. One drift is one alarm: a drift detector stays fired until its average is back past the line by one normal spread, and a wash or a stop pauses it instead of ending it. A drift alarm counts only a window the asset spent running with no changeover, so wash readings never reach it. Anomaly Watch takes baselineGapDays, so a daily run sees a slow drift its baseline would otherwise absorb. Findings read in plant words (subject, playbook, the distance from normal in the reading's own units), uncosted findings list worst first, and charts leave out readings from another operating state. The full list is in CHANGELOG.md.

1.5.1 — 2026-11-05

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. A drift detector's tag import now carries a helper tag; a drift detector imported before 1.5.1 reads proposed until its new import replaces it (Artekis evaluates it meanwhile).

What 1.5.1 fixes. A drift detector judges the rolling average its rule names ("the 180-min average of the value is above X") in its backtest, in screening and in its Ignition alarm, which now reads a helper tag holding that average (section 8.5); before, every single reading had to clear the line for the whole window, so a real drift could score no fires. And one issue stays one finding even when two runs computed its fingerprint differently: a run finds the finding by its fingerprint, else by the same playbook, collection and candidate. The full list is in CHANGELOG.md.

1.5.0 — 2026-11-05

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no — MES Watch is a new template, mes-watch@1; no existing template changed major.
  3. Configuration format change: no breaking change; new optional fields only (MES Watch's playbook params).

What 1.5.0 adds. MES Watch (section 8.6): a scheduled playbook over the plant's own MES data (state periods, counts, measurements and checks) that files stop-rate patterns by product, shift and hour, planned stops that run long on one shift, slow-running stretches, waste after planned stops, weeks of failing checks, measurement drift, and readings that move with an asset's stops. Every finding carries its effect size and is costed in money from when its pattern began, and a collection with costs ranks its findings by money. A finding a person marks Real issue re-fires as a saved rule with no model call. A finding that comes back after a run resolved it reopens its own row for every playbook, announced again as new. Also: a drift's proposed detector uses the baseline the finding was filed against; data-health findings carry no cost; the Ask heading and the Anomaly Watch Setup subtitle use plant names; every one-line input is one height. The full list is in CHANGELOG.md.

1.4.0 — 2026-11-04

  1. Schema step: no — the schema is v1; only the wording of the artekis_run.answer_json column comment changes, and a database on the frozen v1 DDL needs nothing applied.
  2. Playbook template major bump: no — interview sessions are recorded under the reserved context-model-interview@1, which no playbook runs.
  3. Configuration format change: no breaking change. One new optional policy key, security.interviewSecurityLevel (default Authenticated); provenance.lastInterview is accepted in a context model.

What 1.4.0 adds. The AI interview (section 7.10): short sessions that fill the gaps in a collection's context model by asking the people who run the equipment. Engineers are asked units, normal ranges, limits and relations; operators what happens when an asset goes wrong and what they check first. The model drafts the answers as operating rules or as a unit, range or limit on a tag, and nothing is saved until an admin confirms the drafts. A session costs at most $0.10 and is refused under aiCutoff. It runs from the new Artekis/Interview page, the context-model editor's Interview panel, system.artekis.contextModel.interview* and the /data/artekis/web/interview/* routes. The full list is in CHANGELOG.md.

1.3.0 — 2026-11-04

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no breaking change. New optional fields only: the context model's shapes, costs and ask blocks, new playbook params (Ask's mes* limits, Gateway Health's project scope, Anomaly Watch's settings), the views-pack site settings, and the policy's read.scriptSources.
  4. Behaviour change for scripts: an Ask playbook is no longer started by system.artekis.runPlaybook or an event; call system.artekis.ask (section 10).

What 1.3.0 adds. Artekis reads MES data in SQL: four standard data shapes (stops, counts, measurements, checks) through named queries, paged past the row cap, with a cost per finding from the collection's rates for minutes down and scrapped parts, priced from when a finding began. Ask has tools for downtime and named queries, stays on topic (a scope check, sensitive categories opened per collection with a picked security level, a refusal log), suggests three questions, reads an asset's documents first, and gets 12 lookups a question by default and 16 on MES collections. Anomaly Watch screens SQL series, flags readings outside the context model's limits, and keeps resolved anomalies out of later baselines. Alarm Health reports alarms that trip on every restart; Gateway Health can be scoped to projects. Findings and their pages speak plant words, a long drift's chart shows where it began, related findings group into one, and the views pack keeps a site's settings on re-install and fits phones and laptops. The full list is in CHANGELOG.md.

1.2.5 — 2026-11-02

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. New optional parameter only: handlerToParent on the views-pack install route.

Fixes after 1.2.4. Two detectors firing in the same minute on one tag no longer fail every Anomaly Watch run: the fires are one finding naming both, and a proposal duplicating an existing detector's rule writes nothing. The named_query tool returns database times as stored, so a plant-time value no longer reads five or six hours off, and a refused tool call keeps why it was refused. A project that takes its session events from a parent can have the finding handler added to that parent from the Status page. Gateway Health leaves the ten minutes after a gateway start out of its log-burst count and explains a restart's Store and Forward quarantine. The views read better: trend limit labels split left and right, larger axis text, phone-width time ticks, plain Recent questions, a 44 px close button and short playbook names. The full list is in CHANGELOG.md.

1.2.4 — 2026-11-02

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

Ask agrees with the screen. One asset can sit in a broad collection and a narrow one, and its findings are filed under whichever playbook found them; Ask now lists an asset's live findings from every collection that holds it, so asking about a press from the plant-wide collection shows the same open findings as the Findings page. Every entry in an answer's Sources list now says what it points at — the tool and what it read, the document's file and page, or the finding's title — where a signed-in user used to see a blank column. The full list is in CHANGELOG.md.

1.2.3 — 2026-11-01

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no. New optional keys only: a playbook's budget.candidatesPerCall (default 12) and an event's playbook.

The fixes from the Whitfield demo plant. Anomaly Watch no longer re-files the same anomaly on every run or closes anomalies a run never looked at, so verdicts and notes stay on their row and a manual run over an old stretch is safe. An ongoing drift stays one open finding until the value returns near the baseline it was filed against, and a product with no baseline of its own is no longer read as a drift. Every time a person reads is in plant time (Nov 1, 9:20 AM). Ask sees the finding it is asked about and every stored finding, cites the calls it made, keeps sign-ins out of the audit-log tool, and names the reads it never made. Anomaly Watch and Alarm Health call the writer in batches, a trigger can name one playbook, anomaly titles read in plant words, and Incident cites documents by file and page. A failed Incident analysis keeps the last good cause (new tag LastFailedAt). The views pack carries what Whitfield patched by hand — evidence as sentences, a trend's alarm limits as dashed lines, Findings opening on Open with a phone layout, the asset's name on the Incident card, and Recent questions in the Ask panel (system.artekis.askHistory) — and the manual now agrees with the module at install time. The full list is in CHANGELOG.md.

1.2.2 — 2026-10-29

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

An imported detector keeps firing on a gateway with no alarm journal. Once a detector is imported, Anomaly Watch reads its fires from the alarm journal and stops checking its rule. Where no journal can be read — no alarm journal profile on the gateway, or no journal source wired — the detector's fires and hit rate used to stop with no sign beyond the run's KPIs. Now Artekis keeps checking the detector's rule itself, as before the import: the run's KPIs list those detectors (journalFires.ruleFallback), detectors.list and GET /web/detectors give each detector firesFrom (journal or module) with the note as firesNote, and the Detector view shows "No alarm journal: fires come from Artekis's own check" (section 8.5).

1.2.1 — 2026-10-25

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

UDT types that inherit from a parent type. Alarm Health, the reach of a type change, coverage and the context-model draft now read the parent types a UDT type inherits from (Ignition merges nothing of a parent into a read of the child): a parameter the child does not set takes the parent's default, a member or alarm defined only in the parent is found, a proposed change lands on the type that defines the alarm (the parent, unless the child or the instance overrides it), a change on a parent type counts the child types' instances, and the draft lists the members a child type inherits with their units and alarms. A chain that names a type twice is read as having no parent.

1.2.0 — 2026-10-25

  1. Schema step: no — the schema is v1, unchanged.
  2. Playbook template major bump: no — no existing template changes; new template anomaly-watch@1.
  3. Configuration format change: yes — new optional context-model keys assets[].state and assets[].detectors (section 7.5); configuration saved by 1.0.x loads unchanged and nothing needs re-entering.

Anomaly Watch (section 8.5): screening of process measurements against per-state baselines with five checks and a data-health pass whose findings join the Gateway Health email; anomalies stored as events with verdicts; a confirmed anomaly proposes a detector scored against history, downloadable as an Ignition tag import, whose fires come from the alarm journal once imported. New views Artekis/AnomalyWatch/Queue, Detector and Setup (section 10); Ask can draft the setup; new functions system.artekis.detectors.* and system.artekis.anomaly.*, routes and the anomaly_setup_draft tool (section 11); getFindings filters by family. The licence covers Anomaly Watch.

1.0.1 — 2026-10-16

  1. Schema step: no — the schema is v1.
  2. Playbook template major bump: no.
  3. Configuration format change: no.

The licence agreement (section 5) names Artek, LLC as the licensor, matching the signing certificate; nothing else in it changed, but its hash did: a scripted install or upgrade records licenseAgreementHash 4274987724 (was 52611452) in modules.json (section 3, step 1), or the gateway waits at /welcome for the agreement to be accepted. Free text Artekis reads or keeps — gateway log lines and connection faults from the grounding tools and Gateway Health, model error details, kept egress prompts, uploaded document text, and error messages — now also has the exact value of every configured provider API key masked, not only text with a secret word beside it, so a key written by a raised HTTP logger as a separate header field no longer reaches the model.

1.0.0 — 2026-10-14

  1. Schema step: no — the schema is v1. A fresh install applies the v1 DDL (Appendix A; GET /data/artekis/ddl); a database already on the frozen v1 DDL needs nothing.
  2. Playbook template major bump: no — alarm-health@1, gateway-health@1, incident@1, ask@1.
  3. Configuration format change: optional keys only — an incident@1 playbook may carry params.windowMinutes (default 30 minutes), and an openai-compatible provider may carry reasoningEffort (default off); configuration without them loads unchanged. Nothing needs re-entering.

First release under the Artek, LLC certificate (SHA-1 99e472815b3417abab93e1c744c76699c73375d2), issued by the Artek root "Certificate Authority"; the gateway lists the vendor as "Artek, LLC" and asks to accept the certificate once on install. Version numbering starts here. Alarm Health, Gateway Health, Incident and Ask on a context model — everything this manual describes. The licence agreement (section 5) is shown by the gateway at install, and a scripted install must record its hash, 52611452, as licenseAgreementHash in modules.json (section 3, step 1). Log text is secret-scrubbed: a cookie, session id or very long URL-like run in a log line is masked or bounded. The named_query grounding tool refuses a named query that declares a QueryString or Database parameter (a value there would be SQL text or a connection choice, not a bound value), naming the parameter in a policy refusal; queries whose every parameter is a plain bound value run. The shared core is artek-core v0.1.3. A gateway on an older build: section 4, "Upgrading from an older build".