messagefoundry 0.2.15__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1037) hide show
  1. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/CHANGELOG.md +67 -2
  2. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/PKG-INFO +25 -19
  3. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/README.md +17 -13
  4. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/__init__.py +48 -1
  5. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/__main__.py +956 -39
  6. messagefoundry-0.3.0/messagefoundry/actions.py +315 -0
  7. messagefoundry-0.3.0/messagefoundry/api/_ui_seam.py +136 -0
  8. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/app.py +741 -977
  9. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/auth_models.py +18 -0
  10. messagefoundry-0.3.0/messagefoundry/api/auth_routes.py +993 -0
  11. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/metrics.py +163 -0
  12. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/models.py +137 -1
  13. messagefoundry-0.3.0/messagefoundry/api/security.py +590 -0
  14. messagefoundry-0.3.0/messagefoundry/api/tls_client_cert.py +110 -0
  15. messagefoundry-0.3.0/messagefoundry/apiclient/__init__.py +18 -0
  16. {messagefoundry-0.2.15/messagefoundry/console → messagefoundry-0.3.0/messagefoundry/apiclient}/client.py +24 -5
  17. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/ldap.py +17 -3
  18. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/permissions.py +11 -1
  19. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/service.py +161 -6
  20. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/checks.py +323 -0
  21. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/ai_policy.py +10 -7
  22. messagefoundry-0.3.0/messagefoundry/config/code_sets.py +600 -0
  23. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/codeset_edit.py +115 -6
  24. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/connections_edit.py +1 -0
  25. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/connections_file.py +30 -0
  26. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/fhir_lookup.py +27 -6
  27. messagefoundry-0.3.0/messagefoundry/config/graph.py +1193 -0
  28. messagefoundry-0.3.0/messagefoundry/config/impact.py +670 -0
  29. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/models.py +222 -1
  30. messagefoundry-0.3.0/messagefoundry/config/reachability.py +144 -0
  31. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/run_context.py +28 -0
  32. messagefoundry-0.3.0/messagefoundry/config/secretprovider.py +183 -0
  33. messagefoundry-0.3.0/messagefoundry/config/secretprovider_vault.py +132 -0
  34. messagefoundry-0.3.0/messagefoundry/config/send_snapshot.py +51 -0
  35. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/settings.py +727 -46
  36. messagefoundry-0.3.0/messagefoundry/config/tls_policy.py +769 -0
  37. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/wiring.py +563 -33
  38. messagefoundry-0.3.0/messagefoundry/corepoint_import.py +590 -0
  39. messagefoundry-0.3.0/messagefoundry/diagnostics.py +58 -0
  40. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/adt.py +5 -61
  41. messagefoundry-0.3.0/messagefoundry/hl7structures.py +229 -0
  42. messagefoundry-0.3.0/messagefoundry/lens.py +2993 -0
  43. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/logging_setup.py +109 -8
  44. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/__init__.py +2 -1
  45. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/_builtin_hl7.py +97 -0
  46. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/binary.py +210 -1
  47. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/message.py +77 -0
  48. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/split.py +48 -1
  49. messagefoundry-0.3.0/messagefoundry/pipeline/_sandbox_worker.py +208 -0
  50. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/alert_sinks.py +50 -3
  51. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/alerts.py +61 -0
  52. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/cluster.py +69 -8
  53. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/cluster_sqlserver.py +53 -7
  54. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/dr.py +218 -6
  55. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/dryrun.py +288 -37
  56. messagefoundry-0.3.0/messagefoundry/pipeline/dryrun_trace.py +414 -0
  57. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/engine.py +291 -3
  58. messagefoundry-0.3.0/messagefoundry/pipeline/phase_timing.py +222 -0
  59. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/retention.py +60 -1
  60. messagefoundry-0.3.0/messagefoundry/pipeline/sandbox.py +383 -0
  61. messagefoundry-0.3.0/messagefoundry/pipeline/saturation.py +100 -0
  62. messagefoundry-0.3.0/messagefoundry/pipeline/secret_rotation.py +210 -0
  63. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/security_notify.py +16 -3
  64. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/sharding.py +62 -6
  65. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/stage_dispatcher.py +163 -5
  66. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/wiring_runner.py +1662 -153
  67. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/secrets_dpapi.py +1 -1
  68. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/__init__.py +2 -0
  69. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/base.py +262 -9
  70. messagefoundry-0.3.0/messagefoundry/store/crypto.py +484 -0
  71. messagefoundry-0.3.0/messagefoundry/store/keyprovider_vault.py +145 -0
  72. messagefoundry-0.3.0/messagefoundry/store/metadata.py +97 -0
  73. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/postgres.py +1198 -54
  74. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/sqlserver.py +1771 -143
  75. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/store.py +1664 -146
  76. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/__init__.py +1 -0
  77. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/base.py +47 -5
  78. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/database.py +243 -16
  79. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/dicom.py +65 -10
  80. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/dicomweb.py +40 -8
  81. messagefoundry-0.3.0/messagefoundry/transports/direct.py +373 -0
  82. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/email.py +22 -2
  83. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/fhir.py +193 -40
  84. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/file.py +59 -8
  85. messagefoundry-0.3.0/messagefoundry/transports/http_auth.py +418 -0
  86. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/mllp.py +272 -10
  87. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/remotefile.py +183 -26
  88. messagefoundry-0.3.0/messagefoundry/transports/rest.py +737 -0
  89. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/smart.py +7 -0
  90. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/soap.py +138 -30
  91. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/tcp.py +20 -2
  92. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/x12.py +24 -3
  93. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/checks.py +9 -6
  94. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/pyproject.toml +44 -14
  95. messagefoundry-0.2.15/.claude/settings.json +0 -81
  96. messagefoundry-0.2.15/.dockerignore +0 -45
  97. messagefoundry-0.2.15/.gitattributes +0 -5
  98. messagefoundry-0.2.15/.github/CODEOWNERS +0 -19
  99. messagefoundry-0.2.15/.github/ISSUE_TEMPLATE/bug_report.md +0 -41
  100. messagefoundry-0.2.15/.github/ISSUE_TEMPLATE/config.yml +0 -7
  101. messagefoundry-0.2.15/.github/ISSUE_TEMPLATE/feature_request.md +0 -24
  102. messagefoundry-0.2.15/.github/PULL_REQUEST_TEMPLATE.md +0 -29
  103. messagefoundry-0.2.15/.github/SECURITY.md +0 -84
  104. messagefoundry-0.2.15/.github/dependabot.yml +0 -68
  105. messagefoundry-0.2.15/.github/workflows/benchmark.yml +0 -217
  106. messagefoundry-0.2.15/.github/workflows/ci.yml +0 -1144
  107. messagefoundry-0.2.15/.github/workflows/cla.yml +0 -52
  108. messagefoundry-0.2.15/.github/workflows/codeql.yml +0 -67
  109. messagefoundry-0.2.15/.github/workflows/dependabot-auto-merge.yml +0 -165
  110. messagefoundry-0.2.15/.github/workflows/dependabot-lock-resync.yml +0 -95
  111. messagefoundry-0.2.15/.github/workflows/freethread-smoke.yml +0 -95
  112. messagefoundry-0.2.15/.github/workflows/manifest-lint.yml +0 -114
  113. messagefoundry-0.2.15/.github/workflows/release-sync-check.yml +0 -44
  114. messagefoundry-0.2.15/.github/workflows/release.yml +0 -246
  115. messagefoundry-0.2.15/.github/workflows/scorecard.yml +0 -59
  116. messagefoundry-0.2.15/.github/workflows/security.yml +0 -280
  117. messagefoundry-0.2.15/.github/workflows/selfhosted-win2025-sql.yml +0 -85
  118. messagefoundry-0.2.15/.github/workflows/vuln-metrics.yml +0 -40
  119. messagefoundry-0.2.15/.github/workflows/zizmor.yml +0 -47
  120. messagefoundry-0.2.15/.github/zizmor.yml +0 -31
  121. messagefoundry-0.2.15/.gitleaks.toml +0 -14
  122. messagefoundry-0.2.15/.mefor-hooks/pre-commit +0 -25
  123. messagefoundry-0.2.15/.pre-commit-config.yaml +0 -49
  124. messagefoundry-0.2.15/.semgrep/messagefoundry.yml +0 -52
  125. messagefoundry-0.2.15/CLA.md +0 -74
  126. messagefoundry-0.2.15/CLAUDE.md +0 -443
  127. messagefoundry-0.2.15/CODE_OF_CONDUCT.md +0 -42
  128. messagefoundry-0.2.15/COMMERCIAL-LICENSE.md +0 -67
  129. messagefoundry-0.2.15/CONTRIBUTING.md +0 -83
  130. messagefoundry-0.2.15/GOVERNANCE.md +0 -73
  131. messagefoundry-0.2.15/MAINTAINERS.md +0 -32
  132. messagefoundry-0.2.15/docker/Dockerfile +0 -121
  133. messagefoundry-0.2.15/docker/README.md +0 -136
  134. messagefoundry-0.2.15/docker/compose.yaml +0 -201
  135. messagefoundry-0.2.15/docker/k8s/ha-postgres.yaml +0 -242
  136. messagefoundry-0.2.15/docker/k8s/secret.example.yaml +0 -37
  137. messagefoundry-0.2.15/docker/k8s/statefulset.yaml +0 -132
  138. messagefoundry-0.2.15/docker/locks/requirements-core.lock +0 -370
  139. messagefoundry-0.2.15/docker/locks/requirements-sqlserver.lock +0 -395
  140. messagefoundry-0.2.15/docker/secrets.env.example +0 -15
  141. messagefoundry-0.2.15/docker/smoke/Dockerfile +0 -20
  142. messagefoundry-0.2.15/docker/smoke/config/IB_Test_ADT.py +0 -29
  143. messagefoundry-0.2.15/docker/smoke/send_adt.py +0 -62
  144. messagefoundry-0.2.15/docs/ADOPTER-CI.md +0 -183
  145. messagefoundry-0.2.15/docs/AI.md +0 -221
  146. messagefoundry-0.2.15/docs/ANTIVIRUS-FIREWALL.md +0 -219
  147. messagefoundry-0.2.15/docs/AOAG-DEPLOYMENT.md +0 -919
  148. messagefoundry-0.2.15/docs/ARCHITECTURE.md +0 -344
  149. messagefoundry-0.2.15/docs/BACKLOG.md +0 -3924
  150. messagefoundry-0.2.15/docs/BRAND.md +0 -103
  151. messagefoundry-0.2.15/docs/CI-QUALITY.md +0 -57
  152. messagefoundry-0.2.15/docs/CI-SELFHOSTED-RUNNER.md +0 -133
  153. messagefoundry-0.2.15/docs/CLOUD-DEPLOYMENT.md +0 -306
  154. messagefoundry-0.2.15/docs/CLOUD-PHI-HIPAA.md +0 -185
  155. messagefoundry-0.2.15/docs/CLUSTERING.md +0 -306
  156. messagefoundry-0.2.15/docs/CODESETS.md +0 -109
  157. messagefoundry-0.2.15/docs/CONFIGURATION.md +0 -869
  158. messagefoundry-0.2.15/docs/CONNECTIONS.md +0 -1354
  159. messagefoundry-0.2.15/docs/CONTAINER-EXPOSURE-EVALUATION.md +0 -349
  160. messagefoundry-0.2.15/docs/CONTRIBUTOR-FIRST-ISSUES.md +0 -73
  161. messagefoundry-0.2.15/docs/CONTRIBUTOR-PROGRAM-PLAN.md +0 -282
  162. messagefoundry-0.2.15/docs/COUNSEL-ENGAGEMENT-BRIEF.md +0 -268
  163. messagefoundry-0.2.15/docs/DEPLOY-SERVER-DB.md +0 -220
  164. messagefoundry-0.2.15/docs/DEPLOYMENT.md +0 -289
  165. messagefoundry-0.2.15/docs/DICOM.md +0 -141
  166. messagefoundry-0.2.15/docs/DUAL_LICENSING_PLAN.md +0 -67
  167. messagefoundry-0.2.15/docs/EARLY-ADOPTER-GUIDE.md +0 -854
  168. messagefoundry-0.2.15/docs/FEATURE-MAP.md +0 -220
  169. messagefoundry-0.2.15/docs/HL7-VALIDATION.md +0 -115
  170. messagefoundry-0.2.15/docs/INSTALL-GUIDE.md +0 -340
  171. messagefoundry-0.2.15/docs/LOAD-TESTING.md +0 -261
  172. messagefoundry-0.2.15/docs/MENTAL-MODEL.md +0 -494
  173. messagefoundry-0.2.15/docs/MessageFoundry-Mental-Model.docx +0 -0
  174. messagefoundry-0.2.15/docs/PHI.md +0 -688
  175. messagefoundry-0.2.15/docs/POSITIONING.md +0 -70
  176. messagefoundry-0.2.15/docs/REMOTE-CONSOLE-CUSTOMER-GUIDE.md +0 -176
  177. messagefoundry-0.2.15/docs/REMOTE-CONSOLE.md +0 -125
  178. messagefoundry-0.2.15/docs/SECURITY-REMEDIATION-LEDGER.md +0 -84
  179. messagefoundry-0.2.15/docs/SECURITY.md +0 -621
  180. messagefoundry-0.2.15/docs/SERVICE.md +0 -366
  181. messagefoundry-0.2.15/docs/SUPPORT-POLICY.md +0 -39
  182. messagefoundry-0.2.15/docs/SYSTEM-REQUIREMENTS.md +0 -176
  183. messagefoundry-0.2.15/docs/Secure_AI_Development_Standards.md +0 -597
  184. messagefoundry-0.2.15/docs/Secure_Development_Standards.md +0 -499
  185. messagefoundry-0.2.15/docs/TEE-RELAY.md +0 -126
  186. messagefoundry-0.2.15/docs/THROUGHPUT-IMPROVEMENTS.md +0 -197
  187. messagefoundry-0.2.15/docs/THROUGHPUT.md +0 -304
  188. messagefoundry-0.2.15/docs/USER-GUIDE.md +0 -625
  189. messagefoundry-0.2.15/docs/VERSION-CONTROL.md +0 -171
  190. messagefoundry-0.2.15/docs/WORKTREES.md +0 -97
  191. messagefoundry-0.2.15/docs/adr/0001-staged-pipeline-architecture.md +0 -250
  192. messagefoundry-0.2.15/docs/adr/0002-phase2-transport-security-and-strong-auth.md +0 -273
  193. messagefoundry-0.2.15/docs/adr/0003-non-hl7-transports-database-rest-soap.md +0 -185
  194. messagefoundry-0.2.15/docs/adr/0004-payload-agnostic-ingress.md +0 -161
  195. messagefoundry-0.2.15/docs/adr/0005-transform-accessible-state.md +0 -170
  196. messagefoundry-0.2.15/docs/adr/0006-external-data-lookups.md +0 -208
  197. messagefoundry-0.2.15/docs/adr/0007-gui-manageable-connections-toml.md +0 -160
  198. messagefoundry-0.2.15/docs/adr/0008-cluster-observability-api.md +0 -131
  199. messagefoundry-0.2.15/docs/adr/0009-run-scoped-context-providers.md +0 -91
  200. messagefoundry-0.2.15/docs/adr/0010-handler-callable-db-lookup.md +0 -90
  201. messagefoundry-0.2.15/docs/adr/0011-timer-scheduled-source.md +0 -116
  202. messagefoundry-0.2.15/docs/adr/0012-x12-edi-codec.md +0 -308
  203. messagefoundry-0.2.15/docs/adr/0013-increment-2-reingress-design.md +0 -931
  204. messagefoundry-0.2.15/docs/adr/0013-query-response-orchestration.md +0 -490
  205. messagefoundry-0.2.15/docs/adr/0014-alerting-rules-engine.md +0 -126
  206. messagefoundry-0.2.15/docs/adr/0015-ws-soap-outbound-mtls-wssecurity.md +0 -445
  207. messagefoundry-0.2.15/docs/adr/0016-synchronous-x12-request-response.md +0 -500
  208. messagefoundry-0.2.15/docs/adr/0017-consumer-deployment-model.md +0 -256
  209. messagefoundry-0.2.15/docs/adr/0018-per-message-signatures-accepted-risk.md +0 -130
  210. messagefoundry-0.2.15/docs/adr/0019-pluggable-keyprovider-hsm-kms-vault.md +0 -430
  211. messagefoundry-0.2.15/docs/adr/0020-protocol-diagnostic-capture.md +0 -90
  212. messagefoundry-0.2.15/docs/adr/0021-inbound-ack-nak-capture-response-sent.md +0 -172
  213. messagefoundry-0.2.15/docs/adr/0022-fhir-resource-codec-rest-client.md +0 -594
  214. messagefoundry-0.2.15/docs/adr/0023-inbound-http-listener.md +0 -326
  215. messagefoundry-0.2.15/docs/adr/0024-smart-backend-services-token-provider.md +0 -296
  216. messagefoundry-0.2.15/docs/adr/0025-dicom-codec-store-connectors.md +0 -835
  217. messagefoundry-0.2.15/docs/adr/0026-off-box-egress-update-check.md +0 -122
  218. messagefoundry-0.2.15/docs/adr/0027-per-connection-retention.md +0 -208
  219. messagefoundry-0.2.15/docs/adr/0028-base64-binary-carriage-codec.md +0 -174
  220. messagefoundry-0.2.15/docs/adr/0029-email-smtp-destination.md +0 -267
  221. messagefoundry-0.2.15/docs/adr/0030-anonymization-test-harness-tee.md +0 -399
  222. messagefoundry-0.2.15/docs/adr/0031-startup-connection-fault-isolation.md +0 -156
  223. messagefoundry-0.2.15/docs/adr/0032-console-desktop-launch.md +0 -402
  224. messagefoundry-0.2.15/docs/adr/0033-gui-manageable-code-sets.md +0 -212
  225. messagefoundry-0.2.15/docs/adr/0034-static-analysis-triage-policy-accepted-risk-register.md +0 -80
  226. messagefoundry-0.2.15/docs/adr/0035-ide-extension-workspace-trust-and-scope.md +0 -102
  227. messagefoundry-0.2.15/docs/adr/0036-windows-config-source-trust.md +0 -107
  228. messagefoundry-0.2.15/docs/adr/0037-multi-process-sharding-l3.md +0 -112
  229. messagefoundry-0.2.15/docs/adr/0038-internal-pass-through-connector.md +0 -111
  230. messagefoundry-0.2.15/docs/adr/0039-database-tier-sharding-l5.md +0 -110
  231. messagefoundry-0.2.15/docs/adr/0040-free-threaded-engine-support.md +0 -95
  232. messagefoundry-0.2.15/docs/adr/0041-load-path-attestation-and-change-attribution.md +0 -248
  233. messagefoundry-0.2.15/docs/adr/0042-embedded-document-pruning.md +0 -177
  234. messagefoundry-0.2.15/docs/adr/0043-fhir-read-lookup.md +0 -303
  235. messagefoundry-0.2.15/docs/adr/0044-operator-alert-state.md +0 -262
  236. messagefoundry-0.2.15/docs/adr/0045-custom-rbac-roles.md +0 -266
  237. messagefoundry-0.2.15/docs/adr/0046-message-content-search.md +0 -251
  238. messagefoundry-0.2.15/docs/adr/0047-cloud-kubernetes-ha-deployment-packaging.md +0 -325
  239. messagefoundry-0.2.15/docs/adr/0048-third-tier-disaster-recovery-standby.md +0 -648
  240. messagefoundry-0.2.15/docs/adr/0049-turnkey-dr-backup-restore-verify.md +0 -525
  241. messagefoundry-0.2.15/docs/adr/0050-single-project-root-config-anchoring.md +0 -404
  242. messagefoundry-0.2.15/docs/adr/0051-corepoint-throughput-parity-strategy.md +0 -183
  243. messagefoundry-0.2.15/docs/adr/0052-enterprise-scale-target.md +0 -101
  244. messagefoundry-0.2.15/docs/adr/0053-free-threaded-multicore-engine.md +0 -249
  245. messagefoundry-0.2.15/docs/adr/0054-low-allocation-builtins-hl7-parser.md +0 -221
  246. messagefoundry-0.2.15/docs/adr/0055-group-commit-durable-write.md +0 -152
  247. messagefoundry-0.2.15/docs/adr/0056-engine-managed-vip-failover.md +0 -643
  248. messagefoundry-0.2.15/docs/adr/0057-inline-step-a-fast-path.md +0 -184
  249. messagefoundry-0.2.15/docs/adr/0058-batch-claim-fifo-prefix.md +0 -251
  250. messagefoundry-0.2.15/docs/adr/0059-seq-only-fifo-ordering.md +0 -55
  251. messagefoundry-0.2.15/docs/adr/0060-rename-based-fifo-index-migration.md +0 -78
  252. messagefoundry-0.2.15/docs/adr/0061-per-lane-wake-events.md +0 -139
  253. messagefoundry-0.2.15/docs/adr/0062-default-store-pool-size.md +0 -137
  254. messagefoundry-0.2.15/docs/adr/0063-no-split-store-unified-store-for-sharding.md +0 -101
  255. messagefoundry-0.2.15/docs/adr/0064-schema-init-fastpath.md +0 -67
  256. messagefoundry-0.2.15/docs/adr/0065-web-ops-dashboard.md +0 -231
  257. messagefoundry-0.2.15/docs/adr/0066-pooled-stage-claimers.md +0 -437
  258. messagefoundry-0.2.15/docs/adr/0067-persistent-outbound-mllp.md +0 -128
  259. messagefoundry-0.2.15/docs/adr/0068-browser-webauthn-passkeys-offloopback.md +0 -402
  260. messagefoundry-0.2.15/docs/adr/0069-durable-write-throughput-lever.md +0 -82
  261. messagefoundry-0.2.15/docs/adr/0071-cut-executor-round-trips-b5.md +0 -164
  262. messagefoundry-0.2.15/docs/adr/README.md +0 -90
  263. messagefoundry-0.2.15/docs/adr/TEMPLATE.md +0 -51
  264. messagefoundry-0.2.15/docs/architecture-components.png +0 -0
  265. messagefoundry-0.2.15/docs/architecture-components.svg +0 -1
  266. messagefoundry-0.2.15/docs/architecture-config-graph.png +0 -0
  267. messagefoundry-0.2.15/docs/architecture-config-graph.svg +0 -1
  268. messagefoundry-0.2.15/docs/architecture-diagram.md +0 -269
  269. messagefoundry-0.2.15/docs/architecture-message-flow.png +0 -0
  270. messagefoundry-0.2.15/docs/architecture-message-flow.svg +0 -1
  271. messagefoundry-0.2.15/docs/architecture-topology.png +0 -0
  272. messagefoundry-0.2.15/docs/architecture-topology.svg +0 -1
  273. messagefoundry-0.2.15/docs/benchmarks/TUNING-BASELINE.md +0 -207
  274. messagefoundry-0.2.15/docs/benchmarks/adr0066-pooled-claimer-744.md +0 -167
  275. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/environment.txt +0 -14
  276. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/failover-postgres.json +0 -83
  277. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/failover-sqlserver.json +0 -83
  278. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/reference-postgres.json +0 -235
  279. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/reference-sqlite.json +0 -235
  280. messagefoundry-0.2.15/docs/benchmarks/results/2026-06-16-ci-linux/reference-sqlserver.json +0 -235
  281. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/commit_storm.txt +0 -14
  282. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/environment.txt +0 -42
  283. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/perlane_pool128_r400.json +0 -86
  284. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/perlane_pool128_r800.json +0 -86
  285. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_ab_atscale.json +0 -572
  286. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_ab_atscale.txt +0 -36
  287. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_pool128_r150.json +0 -86
  288. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_pool128_r250.json +0 -86
  289. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_pool128_r350.json +0 -86
  290. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/pooled_pool128_r500.json +0 -86
  291. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/push_r100.json +0 -86
  292. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/push_r120.json +0 -86
  293. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/push_r160.json +0 -86
  294. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/push_r80.json +0 -86
  295. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/walk_console_perlane128.txt +0 -27
  296. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/walk_console_pool128.txt +0 -53
  297. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-03-adr0066-pooled-atscale/walk_console_pool40.txt +0 -53
  298. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-04-adr0071-b5-executor-marshaling/PROFILE_FINDINGS.md +0 -59
  299. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-04-adr0071-b5-executor-marshaling/README.md +0 -71
  300. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-04-adr0071-b5-executor-marshaling/b5_microbench.py +0 -617
  301. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-04-adr0071-b5-executor-marshaling/engine_flame.svg +0 -491
  302. messagefoundry-0.2.15/docs/benchmarks/results/2026-07-04-adr0071-b5-executor-marshaling/profile_run.json +0 -62
  303. messagefoundry-0.2.15/docs/benchmarks/step-b-write-amplification.md +0 -76
  304. messagefoundry-0.2.15/docs/design/dbshard.md +0 -289
  305. messagefoundry-0.2.15/docs/design/freethread-spike.md +0 -177
  306. messagefoundry-0.2.15/docs/design/freethread.md +0 -253
  307. messagefoundry-0.2.15/docs/design/multiproc.md +0 -53
  308. messagefoundry-0.2.15/docs/hl7-message-ordering-reference.md +0 -86
  309. messagefoundry-0.2.15/docs/message-ordering-design.md +0 -209
  310. messagefoundry-0.2.15/docs/releases/ASVS-OPTION-A-MULTISESSION-PLAN.md +0 -284
  311. messagefoundry-0.2.15/docs/releases/ASVS-PARTIALS-SWEEP-MULTISESSION-PLAN.md +0 -373
  312. messagefoundry-0.2.15/docs/releases/DELTA-SECURITY-FIXES-MULTISESSION-PLAN.md +0 -197
  313. messagefoundry-0.2.15/docs/releases/DOGFOOD-BACKLOG-MULTISESSION-PLAN.md +0 -178
  314. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN-3.md +0 -348
  315. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN-4.md +0 -167
  316. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN-5.md +0 -453
  317. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN-6.md +0 -258
  318. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN-v0.2.md +0 -526
  319. messagefoundry-0.2.15/docs/releases/MULTISESSION-PLAN.md +0 -275
  320. messagefoundry-0.2.15/docs/releases/PLAN-3-LANE-HANDOFFS.md +0 -145
  321. messagefoundry-0.2.15/docs/releases/V0.2-LANE-HANDOFFS.md +0 -116
  322. messagefoundry-0.2.15/docs/releases/v0.1-EXECUTION-PLAN.md +0 -343
  323. messagefoundry-0.2.15/docs/releases/v0.1-PLAN.md +0 -503
  324. messagefoundry-0.2.15/docs/releases/v0.1.0-PRETAG-CHECKLIST.md +0 -59
  325. messagefoundry-0.2.15/docs/research/cloud-deployment-research-2026-06.md +0 -137
  326. messagefoundry-0.2.15/docs/research/config-ux-review.md +0 -235
  327. messagefoundry-0.2.15/docs/research/non-hl7-transform-components.md +0 -275
  328. messagefoundry-0.2.15/docs/reviews/DELTA-REVIEW-2026-07-01.md +0 -262
  329. messagefoundry-0.2.15/docs/reviews/DEPENDENCY-INFOSEC-POSTURE-2026-06-23.md +0 -175
  330. messagefoundry-0.2.15/docs/reviews/FULL-REVIEW-2026-06-10.md +0 -271
  331. messagefoundry-0.2.15/docs/security/ADVISORY-PROCESS.md +0 -35
  332. messagefoundry-0.2.15/docs/security/ASVS-FAILS-REMEDIATION-PLAN.md +0 -887
  333. messagefoundry-0.2.15/docs/security/ASVS-L2-PHASE0-CHANGES.md +0 -194
  334. messagefoundry-0.2.15/docs/security/ASVS-L2-REMEDIATION-PLAN.md +0 -256
  335. messagefoundry-0.2.15/docs/security/ASVS-L3-ASSESSMENT.md +0 -1050
  336. messagefoundry-0.2.15/docs/security/ASVS-L3-REMEDIATION-PLAN.md +0 -514
  337. messagefoundry-0.2.15/docs/security/ASVS-L3-STATUS.md +0 -131
  338. messagefoundry-0.2.15/docs/security/BEYOND-ASVS-L3-ONEPAGE.md +0 -23
  339. messagefoundry-0.2.15/docs/security/BEYOND-ASVS-L3-REMEDIATION-PLAN-ONEPAGE.md +0 -31
  340. messagefoundry-0.2.15/docs/security/BEYOND-ASVS-L3-REMEDIATION-PLAN.md +0 -930
  341. messagefoundry-0.2.15/docs/security/BEYOND-ASVS-L3.md +0 -133
  342. messagefoundry-0.2.15/docs/security/DEP-CVE-RUNBOOK.md +0 -96
  343. messagefoundry-0.2.15/docs/security/DEPENDENCY-METRICS.md +0 -47
  344. messagefoundry-0.2.15/docs/security/MEFOR-Code-Review-Checklist.xlsx +0 -0
  345. messagefoundry-0.2.15/docs/security/OFF-LOOPBACK-DEPLOYMENT.md +0 -235
  346. messagefoundry-0.2.15/docs/security/PHASE-8C-RBAC.md +0 -111
  347. messagefoundry-0.2.15/docs/security/PUBLISHING.md +0 -126
  348. messagefoundry-0.2.15/docs/security/RCA-TEMPLATE.md +0 -60
  349. messagefoundry-0.2.15/docs/security/RELEASE-GATE.md +0 -94
  350. messagefoundry-0.2.15/docs/security/REMEDIATION-PLAN.md +0 -172
  351. messagefoundry-0.2.15/docs/security/REVIEW-2026-06-07.md +0 -521
  352. messagefoundry-0.2.15/docs/security/SDS-CONFORMANCE-REVIEW-2026-06-12.md +0 -228
  353. messagefoundry-0.2.15/docs/security/SDS-REMEDIATION-PLAN.md +0 -93
  354. messagefoundry-0.2.15/docs/security/SECURITY-POSTURE.md +0 -164
  355. messagefoundry-0.2.15/docs/security/SOUP-DEPENDENCY-HANDLING.md +0 -133
  356. messagefoundry-0.2.15/docs/security/SOUP-REVIEW-2026-06-18.md +0 -82
  357. messagefoundry-0.2.15/docs/security/SOUP-REVIEW-PROCEDURE.md +0 -231
  358. messagefoundry-0.2.15/docs/security/THREAT-MODEL.md +0 -156
  359. messagefoundry-0.2.15/docs/testing/VERIFY.md +0 -83
  360. messagefoundry-0.2.15/docs/testing/WIN2025-ACCEPTANCE.md +0 -73
  361. messagefoundry-0.2.15/docs/testing/WIN2025-TEST-MATRIX.md +0 -109
  362. messagefoundry-0.2.15/docs/testing/WIN2025-TEST-PLAN.md +0 -1550
  363. messagefoundry-0.2.15/docs/throughput-build-plan.md +0 -201
  364. messagefoundry-0.2.15/docs/throughput-roadmap.md +0 -380
  365. messagefoundry-0.2.15/environments/dev.toml +0 -32
  366. messagefoundry-0.2.15/environments/prod.toml +0 -33
  367. messagefoundry-0.2.15/harness/README.md +0 -101
  368. messagefoundry-0.2.15/harness/__main__.py +0 -551
  369. messagefoundry-0.2.15/harness/acceptance/__init__.py +0 -21
  370. messagefoundry-0.2.15/harness/acceptance/__main__.py +0 -93
  371. messagefoundry-0.2.15/harness/acceptance/matrix.py +0 -528
  372. messagefoundry-0.2.15/harness/acceptance/probes.py +0 -220
  373. messagefoundry-0.2.15/harness/acceptance/report.py +0 -147
  374. messagefoundry-0.2.15/harness/acceptance/runner.py +0 -176
  375. messagefoundry-0.2.15/harness/compose.py +0 -225
  376. messagefoundry-0.2.15/harness/config/connscale/__init__.py +0 -4
  377. messagefoundry-0.2.15/harness/config/connscale/_shape.py +0 -141
  378. messagefoundry-0.2.15/harness/config/connscale/gen_toml.py +0 -106
  379. messagefoundry-0.2.15/harness/config/connscale/graph.py +0 -94
  380. messagefoundry-0.2.15/harness/config/coverage.py +0 -80
  381. messagefoundry-0.2.15/harness/config/load/_shape.py +0 -155
  382. messagefoundry-0.2.15/harness/config/load/graph.py +0 -99
  383. messagefoundry-0.2.15/harness/config/passthrough/graph.py +0 -68
  384. messagefoundry-0.2.15/harness/config/store_once/graph.py +0 -73
  385. messagefoundry-0.2.15/harness/file_panel.py +0 -250
  386. messagefoundry-0.2.15/harness/file_transport.py +0 -165
  387. messagefoundry-0.2.15/harness/load/__init__.py +0 -17
  388. messagefoundry-0.2.15/harness/load/connscale/__init__.py +0 -14
  389. messagefoundry-0.2.15/harness/load/connscale/compare.py +0 -1082
  390. messagefoundry-0.2.15/harness/load/connscale/driver.py +0 -135
  391. messagefoundry-0.2.15/harness/load/connscale/probe.py +0 -363
  392. messagefoundry-0.2.15/harness/load/connscale/profile.py +0 -487
  393. messagefoundry-0.2.15/harness/load/connscale/report.py +0 -383
  394. messagefoundry-0.2.15/harness/load/connscale/runner.py +0 -971
  395. messagefoundry-0.2.15/harness/load/corpus.py +0 -176
  396. messagefoundry-0.2.15/harness/load/correlator.py +0 -73
  397. messagefoundry-0.2.15/harness/load/enginepoll.py +0 -384
  398. messagefoundry-0.2.15/harness/load/failover.py +0 -830
  399. messagefoundry-0.2.15/harness/load/failover_track.py +0 -143
  400. messagefoundry-0.2.15/harness/load/governor.py +0 -109
  401. messagefoundry-0.2.15/harness/load/ids.py +0 -42
  402. messagefoundry-0.2.15/harness/load/metrics.py +0 -219
  403. messagefoundry-0.2.15/harness/load/multishard.py +0 -808
  404. messagefoundry-0.2.15/harness/load/profile.py +0 -633
  405. messagefoundry-0.2.15/harness/load/profiles/README.md +0 -34
  406. messagefoundry-0.2.15/harness/load/profiles/adt-fanout-stress.toml +0 -116
  407. messagefoundry-0.2.15/harness/load/profiles/closed-loop.toml +0 -100
  408. messagefoundry-0.2.15/harness/load/profiles/connscale-smoke.toml +0 -31
  409. messagefoundry-0.2.15/harness/load/profiles/connscale.toml +0 -35
  410. messagefoundry-0.2.15/harness/load/profiles/failover.toml +0 -55
  411. messagefoundry-0.2.15/harness/load/profiles/fanout-baseline.toml +0 -92
  412. messagefoundry-0.2.15/harness/load/profiles/fuse_ab.toml +0 -68
  413. messagefoundry-0.2.15/harness/load/profiles/malformed-load.toml +0 -44
  414. messagefoundry-0.2.15/harness/load/profiles/pooled_ab.toml +0 -51
  415. messagefoundry-0.2.15/harness/load/profiles/reference.toml +0 -148
  416. messagefoundry-0.2.15/harness/load/profiles/smoke-sqlserver.toml +0 -42
  417. messagefoundry-0.2.15/harness/load/profiles/smoke.toml +0 -36
  418. messagefoundry-0.2.15/harness/load/profiles/soak.toml +0 -45
  419. messagefoundry-0.2.15/harness/load/profiles/spike-burst.toml +0 -50
  420. messagefoundry-0.2.15/harness/load/profiles/sustained-overload.toml +0 -51
  421. messagefoundry-0.2.15/harness/load/profiles/writeamp.toml +0 -41
  422. messagefoundry-0.2.15/harness/load/report.py +0 -647
  423. messagefoundry-0.2.15/harness/load/runner.py +0 -199
  424. messagefoundry-0.2.15/harness/load/sender.py +0 -322
  425. messagefoundry-0.2.15/harness/load/sink.py +0 -136
  426. messagefoundry-0.2.15/harness/mllp.py +0 -271
  427. messagefoundry-0.2.15/harness/monitor.py +0 -547
  428. messagefoundry-0.2.15/harness/receive.py +0 -137
  429. messagefoundry-0.2.15/harness/reconcile/__init__.py +0 -49
  430. messagefoundry-0.2.15/harness/reconcile/__main__.py +0 -149
  431. messagefoundry-0.2.15/harness/reconcile/capture.py +0 -150
  432. messagefoundry-0.2.15/harness/reconcile/compare.py +0 -179
  433. messagefoundry-0.2.15/harness/reconcile/normalize.py +0 -234
  434. messagefoundry-0.2.15/harness/reconcile/report.py +0 -73
  435. messagefoundry-0.2.15/harness/scenarios.py +0 -195
  436. messagefoundry-0.2.15/harness/send.py +0 -175
  437. messagefoundry-0.2.15/harness/window.py +0 -52
  438. messagefoundry-0.2.15/ide/.gitignore +0 -7
  439. messagefoundry-0.2.15/ide/.vscodeignore +0 -12
  440. messagefoundry-0.2.15/ide/README.md +0 -152
  441. messagefoundry-0.2.15/ide/esbuild.js +0 -28
  442. messagefoundry-0.2.15/ide/media/hl7schema.json +0 -1
  443. messagefoundry-0.2.15/ide/media/icon-amber.svg +0 -5
  444. messagefoundry-0.2.15/ide/media/icon.png +0 -0
  445. messagefoundry-0.2.15/ide/media/icon.svg +0 -6
  446. messagefoundry-0.2.15/ide/package-lock.json +0 -5685
  447. messagefoundry-0.2.15/ide/package.json +0 -437
  448. messagefoundry-0.2.15/ide/snippets/messagefoundry.code-snippets +0 -145
  449. messagefoundry-0.2.15/ide/src/aiPolicy.ts +0 -136
  450. messagefoundry-0.2.15/ide/src/alertEditor.ts +0 -329
  451. messagefoundry-0.2.15/ide/src/auth.ts +0 -134
  452. messagefoundry-0.2.15/ide/src/chat.ts +0 -167
  453. messagefoundry-0.2.15/ide/src/cli.ts +0 -248
  454. messagefoundry-0.2.15/ide/src/codeSetEditor.ts +0 -459
  455. messagefoundry-0.2.15/ide/src/codesetsTree.ts +0 -109
  456. messagefoundry-0.2.15/ide/src/completion.ts +0 -157
  457. messagefoundry-0.2.15/ide/src/connectionEditor.ts +0 -402
  458. messagefoundry-0.2.15/ide/src/editorToolbar.ts +0 -122
  459. messagefoundry-0.2.15/ide/src/engineClient.ts +0 -143
  460. messagefoundry-0.2.15/ide/src/engineTarget.ts +0 -44
  461. messagefoundry-0.2.15/ide/src/extension.ts +0 -249
  462. messagefoundry-0.2.15/ide/src/generate.ts +0 -99
  463. messagefoundry-0.2.15/ide/src/git.ts +0 -76
  464. messagefoundry-0.2.15/ide/src/graphTree.ts +0 -215
  465. messagefoundry-0.2.15/ide/src/home.ts +0 -133
  466. messagefoundry-0.2.15/ide/src/insertElement.ts +0 -78
  467. messagefoundry-0.2.15/ide/src/newRoute.ts +0 -327
  468. messagefoundry-0.2.15/ide/src/promote.ts +0 -196
  469. messagefoundry-0.2.15/ide/src/promoteTarget.ts +0 -55
  470. messagefoundry-0.2.15/ide/src/sourceControl.ts +0 -448
  471. messagefoundry-0.2.15/ide/src/test/runTest.ts +0 -22
  472. messagefoundry-0.2.15/ide/src/test/suite/ai-policy.test.ts +0 -65
  473. messagefoundry-0.2.15/ide/src/test/suite/chat.test.ts +0 -81
  474. messagefoundry-0.2.15/ide/src/test/suite/editor-toolbar.test.ts +0 -101
  475. messagefoundry-0.2.15/ide/src/test/suite/engine-target.test.ts +0 -43
  476. messagefoundry-0.2.15/ide/src/test/suite/extension.test.ts +0 -70
  477. messagefoundry-0.2.15/ide/src/test/suite/index.ts +0 -31
  478. messagefoundry-0.2.15/ide/src/test/suite/insert-element.test.ts +0 -83
  479. messagefoundry-0.2.15/ide/src/test/suite/promote-target.test.ts +0 -85
  480. messagefoundry-0.2.15/ide/src/test/suite/pythonpath.test.ts +0 -79
  481. messagefoundry-0.2.15/ide/src/test/suite/settings-scope.test.ts +0 -37
  482. messagefoundry-0.2.15/ide/src/testBench.ts +0 -310
  483. messagefoundry-0.2.15/ide/src/validate.ts +0 -54
  484. messagefoundry-0.2.15/ide/tsconfig.json +0 -13
  485. messagefoundry-0.2.15/ide/tsconfig.test.json +0 -12
  486. messagefoundry-0.2.15/mefor.code-workspace +0 -6
  487. messagefoundry-0.2.15/messagefoundry/api/auth_routes.py +0 -1698
  488. messagefoundry-0.2.15/messagefoundry/api/security.py +0 -251
  489. messagefoundry-0.2.15/messagefoundry/api/webui/__init__.py +0 -63
  490. messagefoundry-0.2.15/messagefoundry/api/webui/_auth.py +0 -458
  491. messagefoundry-0.2.15/messagefoundry/api/webui/_html.py +0 -157
  492. messagefoundry-0.2.15/messagefoundry/api/webui/pages/__init__.py +0 -24
  493. messagefoundry-0.2.15/messagefoundry/api/webui/pages/_common.py +0 -21
  494. messagefoundry-0.2.15/messagefoundry/api/webui/pages/account.py +0 -637
  495. messagefoundry-0.2.15/messagefoundry/api/webui/pages/admin.py +0 -480
  496. messagefoundry-0.2.15/messagefoundry/api/webui/pages/audit.py +0 -67
  497. messagefoundry-0.2.15/messagefoundry/api/webui/pages/config.py +0 -112
  498. messagefoundry-0.2.15/messagefoundry/api/webui/pages/connections.py +0 -151
  499. messagefoundry-0.2.15/messagefoundry/api/webui/pages/messages.py +0 -359
  500. messagefoundry-0.2.15/messagefoundry/api/webui/pages/monitoring.py +0 -404
  501. messagefoundry-0.2.15/messagefoundry/api/webui/static/app.css +0 -95
  502. messagefoundry-0.2.15/messagefoundry/api/webui/static/app.js +0 -265
  503. messagefoundry-0.2.15/messagefoundry/config/code_sets.py +0 -260
  504. messagefoundry-0.2.15/messagefoundry/config/tls_policy.py +0 -110
  505. messagefoundry-0.2.15/messagefoundry/console/__init__.py +0 -35
  506. messagefoundry-0.2.15/messagefoundry/console/__main__.py +0 -361
  507. messagefoundry-0.2.15/messagefoundry/console/_async.py +0 -107
  508. messagefoundry-0.2.15/messagefoundry/console/alerts_page.py +0 -324
  509. messagefoundry-0.2.15/messagefoundry/console/change_password.py +0 -111
  510. messagefoundry-0.2.15/messagefoundry/console/connections.py +0 -395
  511. messagefoundry-0.2.15/messagefoundry/console/dead_letters_page.py +0 -232
  512. messagefoundry-0.2.15/messagefoundry/console/delegates.py +0 -69
  513. messagefoundry-0.2.15/messagefoundry/console/event_log_page.py +0 -145
  514. messagefoundry-0.2.15/messagefoundry/console/icons/alerts.svg +0 -4
  515. messagefoundry-0.2.15/messagefoundry/console/icons/connections.svg +0 -5
  516. messagefoundry-0.2.15/messagefoundry/console/icons/dead-letters.svg +0 -4
  517. messagefoundry-0.2.15/messagefoundry/console/icons/engine-status.svg +0 -3
  518. messagefoundry-0.2.15/messagefoundry/console/icons/log-search.svg +0 -4
  519. messagefoundry-0.2.15/messagefoundry/console/icons/logo-lockup.svg +0 -33
  520. messagefoundry-0.2.15/messagefoundry/console/icons/users.svg +0 -4
  521. messagefoundry-0.2.15/messagefoundry/console/login.py +0 -107
  522. messagefoundry-0.2.15/messagefoundry/console/mfa.py +0 -205
  523. messagefoundry-0.2.15/messagefoundry/console/reauth.py +0 -94
  524. messagefoundry-0.2.15/messagefoundry/console/resources/README.md +0 -23
  525. messagefoundry-0.2.15/messagefoundry/console/resources/app.ico +0 -0
  526. messagefoundry-0.2.15/messagefoundry/console/resources/app.svg +0 -8
  527. messagefoundry-0.2.15/messagefoundry/console/search.py +0 -57
  528. messagefoundry-0.2.15/messagefoundry/console/sessions.py +0 -122
  529. messagefoundry-0.2.15/messagefoundry/console/shards.py +0 -224
  530. messagefoundry-0.2.15/messagefoundry/console/shell.py +0 -706
  531. messagefoundry-0.2.15/messagefoundry/console/status.py +0 -416
  532. messagefoundry-0.2.15/messagefoundry/console/theme.py +0 -268
  533. messagefoundry-0.2.15/messagefoundry/console/users_page.py +0 -282
  534. messagefoundry-0.2.15/messagefoundry/console/widgets.py +0 -612
  535. messagefoundry-0.2.15/messagefoundry/store/crypto.py +0 -271
  536. messagefoundry-0.2.15/messagefoundry/transports/rest.py +0 -317
  537. messagefoundry-0.2.15/packaging/messagefoundry-harness/README.md +0 -30
  538. messagefoundry-0.2.15/packaging/messagefoundry-harness/pyproject.toml +0 -54
  539. messagefoundry-0.2.15/requirements.lock +0 -999
  540. messagefoundry-0.2.15/samples/config/IB_ACME_ADT.py +0 -29
  541. messagefoundry-0.2.15/samples/config/IB_FHIR_INTAKE.py +0 -56
  542. messagefoundry-0.2.15/samples/config/IB_IMMUNIZATION_VXU.py +0 -63
  543. messagefoundry-0.2.15/samples/config/IB_PARTNER_X12.py +0 -47
  544. messagefoundry-0.2.15/samples/config/IB_RADIOLOGY_SR.py +0 -87
  545. messagefoundry-0.2.15/samples/config/IB_RTE_ELIGIBILITY.py +0 -87
  546. messagefoundry-0.2.15/samples/config/adt.py +0 -53
  547. messagefoundry-0.2.15/samples/config/codesets/event_labels.csv +0 -4
  548. messagefoundry-0.2.15/samples/config/codesets/facility_mnemonics.toml +0 -4
  549. messagefoundry-0.2.15/samples/config/connections.toml +0 -28
  550. messagefoundry-0.2.15/samples/consistency/validated_adt.py +0 -62
  551. messagefoundry-0.2.15/samples/dicom/generate_sr_sample.py +0 -118
  552. messagefoundry-0.2.15/samples/messages/adt_a01.hl7 +0 -4
  553. messagefoundry-0.2.15/samples/messages/adt_batch.hl7 +0 -18
  554. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/.gitattributes +0 -5
  555. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/README.md +0 -39
  556. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/adt_a01.txt +0 -1
  557. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/adt_a03.txt +0 -5
  558. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/batch_18_messages.txt +0 -133
  559. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/erp_z99_v231.hl7 +0 -7
  560. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/omd_o03.txt +0 -1
  561. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/omd_o03_rep.txt +0 -1
  562. messagefoundry-0.2.15/samples/messages/hapi-hl7v2/oml_o21.hl7 +0 -1
  563. messagefoundry-0.2.15/samples/messages/x12_270_eligibility.edi +0 -1
  564. messagefoundry-0.2.15/samples/results_relay/README.md +0 -44
  565. messagefoundry-0.2.15/samples/results_relay/codesets/test_codes.csv +0 -4
  566. messagefoundry-0.2.15/samples/results_relay/messages/oru_all_cancelled.hl7 +0 -4
  567. messagefoundry-0.2.15/samples/results_relay/messages/oru_results.hl7 +0 -7
  568. messagefoundry-0.2.15/samples/results_relay/results_relay.py +0 -124
  569. messagefoundry-0.2.15/samples/send_mllp.py +0 -61
  570. messagefoundry-0.2.15/scripts/console/install-console-shortcut.ps1 +0 -134
  571. messagefoundry-0.2.15/scripts/console/pack_ico.py +0 -55
  572. messagefoundry-0.2.15/scripts/console/uninstall-console-shortcut.ps1 +0 -47
  573. messagefoundry-0.2.15/scripts/dev/postgres.ps1 +0 -60
  574. messagefoundry-0.2.15/scripts/dev/sqlserver-docker.ps1 +0 -191
  575. messagefoundry-0.2.15/scripts/dev/sqlserver.ps1 +0 -80
  576. messagefoundry-0.2.15/scripts/hooks/block-blanket-git-stage.ps1 +0 -53
  577. messagefoundry-0.2.15/scripts/publish/check_release_sync.py +0 -258
  578. messagefoundry-0.2.15/scripts/publish/publish-denylist.txt +0 -33
  579. messagefoundry-0.2.15/scripts/publish/publish.ps1 +0 -264
  580. messagefoundry-0.2.15/scripts/publish/scan_forbidden.py +0 -294
  581. messagefoundry-0.2.15/scripts/security/crypto_inventory_check.py +0 -197
  582. messagefoundry-0.2.15/scripts/security/vuln_metrics.py +0 -321
  583. messagefoundry-0.2.15/scripts/service/import-db-ca.ps1 +0 -97
  584. messagefoundry-0.2.15/scripts/service/install-service.ps1 +0 -296
  585. messagefoundry-0.2.15/scripts/service/uninstall-service.ps1 +0 -55
  586. messagefoundry-0.2.15/scripts/trace_icon.py +0 -128
  587. messagefoundry-0.2.15/scripts/worktree/new.ps1 +0 -131
  588. messagefoundry-0.2.15/scripts/worktree/prune-merged.ps1 +0 -128
  589. messagefoundry-0.2.15/scripts/worktree/remove.ps1 +0 -52
  590. messagefoundry-0.2.15/scripts/worktree/session-context.ps1 +0 -79
  591. messagefoundry-0.2.15/scripts/worktree/spawn.ps1 +0 -51
  592. messagefoundry-0.2.15/tee/__init__.py +0 -20
  593. messagefoundry-0.2.15/tee/__main__.py +0 -568
  594. messagefoundry-0.2.15/tee/anon/__init__.py +0 -80
  595. messagefoundry-0.2.15/tee/anon/_hl7data.py +0 -428
  596. messagefoundry-0.2.15/tee/anon/_pools.py +0 -30
  597. messagefoundry-0.2.15/tee/anon/hl7.py +0 -71
  598. messagefoundry-0.2.15/tee/anon/keying.py +0 -67
  599. messagefoundry-0.2.15/tee/anon/leak.py +0 -100
  600. messagefoundry-0.2.15/tee/anon/rules.py +0 -219
  601. messagefoundry-0.2.15/tee/anon/surrogates.py +0 -299
  602. messagefoundry-0.2.15/tee/compare.py +0 -152
  603. messagefoundry-0.2.15/tee/correlate.py +0 -286
  604. messagefoundry-0.2.15/tee/hl7_fields.py +0 -95
  605. messagefoundry-0.2.15/tee/mefor_api.py +0 -116
  606. messagefoundry-0.2.15/tee/mllp.py +0 -181
  607. messagefoundry-0.2.15/tee/relay.py +0 -530
  608. messagefoundry-0.2.15/tee/report.py +0 -80
  609. messagefoundry-0.2.15/tee/store.py +0 -382
  610. messagefoundry-0.2.15/tests/_dicom_sample.py +0 -85
  611. messagefoundry-0.2.15/tests/_failover_load_support.py +0 -209
  612. messagefoundry-0.2.15/tests/_fhir_fixtures.py +0 -77
  613. messagefoundry-0.2.15/tests/_soft_webauthn.py +0 -138
  614. messagefoundry-0.2.15/tests/_webauthn_store_contract.py +0 -183
  615. messagefoundry-0.2.15/tests/conftest.py +0 -199
  616. messagefoundry-0.2.15/tests/test_acceptance_framework.py +0 -144
  617. messagefoundry-0.2.15/tests/test_ack_capture_runner.py +0 -101
  618. messagefoundry-0.2.15/tests/test_ack_sent_store.py +0 -156
  619. messagefoundry-0.2.15/tests/test_active_environment.py +0 -103
  620. messagefoundry-0.2.15/tests/test_ad_group_scope.py +0 -148
  621. messagefoundry-0.2.15/tests/test_admin_new_ip.py +0 -333
  622. messagefoundry-0.2.15/tests/test_adr0071_crossing_count.py +0 -162
  623. messagefoundry-0.2.15/tests/test_adr0071_dispatch_wiring.py +0 -525
  624. messagefoundry-0.2.15/tests/test_adr0071_dispatch_wiring_sqlserver.py +0 -537
  625. messagefoundry-0.2.15/tests/test_adr0071_fused_callables_sqlserver.py +0 -297
  626. messagefoundry-0.2.15/tests/test_adr0071_fusion_wiring.py +0 -400
  627. messagefoundry-0.2.15/tests/test_adr_analyze.py +0 -104
  628. messagefoundry-0.2.15/tests/test_ai_policy.py +0 -400
  629. messagefoundry-0.2.15/tests/test_alert_rules.py +0 -343
  630. messagefoundry-0.2.15/tests/test_alert_sinks.py +0 -243
  631. messagefoundry-0.2.15/tests/test_alert_state.py +0 -459
  632. messagefoundry-0.2.15/tests/test_alerts_edit.py +0 -146
  633. messagefoundry-0.2.15/tests/test_alerts_rules_api.py +0 -255
  634. messagefoundry-0.2.15/tests/test_anon_core.py +0 -262
  635. messagefoundry-0.2.15/tests/test_anon_integration.py +0 -189
  636. messagefoundry-0.2.15/tests/test_anon_parity.py +0 -133
  637. messagefoundry-0.2.15/tests/test_api.py +0 -749
  638. messagefoundry-0.2.15/tests/test_api_alerts.py +0 -247
  639. messagefoundry-0.2.15/tests/test_api_auth.py +0 -768
  640. messagefoundry-0.2.15/tests/test_api_reload.py +0 -219
  641. messagefoundry-0.2.15/tests/test_api_tls.py +0 -211
  642. messagefoundry-0.2.15/tests/test_approvals.py +0 -179
  643. messagefoundry-0.2.15/tests/test_asvs_phase0.py +0 -242
  644. messagefoundry-0.2.15/tests/test_audit_integrity.py +0 -104
  645. messagefoundry-0.2.15/tests/test_audit_offbox_tee.py +0 -176
  646. messagefoundry-0.2.15/tests/test_auth_core.py +0 -153
  647. messagefoundry-0.2.15/tests/test_auth_entry_hardening.py +0 -104
  648. messagefoundry-0.2.15/tests/test_auth_hardening.py +0 -524
  649. messagefoundry-0.2.15/tests/test_auth_service.py +0 -475
  650. messagefoundry-0.2.15/tests/test_auth_session_lifecycle.py +0 -190
  651. messagefoundry-0.2.15/tests/test_auth_store.py +0 -136
  652. messagefoundry-0.2.15/tests/test_backup_crypto.py +0 -144
  653. messagefoundry-0.2.15/tests/test_backup_restore_atleastonce.py +0 -76
  654. messagefoundry-0.2.15/tests/test_backup_runner.py +0 -373
  655. messagefoundry-0.2.15/tests/test_batch_claim_fifo.py +0 -371
  656. messagefoundry-0.2.15/tests/test_batch_claim_locking.py +0 -799
  657. messagefoundry-0.2.15/tests/test_batch_claim_worker.py +0 -154
  658. messagefoundry-0.2.15/tests/test_binary_carriage.py +0 -307
  659. messagefoundry-0.2.15/tests/test_bootstrap_admin_perms.py +0 -77
  660. messagefoundry-0.2.15/tests/test_builtin_hl7_hardening.py +0 -87
  661. messagefoundry-0.2.15/tests/test_builtin_hl7_parity.py +0 -620
  662. messagefoundry-0.2.15/tests/test_cert_expiry.py +0 -254
  663. messagefoundry-0.2.15/tests/test_channel_rbac.py +0 -211
  664. messagefoundry-0.2.15/tests/test_checks.py +0 -441
  665. messagefoundry-0.2.15/tests/test_checks_lint.py +0 -66
  666. messagefoundry-0.2.15/tests/test_claim_fifo_heads.py +0 -522
  667. messagefoundry-0.2.15/tests/test_cli.py +0 -811
  668. messagefoundry-0.2.15/tests/test_cli_offline_resolution.py +0 -250
  669. messagefoundry-0.2.15/tests/test_cluster.py +0 -1038
  670. messagefoundry-0.2.15/tests/test_cluster_failover_postgres.py +0 -241
  671. messagefoundry-0.2.15/tests/test_cluster_failover_sqlserver.py +0 -235
  672. messagefoundry-0.2.15/tests/test_cluster_graph_gating.py +0 -343
  673. messagefoundry-0.2.15/tests/test_cluster_lease.py +0 -338
  674. messagefoundry-0.2.15/tests/test_code_sets.py +0 -306
  675. messagefoundry-0.2.15/tests/test_codeset_edit.py +0 -641
  676. messagefoundry-0.2.15/tests/test_config_anchoring.py +0 -481
  677. messagefoundry-0.2.15/tests/test_config_fingerprint.py +0 -124
  678. messagefoundry-0.2.15/tests/test_config_provenance.py +0 -157
  679. messagefoundry-0.2.15/tests/test_config_source_trust.py +0 -224
  680. messagefoundry-0.2.15/tests/test_connection_api.py +0 -368
  681. messagefoundry-0.2.15/tests/test_connection_event_api.py +0 -83
  682. messagefoundry-0.2.15/tests/test_connection_event_emit.py +0 -229
  683. messagefoundry-0.2.15/tests/test_connection_event_outbound.py +0 -102
  684. messagefoundry-0.2.15/tests/test_connection_event_scope.py +0 -255
  685. messagefoundry-0.2.15/tests/test_connection_event_store.py +0 -208
  686. messagefoundry-0.2.15/tests/test_connection_resilience.py +0 -164
  687. messagefoundry-0.2.15/tests/test_connections_cli.py +0 -228
  688. messagefoundry-0.2.15/tests/test_connections_file.py +0 -445
  689. messagefoundry-0.2.15/tests/test_connscale_compare.py +0 -238
  690. messagefoundry-0.2.15/tests/test_connscale_config.py +0 -85
  691. messagefoundry-0.2.15/tests/test_connscale_driver.py +0 -105
  692. messagefoundry-0.2.15/tests/test_connscale_fuse.py +0 -468
  693. messagefoundry-0.2.15/tests/test_connscale_postgres.py +0 -110
  694. messagefoundry-0.2.15/tests/test_connscale_profile.py +0 -218
  695. messagefoundry-0.2.15/tests/test_connscale_report.py +0 -181
  696. messagefoundry-0.2.15/tests/test_connscale_smoke.py +0 -150
  697. messagefoundry-0.2.15/tests/test_consistency.py +0 -125
  698. messagefoundry-0.2.15/tests/test_console_alerts.py +0 -329
  699. messagefoundry-0.2.15/tests/test_console_auth.py +0 -144
  700. messagefoundry-0.2.15/tests/test_console_client.py +0 -393
  701. messagefoundry-0.2.15/tests/test_console_dead_letters.py +0 -276
  702. messagefoundry-0.2.15/tests/test_console_event_log.py +0 -141
  703. messagefoundry-0.2.15/tests/test_console_hardening.py +0 -109
  704. messagefoundry-0.2.15/tests/test_console_icon.py +0 -72
  705. messagefoundry-0.2.15/tests/test_console_password.py +0 -419
  706. messagefoundry-0.2.15/tests/test_console_sessions.py +0 -167
  707. messagefoundry-0.2.15/tests/test_console_shards.py +0 -257
  708. messagefoundry-0.2.15/tests/test_console_status.py +0 -416
  709. messagefoundry-0.2.15/tests/test_console_step_up.py +0 -193
  710. messagefoundry-0.2.15/tests/test_console_theme.py +0 -86
  711. messagefoundry-0.2.15/tests/test_console_users.py +0 -191
  712. messagefoundry-0.2.15/tests/test_console_widgets.py +0 -1034
  713. messagefoundry-0.2.15/tests/test_content_search.py +0 -378
  714. messagefoundry-0.2.15/tests/test_custom_roles.py +0 -417
  715. messagefoundry-0.2.15/tests/test_database_connector_integration.py +0 -138
  716. messagefoundry-0.2.15/tests/test_database_transport.py +0 -646
  717. messagefoundry-0.2.15/tests/test_db_lookup.py +0 -372
  718. messagefoundry-0.2.15/tests/test_db_lookup_live_runner.py +0 -282
  719. messagefoundry-0.2.15/tests/test_delivery_settings.py +0 -199
  720. messagefoundry-0.2.15/tests/test_dependabot_automerge_guardrails.py +0 -108
  721. messagefoundry-0.2.15/tests/test_dependency_boundaries.py +0 -54
  722. messagefoundry-0.2.15/tests/test_dicom_codec.py +0 -235
  723. messagefoundry-0.2.15/tests/test_dicom_scp.py +0 -248
  724. messagefoundry-0.2.15/tests/test_dicom_scp_security.py +0 -197
  725. messagefoundry-0.2.15/tests/test_dicom_scu.py +0 -172
  726. messagefoundry-0.2.15/tests/test_dicom_wiring.py +0 -220
  727. messagefoundry-0.2.15/tests/test_dicomweb.py +0 -291
  728. messagefoundry-0.2.15/tests/test_docs_runbooks.py +0 -102
  729. messagefoundry-0.2.15/tests/test_dr_activation.py +0 -187
  730. messagefoundry-0.2.15/tests/test_dr_api_status.py +0 -94
  731. messagefoundry-0.2.15/tests/test_dr_failback.py +0 -114
  732. messagefoundry-0.2.15/tests/test_dr_rbac.py +0 -143
  733. messagefoundry-0.2.15/tests/test_dr_run_profile.py +0 -183
  734. messagefoundry-0.2.15/tests/test_dr_seeding.py +0 -216
  735. messagefoundry-0.2.15/tests/test_dryrun.py +0 -334
  736. messagefoundry-0.2.15/tests/test_dual_control_reload.py +0 -190
  737. messagefoundry-0.2.15/tests/test_ed_documents.py +0 -74
  738. messagefoundry-0.2.15/tests/test_ed_documents_e2e.py +0 -253
  739. messagefoundry-0.2.15/tests/test_egress_allowlist.py +0 -160
  740. messagefoundry-0.2.15/tests/test_email_destination.py +0 -313
  741. messagefoundry-0.2.15/tests/test_embedded_document_pruning.py +0 -367
  742. messagefoundry-0.2.15/tests/test_enginepoll_aggregate.py +0 -154
  743. messagefoundry-0.2.15/tests/test_environments.py +0 -326
  744. messagefoundry-0.2.15/tests/test_fhir_lookup.py +0 -438
  745. messagefoundry-0.2.15/tests/test_fhir_parsing.py +0 -159
  746. messagefoundry-0.2.15/tests/test_fhir_resource.py +0 -96
  747. messagefoundry-0.2.15/tests/test_fhir_transport.py +0 -405
  748. messagefoundry-0.2.15/tests/test_field_authz.py +0 -167
  749. messagefoundry-0.2.15/tests/test_field_authz_metadata.py +0 -116
  750. messagefoundry-0.2.15/tests/test_fifo_index_migration.py +0 -433
  751. messagefoundry-0.2.15/tests/test_fifo_ordering.py +0 -121
  752. messagefoundry-0.2.15/tests/test_generate_cli.py +0 -78
  753. messagefoundry-0.2.15/tests/test_generated_adt.py +0 -177
  754. messagefoundry-0.2.15/tests/test_generators_core.py +0 -57
  755. messagefoundry-0.2.15/tests/test_generators_types.py +0 -42
  756. messagefoundry-0.2.15/tests/test_group_commit.py +0 -625
  757. messagefoundry-0.2.15/tests/test_groups.py +0 -267
  758. messagefoundry-0.2.15/tests/test_harness.py +0 -145
  759. messagefoundry-0.2.15/tests/test_harness_compose.py +0 -130
  760. messagefoundry-0.2.15/tests/test_harness_config.py +0 -72
  761. messagefoundry-0.2.15/tests/test_harness_faults.py +0 -113
  762. messagefoundry-0.2.15/tests/test_harness_file.py +0 -77
  763. messagefoundry-0.2.15/tests/test_harness_monitor.py +0 -186
  764. messagefoundry-0.2.15/tests/test_harness_reconcile.py +0 -230
  765. messagefoundry-0.2.15/tests/test_harness_scenarios.py +0 -195
  766. messagefoundry-0.2.15/tests/test_hl7_core_features.py +0 -250
  767. messagefoundry-0.2.15/tests/test_hl7schema.py +0 -48
  768. messagefoundry-0.2.15/tests/test_idle_backstop_retry_wake.py +0 -172
  769. messagefoundry-0.2.15/tests/test_inbound_bind.py +0 -110
  770. messagefoundry-0.2.15/tests/test_inbound_http_source.py +0 -464
  771. messagefoundry-0.2.15/tests/test_ingest_time.py +0 -103
  772. messagefoundry-0.2.15/tests/test_inline_fast_path.py +0 -534
  773. messagefoundry-0.2.15/tests/test_keyprovider.py +0 -274
  774. messagefoundry-0.2.15/tests/test_last_admin_guard.py +0 -150
  775. messagefoundry-0.2.15/tests/test_last_resort.py +0 -104
  776. messagefoundry-0.2.15/tests/test_leader_tasks.py +0 -228
  777. messagefoundry-0.2.15/tests/test_listener_tls_exposure.py +0 -60
  778. messagefoundry-0.2.15/tests/test_load_config.py +0 -239
  779. messagefoundry-0.2.15/tests/test_load_corpus.py +0 -91
  780. messagefoundry-0.2.15/tests/test_load_failover_postgres.py +0 -85
  781. messagefoundry-0.2.15/tests/test_load_failover_sqlserver.py +0 -83
  782. messagefoundry-0.2.15/tests/test_load_failover_unit.py +0 -462
  783. messagefoundry-0.2.15/tests/test_load_metrics.py +0 -124
  784. messagefoundry-0.2.15/tests/test_load_profile.py +0 -237
  785. messagefoundry-0.2.15/tests/test_load_report.py +0 -258
  786. messagefoundry-0.2.15/tests/test_load_runner.py +0 -227
  787. messagefoundry-0.2.15/tests/test_load_sender.py +0 -130
  788. messagefoundry-0.2.15/tests/test_load_sink.py +0 -158
  789. messagefoundry-0.2.15/tests/test_logging.py +0 -424
  790. messagefoundry-0.2.15/tests/test_message.py +0 -363
  791. messagefoundry-0.2.15/tests/test_message_split.py +0 -316
  792. messagefoundry-0.2.15/tests/test_message_timestamps.py +0 -79
  793. messagefoundry-0.2.15/tests/test_metrics_exporter.py +0 -288
  794. messagefoundry-0.2.15/tests/test_mfa.py +0 -281
  795. messagefoundry-0.2.15/tests/test_mllp_delivery_error_detail.py +0 -67
  796. messagefoundry-0.2.15/tests/test_mllp_encoding_override.py +0 -249
  797. messagefoundry-0.2.15/tests/test_mllp_persistent.py +0 -799
  798. messagefoundry-0.2.15/tests/test_mllp_tls.py +0 -328
  799. messagefoundry-0.2.15/tests/test_multishard_record.py +0 -94
  800. messagefoundry-0.2.15/tests/test_multishard_smoke.py +0 -157
  801. messagefoundry-0.2.15/tests/test_nonhl7_ingress_size_cap.py +0 -145
  802. messagefoundry-0.2.15/tests/test_operability_config.py +0 -382
  803. messagefoundry-0.2.15/tests/test_outbound_signing.py +0 -387
  804. messagefoundry-0.2.15/tests/test_outbound_simulate.py +0 -355
  805. messagefoundry-0.2.15/tests/test_packaging.py +0 -23
  806. messagefoundry-0.2.15/tests/test_parse_tree.py +0 -73
  807. messagefoundry-0.2.15/tests/test_parsing.py +0 -202
  808. messagefoundry-0.2.15/tests/test_passthrough.py +0 -674
  809. messagefoundry-0.2.15/tests/test_passthrough_graph.py +0 -64
  810. messagefoundry-0.2.15/tests/test_payload_agnostic_ingress.py +0 -240
  811. messagefoundry-0.2.15/tests/test_per_connection_retention.py +0 -373
  812. messagefoundry-0.2.15/tests/test_per_lane_wake.py +0 -324
  813. messagefoundry-0.2.15/tests/test_pool_warm.py +0 -395
  814. messagefoundry-0.2.15/tests/test_pooled_rider.py +0 -971
  815. messagefoundry-0.2.15/tests/test_pooled_runner.py +0 -199
  816. messagefoundry-0.2.15/tests/test_postgres_store.py +0 -1912
  817. messagefoundry-0.2.15/tests/test_priority_resolution.py +0 -128
  818. messagefoundry-0.2.15/tests/test_reconcile_capture.py +0 -118
  819. messagefoundry-0.2.15/tests/test_reconcile_compare.py +0 -102
  820. messagefoundry-0.2.15/tests/test_reconcile_harness.py +0 -128
  821. messagefoundry-0.2.15/tests/test_redaction.py +0 -123
  822. messagefoundry-0.2.15/tests/test_reference_sets.py +0 -538
  823. messagefoundry-0.2.15/tests/test_reingress.py +0 -510
  824. messagefoundry-0.2.15/tests/test_remotefile_transport.py +0 -781
  825. messagefoundry-0.2.15/tests/test_response_capture.py +0 -561
  826. messagefoundry-0.2.15/tests/test_rest_transport.py +0 -209
  827. messagefoundry-0.2.15/tests/test_restore_verify.py +0 -102
  828. messagefoundry-0.2.15/tests/test_retention.py +0 -432
  829. messagefoundry-0.2.15/tests/test_run_context.py +0 -103
  830. messagefoundry-0.2.15/tests/test_scaffold.py +0 -139
  831. messagefoundry-0.2.15/tests/test_scaffold_requirements.py +0 -54
  832. messagefoundry-0.2.15/tests/test_scan_forbidden.py +0 -160
  833. messagefoundry-0.2.15/tests/test_secrets_dpapi.py +0 -101
  834. messagefoundry-0.2.15/tests/test_security_notify.py +0 -88
  835. messagefoundry-0.2.15/tests/test_security_static.py +0 -136
  836. messagefoundry-0.2.15/tests/test_seq_only_fifo.py +0 -463
  837. messagefoundry-0.2.15/tests/test_service_control.py +0 -53
  838. messagefoundry-0.2.15/tests/test_service_status.py +0 -136
  839. messagefoundry-0.2.15/tests/test_settings.py +0 -786
  840. messagefoundry-0.2.15/tests/test_sharding.py +0 -257
  841. messagefoundry-0.2.15/tests/test_sibling_helper_finder.py +0 -98
  842. messagefoundry-0.2.15/tests/test_smart_backend.py +0 -455
  843. messagefoundry-0.2.15/tests/test_soap_transport.py +0 -206
  844. messagefoundry-0.2.15/tests/test_soap_wssecurity.py +0 -330
  845. messagefoundry-0.2.15/tests/test_sqlserver_coordinator.py +0 -180
  846. messagefoundry-0.2.15/tests/test_sqlserver_cursor_close.py +0 -162
  847. messagefoundry-0.2.15/tests/test_sqlserver_schema_init.py +0 -189
  848. messagefoundry-0.2.15/tests/test_sqlserver_store.py +0 -1643
  849. messagefoundry-0.2.15/tests/test_sqlserver_sync_handoff.py +0 -333
  850. messagefoundry-0.2.15/tests/test_sqlserver_sync_handoff_offline.py +0 -398
  851. messagefoundry-0.2.15/tests/test_stage_dispatcher.py +0 -1435
  852. messagefoundry-0.2.15/tests/test_staged_pipeline.py +0 -979
  853. messagefoundry-0.2.15/tests/test_startup_attestation.py +0 -254
  854. messagefoundry-0.2.15/tests/test_startup_fault_isolation.py +0 -319
  855. messagefoundry-0.2.15/tests/test_stats_reset.py +0 -238
  856. messagefoundry-0.2.15/tests/test_step_up.py +0 -206
  857. messagefoundry-0.2.15/tests/test_store.py +0 -753
  858. messagefoundry-0.2.15/tests/test_store_backend.py +0 -103
  859. messagefoundry-0.2.15/tests/test_store_encryption.py +0 -593
  860. messagefoundry-0.2.15/tests/test_store_file_hardening.py +0 -94
  861. messagefoundry-0.2.15/tests/test_store_once_deliver_many.py +0 -285
  862. messagefoundry-0.2.15/tests/test_store_once_graph.py +0 -68
  863. messagefoundry-0.2.15/tests/test_store_read_pool.py +0 -145
  864. messagefoundry-0.2.15/tests/test_store_schema_hash.py +0 -42
  865. messagefoundry-0.2.15/tests/test_store_ssl.py +0 -76
  866. messagefoundry-0.2.15/tests/test_summary.py +0 -33
  867. messagefoundry-0.2.15/tests/test_supervisor.py +0 -275
  868. messagefoundry-0.2.15/tests/test_support_bundle.py +0 -236
  869. messagefoundry-0.2.15/tests/test_synchronous_baseline.py +0 -190
  870. messagefoundry-0.2.15/tests/test_task_resilience.py +0 -152
  871. messagefoundry-0.2.15/tests/test_tcp_transport.py +0 -341
  872. messagefoundry-0.2.15/tests/test_tee_cli.py +0 -203
  873. messagefoundry-0.2.15/tests/test_tee_compare.py +0 -78
  874. messagefoundry-0.2.15/tests/test_tee_correlate.py +0 -226
  875. messagefoundry-0.2.15/tests/test_tee_hl7_fields.py +0 -84
  876. messagefoundry-0.2.15/tests/test_tee_mefor_api.py +0 -107
  877. messagefoundry-0.2.15/tests/test_tee_mllp.py +0 -98
  878. messagefoundry-0.2.15/tests/test_tee_relay.py +0 -523
  879. messagefoundry-0.2.15/tests/test_tee_report.py +0 -86
  880. messagefoundry-0.2.15/tests/test_tee_store.py +0 -220
  881. messagefoundry-0.2.15/tests/test_timer_source.py +0 -285
  882. messagefoundry-0.2.15/tests/test_timezone.py +0 -278
  883. messagefoundry-0.2.15/tests/test_tls_policy.py +0 -101
  884. messagefoundry-0.2.15/tests/test_totp.py +0 -93
  885. messagefoundry-0.2.15/tests/test_totp_window.py +0 -75
  886. messagefoundry-0.2.15/tests/test_transform_offloop.py +0 -202
  887. messagefoundry-0.2.15/tests/test_transform_state.py +0 -528
  888. messagefoundry-0.2.15/tests/test_transports.py +0 -1002
  889. messagefoundry-0.2.15/tests/test_update_check.py +0 -199
  890. messagefoundry-0.2.15/tests/test_verify.py +0 -331
  891. messagefoundry-0.2.15/tests/test_version.py +0 -33
  892. messagefoundry-0.2.15/tests/test_webauthn.py +0 -490
  893. messagefoundry-0.2.15/tests/test_webauthn_store.py +0 -84
  894. messagefoundry-0.2.15/tests/test_webui.py +0 -3630
  895. messagefoundry-0.2.15/tests/test_win2025_acceptance.py +0 -73
  896. messagefoundry-0.2.15/tests/test_wiring.py +0 -445
  897. messagefoundry-0.2.15/tests/test_wiring_engine.py +0 -1312
  898. messagefoundry-0.2.15/tests/test_wiring_reload.py +0 -516
  899. messagefoundry-0.2.15/tests/test_wiring_serve.py +0 -107
  900. messagefoundry-0.2.15/tests/test_ws_stats_revalidation.py +0 -155
  901. messagefoundry-0.2.15/tests/test_x12_parsing.py +0 -462
  902. messagefoundry-0.2.15/tests/test_x12_rte.py +0 -212
  903. messagefoundry-0.2.15/tests/test_x12_source_ip_allowlist.py +0 -170
  904. messagefoundry-0.2.15/tests/test_x12_transport.py +0 -379
  905. messagefoundry-0.2.15/tests/test_x12_validate.py +0 -110
  906. messagefoundry-0.2.15/tests/test_xml_message.py +0 -169
  907. messagefoundry-0.2.15/tests/test_xml_schema_signature.py +0 -66
  908. messagefoundry-0.2.15/tests/test_xml_signature_anchor.py +0 -44
  909. messagefoundry-0.2.15/uv.lock +0 -1789
  910. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/.gitignore +0 -0
  911. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/LICENSE +0 -0
  912. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/NOTICE +0 -0
  913. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/adr_analyze.py +0 -0
  914. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/__init__.py +0 -0
  915. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/_pools.py +0 -0
  916. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/hl7.py +0 -0
  917. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/keying.py +0 -0
  918. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/leak.py +0 -0
  919. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/rules.py +0 -0
  920. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/anon/surrogates.py +0 -0
  921. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/__init__.py +0 -0
  922. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/approvals.py +0 -0
  923. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/field_authz.py +0 -0
  924. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/api/tls.py +0 -0
  925. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/__init__.py +0 -0
  926. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/data/common_passwords.NOTICE +0 -0
  927. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/data/common_passwords.txt +0 -0
  928. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/identity.py +0 -0
  929. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/notifications.py +0 -0
  930. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/passwords.py +0 -0
  931. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/policy.py +0 -0
  932. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/ratelimit.py +0 -0
  933. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/tokens.py +0 -0
  934. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/totp.py +0 -0
  935. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/auth/webauthn.py +0 -0
  936. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/__init__.py +0 -0
  937. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/active_environment.py +0 -0
  938. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/alerts_edit.py +0 -0
  939. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/anchor.py +0 -0
  940. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/db_lookup.py +0 -0
  941. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/environments.py +0 -0
  942. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/fingerprint.py +0 -0
  943. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/ingest_time.py +0 -0
  944. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/reference.py +0 -0
  945. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/response.py +0 -0
  946. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/config/state.py +0 -0
  947. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/README.md +0 -0
  948. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/__init__.py +0 -0
  949. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/_core.py +0 -0
  950. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/_hl7data.py +0 -0
  951. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/all_types.py +0 -0
  952. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/bar.py +0 -0
  953. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/dft.py +0 -0
  954. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/documents.py +0 -0
  955. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/mdm.py +0 -0
  956. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/mfn.py +0 -0
  957. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/oml.py +0 -0
  958. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/orl.py +0 -0
  959. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/orm.py +0 -0
  960. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/oru.py +0 -0
  961. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/ras.py +0 -0
  962. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/rde.py +0 -0
  963. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/siu.py +0 -0
  964. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/generators/vxu.py +0 -0
  965. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/hl7schema.py +0 -0
  966. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/integrity.py +0 -0
  967. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/last_resort.py +0 -0
  968. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/_backend.py +0 -0
  969. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/consistency.py +0 -0
  970. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/__init__.py +0 -0
  971. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/_deps.py +0 -0
  972. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/_util.py +0 -0
  973. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/dataset.py +0 -0
  974. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/errors.py +0 -0
  975. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/hl7_map.py +0 -0
  976. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/dicom/peek.py +0 -0
  977. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/fhir/__init__.py +0 -0
  978. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/fhir/_deps.py +0 -0
  979. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/fhir/errors.py +0 -0
  980. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/fhir/peek.py +0 -0
  981. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/fhir/resource.py +0 -0
  982. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/groups.py +0 -0
  983. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/peek.py +0 -0
  984. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/summary.py +0 -0
  985. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/tree.py +0 -0
  986. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/validate.py +0 -0
  987. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/__init__.py +0 -0
  988. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/_deps.py +0 -0
  989. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/delimiters.py +0 -0
  990. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/errors.py +0 -0
  991. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/interchange.py +0 -0
  992. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/message.py +0 -0
  993. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/peek.py +0 -0
  994. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/x12/validate.py +0 -0
  995. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/__init__.py +0 -0
  996. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/_deps.py +0 -0
  997. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/errors.py +0 -0
  998. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/harden.py +0 -0
  999. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/message.py +0 -0
  1000. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/schema.py +0 -0
  1001. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/parsing/xml/signature.py +0 -0
  1002. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/__init__.py +0 -0
  1003. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/cert_expiry.py +0 -0
  1004. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/config_convergence.py +0 -0
  1005. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/connscale_shim.py +0 -0
  1006. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/dr_backup.py +0 -0
  1007. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/leader_tasks.py +0 -0
  1008. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/reference_sync.py +0 -0
  1009. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/state_convergence.py +0 -0
  1010. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/supervisor.py +0 -0
  1011. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/pipeline/update_check.py +0 -0
  1012. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/py.typed +0 -0
  1013. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/redaction.py +0 -0
  1014. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/scaffold.py +0 -0
  1015. /messagefoundry-0.2.15/messagefoundry/console/service_control.py → /messagefoundry-0.3.0/messagefoundry/service.py +0 -0
  1016. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/service_status.py +0 -0
  1017. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/audit_tee.py +0 -0
  1018. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/backup_codec.py +0 -0
  1019. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/content_search.py +0 -0
  1020. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/document_strip.py +0 -0
  1021. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/keyprovider.py +0 -0
  1022. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/store/pool_metrics.py +0 -0
  1023. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/support/__init__.py +0 -0
  1024. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/support/bundle.py +0 -0
  1025. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/support/redact.py +0 -0
  1026. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/timezone.py +0 -0
  1027. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/framing.py +0 -0
  1028. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/http_listener.py +0 -0
  1029. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/loopback.py +0 -0
  1030. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/passthrough.py +0 -0
  1031. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/signing.py +0 -0
  1032. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/transports/timer.py +0 -0
  1033. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/__init__.py +0 -0
  1034. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/model.py +0 -0
  1035. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/report.py +0 -0
  1036. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/runner.py +0 -0
  1037. {messagefoundry-0.2.15 → messagefoundry-0.3.0}/messagefoundry/verify/smoke.py +0 -0
@@ -6,6 +6,46 @@ All notable changes to MessageFoundry are documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.3.0] — 2026-07-13 — Early Access
10
+
11
+ Highlights since 0.2.15 — streaming attachments end-to-end, a copy-on-Send message model, richer
12
+ connectivity, and a run of security hardening. (Concise highlights; the git history is the full change set.)
13
+
14
+ ### Added
15
+ - **Streaming large attachments end-to-end** (#149, ADR 0105) — very-large OBX-5 documents are detached from
16
+ the message skeleton at ingress and streamed through routing → transform → delivery on all three stores
17
+ (SQLite / SQL Server / Postgres), with an operator read/download surface.
18
+ - **Copy-on-Send message model** (ADR 0104) — `Send` snapshots the message at construction (opt-in
19
+ `[pipeline].snapshot_on_send`), plus `Message.copy()` and a recognition-first `message_type_of(accepts=)`
20
+ predicate; and in the IDE, a point-and-click HL7 field picker and the Steps-view authoring palette
21
+ (ADR 0103 / 0106).
22
+ - **Connectivity** — generic HTTP auth (OAuth 2.0 client-credentials + Digest) and HTTP response-header
23
+ capture (#154, #65); a connector `SecretProvider` seam with a HashiCorp Vault backend (#196).
24
+ - **Monitoring** — an engine-wide KPI roll-up with a saturation-derivative alert and DB-pool metrics (#93).
25
+
26
+ ### Changed
27
+ - **pipeline: `batch_handoff_statements` now defaults ON on SQL Server** ([ADR 0075](docs/adr/0075-per-hop-sql-statement-batching.md))
28
+ — per-hop SQL statement batching (a **distance-insurance** lever: folds each message's per-hop store round-trips
29
+ into the fewest `pyodbc.execute()` T-SQL batches, cutting **network round-trips, NOT transactions** — the
30
+ single per-hop `COMMIT` is untouched, `commits/msg` stays 2.000) now activates **by default** on the SQL Server
31
+ store. Promoted 2026-07-08 after Bench B showed **harmless-near** (batch ON vs OFF within ±0.4% at ~0.28 ms RTT,
32
+ zero-loss) and **helps-far** (constant ~−18% ACK-p99, absolute saving widening with RTT: −84 ms @ +20 ms,
33
+ −212 ms @ +50 ms) over a green SS correctness precondition (`tests/test_adr0075_batch_sqlserver.py`, 9 passed).
34
+ **Fail-closed + SQL-Server-only** — Postgres (asyncpg) and SQLite are byte-identical no-ops; the flag is retained
35
+ **only as an emergency off-switch**: set `[pipeline].batch_handoff_statements = false` to disable.
36
+
37
+ ### Security
38
+ - **The published PyPI source distribution no longer ships the whole repo** (#1020) — the sdist is pinned to
39
+ the `messagefoundry` package + its metadata, with a fail-closed "sdist is package-only" gate in the release
40
+ workflow. No release ever exposed PHI or customer data.
41
+ - **Transport hardening** — certificate-revocation refusal extended to outbound-connector TLS (#201); in-use
42
+ memory protection for the store (#198); the publish deny-list is read from the ref being published (#983).
43
+
44
+ ### Fixed
45
+ - **CI reliability** — bound PHI-retention on the Windows service smoke (#1011); wrap pyodbc-heavy SQL Server
46
+ steps with a native-crash retry (#1010); multi-message finalizers take their per-message locks in canonical
47
+ order (#980).
48
+
9
49
  ## [0.2.15] — 2026-07-06 — Early Access
10
50
 
11
51
  **Thread-hop fusion (ADR 0071 B5, flagged default-OFF) + the browser ops dashboard, pooled-claimer
@@ -28,11 +68,25 @@ is additive / opt-in.
28
68
  crossing-count micro-bench + a Windows CI mechanism gate, and a connscale B0/B1 fusion A/B harness axis
29
69
  (`fuse_ab` profile, `trials`-banked); the throughput GO/NO-GO (ship-by-default vs escalate to
30
70
  free-threading, ADR 0053) is a separate SQL-Server bench, not a merge gate.
71
+ - **Promote-gate resolved 2026-07-06 — NO-GO** ([ADR 0071](docs/adr/0071-cut-executor-round-trips-b5.md)
72
+ §8/§10, #787): the SQL-Server `fuse_ab` bench measured a real but sub-threshold **+6.5 / +9.3 / +10.0 %**
73
+ lift (below the ≥10% bar; zero-loss held), so `fuse_thread_hops` **stays default-OFF** and the lever
74
+ escalates to free-threading (ADR 0053). Bench-SHA provenance: the run was at commit `8bab40e2`, which is
75
+ **not** an ancestor of `main` (PR5 was squash-merged as `90f80a3`, #780) — but `git diff 8bab40e2 90f80a3`
76
+ is **empty**, so the NO-GO bench ran a code tree byte-identical to merged PR5.
31
77
  - **store: pooled-claimer primitives** `claim_fifo_heads` / `list_fifo_lanes` / `release_claimed` on all
32
- three backends ([ADR 0066](docs/adr/0066-pooled-stage-claimers.md) PR 2; **unwired no engine caller
33
- yet**): a FIFO-safe multi-lane head-claim (probe-then-claim, EMPTY-on-locked-head never a #285 skip
78
+ three backends ([ADR 0066](docs/adr/0066-pooled-stage-claimers.md) PR 2 **now wired by the
79
+ `StageDispatcher` and the default claim path since #755/#744, see _Changed_ below**): a FIFO-safe
80
+ multi-lane head-claim (probe-then-claim, EMPTY-on-locked-head — never a #285 skip
34
81
  to seq N+1), a read-only head-due-aware lane discovery for the pooled sweep, and an attempts-neutral
35
82
  claim release. `claim_next_fifo` / `claim_next_fifo_batch` / `claim_ready` are untouched.
83
+ - **pipeline: bounded pooled-mode infra-fault handling (T17)** (ADR 0070; #766) — in `pooled` mode a lane
84
+ whose head keeps failing on an infrastructure fault now **re-pends its head at an exponential-capped
85
+ backoff** (cap `[pipeline].infra_fault_backoff_cap`, default **60 s**) instead of spinning the ~4×/s
86
+ discovery sweep, and after `[pipeline].infra_fault_stop_after` (default **10**) consecutive zero-progress
87
+ faults (~4 min of wall clock) applies `[pipeline].infra_fault_policy` (default **`stop`**): STOP-the-lane
88
+ with a throttled `lane_stuck` alert — **never** auto-dead-letter. `retry_forever` instead keeps re-pending
89
+ at the cap and alerts once the horizon is crossed. `per_lane` mode is unaffected.
36
90
  - **Browser ops dashboard (read-only, M1)** (#75, [ADR 0065](docs/adr/0065-web-ops-dashboard.md)) — an
37
91
  **opt-in** (`[api].serve_ui`, default **off**), same-origin, zero-install browser ops view served under
38
92
  `/ui` by the engine's FastAPI app. Read-only: a live-polling connections dashboard (In/Out/Queued/
@@ -130,6 +184,17 @@ is additive / opt-in.
130
184
  `ix_queue_ready(stage, status, …)` index instead of one unindexed status-only full scan of the
131
185
  queue (Postgres additionally drops an unsargable `OR $n IS NULL` form). Same rows recovered, same
132
186
  single transaction — all three backends.
187
+ - **Default staged-pipeline claim path flipped to pooled per-stage claimers**
188
+ ([ADR 0066](docs/adr/0066-pooled-stage-claimers.md); `[pipeline].claim_mode` default `per_lane` →
189
+ **`pooled`** — issue #744, shipped via PR #765). The `StageDispatcher` was first wired in behind
190
+ `[pipeline].claim_mode` **default-OFF** (#755, ADR 0066 PR4) and is now the **default** claim topology:
191
+ one dispatcher per stage running a handful of pooled claimer tasks over the `claim_fifo_heads` /
192
+ `list_fifo_lanes` / `release_claimed` primitives (batch-claiming head-prefixes across lanes), collapsing
193
+ the ~4,500 per-(lane×stage) claim loops that saturated a shared server DB at high fan-out and holding
194
+ zero-loss where `per_lane` dropped messages. **`per_lane` stays fully selectable as the byte-identical
195
+ opt-out** (`[pipeline].claim_mode = "per_lane"`), enforced by the zero-pooled-construction test sentinel.
196
+ Reliability-core — read once at engine start (a `/config/reload` does not toggle it; restart to change).
197
+ Single-node scope; the at-least-once / per-lane-FIFO / poison-guard invariants are unchanged in both modes.
133
198
 
134
199
  ## [0.2.14] — 2026-07-01 — Early Access
135
200
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: messagefoundry
3
- Version: 0.2.15
3
+ Version: 0.3.0
4
4
  Summary: Open-source healthcare integration engine — route, transform, and validate messages across many formats and connection types
5
5
  Project-URL: Homepage, https://messagefoundry.org/
6
6
  Project-URL: Documentation, https://messagefoundry.org/
@@ -32,17 +32,13 @@ Requires-Dist: hl7>=0.4.5
32
32
  Requires-Dist: hl7apy>=1.3
33
33
  Requires-Dist: ldap3>=2.9
34
34
  Requires-Dist: prometheus-client>=0.20
35
+ Requires-Dist: psutil>=6.0
35
36
  Requires-Dist: pydantic>=2.6
36
37
  Requires-Dist: pyspnego>=0.10
37
38
  Requires-Dist: starlette>=1.3.1
38
39
  Requires-Dist: tomlkit>=0.12
39
40
  Requires-Dist: tzdata>=2024.1
40
41
  Requires-Dist: uvicorn[standard]>=0.29
41
- Provides-Extra: console
42
- Requires-Dist: httpx>=0.27; extra == 'console'
43
- Requires-Dist: keyring>=24.0; extra == 'console'
44
- Requires-Dist: pyside6>=6.6; extra == 'console'
45
- Requires-Dist: truststore>=0.10; extra == 'console'
46
42
  Provides-Extra: dev
47
43
  Requires-Dist: httpx>=0.27; extra == 'dev'
48
44
  Requires-Dist: mypy>=1.10; extra == 'dev'
@@ -57,6 +53,10 @@ Requires-Dist: pynetdicom<4,>=3.0.4; extra == 'dicom'
57
53
  Provides-Extra: fhir
58
54
  Requires-Dist: fhir-resources>=7.1.0; extra == 'fhir'
59
55
  Requires-Dist: fhirpathpy>=2.2.0; extra == 'fhir'
56
+ Provides-Extra: harness
57
+ Requires-Dist: httpx>=0.27; extra == 'harness'
58
+ Requires-Dist: pyside6>=6.6; extra == 'harness'
59
+ Requires-Dist: truststore>=0.10; extra == 'harness'
60
60
  Provides-Extra: otel
61
61
  Requires-Dist: opentelemetry-exporter-otlp>=1.20; extra == 'otel'
62
62
  Requires-Dist: opentelemetry-sdk>=1.20; extra == 'otel'
@@ -66,6 +66,8 @@ Provides-Extra: sftp
66
66
  Requires-Dist: paramiko>=5.0; extra == 'sftp'
67
67
  Provides-Extra: sqlserver
68
68
  Requires-Dist: aioodbc>=0.5; extra == 'sqlserver'
69
+ Provides-Extra: vault
70
+ Requires-Dist: hvac>=2.3.0; extra == 'vault'
69
71
  Provides-Extra: webauthn
70
72
  Requires-Dist: webauthn<4,>=3.0.0; extra == 'webauthn'
71
73
  Provides-Extra: x12
@@ -94,7 +96,8 @@ guided tooling or extend it in Python; it runs on SQLite, PostgreSQL, or SQL Ser
94
96
  authentication, RBAC, audit logging, and encryption-at-rest built in.
95
97
 
96
98
  > Python import package: `messagefoundry`. Built with **hl7apy** + **python-hl7** (HL7 parsing/
97
- > validation), **FastAPI** (engine API), and **PySide6** (admin console).
99
+ > validation), **FastAPI** (engine API + the same-origin `/ui` web console), and **PySide6** (the
100
+ > standalone test harness).
98
101
 
99
102
  ## What it is
100
103
 
@@ -107,8 +110,8 @@ control; either way the configuration is version-controlled and yours.
107
110
  ## Architecture
108
111
 
109
112
  **Engine-as-library + localhost API.** The engine is an importable Python package.
110
- The PySide6 console talks to it over a localhost HTTP + WebSocket API — the same way
111
- whether the engine runs in-process, as a local daemon, or (later) on a remote host.
113
+ A browser **web console** (served same-origin at `/ui`) talks to it over a localhost HTTP + WebSocket
114
+ API — the same way whether the engine runs in-process, as a local daemon, or (later) on a remote host.
112
115
  No hand-rolled IPC; the deployment split is a config choice, not an architectural fork.
113
116
 
114
117
  See **[docs/architecture-diagram.md](https://github.com/MEFORORG/MessageFoundry/blob/main/docs/architecture-diagram.md)** for the rendered diagrams —
@@ -149,7 +152,7 @@ Full documentation lives on **[messagefoundry.org](https://messagefoundry.org/)*
149
152
 
150
153
  - **[Mental map](https://messagefoundry.org/assets/docs/MessageFoundry-Mental-Model.pdf)** — an
151
154
  orientation guide to how the pieces fit: Connections → Router → Handlers → Connections, with the
152
- headless engine and the console/IDE that drive it.
155
+ headless engine and the web console/IDE that drive it.
153
156
  - **[Install Guide](https://messagefoundry.org/assets/docs/MessageFoundry-Install-Guide.pdf)** — install,
154
157
  configure, secure, and roll out to production.
155
158
  - **[User Guide](https://messagefoundry.org/assets/docs/MessageFoundry-User-Guide.pdf)** — author and
@@ -179,19 +182,21 @@ deliberate — replace `<version>` with the current release shown at the top of
179
182
  needs (each is opt-in and lazy-imported):
180
183
 
181
184
  ```bash
182
- pip install "messagefoundry[console]==<version>" # admin console (PySide6 GUI) — the operator UI; most operators want this
185
+ pip install "messagefoundry-webconsole==<version>" # the browser web console (/ui) — the operator UI; most operators want this
183
186
  pip install "messagefoundry[postgres]==<version>" # PostgreSQL store backend (production server DB)
184
187
  pip install "messagefoundry[sqlserver]==<version>" # SQL Server store backend (+ OS-level ODBC Driver 18)
185
188
  pip install "messagefoundry[sftp]==<version>" # SFTP transport for the REMOTEFILE connector
186
189
  pip install "messagefoundry[dicom]==<version>" # DICOM codec + C-STORE SCP (pydicom + pynetdicom)
190
+ pip install "messagefoundry[harness]==<version>" # the standalone PySide6 test harness GUI
187
191
  ```
188
192
 
189
- **What's in the `messagefoundry` package — and what isn't.** It is the **engine plus the admin
190
- console**: the console ships in the same wheel, with its PySide6/GUI dependencies as the opt-in
191
- `[console]` extra, so a headless server, container, or adopter install stays lean — the console is one
192
- flag away (`messagefoundry[console]`) when you want the operator UI. The **VS Code extension is a
193
- separate product, not on PyPI** (a VS Code extension is a different ecosystem); see *VS Code extension &
194
- test harness* below for where to get it.
193
+ **What's in the `messagefoundry` package — and what isn't.** It is the **engine**; the operator UI is
194
+ the browser **web console** served same-origin at `/ui`, which ships as a separate, version-matched
195
+ wheel (`messagefoundry-webconsole`) the engine mounts in-process (turn it on with `[api].serve_ui`), so
196
+ a headless server, container, or adopter install stays lean. (The former PySide6 desktop console was
197
+ retired in favour of the web console BACKLOG #103; PySide6 now backs only the opt-in `[harness]` test
198
+ tooling.) The **VS Code extension is a separate product, not on PyPI** (a VS Code extension is a
199
+ different ecosystem); see *VS Code extension & test harness* below for where to get it.
195
200
 
196
201
  > **Verify before you install (supply chain).** Every release is built by a GitHub Actions workflow,
197
202
  > Sigstore-signed, and carries SLSA build-provenance + PEP 740 attestations. Verify a downloaded
@@ -226,10 +231,11 @@ python -m messagefoundry serve --config samples/config --db messagefoundry.db --
226
231
  # API on http://127.0.0.1:8765 — GET /connections, /messages, /stats, WS /ws/stats
227
232
  ```
228
233
 
229
- Then open the admin console (needs the `console` extra: `pip install -e ".[console]"`):
234
+ Then open the admin console in a browser (install the web console alongside the engine
235
+ `pip install -e packaging/messagefoundry-webconsole` — and set `[api].serve_ui = true`):
230
236
 
231
237
  ```bash
232
- python -m messagefoundry.console --url http://127.0.0.1:8765
238
+ # browse to http://127.0.0.1:8765/ui and sign in
233
239
  ```
234
240
 
235
241
  ### VS Code extension & test harness
@@ -16,7 +16,8 @@ guided tooling or extend it in Python; it runs on SQLite, PostgreSQL, or SQL Ser
16
16
  authentication, RBAC, audit logging, and encryption-at-rest built in.
17
17
 
18
18
  > Python import package: `messagefoundry`. Built with **hl7apy** + **python-hl7** (HL7 parsing/
19
- > validation), **FastAPI** (engine API), and **PySide6** (admin console).
19
+ > validation), **FastAPI** (engine API + the same-origin `/ui` web console), and **PySide6** (the
20
+ > standalone test harness).
20
21
 
21
22
  ## What it is
22
23
 
@@ -29,8 +30,8 @@ control; either way the configuration is version-controlled and yours.
29
30
  ## Architecture
30
31
 
31
32
  **Engine-as-library + localhost API.** The engine is an importable Python package.
32
- The PySide6 console talks to it over a localhost HTTP + WebSocket API — the same way
33
- whether the engine runs in-process, as a local daemon, or (later) on a remote host.
33
+ A browser **web console** (served same-origin at `/ui`) talks to it over a localhost HTTP + WebSocket
34
+ API — the same way whether the engine runs in-process, as a local daemon, or (later) on a remote host.
34
35
  No hand-rolled IPC; the deployment split is a config choice, not an architectural fork.
35
36
 
36
37
  See **[docs/architecture-diagram.md](https://github.com/MEFORORG/MessageFoundry/blob/main/docs/architecture-diagram.md)** for the rendered diagrams —
@@ -71,7 +72,7 @@ Full documentation lives on **[messagefoundry.org](https://messagefoundry.org/)*
71
72
 
72
73
  - **[Mental map](https://messagefoundry.org/assets/docs/MessageFoundry-Mental-Model.pdf)** — an
73
74
  orientation guide to how the pieces fit: Connections → Router → Handlers → Connections, with the
74
- headless engine and the console/IDE that drive it.
75
+ headless engine and the web console/IDE that drive it.
75
76
  - **[Install Guide](https://messagefoundry.org/assets/docs/MessageFoundry-Install-Guide.pdf)** — install,
76
77
  configure, secure, and roll out to production.
77
78
  - **[User Guide](https://messagefoundry.org/assets/docs/MessageFoundry-User-Guide.pdf)** — author and
@@ -101,19 +102,21 @@ deliberate — replace `<version>` with the current release shown at the top of
101
102
  needs (each is opt-in and lazy-imported):
102
103
 
103
104
  ```bash
104
- pip install "messagefoundry[console]==<version>" # admin console (PySide6 GUI) — the operator UI; most operators want this
105
+ pip install "messagefoundry-webconsole==<version>" # the browser web console (/ui) — the operator UI; most operators want this
105
106
  pip install "messagefoundry[postgres]==<version>" # PostgreSQL store backend (production server DB)
106
107
  pip install "messagefoundry[sqlserver]==<version>" # SQL Server store backend (+ OS-level ODBC Driver 18)
107
108
  pip install "messagefoundry[sftp]==<version>" # SFTP transport for the REMOTEFILE connector
108
109
  pip install "messagefoundry[dicom]==<version>" # DICOM codec + C-STORE SCP (pydicom + pynetdicom)
110
+ pip install "messagefoundry[harness]==<version>" # the standalone PySide6 test harness GUI
109
111
  ```
110
112
 
111
- **What's in the `messagefoundry` package — and what isn't.** It is the **engine plus the admin
112
- console**: the console ships in the same wheel, with its PySide6/GUI dependencies as the opt-in
113
- `[console]` extra, so a headless server, container, or adopter install stays lean — the console is one
114
- flag away (`messagefoundry[console]`) when you want the operator UI. The **VS Code extension is a
115
- separate product, not on PyPI** (a VS Code extension is a different ecosystem); see *VS Code extension &
116
- test harness* below for where to get it.
113
+ **What's in the `messagefoundry` package — and what isn't.** It is the **engine**; the operator UI is
114
+ the browser **web console** served same-origin at `/ui`, which ships as a separate, version-matched
115
+ wheel (`messagefoundry-webconsole`) the engine mounts in-process (turn it on with `[api].serve_ui`), so
116
+ a headless server, container, or adopter install stays lean. (The former PySide6 desktop console was
117
+ retired in favour of the web console BACKLOG #103; PySide6 now backs only the opt-in `[harness]` test
118
+ tooling.) The **VS Code extension is a separate product, not on PyPI** (a VS Code extension is a
119
+ different ecosystem); see *VS Code extension & test harness* below for where to get it.
117
120
 
118
121
  > **Verify before you install (supply chain).** Every release is built by a GitHub Actions workflow,
119
122
  > Sigstore-signed, and carries SLSA build-provenance + PEP 740 attestations. Verify a downloaded
@@ -148,10 +151,11 @@ python -m messagefoundry serve --config samples/config --db messagefoundry.db --
148
151
  # API on http://127.0.0.1:8765 — GET /connections, /messages, /stats, WS /ws/stats
149
152
  ```
150
153
 
151
- Then open the admin console (needs the `console` extra: `pip install -e ".[console]"`):
154
+ Then open the admin console in a browser (install the web console alongside the engine
155
+ `pip install -e packaging/messagefoundry-webconsole` — and set `[api].serve_ui = true`):
152
156
 
153
157
  ```bash
154
- python -m messagefoundry.console --url http://127.0.0.1:8765
158
+ # browse to http://127.0.0.1:8765/ui and sign in
155
159
  ```
156
160
 
157
161
  ### VS Code extension & test harness
@@ -13,11 +13,13 @@ Config modules define the message graph against this surface::
13
13
 
14
14
  from messagefoundry.config.models import (
15
15
  AckMode,
16
+ BatchConfig,
16
17
  BuildupThreshold,
17
18
  ContentType,
18
19
  InternalErrorPolicy,
19
20
  OrderingMode,
20
21
  RetryPolicy,
22
+ SaturationThreshold,
21
23
  StallThreshold,
22
24
  )
23
25
  from messagefoundry.config.active_environment import current_environment
@@ -33,6 +35,7 @@ from messagefoundry.config.wiring import (
33
35
  DatabaseLookup,
34
36
  DatabasePoll,
35
37
  DatabaseRef,
38
+ Direct,
36
39
  Email,
37
40
  FhirLookup,
38
41
  File,
@@ -54,14 +57,35 @@ from messagefoundry.config.wiring import (
54
57
  Timer,
55
58
  X12,
56
59
  Send,
60
+ SetMeta,
57
61
  SetState,
62
+ MessageTypeError,
58
63
  code_set,
59
64
  env,
60
65
  handler,
61
66
  inbound,
67
+ message_type_of,
62
68
  outbound,
63
69
  router,
64
70
  )
71
+ from messagefoundry.actions import (
72
+ append_to_field,
73
+ arith_field,
74
+ code_lookup,
75
+ convert_case,
76
+ copy_field,
77
+ copy_segment,
78
+ date_diff_field,
79
+ delete_segment,
80
+ format_date,
81
+ pad_field,
82
+ replace_literal,
83
+ set_field,
84
+ split_field,
85
+ substring_field,
86
+ trim_field,
87
+ )
88
+ from messagefoundry.diagnostics import checkpoint, log_note
65
89
  from messagefoundry.parsing.groups import SegmentGroup
66
90
  from messagefoundry.parsing.message import Message, RawMessage
67
91
  from messagefoundry.parsing.split import split_by_obr
@@ -74,7 +98,7 @@ from messagefoundry.timezone import (
74
98
  to_zone,
75
99
  )
76
100
 
77
- __version__ = "0.2.15"
101
+ __version__ = "0.3.0"
78
102
 
79
103
  __all__ = [
80
104
  "Message",
@@ -83,6 +107,7 @@ __all__ = [
83
107
  "split_by_obr",
84
108
  "Send",
85
109
  "SetState",
110
+ "SetMeta",
86
111
  "state_get",
87
112
  "response_get",
88
113
  "MLLP",
@@ -94,6 +119,7 @@ __all__ = [
94
119
  "Loopback",
95
120
  "PassThrough",
96
121
  "Rest",
122
+ "Direct",
97
123
  "Email",
98
124
  "SMTP",
99
125
  "FHIR",
@@ -125,11 +151,32 @@ __all__ = [
125
151
  "InternalErrorPolicy",
126
152
  "BuildupThreshold",
127
153
  "StallThreshold",
154
+ "SaturationThreshold",
155
+ "BatchConfig",
128
156
  "ContentType",
129
157
  "inbound",
130
158
  "outbound",
131
159
  "router",
132
160
  "handler",
161
+ "message_type_of",
162
+ "MessageTypeError",
163
+ "copy_field",
164
+ "set_field",
165
+ "append_to_field",
166
+ "trim_field",
167
+ "substring_field",
168
+ "pad_field",
169
+ "replace_literal",
170
+ "convert_case",
171
+ "arith_field",
172
+ "format_date",
173
+ "date_diff_field",
174
+ "split_field",
175
+ "code_lookup",
176
+ "copy_segment",
177
+ "delete_segment",
178
+ "log_note",
179
+ "checkpoint",
133
180
  "convert_hl7_timestamp",
134
181
  "to_zone",
135
182
  "parse_hl7_timestamp",