Skip to content

vms-916: real VMS message idents for queue/submit (no invented ones) - #530

Merged
baron-3dl merged 1 commit into
mainfrom
work/vms-916
Aug 14, 2026
Merged

baron-3dl merged 1 commit into
mainfrom
work/vms-916

Conversation

@baron-3dl

Copy link
Copy Markdown
Contributor

Fixes the invented VMS message idents in the DCL queue/submit handlers (authenticity Tier-0, rd vms-916). Requires operator sign-off (D3) to close.

Ident replacement table (invented → real, cited)

Site(s) Invented (before) Real VMS (after) Provenance
queue-manager-unavailable (SUBMIT/PRINT/SHOW QUEUE/SHOW ENTRY/SET ENTRY/SET QUEUE/DELETE-ENTRY) %<CMD>-E-QMANERR, queue manager initialization failed %JBC-E-JOBQUEDIS, system job queue manager is not running VSI System Messages (JBC); System Manager's Manual queue chapter; field transcripts (HPE/comp.os.vms)
SUBMIT failure %SUBMIT-E-SUBMITERR, failed to submit job to queue <q> %JBC-E-NOSUCHQUE, no such queue - <q> JBC; dominant vmsq_submit failure = queue absent
PRINT failure %PRINT-E-PRINTERR, failed to queue file to <q> %JBC-E-NOSUCHQUE, no such queue - <q> as above
SHOW/SET QUEUE nonexistent %SHOW/%SET-E-NOSUCHQUE facility → %JBC-E-NOSUCHQUE, no such queue ident was real; only facility was wrong
SET/SHOW ENTRY entry-not-found %<CMD>-E-ENTNOTFND, entry <n> not found %JBC-E-NOSUCHENT, no such entry VSI DCL Dictionary DELETE/ENTRY example
DELETE/ENTRY entry-not-found %DELETE-E-ENTNOTFND, entry <n> not found two-line chain %DELETE-W-SEARCHFAIL, error searching for <n> + -JBC-E-NOSUCHENT, no such entry verbatim from VSI/HP DCL Dictionary DELETE/ENTRY
missing required value (SET ENTRY / SET QUEUE / DELETE/ENTRY) %DCL-E-NOENTRY / %SET-E-NOQUNAM %DCL-W-INSFPRM, missing command parameters - supply all required parameters VSI System Messages (DCL)

OVMX-design (labelled — never presented as VMS)

  • %OVMX-E-IVENTNUM, invalid entry number — non-numeric /ENTRY= value; real VMS rejects this in the CLD parser, a path OVMX does not reach here.
  • %OVMX-E-QUESETERR, failed to <op> queue — internal queue-DB write fault, no VMS analogue.

Facility JBC (Job Controller, $JBCMSGDEF) is the real VMS owner of queue/batch/print condition values.

Provenance audit

Full ident-by-ident audit with citations: docs/audit-message-idents-vms-916.md (the D3 sign-off artifact). It also catalogs the already-grounded known_codes[]/msg_db[] catalogs and flags the success-line idents (SUBMITTED/QUEUED/QUEMOD/MODIFIED/DELETED) for a coordinated follow-up (they diverge from VMS plain-text output but are gated by existing tests — a separable success-FORMAT change, out of scope here).

Declaration repointing (task item #3)

  • sys_msg.c OVMX-USERSPACE declarations already cite the live owner vms-916 (not the closed vms-5b4; that string appears only in the shared register-header line common to every sys_*.c). No repointing needed.
  • tracking/rd-citations.tsv + tools/gen_rd_citations.py no longer exist — torn down by operator ruling vms-dc7 (2026-08-06). Nothing to regenerate; recreating it would revert the ruling.

Test evidence

tests/dcl/test_queue_messages.sh (new) drives the three failure paths, asserts the real JBC text, and EXPECT_NOT-guards QMANERR/SUBMITERR/PRINTERR/ENTNOTFND. Rigorously verified: fails on origin/main source, passes with this fix. DCL suite: 139 passed / 5 failed — the 5 are pre-existing environmental failures (HELP library, INSTALL.EXE, SCSNODE config, companion .EXEs), confirmed identical on baseline. The userspace_service_register authenticity gate passes.

🤖 Generated with Claude Code

…JBC ones

The DCL queue/submit handlers emitted invented message idents — QMANERR,
SUBMITERR, PRINTERR, ENTNOTFND (and NOENTRY/BADENTRY/NOQUNAM) — presented in
the %FACILITY-S-IDENT shape as if VMS-authentic. They are not real VMS idents.
Tier-0 authenticity (clean-room Rule 8): ground every emittable ident to public
VSI/HP OpenVMS documentation or label it OVMX-design.

Replacements (all VERIFIED, cited in docs/audit-message-idents-vms-916.md):
  queue manager unavailable  -> %JBC-E-JOBQUEDIS, system job queue manager is
                                not running
  submit/print to bad queue  -> %JBC-E-NOSUCHQUE, no such queue
  no such queue entry        -> %JBC-E-NOSUCHENT, no such entry
                                (DELETE/ENTRY renders the faithful two-line VMS
                                 chain %DELETE-W-SEARCHFAIL + -JBC-E-NOSUCHENT
                                 verbatim from the DCL Dictionary example)
  missing required parameter -> %DCL-W-INSFPRM, missing command parameters
  SHOW/SET QUEUE no-such-queue: facility corrected DCL-verb -> JBC

Two conditions have no VMS-authentic ident and are LABELLED OVMX-design under
facility OVMX so no reader mistakes them for VMS: %OVMX-E-IVENTNUM (non-numeric
entry value, rejected by the CLD parser OVMX does not reach here) and
%OVMX-E-QUESETERR (internal queue-state write fault).

The success-line idents (SUBMITTED/QUEUED/QUEMOD/MODIFIED/DELETED) diverge from
real VMS plain-text output but are gated by existing tests and are a separable
success-FORMAT change — cataloged in the audit for a coordinated follow-up, not
touched here.

Declaration repointing (task item #3): sys_msg.c's OVMX-USERSPACE declarations
already cite the live owner vms-916 (not the closed vms-5b4 — that appears only
in the shared register-header line common to every sys_*.c). The
tracking/rd-citations.tsv + tools/gen_rd_citations.py apparatus no longer exists
(torn down by operator ruling vms-dc7), so there is nothing to regenerate.

Test: tests/dcl/test_queue_messages.sh drives the three failure paths and
asserts the real JBC text is emitted with EXPECT_NOT guards on the invented
idents. Verified it fails on origin/main source and passes with this fix; the
DCL suite is 139 passed / 5 failed (the 5 are pre-existing environmental fails:
HELP library, INSTALL.EXE, SCSNODE config, companion .EXEs). The
userspace_service_register authenticity gate passes.

Requires operator sign-off (D3) to close.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@baron-3dl
baron-3dl merged commit 4d59ec3 into main Aug 14, 2026
80 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant