This repository delivers Varian ESAPI 18.1 automation assets (plug-ins, shared libraries, runbooks) under the guardrails captured in AGENTS.md. The build chain remains classic MSBuild targeting .NET Framework 4.8 and x64 only.
ESAPI 18.1 ONLY — This codebase targets Eclipse Scripting API 18.1 with strict guardrails:
- .NET Framework 4.8 — No .NET 5+ or SDK-style projects
- x64 only — No AnyCPU/x86 builds (will cause
BadImageFormatException) - Classic MSBuild — No
dotnet build(ESAPI requires full Framework tooling) - Plug-in format — Output must end
.esapi.dllfor Eclipse discovery - STA threading — All ESAPI calls must be on main UI thread
- No PHI — Never log or display patient identifiers
- Windows x64 with Eclipse 18.1 and ESAPI SDK installed
- Visual Studio 2022 with .NET Framework 4.8 targeting pack
- Git LFS for large file support
-
Preflight (required before any builds):
powershell -ExecutionPolicy Bypass -File tools/preflight.ps1
-
Build (Debug and Release x64):
# Using MSBuild directly $msb = & "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.Component.MSBuild -find 'MSBuild\**\Bin\MSBuild.exe' & $msb APVMAT.All.sln -m -p:Configuration=Debug -p:Platform=x64 & $msb APVMAT.All.sln -m -p:Configuration=Release -p:Platform=x64 # Or using VSCode tasks (if available) # Ctrl+Shift+P → "Tasks: Run Task" → "Build ESAPI (MSBuild)"
-
Package (for distribution):
powershell -ExecutionPolicy Bypass -File scripts/package.ps1 powershell -ExecutionPolicy Bypass -File scripts/checksums.ps1
-
Smoke Test via Eclipse 18.1:
- Copy
.esapi.dllfiles to Eclipse Scripts directory - Launch Eclipse → Tools → Scripts
- Verify plug-ins appear and run without errors
- Record evidence in
/audits/smoke_tests.json
- Copy
├── apps/APVMAT/ # Main ESAPI plug-ins
│ ├── AutoPlan.Shared.PalliativeVMAT.csproj # Primary palliative VMAT plug-in
│ └── ClinicalAutomation.csproj # Clinical workflow automation
├── libs/ # Shared assemblies
├── tools/ # Build tools and scripts
├── scripts/ # Packaging and release scripts
├── docs/ # Documentation and blueprints
├── audits/ # Evidence and compliance reports
├── logs/ # Build logs and breadcrumbs
└── dist/ # Release distributions
All code must pass these automated checks:
- Preflight — Platform, framework, ESAPI reference validation
- CI/CD — Automated builds and compliance scanning
- Write gates — Clinical approvals for modifications
- PHI hygiene — No patient identifiers in any output
See AGENTS.md for complete operating contract and 03_RULES.md for detailed guardrail specifications.
- Fork the repository
- Create a feature branch
- Make changes following guardrails
- Run preflight and fix any violations
- Submit pull request with completed checklist
Pull requests must include evidence of:
- ✅ Preflight passing
- ✅ Debug/Release x64 builds successful
- ✅ No new guardrail violations
- ✅ Evidence captured in
/audits/
- Architecture: See
docs/ARCHITECTURE.esapi.md - Guardrails: See
AGENTS.mdand03_RULES.md - Build Process: See
08_RUNBOOK.md - Smoke Tests: See
06_SMOKE_TESTS.md - Release Notes: See latest release on GitHub
Built for ESAPI 18.1 environments only. Do not redistribute Varian ESAPI binaries. See distribution README files for installation guidance.