docs: VistA bridge library architecture, worked examples, and plans reorg#4
Merged
Conversation
Add two draft architecture plans under docs/plans/: - m-stdlib-vista-bridge-library-architecture.md (the m-stdlib ↔ VistA bridge library architecture; sharp-line STD*/VistA-package separation) - https-stack-spec.md (HTTPS stack spec referencing the bridge doc) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Extend the bridge-library architecture diagram (§6) with two real-world consumer examples that exercise the STD*/VBL* seams in both directions: - §6.1 Example app #1 — FHIR R4 façade: a generic third-party FHIR REST client (inbound, pull clinical data out) that reaches VistA strictly through the VWEB HTTPS endpoint, never into the M layers. - §6.2 Example app #2 — VistA log streaming to AWS S3: outbound egress that binds the STDLOG sink seam to a VBLS3 adapter, shipping NDJSON logs (SigV4-signed via STDCRYPTO/STDHEX) to S3 instead of an ^XTMP global. Includes the why-VistA-barely-logs rationale (log globals grow inside the patient DB) and a level-separated Mermaid diagram showing the network/trust boundary crossing. Both Mermaid diagrams validated. TOC updated with the new subsections. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move m-stdlib-vista-bridge-library-architecture.md from docs/plans/ up to the docs/ root (companion deletion from docs/plans/ landed in b500438). Re-point relative links for the new depth: - in the moved doc: plans/https-stack-spec.md, plans/future-modules-plan.md, ../CLAUDE.md - inbound from docs/plans/https-stack-spec.md: ../m-stdlib-vista-bridge-library-architecture.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Relocate both docs from docs/ root into docs/plans/ (per the repo layout convention that plans live under docs/plans/): - m-stdlib-vista-bridge-library-architecture.md - vista-de-facto-library-analysis.md Revert the bridge doc's relative links to the plans/ depth (https-stack-spec.md, future-modules-plan.md, ../../CLAUDE.md) and the inbound link from https-stack-spec.md (drop the ../). The de-facto doc has no relative links. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move docs/plans/discoverability-and-tooling-plan.md into a new
docs/plans/historical/ subdir and fix links in both directions:
- outbound (inside the moved doc): +1 level for the deeper path
(../../../{CHANGELOG,README}.md, ../../{guides,modules,tracking}/...,
../m-stdlib-implementation-plan.md)
- inbound (6 referencing docs: README, guides/m-doc-grammar,
modules/index, tracking/{changelog,module-tracker,discoverability-tracker}):
insert historical/ into the link/frontmatter paths
Plain-text section citations in module-tracker (no path) left as-is.
Pre-existing broken root CHANGELOG.md link preserved at original depth.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Re-point the dead ../../../CHANGELOG.md link (no root CHANGELOG.md exists) to the real changelog at docs/tracking/changelog.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
rafael5
added a commit
that referenced
this pull request
Jun 15, 2026
* ci: standardize m-stdlib CI onto the Go `m` toolchain Replace the legacy Python m-cli (m-dev-tools/m-cli, pip-installed inside a yottadb/yottadb-base container) with the Go `m` (vista-cloud-dev/m-cli) for fmt/lint/test/coverage — unblocking VSL/MSL Phase B item 4 (the reusable m-ci.yml can't generalize across two toolchains). - ci.yml: ubuntu-latest runner builds `m` from m-cli (clone+build, proxy- lag-immune, M_CLI_REF default main) → Python drift gates (unchanged) → fmt/lint (Go m, engine-free) → m-test-engine container (--docker, the locally-proven path) → make test/coverage byte mode. Keeps the shared `arch` waterline gate + a fail-soft IRIS portability job. - Makefile: engine flags via $(M_ENGINE_FLAGS); --routines src; lint via scripts/m-lint-gate.sh; coverage --lcov + aggregate --min-percent=85; CORE_SRC excludes optional modules; ci/ci-json replace TAP with -o json. - scripts/m-lint-gate.sh: preserves `--error-on=error` semantics (zero error-severity findings) the Go m lacks a native flag for. - AGENTS.md: Setup/Test rewritten for the Go m; new CI/toolchain section. Local: make ci green — 45 suites / 2434 pass / 0 fail, aggregate coverage 92.79%. Real-CI proof is the point of this push. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(memory): record the Go-`m` CI standardization (PR #12) Per-repo memory for the CI toolchain switch — engine via --docker m-test-engine, the lint-severity wrapper, aggregate coverage, and the branch-base note vs the unmerged stdseed/meta-to-root branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci: use the reusable m-ci.yml instead of an inline job Replace m-stdlib's inline Go-`m` CI job with a thin caller of the new reusable vista-cloud-dev/.github `m-ci.yml` (VSL Phase B item 4). The Makefile targets (drift gates + fmt/lint + test/coverage/ci-json) and the lint-severity gate are unchanged — m-ci.yml just provisions `m` + the engine and runs those targets. Pinned to @m-ci-reusable to prove the reusable workflow on real CI; flip to @main once the .github PR merges. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs(memory): note the move to the reusable m-ci.yml caller Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ci: pin m-ci.yml reusable workflow to @main The vista-cloud-dev/.github m-ci.yml PR (#4) merged, so reference the stable @main ref instead of the @m-ci-reusable feature branch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- 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.
Adds the VistA bridge-library architecture plan and supporting docs, with two worked example applications, then reorganizes the plans tree.
What's here (6 commits since the merged PR #3)
docs/plans/m-stdlib-vista-bridge-library-architecture.md) + HTTPS stack spec (docs/plans/https-stack-spec.md) — the sharp-lineSTD*(portable) vsVBL*(VistA-coupled) separation.VWEBHTTPS endpoint, never into the M layers.STDLOGsink seam to aVBLS3adapter, shipping SigV4-signed NDJSON to S3 instead of an^XTMPglobal — with the why-VistA-barely-logs rationale and a level-separated Mermaid diagram showing the trust-boundary crossing.docs/plans/, archiveddiscoverability-and-tooling-plan.mdintodocs/plans/historical/, and fixed relative links in both directions across the affected docs (incl. a pre-existing dead changelog link).Notes
make check-docs-prosegreen throughout. Nosrc//tests//dist/touched.🤖 Generated with Claude Code