ci-server-engineer/.claude/skills/audit-trail/tasks/audit-checks.md
cliu bf7d88a027 R1.05 re-check batch 3: alarms, audit, authorization, classes, HAC, reporting, pyTOOLS
Full manual diffs (L15, C20, E30, L25, J40, C10 §2, L10, P10, P11, J20,
C30, P20, R40, E10) and read-only checks on the shared R1.05 test server.
Skills and summaries moved to R1.05; new skill pytools (IM 36K10P40) from
docs (no Python on the test server). Issues ISS-132..181; corrections to
version-differences (E10, E30, P11, dss_ath_grp_u0104); C10 summary lists
the 3 new authorization actions; r105-verification V10-V17.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:21:36 +11:00

81 lines
4.1 KiB
Markdown

---
task: Check AUDIT Service (processes, storage group ADT, classifiers, selection groups)
version: R1.05 (first written for R1.03)
source: IM 36K10L25-01EN §1.2, §2.1.1, §2.3.1, §4.1 (4th ed., Feb. 2026; text unchanged from the 3rd ed.); practiced on the test system 2026-10-01
status: verified on R1.03 (2026-10-01); verified on the R1.05 test server 2026-10-09 (read-only: processes, ADT group, classifier and selection group exports, start scripts, setup files)
---
# AUDIT Service checks
All read-only.
## 1. Processes
```
tasklist /FI "IMAGENAME eq adt*"
durwfp -p adtsto -t 0 (errorlevel 0 = running)
```
Default (`tls\com\audit_start.cmd`): `adtsto.exe` (storage, process `ADTSTO`) and `adtcol.exe`
(collector `ADTCOL01`). AUDIT Service starts after HISTORY Service and refuses to start when
`his` is not running; `ADTCOL01` exits if storage group `ADT` does not exist (first start:
`ADTSTO` creates it). `adtdst` (distributor), `adtlog` (event logger) and `adtcol02` are only in
commented lines. Stop: `audit_stop.cmd` (`durstp` on `adt*`, admin).
R1.05 (verified 2026-10-09): same two processes running, `adtlog` and `adtdst` not running
(`durwfp` 1). New in R1.05: `audit_start.cmd` ends by calling every
`%TLS_ROOT_PATH%\tls\com\?*_audit_start.cmd`, and `audit_stop.cmd` calls every
`?*_audit_stop.cmd` **before** it stops the `adt*` processes (ISS-142; same hook pattern as the
other start scripts, ISS-121). Use such a file for your own additions (e.g. a permanent
`ADTLOG`) instead of editing the product script. Not described in IM 36K10L25.
## 2. Storage group `ADT`
```
@FIELDS
NAME,LIFE_TIME,ROLLOVER_INT,START_TIME,STOP_TIME,TYPE
@SELECT
'NAME = "ADT"'
@HIS_GROUP_DF
```
`dssqld -e adt.qlo adt.qli`. History type 6 (audit). Manual default when `ADTSTO` creates it:
rollover 1 day, unit lifetime 2 days; the R1.03 test system and the R1.05 test server both had
**52 weeks** lifetime, rollover 1 day (type shown as `Audit` in the export). While storage of `ADT` is stopped, new events are refused (logged via UMH). Unit
details: skill `history-management`, `history-checks.md`.
## 3. Classifiers and selection groups
```
dssqld -e ecl.qlo -d AUDIT_EVENT_CLAS_DF
dssqld -e sgp.qlo -d AUDIT_SELGRP_DF
```
R1.03.00 test system: 463 classifiers (`BASIC_SET` 1), 444 with `STORAGE` 1. Off by default:
everything from source `COMPUTE` (PROCESS Service) on `ITEM`/`SUB-ITEM` values, status,
quality, limits and deadband, and `DATASET.NULL-ATTR.*.COMPUTE`. No selection groups exist
until you create one (the file `tls\dat\adt_sgp.dat` is created empty by `ADTSTO`).
R1.05 test server (2026-10-09): **499** classifiers, all `BASIC_SET` 1, **478** with `STORAGE` 1.
The 36 extra ones are exactly the new action and sources (ISS-141): `PENDING` on
`ITEM.VALUE` / `ITEM.STATUS` (sources `HMI`, `LOC-ENG-MOD`, `OPER-INTERFACE`, `OTHERS`,
`VIA-OPC-UAS`, `COMPUTE`), and `REST-SERVER`, `PYTOOLS`, `PASSWORD-CHECK` on `CI-SERVER` login /
logout / login attempt and `DATASET` insert / modify / delete, plus `ITEM.VALUE`, `STATUS`,
`QUALITY-CODE` `MODIFY` for `REST-SERVER` and `PYTOOLS`. Off: the same 19 `COMPUTE`
classifiers as on R1.03 plus `ITEM.VALUE.PENDING.COMPUTE` and `ITEM.STATUS.PENDING.COMPUTE`.
(463 + 36 = 499 and 19 + 2 = 21 off; the R1.03 list itself is not kept in the repo.)
No selection groups on the R1.05 test server.
Files: `%TLS_DAT_PATH%\adt_ecl.*` (classifiers), `adt_sgp.*` (selection groups); audit records
are in the history files of group `ADT` (`%TLS_HIS_PATH%`).
## 4. Setup files
Only `tls\sup\adtsys.sup` is installed (`QUESIZE = 200`, the rest commented): it is the keyword
reference and template. A process reads a setup file named after itself (`adtsto.sup`,
`adtcol01.sup`, `adtlog.sup` …) if present. Keywords: `configure-audit.md` §4 and the L25 summary.
R1.05 (2026-10-09): `adtsys.sup` / `adtsys.tpl` differ from R1.03 only by two new `E_LAYOUT`
units `APPRR` (approval reason) and `APPR` (approver) (ISS-140). `adtini.sup` differs only in
the licence lines; `fmfprt.sup` and the `AUDIT_EVENT_CLAS_DF` / `AUDIT_SELGRP_DF` dataset
definitions are identical; `dssqld.sup` still has `NO-EXPORT=AUDIT_TRAIL`.