diff --git a/.claude/skills/audit-trail/tasks/configure-audit.md b/.claude/skills/audit-trail/tasks/configure-audit.md index c9da17f..db59187 100644 --- a/.claude/skills/audit-trail/tasks/configure-audit.md +++ b/.claude/skills/audit-trail/tasks/configure-audit.md @@ -24,7 +24,7 @@ NAME,STORAGE "...",0 ``` -`dssqld -m` (the change itself is audited: `AUDIT_EVENT_CLAS_DF` `STORAGE` `MODIFY`). +`dssqld -m`, or in the Engineering Module *Configuration › Audit trail › Event classifiers* (the change itself is audited: `AUDIT_EVENT_CLAS_DF` `STORAGE` `MODIFY`). **Not immediate:** the processes that report events (e.g. `DSSSDA`) cache the storage flags and re-read them every `ECL_REFRESH` seconds (default 1800). In the test a switched-off classifier was still recorded right after the change (ISS-050). Confirm with the user before diff --git a/.claude/skills/audit-trail/tasks/read-audit-trail.md b/.claude/skills/audit-trail/tasks/read-audit-trail.md index 7c9f990..ebcbd85 100644 --- a/.claude/skills/audit-trail/tasks/read-audit-trail.md +++ b/.claude/skills/audit-trail/tasks/read-audit-trail.md @@ -82,4 +82,6 @@ report `CIENG_AUDIT` (`examples/CI-Eng-Sample/19_audit_df.qli`) lists the last h `CI-Eng-Sample.*`; generate it like any ad-hoc report (`define-reports.md` §2). Generated from `dssqld` it is stored but not printed (`FSL-E-PRT_UNKUSER`, ISS-045). -The Engineering Module also has the system report `AUDIT_TRAIL` (IM 36K10C30 App. 1). +In the Engineering Module, *Configuration › Reporting › Reports* holds the system reports +`AUDIT_TRAIL` and `UA_SERVER_AUDIT` (IM 36K10C30 App. 1). Generated there (as the logged-in +user) `CIENG_AUDIT` printed to `CIENG_FILE` and showed in the report viewer (checked by the user). diff --git a/.claude/skills/reporting/tasks/define-reports.md b/.claude/skills/reporting/tasks/define-reports.md index 8714967..40f39bb 100644 --- a/.claude/skills/reporting/tasks/define-reports.md +++ b/.claude/skills/reporting/tasks/define-reports.md @@ -66,8 +66,9 @@ NAME,PARAM_VALUE_1,GENERATE ``` `dssqld -m`. `GENERATE` returns to 0 when finished (a second or two for small reports). The run is -made as user `FULL AUTHORIZATION` by `DSSQLD`; without `ADHOC_DEST` the manager then logs -`FSL-E-PRT_UNKUSER` (the report is still stored, ISS-045). +made as user `FULL AUTHORIZATION` by `DSSQLD`; the manager then logs `FSL-E-PRT_UNKUSER` and +prints nothing, even with `ADHOC_DEST` set (the report is still stored, ISS-045). To get printed +output, generate from the Engineering Module. ## 3. Read generated reports diff --git a/knowledge/issues.md b/knowledge/issues.md index 92dd5da..987e5a8 100644 --- a/knowledge/issues.md +++ b/knowledge/issues.md @@ -64,7 +64,7 @@ development system (see "Test system" in `progress.md`); they do not exist on ot | ISS-042 | 2026-10-01 | GRAPHICS (layouts) | Installed vs `Layouts.readme`: the factory layouts use status line item types `displayName`, `playbackIndicator` and `dateTime` and the commands `reload ` / `reload all`, none of which the readme lists (readme: `statusText`, `userName`, `progresBar`, `graphicsQueueLevel`, `connectionState`); the readme also writes `zooom` for the zoom command (factory files use `zoom`). | open | Installed software is the reference (standing user decision). Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §2 | | ISS-043 | 2026-10-01 | REPORT (system reports) | IM 36K10C30 App. 1.3 names two system reports `ALM_ATTS_CUR` and `ALM_ATRS_HIS`; the installed reports are `ALM_ATTRS_CUR` and `ALM_ATTRS_HIS`. The other 26 names match. | open | Installed software is the reference (standing user decision). Close when the user confirms. | `knowledge/manuals/IM36K10C30-01EN.md` §8 (done) | | ISS-044 | 2026-10-01 | REPORT (scheduling) | Behaviour not in the manuals, found by quick load: a generation interval below 10 minutes is refused (`HIS-E-ROLLTOFAST`, the interval is the rollover of the report's storage group); a scheduled report cannot be deleted (`RPT-E-ACTIVE`) until `ACTIVATION_TIME` and `GENERATION_INTERVAL` are cleared; `CORRECT_DAYLIGHT` 0 counts intervals in UTC (06:00 set for January ran at 05:00 in October); a past activation time moves to the next slot - once (modify, past time within the lifetime) a single report labelled with the old time was generated, at insert with an older time none. | open | Documented as verified behaviour; the one-off generation for a past activation time is not fully understood. Close when the user confirms. | `.claude/skills/reporting/tasks/define-reports.md` §1, §5, §6; `knowledge/manuals/IM36K10C30-01EN.md` §2; `examples/CI-Eng-Sample/83a_stop_report_df.qli`, `18_report_df.qli` | -| ISS-045 | 2026-10-01 | REPORT (ad hoc from `dssqld`) | Generating ad hoc with `REPORT_DF.GENERATE` = 1 from `dssqld` (user `FULL AUTHORIZATION`) on a report without `ADHOC_DEST` logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user (FULL AUTHORIZATION)` and `RPT-I-TRYPRINT` in `umhlog.log`; the generated report is stored normally. With `ADHOC_DEST` set no error appears and the device gets the output. Related to the R1.03 known issue on report generation and default printers (IM 36K01A50, REPORT 1.11). | open | Workaround documented (set `ADHOC_DEST`). 2026-10-01: generating from the Engineering Module as user `ADMIN` with destination `CIENG_FILE` printed without errors, so it only affects runs from `dssqld`. Close when the user confirms. | `.claude/skills/reporting/tasks/define-reports.md` §2; `knowledge/manuals/IM36K10C30-01EN.md` §6 | +| ISS-045 | 2026-10-01 | REPORT (ad hoc from `dssqld`) | Generating ad hoc with `REPORT_DF.GENERATE` = 1 from `dssqld` (user `FULL AUTHORIZATION`) on a report without `ADHOC_DEST` logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user (FULL AUTHORIZATION)` and `RPT-I-TRYPRINT` in `umhlog.log`; the generated report is stored normally. Phase 12 correction (2026-10-01): with `ADHOC_DEST` set the same error appears and nothing is printed (`CIENG_AUDIT`, `CIENG_TANK1` after a sample reload); the same report generated from the Engineering Module as `ADMIN` printed to `CIENG_FILE`. Related to the R1.03 known issue on report generation and default printers (IM 36K01A50, REPORT 1.11). | open | Workaround documented (set `ADHOC_DEST`). 2026-10-01: generating from the Engineering Module as user `ADMIN` with destination `CIENG_FILE` printed without errors, so it only affects runs from `dssqld`. Close when the user confirms. | `.claude/skills/reporting/tasks/define-reports.md` §2; `knowledge/manuals/IM36K10C30-01EN.md` §6 | | ISS-046 | 2026-10-01 | DATABASE (`dssqld` memo) | A memo field loaded from a 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 | diff --git a/knowledge/manuals/IM36K10C30-01EN.md b/knowledge/manuals/IM36K10C30-01EN.md index 21f8813..8104c5c 100644 --- a/knowledge/manuals/IM36K10C30-01EN.md +++ b/knowledge/manuals/IM36K10C30-01EN.md @@ -112,9 +112,9 @@ Logbook on a display needs *Logbook Enabled* and *Visible* in the report. Not pr `dssqld -r` (needs `REPORT_DELETE_GENERATED_REPORT`; users only delete their own ad-hoc ones). - `rptgen -s rptgen.rpt` for trying RQL (`IM36K10R40-01EN.md` §6). -**Verified:** ad-hoc runs from `dssqld` are made by user `FULL AUTHORIZATION`; without an ad-hoc -destination `RPTMAN` then logs `FSL-E-PRT_UNKUSER, Job submitted by unknown user` (the report is -still stored; ISS-045). With `ADHOC_DEST` set the output went to the device without errors. +**Verified:** ad-hoc runs from `dssqld` are made by user `FULL AUTHORIZATION`; `RPTMAN` then logs +`FSL-E-PRT_UNKUSER, Job submitted by unknown user` and prints nothing, with or without +`ADHOC_DEST` (the report is still stored; ISS-045, corrected in phase 12). Scheduled and triggered runs are made by `RPTMAN` and print to `DEST_NAME`. Generated from the Engineering Module the run is made by the logged-in user (`ADMIN`, process `JHMISET…`) and printed to the chosen destination without errors; *View* lists generated reports by local time and has a