T1.2: VSLCFG adapter (XPAR config) — green 3/3 both engines, boundaries 1/2/3#3
Merged
Conversation
Checkpoint (no VSL* code yet). Captures the expensive-to-re-derive findings: - vehu (worldvista/vehu, GT.M V7.0-005) IS reachable via docker exec here, with live XPAR — the YDB-VistA test leg works from this sandbox (no IRIS-VistA up, so that leg is likely owed). - XPAR binding semantics probed live (entity "SYS" accepted; $$GET^XPAR/EN^XPAR; error codes; precedence via "ALL"; no $$ENT^XPAR). - Citation reconciled: @source XU/krn_8_0_dg_toolkit_ug (ICR #2263 Supported), correcting the plan's XT/ktk7_3p26sp guess. - Test-param + VSLCFG API design decisions. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Started a disposable foia-t12 container (foia:latest image + foia's data bind mounts, no published ports to avoid the vehu 8001/9430 conflict). IRIS 2026.1, VISTA namespace, GET^XPAR/EN^XPAR live. Both engines (vehu YDB + foia-t12 IRIS) are now reachable with real XPAR from this sandbox, so the IRIS leg of T1.2's "green both engines" is no longer owed. Design note updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Verified the canonical path: m test --engine {ydb,iris} --docker {vehu,foia-t12}
reaches both real VistA engines through the m-ydb/m-iris drivers (m-driver-sdk
contract) and runs VSLSMOKETST 2/2 each. Design note now leads with the driver
path; raw docker exec demoted to exploration-only (honors waterline rule 3 /
transport monopoly).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Committed-artifact backstop for the m/v waterline transport monopoly: no test/script/Makefile may hand-roll engine access (docker-exec into an engine, iris-session, gtm-dist, mumps -direct). All engine work goes through the m-driver-sdk -> m-ydb/m-iris stack (`m test --docker`, `m vista exec`). - tools/check_engine_access.py (--check/--self-test), scans Makefile/tests/ scripts/*.sh (not docs/, which legitimately quote the recipe); `stack-exempt` line marker for deliberate exceptions. - Wired into `make gates` + CI engine-free-targets (permanent in CI). - Counterpart to the real-time PreToolUse hook ~/scripts/lib/engine-stack-guard.sh and the org CLAUDE.md §waterline engine-access rule. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Major unblock: the m-ydb docker transport reaches vehu's live XPAR once the gbldir + routines are set (M_YDB_GBLDIR=/home/vehu/g/vehu.gld + M_YDB_ROUTINES= vehu's gtmroutines) — without them $ZGBLDIR is empty and VistA data globals are invisible. Verified via `m vista exec` (1211 XPAR defs, $$GET^XPAR resolves) and a minimal harness probe that runs 2/2 GREEN through the driver on vehu (harness + VSLCFG staging + stub adapter all work end-to-end). - src/VSLCFG.m: TDD-red stub ($$get returns default, $$set no-op) binding the STDENV config-read seam to XPAR; @icr/@source added at green. - tests/VSLCFGTST.m: suite scaffold (set/get SYS precedence + default-when-unset). - Fixture OPEN: a hand-built #8989.51 def does NOT make EN^XPAR file a value, so the full suite aborts 0/0; next step is a FileMan-created def (or seed an existing param). Recipe + status captured in docs/plans/t1.2-vslcfg-design.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
First VSL* module. $$get^VSLCFG/$$set^VSLCFG bind the STDENV config-read seam to VistA XPAR at the SYS entity ($$GET^XPAR / EN^XPAR), validated live on vehu via m vista exec (set->get->restore round-trips). Contains only the VistA binding (waterline); no parsing/formatting. All three determinism-ledger boundaries GREEN (engine-free): - (1) check-msl-pin: re-pinned msl_ref v0.6.0->v0.7.0; pin carries real seams.STDENV, matches MSL@v0.7.0. - (2) check-icr: $$GET^XPAR / EN^XPAR declared with ICR #2263 (Supported, XU). - (3) check-citations: @source XU/krn_8_0_dg_toolkit_ug anchors verified vs the vdocs gold corpus. (Plan's XT/ktk7_3p26sp / XT*7.3*26 was wrong - reconciled.) make check-fast clean (fmt/lint/arch + all six gates). Engine-bound VSLCFGTST is written + correct but BLOCKED: m test --docker honors M_YDB_GBLDIR (globals visible) but not M_YDB_ROUTINES, so vehu's XPAR routines are absent from $ZROUTINES and the suite aborts 0/0. Fix = layer the resident routine base in the m test/m-ydb path (m-cli/m-ydb), or test-in-place --resident. Keystone unblock this session: driver->live XPAR via M_YDB_GBLDIR/M_YDB_ROUTINES. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The m test routine-base blocker is fixed (m-cli docker-routines-base d9ee76a:
DockerEngine falls back to ${ydb_routines:-$gtmroutines}). VSLCFGTST now 0/0->3/3
on vehu (YDB) and foia-t12 (IRIS --namespace VISTA) via the driver stack, no
M_YDB_* host vars. Drop the "blocked" notes from the test header / design note /
memory; record the resolution. All engine-free gates + the engine suite green;
the three determinism boundaries (re-pin v0.7.0 / check-icr #2263 / citations)
stay green. T1.2 complete.
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.
First
VSL*module.$$get^VSLCFG/$$set^VSLCFGbind the STDENV config-read seam to VistA XPAR at the SYS entity ($$GET^XPAR/EN^XPAR); only the VistA binding (waterline).All three determinism-ledger boundaries green (engine-free): ①
check-msl-pinre-pinned to MSL v0.7.0 (realseams.STDENV); ②check-icrICR #2263 (Supported, XU); ③check-citationsvs the gold corpus (XU/krn_8_0_dg_toolkit_ug— the plan'sXT*7.3*26was wrong).make check-fastclean.Engine suite GREEN:
VSLCFGTST3/3 on vehu (YDB) and foia-t12 (IRIS--namespace VISTA) via the driver stack, once the m-cli DockerEngine routine-base fix landed (docker-routines-base). Includes the org-wide engine-access gate + the foia-t12 bring-up + the driver-path discipline.🤖 Generated with Claude Code