vms-916: real VMS message idents for queue/submit (no invented ones) - #530
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
%<CMD>-E-QMANERR, queue manager initialization failed%JBC-E-JOBQUEDIS, system job queue manager is not running%SUBMIT-E-SUBMITERR, failed to submit job to queue <q>%JBC-E-NOSUCHQUE, no such queue - <q>vmsq_submitfailure = queue absent%PRINT-E-PRINTERR, failed to queue file to <q>%JBC-E-NOSUCHQUE, no such queue - <q>%SHOW/%SET-E-NOSUCHQUE%JBC-E-NOSUCHQUE, no such queue%<CMD>-E-ENTNOTFND, entry <n> not found%JBC-E-NOSUCHENT, no such entry%DELETE-E-ENTNOTFND, entry <n> not found%DELETE-W-SEARCHFAIL, error searching for <n>+-JBC-E-NOSUCHENT, no such entry%DCL-E-NOENTRY/%SET-E-NOQUNAM%DCL-W-INSFPRM, missing command parameters - supply all required parametersOVMX-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-groundedknown_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.cOVMX-USERSPACE declarations already cite the live ownervms-916(not the closedvms-5b4; that string appears only in the shared register-header line common to everysys_*.c). No repointing needed.tracking/rd-citations.tsv+tools/gen_rd_citations.pyno longer exist — torn down by operator rulingvms-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, andEXPECT_NOT-guardsQMANERR/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. Theuserspace_service_registerauthenticity gate passes.🤖 Generated with Claude Code