# Progress Status of each manual and each practiced task. Update this file as work proceeds. **Manual status:** not started · summarized · in practice · done **Task status:** not practiced · practiced, awaiting confirmation · passed · not completed (see notes) **Sample column:** whether the task has been re-tested on **CI-Eng-Sample**: n/a (needs no project data) · pending (tested on AID only) · added (sample content built) · passed A task is **done** only when Status is *passed* and Sample is *passed* or *n/a*. Then AID is no longer needed to repeat it. ## Test system Practice notes refer to the repo author's **development test system**, not to anything shipped with this repo: - CI Server R1.03.00, unlicensed, on the development machine. - **AID** (e.g. `AID.WRPS.SIM.INFLOW`) is the author's own test project on that machine. It is not in this repo and other systems will not have it. Item names here are evidence of what was tested, not names to use elsewhere. - Communication stations seen there (`WRPS_PLC`, `MODSIM_STATION`, `STN_MQTT`) belong to AID. Tasks may be practiced first on AID, but everything they need is then added to the sample project **CI-Eng-Sample** (`examples/CI-Eng-Sample/`) and re-tested there, so that in the end AID is not needed. ## Manuals, in working order | Phase | Manual | Title | Status | |---|---|---|---| | 0 | IM 36K01A50 | Release Information | summarized ([notes](manuals/IM36K01A50-01EN.md)) | | 1 | IM 36K10J10 | System Design/Management | done except migration (not practiced; needs a second system) and debugging tools; skill `system-management` ([notes](manuals/IM36K10J10-01EN.md)) | | 2 | IM 36K01C10 | CI Server Setup | summarized ([notes](manuals/IM36K01C10-01EN.md)); skill `installation-security` | | 2 | IM 36K01C30 | Security Guide | summarized ([notes](manuals/IM36K01C30-01EN.md)); skill `installation-security` | | 3 | IM 36K10G10 | Tutorial | summarized ([notes](manuals/IM36K10G10-01EN.md)); command-line equivalents practiced on CI-Eng-Sample | | 4 | IM 36K10R10 | CI Portal Setup | done except separate CI Portal node (needs a second node); skill `portal-setup` ([notes](manuals/IM36K10R10-01EN.md)) | | 4 | IM 36K10R20 | Setup File Editor | done; Templates tab and Undo Field not explored ([notes](manuals/IM36K10R20-01EN.md), ISS-016) | | 5 | IM 36K10C10 | Engineering Module - I/O Processes | summarized ([notes](manuals/IM36K10C10-01EN.md)); default datasets checked read-only | | 5 | IM 36K10L40 | EQUIPMENT Service - Utilities | summarized ([notes](manuals/IM36K10L40-01EN.md)); `eqpdbg` main info run read-only | | 5 | IM 36K10L41 | EQUIPMENT Service - Configuration | summarized ([notes](manuals/IM36K10L41-01EN.md)); general + Modbus in detail, other drivers as a table | | 5 | IM 36K10L35 | ITEM Service - ITH | summarized ([notes](manuals/IM36K10L35-01EN.md)); installed processes and setup files checked | | 5 | IM 36K10L36 | ITEM Service - ITM | summarized ([notes](manuals/IM36K10L36-01EN.md)); `itmdbg` statistics run; `itmval -f` crashes (ISS-022) | | 6 | IM 36K10L10 | Class/Object Engineering | done; `opc.sup` read-only, `opcdbg` read-only actions and Reset class practiced ([notes](manuals/IM36K10L10-01EN.md)); skill `class-object-engineering` | | 6 | IM 36K10P10 | Class Description Language - Traditional | done for prompts, signals, created items, transitional operators, PRINT/ERROR; timers, alarms, containment, STEP, DSS routines, AGA from docs ([notes](manuals/IM36K10P10-01EN.md)) | | 6 | IM 36K10P11 | Class Description Language - Java | done for a basic class (attach/create items, signal trigger, systemMessage); timers, containment, inheritance from docs ([notes](manuals/IM36K10P11-01EN.md)) | | 7 | IM 36K10L55 | Exchange Tool Engineering | summarized, from docs only (needs CENTUM VP / RGS or Prodigy) ([notes](manuals/IM36K10L55-01EN.md)) | | 7 | IM 36K10L30 | BUS Service | done for single-node checks; MDUR, encryption, logical addresses, printer devices from docs ([notes](manuals/IM36K10L30-01EN.md)); task `system-management/bus-utilities.md` | | 7 | IM 36K10L45 | Data Access Engineering | done for OPC UA client/server (loopback); OPC DA/A&E from docs (DA loopback not allowed); ODBC not running (ISS-008) ([notes](manuals/IM36K10L45-01EN.md)); skill `data-access` | | 7 | IM 36K10E20 | OPC Interface | summarized; OPC UA point form compared with quick load by the user ([notes](manuals/IM36K10E20-01EN.md)) | | 8 | IM 36K10L15 | Alarm Management Engineering | done for item-based alarms (ack type, AOI, ASA, events, acknowledge, delay/repeat, `almdbg`/`alhdbg`); first-out, collections, notifications, shelving, acoustic/count destinations from docs ([notes](manuals/IM36K10L15-01EN.md)); skill `alarm-management` | | 8 | IM 36K10C20 | Engineering Module - Alarms | done by quick load for item alarm fields, ack types, AOI, ASA; forms, overviews, shelving, link display, notifications, external/Vnet alarms from docs ([notes](manuals/IM36K10C20-01EN.md)) | | 8 | IM 36K10E30 | Alarm System Performance Analysis | summarized, from docs (ASPA GUI not practiced; launcher and fetch limits checked) ([notes](manuals/IM36K10E30-01EN.md)) | | 9 | IM 36K10L20 | History Management Engineering | done for `hisdbg` checks, files and rollover; archive and repair utilities from docs ([notes](manuals/IM36K10L20-01EN.md)); skill `history-management` | | 9 | IM 36K10C40 | Engineering Module - Historical | done by quick load for Event/Item, Scan/Time and Aggregation groups (aggregation needs a higher-priority source group, ISS-040); archive from docs ([notes](manuals/IM36K10C40-01EN.md)) | | 10 | IM 36K10R30 | Graphic Display Setup | done for HTML display, folders and layouts (phase 10b: desktop and web); dataset forms, form language, dual screen from docs ([notes](manuals/IM36K10R30-01EN.md)); skill `graphics` | | 10 | IM 36K10C50 | Edit Module | done for one display (built by the user) and `jwuiutl` validate/search/export; other components, symbols, actions from docs ([notes](manuals/IM36K10C50-01EN.md)) | | 10 | IM 36K10C60 | Advanced Operating Graphics | summarized, from docs (AOG displays checked read-only) ([notes](manuals/IM36K10C60-01EN.md)) | | 11 | IM 36K10L50 | Data Set Service Engineering | done for DSS processes, `dss.sup`, quick load directives (macro, include, memo from file), `dssutl` read; `dssana.sup` covered by skill `authorization` ([notes](manuals/IM36K10L50-01EN.md)); task `system-management/dss-tools.md` | | 11 | IM 36K10P30 | Data Set Service Language | summarized; compiler used as syntax check on a copy (no dictionary change) ([notes](manuals/IM36K10P30-01EN.md)) | | 11 | IM 36K10P20 | Report Generation Language | done for queries, layout, cursors/loops, functions, SPOOL/CSV, HTML; SEND/RECEIVE, BREAK, INCLUDE, FLAG PAGE from docs ([notes](manuals/IM36K10P20-01EN.md)); skill `reporting` | | 11 | IM 36K10R40 | Report Server Setup | done for processes, set-up files, interactive generator, `rptstp`; extra generators, separate RPI servers, custom destinations from docs ([notes](manuals/IM36K10R40-01EN.md)) | | 11 | IM 36K10C30 | Engineering Module - Reporting | done by quick load for report definitions (ad hoc + parameters, schedule, item trigger, HTML, logbook), generated reports and a file device/destination; Engineering Module forms, generate and view checked by the user; report component in displays and hardcopy printers from docs ([notes](manuals/IM36K10C30-01EN.md)) | | 11 | IM 36K10E10 | Excel Add-in | summarized, from docs (Excel not installed on the test system) ([notes](manuals/IM36K10E10-01EN.md)) | | 12 | IM 36K10L25 | Audit Trail Management | done for processes, classifiers, `AUDIT_TRAIL` reading/export, audit report, selection groups, `ADTLOG` (default and filtered); distributor, extra collectors, classifier extension in C and operator-side `ITEM.*` events from docs ([notes](manuals/IM36K10L25-01EN.md)); skill `audit-trail` | | 13 | IM 36K10J20 | High Availability Computing | not started (needs two servers) | | 13 | IM 36K10J40 | Active Directory Integration | not started (needs a domain) | | — | IM 36K01A10 / A20 / A30 | Read Me First, License, OSS terms | skipped (no engineering content) | Order change after reading IM 36K10J10: its migration procedure (§5.6) shows the dependency chain *communication lines/stations/points → installations/units → items (template items first) → storage groups → classes → objects → reports*. So acquisition and items (phase 5) now come before classes and objects (phase 6), and the other interfaces follow as phase 7. ## Tasks | Manual | Task | Status | Sample | Notes | |---|---|---|---|---| | J10 | System check: version, paths, running state, time sync ([skill](../.claude/skills/system-check/SKILL.md)) | passed | n/a | Started CI Service elevated; live version R1.03.00; node UNLICENCED (expected). | | J10 | Time sync check (`w32tm`); DURUTL configuration (`durutl.sup`) | passed (check); configuration not practiced | n/a | `w32tm` check verified in system-check. `durutl.sup` has no active settings (single node, not a time master); configuring DURUTL needs a second node, so not practiced. | | J10 | Export a dataset with `dssqld` ([task](../.claude/skills/system-management/tasks/export-dataset.md)) | passed | n/a | Filtered export (`@SELECT`) passed ([ISS-003](issues.md), closed). | | J10 | Import and delete dataset records with `dssqld` (`-i`, `-r`) ([task](../.claude/skills/system-management/tasks/load-remove-records.md)) | passed | passed | Built CI-Eng-Sample: 3 sections + 4 items imported, removed and re-imported with 0 errors. 2026-09-30 later: `-m` (update, used to set a storage group stop time) and loading/removing storage groups passed; see [ISS-005](issues.md). | | J10 | Read an item with `itmval -g` ([task](../.claude/skills/system-management/tasks/read-write-item.md)) | passed | passed | Read `AID.WRPS.*` items. `-a 1..5` gave `ITM-E-WRONG_ATT` on an item without limits; works on items with limits ([ISS-004](issues.md), closed). | | J10 | Write an item with `itmval -p` ([task](../.claude/skills/system-management/tasks/read-write-item.md)) | passed | passed | Sample: `TANK1.INFLOW` 120.5 then 130 with `-s 9`, `PUMP1.RUNNING` 1 (status 5 BOOLEAN 1); no `uoff` flag. AID: `AID.WRPS.SIM.INFLOW` 419.76 → 400 → 419.76. After the first write the item's options gained the `uoff` flag (0x8a → 0x8e) = *updated offline*, option bit 4 (written while its station was offline). See [ISS-001](issues.md), closed. | | J10 | Read the message log (`tls\log\umhlog.log`) | passed | n/a | | | J10 | Per-component version list (`tls\lst\tls_versions.lst`) | passed | n/a | | | J10 | Load history from CSV with `ithloahis`; read history back with `dssqld` ([task](../.claude/skills/system-management/tasks/load-history.md)) | passed | passed | Sample storage group `CIENG_EVENT` (Event/Item). SCAN file (LEVEL 61–63, INFLOW 101–103) and EVENT file (LEVEL 47, 48) stored and read back via `ITEM_HISTORY`. New groups need a CI Server restart before they store; samples dated before the current storage unit were not stored ([ISS-006](issues.md)). | | J10 | Consistency check (`dsschk`, `ismchk`) ([task](../.claude/skills/system-management/tasks/consistency-check.md)) | passed (check); repair and `ismchk` not practiced | n/a | `dsschk -e -v` (check only) reports each of 228 datasets, no problems. Plain `dsschk` prints nothing on a single node. `ismchk` needs a database file name; not run ([ISS-002](issues.md), closed). | | J10 | Monitoring processes (`intmon`, `intcpumon`, `intdskmon`, `inttcpmon`, `intspawn`) ([task](../.claude/skills/system-management/tasks/monitoring-processes.md)) | passed | passed | All five worked into `CI-Eng-Sample.SYSTEM.*` / `PUMP1.MODE`, started by hand with ` -n `; setup files restored afterwards. `intdskmon` reports **used** %; `intspawn` command path must be short ([ISS-007](issues.md)). | | J10 | Backup of `tls` folders | not practiced | n/a | Plan only; the actual backup tool is site-specific. | | J10 | Migration between systems (§5.6) | not practiced | added | After phase 6 CI-Eng-Sample has every data kind in the chain up to classes/objects (items, points, storage groups, classes, objects). Export with `dssqld -e` works; the import into a second system is not practiced (no second system). | | J10 | Tuning checks (read-only) ([task](../.claude/skills/system-management/tasks/tuning-checks.md)) | passed | n/a | Read `dur.sup` (max processes 250), `itm.sup` (item pool 650,000 KB) and the automatic health snapshots `tls\log\smd_*.log` (common memory free, queue use per process, lock collisions). Debug launchers and interactive debuggers not practiced. | | C10/C30 | Setup check script `tools/setup_check.ps1` ([task](../.claude/skills/installation-security/tasks/setup-check.md)) | passed | n/a | Read-only; 16 OK / 5 CHECK / 15 DIFF on the Win10 Pro test PC (kept as dev PC by decision). | | C10 | Read `ci_start.log` and web ports (`jwuiisg.sup`) | passed | n/a | All services started; SSL error [ISS-008](issues.md). | | C10 | Start / stop CI Server | passed (phase 1) | n/a | Via the CI Service (elevated). Start-menu shortcuts not used. | | C10 | New install, reinstall, upgrade, uninstall, licence | not practiced | n/a | Would reinstall or change the test system; only the installed R1.03 is available. Skipped. | | C10 | Windows settings changes (power, virtual memory, Defender, updates, …) | not practiced | n/a | Test PC kept as a development PC (user decision 2026-09-30); not applied. | | C10 | Vnet/IP drivers / Vnet/IP Interface Package | not practiced | n/a | No Vnet/IP card; not supported on Windows 10 Pro. | | C30 | IT Security Tool, Domain Link Management, account utilities | not practiced | n/a | Not installed and not supported on Windows 10 Pro. | | G10 | Sub-items: Integrator, Min-Max (`SUB_ITEM_DF`) ([task](../.claude/skills/item-engineering/tasks/sub-items.md)) | passed | passed | Integrator adds value × seconds; `TIME_UNIT` ignored. | | G10 | Block / unblock an item (`ITEM_DF.BLOCKED` via `dssqld -m`); write with `itmval -o` ([task](../.claude/skills/item-engineering/tasks/block-item.md)) | passed | passed | `blk` flag, writes without `-o` silently ignored; `ublk` (*updated blocked*) after unblock ([ISS-001](issues.md), closed). | | G10 | Trigger group, class (compile on load), object via quick load ([task](../.claude/skills/class-object-engineering/tasks/load-class-object.md)) | passed | passed | `DEMO.COUNTER` counts every second; full remove/load cycle clean. Phase 6: three classes and objects in one remove/load cycle, 0 errors. A class that fails to compile is not inserted (`DSI-E-OPCCOMERR`); error lines appear in `LISTING` after insert with `COMPILE` 0 and a compile update (test class removed). | | P10/L10 | Traditional class with prompt/attribute, signal from `SECTION`, item created from a template, `ERROR` check, `>=:`, PRINT; attribute change via `OBJECT_ATTR_VAL` ([task](../.claude/skills/class-object-engineering/tasks/traditional-class.md)) | passed | passed | `CIENG_TANK` / `TANK1.CALC`: volume 50→100, 82→164; capacity 0 refused; capacity 200→400 took effect on next run; created item and section deleted with the object. `%` in PRINT cuts the message (ISS-025). | | P11 | Java class ([task](../.claude/skills/class-object-engineering/tasks/java-class.md)) | passed | passed | `CIENG_JFLOW` / `TANK1.JFLOW`: inflow 120→2, 90→1.5, `systemMessage` in `umhlog.log` from `OPCJEXE`. Created item keeps the identifier's case (`…JFLOW.sPerMin`). Worked without a class reset (ISS-029). | | L10 | Change a class with objects: compile + reset ([task](../.claude/skills/class-object-engineering/tasks/change-reset-class.md)) | passed | passed | Old code runs until reset (`RESET_REQUIRED` 1). `opcdbg` Reset class works (extra prompt for a report file); `dssqld` `CLASS_DF.RESET` does nothing, `OBJECT_DF.RESET` refused (ISS-028). | | L10 | `opcdbg` read-only checks ([task](../.claude/skills/class-object-engineering/tasks/opcdbg-checks.md)) | passed | passed | Database check (one never-compiled foreign class `SINUS`), get class/object, object status/signals/attributes, executor main info. Dumps are not `dssqld`-readable (ISS-027). | | G10/C10 | Authorization group and user creation ([task](../.claude/skills/authorization/tasks/users-groups.md)) | passed | passed | Group `CIENG_VIEWER` (sample file `08_auth_group_df.qli`) loaded/removed by Claude; test user `CIENG_TEST` (no password) loaded by the user, checked and removed. The sample creates no users. | | C10 | String items: length 1–200, holds length − 1 characters ([task](../.claude/skills/item-engineering/tasks/string-items.md)) | passed | passed | Tested with temporary `CI-Eng-Sample.DEMO.STR*` items (removed): 201 rejected; too-long writes cut, status 12 OVERRANGED ([ISS-019](issues.md)). | | C10 | Integrator time unit: integration granule `itm_int_secs` in `itm.sup` ([task](../.claude/skills/item-engineering/tasks/sub-items.md)) | passed | passed | 60 → `RUN_SECONDS` +1 per minute; restored to 1 (file identical to backup), +1 per second again ([ISS-010](issues.md)). Elevated restarts run by the user. | | G10 | Displays, symbols, Operator Interface test | display done (phase 10); symbols not practiced | display added | Display `CIENG_Tank` built in the Edit Module and checked in the HTML display. | | L41/C10 | Modbus TCP line, station, scan type, points, connected items by quick load ([task](../.claude/skills/equipment/tasks/modbus-station.md)) | passed | passed | Loopback to CI Server's own Modbus slave (`eqpmdcmem` + `eqpmdcslvtcp` on 5020, started by hand). Line load created and started `EQPCIENG`; removal stopped it and deleted its files. Write/read-back, off-scan/on-scan checked; full remove/reload from sample files. Protocol must be Open Modbus/TCP ([ISS-024](issues.md)). Mirror start files copied to `tls\com` by the user; after a restart everything came back under the CI Service and the setpoint was re-sent on connect. | | G10 | Alarms, reports, audit, RDBMS, history | alarms (phase 8), history (phase 9), reports (phase 11), audit (phase 12) done; RDBMS not practiced | alarms, history, reports, audit added | Covered in their own phases (7–12). | | R10/R20 | Read a setup file: active settings and keyword help ([task](../.claude/skills/portal-setup/tasks/read-setup-file.md)) | passed | n/a | Read-only. Compared with the Setup File Editor GUI for `wfla_display.sup`, `wflgdi.sup` and all 9 tabs of `jwuiisg.sup`: fields and values identical. Manual differences logged as ISS-012 to ISS-017 (installed software taken as the reference). | | R10 | Check web access for CI View: ports, Remote Connect page, `DEPLOY` folder ([task](../.claude/skills/portal-setup/tasks/check-web-access.md)) | passed | n/a | 8080/8443 listening, page 200, six `DEPLOY` folders. | | R10/R20 | Change a setup file safely ([task](../.claude/skills/portal-setup/tasks/change-setup-file.md)) | passed | n/a | `jwuiisg.sup` HTTP port 8080 → 8081 (text edit, elevated restart): 8081 served the page, 8080 refused; restored, hash identical to backup. Editor: *OK* writes at once, *Reset Field* restores the default (ISS-016). | | R10 | Separate CI Portal node (licence, DURM line, `dur.sup` host node, copy displays) | not practiced | n/a | Needs a second node. | | R10 | Login method / login control | not practiced | n/a | Moved to `dssana.sup` (ISS-017); phase 5 (C10) and 13 (J40). | | L45/E20 | OPC UA client → own OPC UA server loopback by quick load; certificate exchange; node IDs ([task](../.claude/skills/data-access/tasks/opcua-client.md)) | passed | passed | Station `CIENG_UA` (`opc.tcp://localhost:34493`, Basic256Sha256/SignAndEncrypt): `UA.LEVEL_COPY` follows `TANK1.LEVEL` (55, 62.5, 71, 33, 44.4), `UA.SRV_STATE` 0. Certificates trusted by the user (client side, then server side). Entity namespace `urn:Yokogawa:CI_SERVER_OPC_UA_SERVER` found by browsing `OPCUAC_TAG_DF` (ISS-032). Full remove/reload clean, reconnects without a new exchange. User configured a point in the Engineering Module: browse stores the item object, value node must be typed (ISS-033); test item/point removed afterwards. | | L45 | ACCESS read-only checks: processes, ports, OPC UA server config/PKI, ODBC server ([task](../.claude/skills/data-access/tasks/access-checks.md)) | passed | n/a | ISS-008 cause found: `odbsrv` cannot load its SSL certificate (folder `tls\pki\odbsrv` missing) and exits. | | L30 | BUS utilities: `durwfp`, setup files (`dur.sup`, `durm_1_udp.sup`, `time_table.sup`, `fmfprt.sup`) ([task](../.claude/skills/system-management/tasks/bus-utilities.md)) | passed (read-only) | n/a | `umhman`, `umhtestprog`, `umhmsg` fail (ISS-030). Unlicensed run-time limit hit and documented (ISS-031). | | L30 | MDUR node links, encryption, logical addresses, printer devices | not practiced | n/a | Single node, no printer devices. | | L55 | CI Exchange for CENTUM VP / Prodigy | not practiced | n/a | Needs CENTUM VP (RGS, Vnet/IP) or Prodigy data. | | L15/C20 | Acknowledgement type, area of interest, alarm selection area by quick load; ASA compile check ([task](../.claude/skills/alarm-management/tasks/alarm-definitions.md)) | passed | passed | `CIENG_ACK` (MANUAL matrix), `CIENG_TANKS`, `CIENG_TANK1` compiled valid. Description > 78 characters refused; an ASA without spaces is stored with `VALID_EXPRESSION` 0; an ack type in use cannot be deleted. | | L15/C20 | Item alarming, test alarm, `ALARM_CURRENT` / `ALARM_CHRONO`, acknowledge via `dssqld -m` on `ALARM_CURRENT`, delay and repeat ([task](../.claude/skills/alarm-management/tasks/item-alarming.md)) | passed | passed | `TANK1.LEVEL` 85 → HIGH (Alarm 2, prio 2), 95 → HIGH HIGH; acknowledged by `NAME`/`ACK`; acknowledged return to normal cleared, unacknowledged one stayed; DELAY 5 s / REPEAT 10 s events as documented. Changing alarm fields auto-acknowledges a pending return to normal. No `ALDPRT` lines in `umhlog.log` (ISS-035). Full remove/reload clean. | | L15 | ALARM Service read-only checks: processes, setup files, `almdbg` 1/9/10/12/14, `alhdbg` 1, `ALH` storage group; INFO event with `almdbg` 16 ([task](../.claude/skills/alarm-management/tasks/alarm-checks.md)) | passed | n/a | Destinations ALH, OPXUAS, ALNMGR, ALDPRT. `alh.sup` extra keywords, `ALH` lifetime 52 weeks (ISS-036). INFO event stored; some text columns hold leftovers (ISS-037). Two extra INFO events named `name` were created by a probe with default answers. | | L15/C20 | First-out groups, alarm collections, shelving, link display, notifications, acoustic/count destinations | not practiced | n/a | Need displays (phase 10), a second alarm item design, an SMTP server or a logged-in sound session. | | C20 | External alarms (EAL) from OPC UA A&C servers and CENTUM VP | not practiced | n/a | No A&C source or Vnet/IP on the test system. | | E30 | Alarm System Performance Analysis (ASPA) | not practiced | n/a | GUI; the test system has too little alarm history for meaningful KPIs. | | C40 | Item storage groups by quick load: Event/Item, Scan/Time, Aggregation; read per group ([task](../.claude/skills/history-management/tasks/storage-groups.md)) | passed | passed | `CIENG_SCAN10S` stored LEVEL/INFLOW every 10 s after the restart; `CIENG_EVENT` stored live writes; restart needed for new groups (ISS-006, closed). `CIENG_AGG` stayed empty until the scan group got priority 10, then 30-min max 77 / min 33 / avg 52.7 (ISS-040, closed). Full remove/reload with three groups: 0 errors (before the priority field was added; `PRIORITY` itself verified with `dssqld -m`). | | L20 | `hisdbg` read-only checks and forced rollover ([task](../.claude/skills/history-management/tasks/history-checks.md)) | passed | passed | 45 groups, 30 clients; group/unit info; rollover of `CIENG_EVENT` closed unit 3,1. Extra history types 4 and 36 (ISS-039). | | L20/L35 | `ithloahis` into older units ([task](../.claude/skills/system-management/tasks/load-history.md)) | passed | passed | Samples in the active unit or a unit closed after the restart stored; older ones dropped silently (ISS-006); dropped sample became the next unit's initial value (ISS-038). | | L20/C40 | Archive and retrieve, `hasdbg`, `hisrecover`, `hiswrn`, `hisrep` by hand | not practiced | n/a | No archive device configured (`has.sup`); would change history administration. | | C50 | Build a display in the Edit Module, check the XML ([task](../.claude/skills/graphics/tasks/create-display.md)) | passed | passed | User built `CIENG_Tank` (HTML mode): text, number field, alarm overview, trend. File stores item name + id; after a sample reload (id 248 → 268) validation still passed and a new session showed live values. | | C50/R30 | Deploy/remove, `jwuiutl` HTML export, validate, search; HTML display in the browser ([task](../.claude/skills/graphics/tasks/deploy-displays.md)) | passed | passed | Scripts `displays/deploy_displays.cmd` / `remove_displays.cmd`; command-line HTML identical to the Edit Module's. Number field live in the browser; HTML trend draws no line (ISS-041). Browser page reload ends the session; the display menu *View > Reload* keeps it (user). | | R30/C50 | Operator layout `CIENG_Operator` (menu, toolbar, navigation/main/banner frames, status line) added with `layout.ps1`; navigation display `CIENG_Menu`; open displays in frames, layouts and the `popup` layout ([task](../.claude/skills/graphics/tasks/layouts.md)) | passed | passed | Desktop: second 1600 x 900 window, frame navigation and Back, popup on top and minimised with its parent, F11 within taskbar limits; the Operator Interface must be restarted after `Layouts.xml` changes; factory `default` layout unchanged for Admin. Web: `?d=CIENG_Tank&l=CIENG_Operator`. Status line/command names not in the readme (ISS-042). A stray trend property connection caused a desktop error (ISS-041 update). | | J10/C50 | Restart CI Server with the Edit Module open | observed | n/a | Start aborted: `JWUIGED` still attached to the BUS Service (`ci_start.log`); closing the Edit Module fixed it (skill `system-check`). | | R30/C50/C60 | Dataset forms, symbols, AOG library, dual screen, per-user layouts | not practiced | n/a | GUI work; user profiles not changed. | | R40/C30 | REPORT Service checks: processes, set-up files (`rptman.sup`, `rptge1.rpt`, `rptgen.rpt`), system reports, `rptstp` ([task](../.claude/skills/reporting/tasks/report-checks.md)) | passed | n/a | Read-only plus one cancel: `rptstp rptge1` stopped the endless-loop test report `CIENG_LOOP` (removed). 28 system reports; two names differ from the manual (ISS-043). | | R40/P20 | RQL in the interactive generator (`rptgen -s rptgen.rpt`), CSV with `SPOOL` ([task](../.claude/skills/reporting/tasks/rql-interactive.md)) | passed | passed | Piped query files (bash `<`, PowerShell via `cmd /c`); `@NEXT 0` needed; dates are local-time seconds; LOOP refused interactively (`RPT-E-LPNOTAL`); aggregated history empty on the test system. | | C30/P20 | Report definitions by quick load: ad hoc with parameters, daily schedule, item trigger, HTML with cursor loop, logbook; generate, read, print, delete; remove ([task](../.claude/skills/reporting/tasks/define-reports.md)) | passed | passed | `CIENG_TANK1`, `CIENG_INFLOW_HI`, `CIENG_HTML` + destination `CIENG_FILE`; full sample remove/reload 0 errors. Schedule ≥ 10 min, scheduled report not deletable until the schedule is cleared, `CORRECT_DAYLIGHT` (ISS-044); `dssqld` ad hoc without `ADHOC_DEST` logs a print error (ISS-045). User checked the Engineering Module: forms, generate dialog (item browser not filtered, ISS-048), view of text and HTML reports. | | C30 | File printer device and destination ([task](../.claude/skills/reporting/tasks/output-devices.md)) | passed | passed | Output type needs the node name (`:FILE`); literal path only (`%TLS_LST_PATH%` failed). Sample builds the file at load (`17_printer_df.ps1`). | | L50/P30 | DSS tools: processes, `dss.sup`, quick load macro/include/memo file, `dssutl` read, DSS compiler syntax check ([task](../.claude/skills/system-management/tasks/dss-tools.md)) | passed | n/a | Memo from file: absolute path ≤ 82 characters only (ISS-046). Dictionary untouched. | | C30 | Report component on a display, hardcopy printer, extra report generators | not practiced | n/a | GUI / no printer / admin restart. | | E10 | Excel Add-in (DART) | not practiced | n/a | Excel not installed on the test system. | | L25 | AUDIT Service checks: processes, `ADT` group, classifiers, selection groups ([task](../.claude/skills/audit-trail/tasks/audit-checks.md)) | passed | n/a | `adtsto` + `adtcol`; 463 classifiers, 444 stored; `ADT` lifetime 52 weeks; manual differences ISS-051. | | L25 | Read the audit trail: export, RQL, audit report, what each tool records ([task](../.claude/skills/audit-trail/tasks/read-audit-trail.md)) | passed | passed | Report `CIENG_AUDIT` (`19_audit_df.qli`); qli export needs `NAME` in `@FIELDS`; `dssqld` = `ENT-ENG-MOD`, Engineering Module = `LOC-ENG-MOD` (checked by the user); `itmval` not audited (ISS-049). | | L25 | Classifier `STORAGE`, selection groups, event logger `ADTLOG` ([task](../.claude/skills/audit-trail/tasks/configure-audit.md)) | passed | passed | Selection group `CIENG_ITEMS` compiles on load; `adtlog -n adtlogci` with sample setup file printed only CI-Eng-Sample events; storage flag cached (ISS-050); `AUDIT_INFO` effect not shown (ISS-049). Full sample remove/reload 0 errors. |