Record phase 12 manual, progress and issues ISS-049 to ISS-051
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
cfc48a888d
commit
f1bff6dea6
4 changed files with 155 additions and 3 deletions
|
|
@ -68,3 +68,6 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
|
|||
| ISS-046 | 2026-10-01 | DATABASE (`dssqld` memo) | A memo field loaded from a file (`@"<file>"@`, IM 36K10L50 §3.10) fails with a relative name (`CRL-E-ENOENT`, the file is read on the server side) and with a long absolute path (`DSSG-E-STRBUFSMAL`, buffer 83); a short absolute path works. The manual gives no limits. | open | Documented: use inline memos, or an absolute path ≤ 82 characters. Close when the user confirms. | `.claude/skills/system-management/tasks/dss-tools.md` §2; `knowledge/manuals/IM36K10L50-01EN.md` §4 |
|
||||
| ISS-047 | 2026-10-01 | REPORT (RQL manuals) | The manuals disagree: default `@WORKSPACE` 500 KB (IM 36K10R40 §2.2.2) vs 16 KB (IM 36K10C30 table 2.1-1, IM 36K10P20 §9.6); maximum `@WIDTH` 512 (R40, P20 §4) vs 5000 (P20 §9.6); `@FORMFEED` described with opposite meanings (C30: not 1 = form feed; P20: 0 = blank lines, default 1). Installed set-up files set `@workspace` explicitly (500 in `rptge1.rpt`, 100 in `rptgen.rpt`) and `@formfeed 0` for the interactive generator. | open | Not tested (no printer); the set-up files make the defaults irrelevant in practice. | `knowledge/manuals/IM36K10R40-01EN.md` §2; `knowledge/manuals/IM36K10P20-01EN.md` §3 |
|
||||
| ISS-048 | 2026-10-01 | REPORT (ad-hoc parameters) | The prompt `[ITEM:NAME like "CI-Eng-Sample.TANK1.*"]Item for statistics:` (filter form as in IM 36K10C30 §2.1) gives an item tree browser in the Engineering Module generate dialog, but the tree shows all sections, not only `TANK1` items (checked by the user). | open | Try other filter forms (`%` wildcard, `SECTION = …`, `[ITEM:TAG="…"]`) and the display report component. | `.claude/skills/reporting/tasks/define-reports.md`; `knowledge/manuals/IM36K10C30-01EN.md` §2; `examples/CI-Eng-Sample/18_report_df.qli` comment |
|
||||
| ISS-049 | 2026-10-01 | AUDIT (item option *Audit trailing wanted*) | IM 36K10G10 ch. 9 and the classifier list (IM 36K10L25 App. 1, `ITEM.VALUE.MODIFY.<source>`, `ITEM.HIGH-LIMIT…`) suggest item changes are audited per item when `AUDIT_INFO` = 1. On R1.03.00 none of the tested tools produced an `ITEM.*` event: `itmval -p` writes are not audited at all (with `AUDIT_INFO` 0 or 1); value writes through DSS (`dssqld -m ITEM_VAL`) and Engineering Module *Update value* are audited as dataset events (`ITEM_VAL`, `ITEM_VALUE` / `ITEM_VALUE_STR` / `STATUS`) for every item regardless of `AUDIT_INFO`. Operator-display writes and PROCESS writes (`opc.sup` `AUDIT = YES`, `COMPUTE` classifiers off by default) were not tested (no input field in the sample displays). | open | Test an operator value input on an item with `AUDIT_INFO` 1 (needs a display with an input field) and, if wanted, PROCESS with `AUDIT = YES`. | `.claude/skills/audit-trail/tasks/configure-audit.md` §1; `.claude/skills/audit-trail/tasks/read-audit-trail.md` §2; `knowledge/manuals/IM36K10L25-01EN.md` §3 |
|
||||
| ISS-050 | 2026-10-01 | AUDIT (classifier `STORAGE`) | Setting `AUDIT_EVENT_CLAS_DF.STORAGE` = 0 for `DATASET.NULL-ATTR.MODIFY.ENT-ENG-MOD` at 17:01:12 did not stop the next `dssqld -m ITEM_VAL` change from being stored (17:01:12.573). IM 36K10L25 §3.2 explains a per-process cache refreshed every `ECL_REFRESH` s (default 1800); the notifier here is `DSSSDA`, so the change should apply within 30 minutes. | investigating | Re-test after 17:31 on 2026-10-01, then set `STORAGE` back to 1. | `.claude/skills/audit-trail/tasks/configure-audit.md` §1; `knowledge/manuals/IM36K10L25-01EN.md` §3 |
|
||||
| ISS-051 | 2026-10-01 | AUDIT (manual vs installed) | Differences between IM 36K10L25 and R1.03.00: (1) App. 1 lists subject `F/T-SYSTEM`, the installed classifiers use `CI-SERVER` (logins) and also `EAL OPERATION` (subject and action) and source `VIA-OPC-UAS`, not in the manual; 463 classifiers installed. (2) App. 1 explanations of `SHELVE` and `UN-SHELVE` are swapped. (3) `QUESIZE`: manual default and maximum 200 kB, `adtsys.sup` help default 10 kB, minimum 10 (file sets 200). (4) `TIMEFMT` default: manual `DD/MM/YY hh:mm:ss.ppp`, `adtsys.sup` help without `.ppp`; `ADTLOG` output shows milliseconds (manual right). (5) `dssqld` changes are recorded with source `ENT-ENG-MOD`, not `QUICKLOAD`. (6) The selection expression language is not described in the manual; the compiler listing gives the words and operators (no `LIKE`). (7) `ADT` group lifetime 52 weeks on the test system vs 2 days default when `ADTSTO` creates it (§2.1.1). | open | Documented in the L25 summary and the `audit-trail` skill. Close when the user confirms. | `knowledge/manuals/IM36K10L25-01EN.md`; `.claude/skills/audit-trail/tasks/*.md` |
|
||||
|
|
|
|||
|
|
@ -88,7 +88,9 @@ on a schedule, or on an item event (with delay). Destinations: `DEFAULT`, `PRINT
|
|||
|
||||
**Audit trail (ch. 9)**: stored in dataset `AUDIT_TRAIL`, storage group `ADT`; events are
|
||||
named `<subject group>.<attribute>.<action>.<source>`, e.g. `ITEM.VALUE.MODIFY.HMI`; records
|
||||
cannot be deleted except by deleting storage units.
|
||||
cannot be deleted except by deleting storage units. On R1.03.00 configuration and DSS changes
|
||||
are recorded per dataset (e.g. `ITEM_DF.HIGH_LIMIT.MODIFY`); details in `IM36K10L25-01EN.md`,
|
||||
skill `audit-trail`.
|
||||
|
||||
**RDBMS exposure (ch. 10)**: copies CI Server data (`ITEM_VALUES` aggregated per interval,
|
||||
`ITEM_HISTORY` with a mandatory filter, `ITEM_INPUTS` for writes back, or any dataset on
|
||||
|
|
|
|||
144
knowledge/manuals/IM36K10L25-01EN.md
Normal file
144
knowledge/manuals/IM36K10L25-01EN.md
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
---
|
||||
manual: IM 36K10L25-01EN
|
||||
title: Audit Trail Management Engineering
|
||||
edition: 3rd Edition, Sep. 2023
|
||||
version: R1.03
|
||||
status: processes, scripts, adtsys.sup, classifiers, ADT group, AUDIT_TRAIL contents, selection groups and ADTLOG (default and filtered) verified on the test system 2026-10-01; distributor, extra collectors, classifier extension in C and operator-side ITEM.* events from docs
|
||||
---
|
||||
|
||||
# Audit Trail Management Engineering (R1.03)
|
||||
|
||||
AUDIT Service records who changed what and when: value and limit changes, definition inserts /
|
||||
modifies / deletes, alarm acknowledgements, logins and logouts. Events are stored in the history
|
||||
storage group `ADT` and read through dataset `AUDIT_TRAIL`. The manual is written for system
|
||||
integrators (processes, setup file, extending the classifier tables in C). Section numbers refer
|
||||
to the manual; "installed" means checked on the R1.03.00 test system.
|
||||
|
||||
## 1. Interfaces and data stores (§1)
|
||||
|
||||
| Interface / store | Use |
|
||||
|---|---|
|
||||
| Notification | Applications report an event (routine `adt_evt_not`); only one field of a stored event, the *modifiable ASCII application info*, can be changed afterwards |
|
||||
| Distribution | Connected processes (AUDIT destinations) receive events as they are stored, optionally filtered by a selection group |
|
||||
| Retrieval | Reading stored events (collector process; `AUDIT_TRAIL` dataset) |
|
||||
| History management | Storage group `ADT` is managed by HISTORY Service (rollover, lifetime, units) |
|
||||
| Event classifier file | Which event types exist and whether each is **stored** — dataset `AUDIT_EVENT_CLAS_DF` (`tls\dat\adt_ecl.dat`) |
|
||||
| Selection group file | Named, compiled selection expressions — dataset `AUDIT_SELGRP_DF` (`tls\dat\adt_sgp.dat`) |
|
||||
|
||||
Single events cannot be deleted; only whole storage units or the whole group (HISTORY Service).
|
||||
|
||||
## 2. Processes (§1.2, §2, §4.1)
|
||||
|
||||
| Process | Job |
|
||||
|---|---|
|
||||
| `ADTSTO` (storage) | Creates group `ADT` if missing (rollover 1 day, unit lifetime 2 days), fills the classifier file with the basic set (existing entries kept), creates the selection group file, stores events, sends them to destinations. Ignores events while storage of `ADT` is stopped. Must run on the node of the history manager `HIS` |
|
||||
| `ADTCOL01` (+ `ADTCOL02`…) | Answers retrieval requests, also while storage is stopped; extra images share the queue `adtcol01` (load sharing). Exits if group `ADT` does not exist, so `ADTSTO` must start first |
|
||||
| `ADTDST` (distributor) | Optional relay on another node when several destinations there want events (3 + N instead of 3 × N BUS messages) |
|
||||
| `ADTLOG` (logging) | Optional destination that prints events as text (stdout or `PRT_DEV`), optionally only a selection group |
|
||||
|
||||
Gaps are signalled with *missing events* records/messages (storage queue overflow, lost
|
||||
connection, unexpected sequence number). Destinations check sequence numbers and periodic
|
||||
flow-control messages; a missing flow-control message makes them reconnect.
|
||||
|
||||
**Installed:** `tls\com\audit_start.cmd` does nothing if `adtsto` already runs, refuses to start
|
||||
when `his` is not running, then starts `adtsto -n adtsto` and `adtcol -n adtcol01`. `adtcol02`,
|
||||
`adtlog` and `adtdst` are present as commented-out lines. `audit_stop.cmd` stops `adt*` with
|
||||
`durstp`. Executables in `tls\exe`: `adtsto`, `adtcol`, `adtdst`, `adtlog`, `adtimport`
|
||||
(undocumented), `adtxdb` (service debugger, not documented).
|
||||
|
||||
## 3. Event classifiers (§3.1, Appendix 1)
|
||||
|
||||
An event classifier is four names `<SUBJECT>.<ATTRIBUTE>.<ACTION>.<SOURCE>`, e.g.
|
||||
`ITEM.VALUE.MODIFY.HMI`. Each name has an internal code; stored events keep only the codes, so
|
||||
codes must never change once used.
|
||||
|
||||
- **Subjects**: ALN-DEST, ALN-USR, CLASS, CLASS-ATTR, DATASET, EQUIPMENT, F/T-SYSTEM,
|
||||
INSTALLATION, ITEM, OBJECT, OBJECT-ATTR, SECTION, STATION, SUB-ITEM, TRIGGER-GROUP, UNIT,
|
||||
USER-PROFILE, ACKNOWLEDGE-TYP.
|
||||
- **Attributes** (about 170): item properties (VALUE, STATUS, HIGH-LIMIT, LOW-LIMIT, DESCRIPTION,
|
||||
ENGINERING-UNIT, ALARM-INHIBIT, ALARM-SHELVE, ENABLE-AUDIT-TR …), point/line properties,
|
||||
alarm notification users and schedules, NULL-ATTR (no attribute).
|
||||
- **Actions**: ACKNOWLEDGE, DELETE, INSERT, LOGIN, LOGIN-ATTEMPT, LOGOUT, MODIFY, SHELVE,
|
||||
UN-SHELVE (the manual's explanations of SHELVE and UN-SHELVE are swapped).
|
||||
- **Sources**: COMPUTE (PROCESS Service), DSS-CLIENT, ENT-EDIT-MOD, ENT-ENG-MOD, ENT-QUALIZATION,
|
||||
FTEXCHANGE, HMI (Engineering Module), LOC-EDIT-MOD, LOC-ENG-MOD, ODBC, OPC-DA-SERVER,
|
||||
OPER-INTERFACE, OTHERS, QUICKLOAD.
|
||||
|
||||
The notifying routine checks a cached copy of the classifier's **storage** flag and sends
|
||||
nothing when storage is off; the cache refreshes every `ECL_REFRESH` seconds (default 1800), so
|
||||
a change to the storage flag may take up to 30 minutes to reach running programs.
|
||||
|
||||
**Installed:** `AUDIT_EVENT_CLAS_DF` fields `NAME` (the four names joined), `SUBJECT`,
|
||||
`ATTRIBUTE`, `AGITATION` (= action), `SOURCE`, `DESCRIPTION`, `BASIC_SET`, `STORAGE` (the only
|
||||
changeable field); 463 classifiers, 444 stored. Off by default: the `COMPUTE` (PROCESS) source for
|
||||
item/sub-item values, status, quality, limits, deadband, and `DATASET.NULL-ATTR.*.COMPUTE`. Not in
|
||||
the manual: subject `CI-SERVER` (logins; the manual's `F/T-SYSTEM` is the old name), subject/action
|
||||
`EAL OPERATION`, source `VIA-OPC-UAS` (ISS-051).
|
||||
|
||||
**What is actually recorded (verified):** configuration changes and DSS value writes are stored
|
||||
as *dataset* events — `SUBJECT_GROUP` = dataset name (`ITEM_DF`, `ITEM_VAL`, `SECTION_DF` …),
|
||||
`SUBJECT_ATTRIBUTE` = field, old and new value, user and source: `ENT-ENG-MOD` for `dssqld`
|
||||
(not `QUICKLOAD`), `LOC-ENG-MOD` for the Engineering Module; every `dssqld` run also adds a
|
||||
`CI-SERVER` `LOGIN`/`LOGOUT` pair. `itmval -p` writes are not audited. The item option
|
||||
`AUDIT_INFO` (*Audit trailing wanted*, default 0; also on `SUB_ITEM_DF`, `EXTERNAL_ALARM_DF`) made
|
||||
no difference for these tools; it is meant for the `ITEM.*` classifiers from operator/PROCESS
|
||||
writes (not tested, ISS-049). A changed `STORAGE` flag is cached by the notifying process
|
||||
(`ECL_REFRESH`, ISS-050).
|
||||
|
||||
## 4. Setup files (§4.2)
|
||||
|
||||
Only `tls\sup\adtsys.sup` is installed; it documents every keyword and is the template for
|
||||
per-process files named after the process (`adtsto.sup`, `adtcol01.sup`, `adtdst.sup`,
|
||||
`adtlog.sup`, `adtovv.sup` for the chronological overview). Without a file, defaults apply.
|
||||
|
||||
| Tab / keyword | Meaning | Default |
|
||||
|---|---|---|
|
||||
| General `MAX_OPEN_UNITS` | Storage units open at once (2–100) | 20 |
|
||||
| `PRT_DEV` | Printer for `ADTLOG` | stdout |
|
||||
| `QUESIZE` | BUS queue size, kB | see below |
|
||||
| `SEL_GROUP` | Selection group applied by the process | none |
|
||||
| Node Numbers `COL_PROC`, `DST_PROC`, `HIS_PROC`, `STO_PROC` | `<node>, <name>` of collector, distributor, history manager, storage | local `ADTCOL01`, local `ADTSTO`, local `HIS`, `ADTSTO` on the host node |
|
||||
| `NODE_ECL_FILE`, `NODE_SGP_FILE` | Node holding the classifier / selection group file | storage node |
|
||||
| Layout `E_LAYOUT` | Message units and widths for the overview / log (`ACTM` time, `SBGP` subject, `SATR`, `SACT`, `SACS`, `SBID` subject id, `USER`, `TERM`, `OVAL`/`NVAL` old/new value, `REAS`, `AAI1`/`MAI1` application info, `ACND`/`ACNM`/`NOND`/`NONM`/`NOTM` node, program and notification time, `SPCE n`, `NWLN n`) | `SPCE,2,ACTM,21,SBGP,13,SATR,13,SACT,11,SACS,15,NWLN,1,SPCE,4,SBID,40,USER,16,NWLN,1,SPCE,6,OVAL,35,NVAL,35,NWLN,1` |
|
||||
| `E_NOSPACE` | No automatic space between units | off |
|
||||
| `TIMEFMT` | Picture for `ACTM` (`YYYY MMM DD hh mm ss ppp`) | see below |
|
||||
| Events `ECL_REFRESH` | Classifier cache refresh, s | 1800 |
|
||||
| `FLOWC` | Flow-control interval, timeout (s) | 30, 10 |
|
||||
| `HBEAT` | Heartbeat, s | 10 |
|
||||
| `TRYCON` | Reconnect interval, s | 10 |
|
||||
| Header `FORM_FEED`, `HEADER` (repeatable), `HEADER_AFTER` | Log header | off / layout header / never repeated |
|
||||
|
||||
**Installed differences:** the `adtsys.sup` help says `QUESIZE` default 10 kB (minimum 10), the
|
||||
manual says default and maximum 200 kB; the file sets `QUESIZE = 200`. The `TIMEFMT` default is
|
||||
`DD/MM/YY hh:mm:ss` in the file help and `DD/MM/YY hh:mm:ss.ppp` in the manual; `ADTLOG` prints
|
||||
milliseconds, so the manual is right (ISS-051). Also installed: `adtini.sup` (licence value only),
|
||||
and `fmfprt.sup` assigns the printer function `AUDIT_TRAIL` to `ADTLOG`.
|
||||
|
||||
**Verified:** `adtlog -n <name>` run from a console prints new events with the default layout;
|
||||
with a setup file `<name>.sup` holding `SEL_GROUP`, `E_LAYOUT`, `TIMEFMT`, `HEADER`,
|
||||
`HEADER_AFTER` it printed only the selected events in the custom layout (sample
|
||||
`examples/CI-Eng-Sample/audit/adtlogci.sup`).
|
||||
|
||||
## 4a. Selection groups (not described in the manual)
|
||||
|
||||
`AUDIT_SELGRP_DF`: `NAME`, `DESCRIPTION`, `EXPRESSION` (memo), `COMPILE`, `LISTING`,
|
||||
`VALID_EXPRESSION`. The compiler listing names the language: string comparisons on `aai1 acnd
|
||||
acnm actm mai1 nond nonm reas sacs sact satr sbgp sbid term user`, constant comparisons on `nval
|
||||
oval`, operators `= != > < >= <=`, `and`, `or`, parentheses; no `LIKE` (prefix match with a range
|
||||
`>= "X." and < "X/"`). Errors: `ADTT-E-UNKNOWN_TOK`, `ADTT-E-CMP_NO_SUCC`. Verified.
|
||||
|
||||
## 4b. Reading the trail
|
||||
|
||||
`AUDIT_TRAIL` (key `NAME` = `<action time>/<stamp>`; all fields read-only except `PROFILE` and
|
||||
`APPLICATION_SUB`) is in `dssqld.sup` `NO-EXPORT`: export with `-d AUDIT_TRAIL` or a qli that
|
||||
names it — the qli export returns 0 records unless `NAME` is in `@FIELDS`; `@SELECT` accepts
|
||||
`LIKE "X.*"`. RQL `select … from audit_trail` works in reports (sample `CIENG_AUDIT`). `ADT`
|
||||
group on the test system: lifetime 52 weeks, rollover 1 day. Task files: skill `audit-trail`.
|
||||
|
||||
## 5. Extending classifiers (§4.3)
|
||||
|
||||
New subjects/attributes/actions/sources are added in C: `#define` codes ≥ `0x80000000` in
|
||||
`adt_ece.h`, names starting with `_`, rebuild `adt_ece()` (`tls\src\adt_ece.c`) and re-link AUDIT,
|
||||
INTEGRATION, DATABASE Service and every program that uses it. **Installed:** `adt_ece.c`,
|
||||
`tls\inc\adt_ece.h`, `audit_compile.cmd`/`.mak`, `audit_build.cmd`/`.mak` are shipped. System
|
||||
integrator work; not practiced.
|
||||
|
|
@ -62,7 +62,7 @@ AID is not needed.
|
|||
| 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 | not started |
|
||||
| 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) |
|
||||
|
|
@ -109,7 +109,7 @@ now come before classes and objects (phase 6), and the other interfaces follow a
|
|||
| 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) done; audit, RDBMS not practiced | alarms, history, reports added | Covered in their own phases (7–12). |
|
||||
| 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). |
|
||||
|
|
@ -142,3 +142,6 @@ now come before classes and objects (phase 6), and the other interfaces follow a
|
|||
| 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. |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue