From a1bf1634cbb2be701bb2d6f9398bea4c03e8f88a Mon Sep 17 00:00:00 2001 From: wshallwshall Date: Fri, 31 Jul 2026 22:30:16 -0500 Subject: [PATCH] tools.html: say where the harness and tee relay actually come from MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The toolkit page lists six tools under "What's in the box", each with a command and no indication of where it comes from. Two of them do not come from the engine wheel, and the page's framing implies they do. - **Test harness** (`python -m harness`) ships as its own distribution, `messagefoundry-harness`, released in lockstep with the engine. The engine wheel is `only-include = ["messagefoundry", ...]`, so `harness/` is not in it; the harness distribution force-includes it. The card now says so. This is the item deferred in #99, where the fix might have been engine packaging rather than site copy — it wasn't; the packaging is deliberate. - **Tee relay** (`python -m tee`) is worse and was not previously flagged: `tee/` is a repo-root directory, is not inside `messagefoundry/`, is not force-included by ANY distribution, and has no entry point. There is no `packaging/messagefoundry-tee`. So it is reachable only from a source checkout — no published package provides it. The card now says that too. Neither command was wrong; both worked once you had the right thing installed. The defect was that the page never told you what that was, while presenting them alongside tools that do ship with `pip install messagefoundry`. Verified against the engine: `pyproject.toml:21` (wheel contents), `packaging/` (only messagefoundry-harness and messagefoundry-webconsole), `[project.scripts]` / `[project.gui-scripts]` (no tee entry point). The doc sources already state the harness packaging correctly after #100/#101, so this brings the HTML into line with the PDFs rather than inventing a new claim. Co-Authored-By: Claude Opus 5 --- tools.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools.html b/tools.html index 36b4637..2055c09 100644 --- a/tools.html +++ b/tools.html @@ -216,12 +216,12 @@

VS Code extension

Test harness

python -m harness -

Exercises a running engine with synthetic, PHI-free traffic: Send / Receive / File / Compose / Monitor tabs (inject ACK faults, malformed messages, delivery failures), headless CI scenarios that assert dispositions, and a separate load-testing engine with tunable profiles (warmup → ramp → soak) and an SLO report.

+

Exercises a running engine with synthetic, PHI-free traffic: Send / Receive / File / Compose / Monitor tabs (inject ACK faults, malformed messages, delivery failures), headless CI scenarios that assert dispositions, and a separate load-testing engine with tunable profiles (warmup → ramp → soak) and an SLO report. Ships as its own distribution, released in lockstep with the engine — pip install messagefoundry-harness; it isn't part of the engine wheel.

Tee relay

python -m tee -

A migration de-risking tool: sit it in front of a legacy engine and a shadow MessageFoundry, ACK on receipt, and forward the same bytes to both — so you can compare output before cutover (rollback is just stopping the relay). Test and synthetic data only; not PHI-hardened.

+

A migration de-risking tool: sit it in front of a legacy engine and a shadow MessageFoundry, ACK on receipt, and forward the same bytes to both — so you can compare output before cutover (rollback is just stopping the relay). Test and synthetic data only; not PHI-hardened. Run it from a source checkout of the engine repository — unlike the harness, it isn't published as a package.