Skip to content

T1.2: VSLCFG adapter (XPAR config) — green 3/3 both engines, boundaries 1/2/3#3

Merged
rafael5 merged 7 commits into
mainfrom
t1.2-vslcfg
Jun 16, 2026
Merged

T1.2: VSLCFG adapter (XPAR config) — green 3/3 both engines, boundaries 1/2/3#3
rafael5 merged 7 commits into
mainfrom
t1.2-vslcfg

Conversation

@rafael5

@rafael5 rafael5 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

First VSL* module. $$get^VSLCFG/$$set^VSLCFG bind 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-pin re-pinned to MSL v0.7.0 (real seams.STDENV); ② check-icr ICR #2263 (Supported, XU); ③ check-citations vs the gold corpus (XU/krn_8_0_dg_toolkit_ug — the plan's XT*7.3*26 was wrong). make check-fast clean.

Engine suite GREEN: VSLCFGTST 3/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

rafael5 and others added 7 commits June 15, 2026 18:11
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>
@rafael5 rafael5 merged commit f861b7f into main Jun 16, 2026
3 checks passed
@rafael5 rafael5 deleted the t1.2-vslcfg branch June 16, 2026 09:01
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