Skip to content

docs: VistA bridge library architecture, worked examples, and plans reorg#4

Merged
rafael5 merged 6 commits into
masterfrom
docs/vista-de-facto-analysis
Jun 7, 2026
Merged

docs: VistA bridge library architecture, worked examples, and plans reorg#4
rafael5 merged 6 commits into
masterfrom
docs/vista-de-facto-analysis

Conversation

@rafael5

@rafael5 rafael5 commented Jun 7, 2026

Copy link
Copy Markdown
Contributor

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)

  • VistA bridge library architecture plan (docs/plans/m-stdlib-vista-bridge-library-architecture.md) + HTTPS stack spec (docs/plans/https-stack-spec.md) — the sharp-line STD* (portable) vs VBL* (VistA-coupled) separation.
  • Worked example B2: IRIS-native backends for STDCRYPTO / STDCOMPRESS / STDHTTP #1 — FHIR R4 façade: a generic third-party FHIR REST client (inbound) that reaches VistA strictly through the VWEB HTTPS endpoint, never into the M layers.
  • Worked example STDHARN: resident harness orchestrator (m-cli 5.1, P1) #2 — VistA log streaming to AWS S3: outbound egress binding the STDLOG sink seam to a VBLS3 adapter, shipping SigV4-signed NDJSON to S3 instead of an ^XTMP global — with the why-VistA-barely-logs rationale and a level-separated Mermaid diagram showing the trust-boundary crossing.
  • Plans reorg: relocated the bridge + de-facto-analysis docs into docs/plans/, archived discoverability-and-tooling-plan.md into docs/plans/historical/, and fixed relative links in both directions across the affected docs (incl. a pre-existing dead changelog link).

Notes

  • Docs-only change; make check-docs-prose green throughout. No src//tests//dist/ touched.
  • Both Mermaid diagrams validated.

🤖 Generated with Claude Code

rafael5 and others added 6 commits June 7, 2026 02:01
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 rafael5 merged commit 38371df into master Jun 7, 2026
2 checks passed
rafael5 added a commit that referenced this pull request Jun 15, 2026
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>
rafael5 added a commit that referenced this pull request Jun 15, 2026
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>
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>
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