All plugins

benchline

Read-only preflight for a selected numeric-result CSV: checks structure, duplicate keys, numeric formatting, and exact analyte/unit-map matches. No clinical interpretation; the selected path, unit-map inputs, profile-source label, and bounded QC report are exposed to the configured model/provider.

ShalyXToolsv0.1.0Updated 42 minutes ago

About

Read-only preflight for a selected numeric-result CSV: checks structure, duplicate keys, numeric formatting, and exact analyte/unit-map matches. No clinical interpretation; the selected path, unit-map inputs, profile-source label, and bounded QC report are exposed to the configured model/provider.

Benchline

Install from GitHub

Install directly from GitHub:

hermes plugins install ShalyX/hermes-benchline --enable

After the catalog entry is accepted, users can also install by catalog name:

hermes plugins install benchline --enable

Catalog-name installation depends on acceptance of the upstream catalog entry.

Benchline is a native Hermes plugin for one focused workflow: locally preflight a numeric-result CSV export before a lab operator hands it off to another system. The operator chooses a single file, supplies the lab-owned analyte/unit map and its source/version, and gets a deterministic, row-based QC report.

What it checks

  • required columns and duplicate column headers
  • missing patient/specimen identifiers (the identifiers themselves are never returned)
  • duplicate (specimen_id, analyte) rows
  • missing, malformed, or non-finite numeric results
  • analytes absent from the supplied profile
  • exact unit-label mismatches (no conversion or inference)

The report is a deterministic QC summary; it may include aggregate row/issue counts, affected row numbers, issue codes, missing schema-field names and a scope note. It does not return patient/specimen identifiers, analyte or unit labels, profile-source label, or measured values. The model can use row numbers to guide review in the source file. It checks file structure and transfer consistency only; it does not evaluate whether a numeric result is high, low, normal, critical or clinically significant.

Scope and prior art

The current upstream Hermes catalog includes health-insights (v0.3.2, pinned at d6d09c1f17ada6ca60368a1e0c7a7b5bd4efefc6), which analyzes Apple Health/HealthRelay data and includes lab-result workflows. It operates through a separate CLI and portable skills against a local health database; it can retain imported lab data and send printed values to the configured model/provider. Benchline is narrower: a one-file numeric CSV preflight that checks structure and exact unit labels, without trends, interpretation, persistence or database access. No Benchline entry existed at upstream main commit 1400400907b0259b0f9865358950d9bf6ea28184; this submission proposes one. This is a meaningful workflow distinction, but the overlap is real and the catalog maintainer still decides whether it is sufficiently distinct.

Safety and privacy

  • Reads one explicitly selected .csv file, at most 1 MiB / 5,000 rows; symlinks and non-regular files are rejected.
  • No network calls, subprocesses, writes, durable storage or background work.
  • The input CSV contents are read locally and are not echoed in the tool result. The profile-source label is also not returned. However, the selected path, unit map, and profile-source label are tool-call arguments visible to the session's configured model/provider; do not use this workflow if those details are sensitive.
  • The bounded QC report is also returned to the session and therefore visible to its configured model/provider.
  • The operator supplies the analyte/unit map and a short source/version label for each run. Benchline ships no clinical reference intervals.
  • Findings are not release authorization. A qualified operator must review source rows and correct issues in the lab's approved system.
  • Supports numeric-result exports only; qualitative panels and nonstandard schemas are out of scope for this MVP.

CSV contract

Headers are case-insensitive and surrounding whitespace is ignored:

patient_id,specimen_id,analyte,result,unit
PSEUDO-001,SYN-001,marker_alpha,8.0,unit_a
PSEUDO-002,SYN-002,marker_beta,4.0,unit_b

The tool call also supplies a run-specific map and provenance label:

{
  "analyte_units": {"marker_alpha": "unit_a", "marker_beta": "unit_b"},
  "profile_source": "Synthetic demo unit profile v1"
}

demo/ contains synthetic identifiers and generic units only. It is not a clinical fixture.

Development

Python 3.10+; runtime uses only the standard library. Linux is the only verified platform.

python -m unittest discover -s tests -v

Hermes source at 1400400907b0259b0f9865358950d9bf6ea28184 was used directly to run the current admission validator and Plugin Doctor against the public Benchline repository. Admission validation passed 15 checks with zero warnings; Plugin Doctor passed runtime registration in a temporary isolated HERMES_HOME. The installed Hermes 0.19.0 CLI does not expose those newer subcommands; the current source implementations were called directly.

License

MIT. See LICENSE.

README from the reviewed commit 2e28dc3; it updates when the author re-pins.

More by ShalyX

2 plugins by ShalyX in the catalog.

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section