VPNG ("vista-ping") is a throwaway VistA config-echo consumer that proves
the first full vertical of the VSL/MSL
effort end to end. It does exactly one thing:
read the
VPNG GREETINGparameter at the SYS entity via$$get^VSLCFG, serialise{"greeting":"<value>"}with$$encode^STDJSON, and return the byte string — the golden{"greeting":"hello"}.
That single string, byte-identical on YottaDB and IRIS, is the M1 exit criterion. Everything else in the determinism ledger (KIDS build/install/test-in- place/uninstall, the drift gates) is a presence/equality check around it.
- Layer:
v(VistA-specific — it reads VistA config). Declared inrepo.meta.json; enforced bym arch check(the waterlinev → mrule). - Requires (KIDS Required-Build chain): the VSL base
VSL*1.0*1→ the MSL baseMSL*0.1*1. Install in dependency order (MSL → VSL → VPNG). - Consumes, never edits:
v-stdlib(VSLCFG) andm-stdlib(STDJSON,STDASSERT).
| Path | Contents |
|---|---|
src/VPNG.m |
the one routine — $$ping^VPNG() |
tests/VPNGTST.m |
the ^STDASSERT suite (golden + seeded-value robustness) |
kids/vpng.build.json |
the KIDS build spec (routine + Required Build on the VSL base) |
dist/kids/VPNG.kids |
the committed normalized KIDS export (drift-gated) |
repo.meta.json |
the committed meta artifact — carries "layer": "v" |
make check-fast # fmt/lint/arch + namespaces + engine-access + check-kids (engine-free)
make test ENGINE=ydb DOCKER=vehu # the suite on YDB, over the driver
make test ENGINE=iris DOCKER=foia-t12 # the suite on IRIS, over the driver
make kids # rebuild dist/kids/VPNG.kids via v-pkgAll engine work goes through the m-driver-sdk → m-ydb/m-iris stack (m test --docker, m vista exec, v-pkg) — never raw docker exec.