Slide Run Planner for PathML - notice ===================================== Independent tool, not affiliated with or endorsed by the PathML project, Dana-Farber Cancer Institute or Weill Cornell Medicine. "PathML" names the open-source library this page plans runs for. Source ------ Slide Run Planner for PathML is derived from the agent skill @k-dense-ai/pathml, part of k-dense-ai/scientific-agent-skills (https://github.com/k-dense-ai/scientific-agent-skills), skills/pathml at commit 49c6e97775eaa18ba791bebe23162a70ae601c18. MIT License, Copyright (c) 2025 K-Dense Inc. - the full text is in LICENSE-pathml-skill.txt. pathkit.js is a JavaScript port of three of the skill's bundled command-line tools and the parts of scripts/_common.py they call: scripts/slide_manifest.py (the "validate" subcommand) scripts/plan_pipeline.py scripts/plan_inference.py The "inspect" subcommand of slide_manifest.py, image_qc.py and validate_spatial_schema.py are not ported. PathML itself (GPL-2.0, Dana-Farber AI Oncology) is not included, imported or redistributed; the tools model PathML 3.0.5's arithmetic without importing it. How the port was checked ------------------------ Differential tests ran the original Python scripts in-process and the shipped pathkit.js on the same arguments and bytes, comparing stdout, stderr and exit code (for argparse errors, the final "error:" line; for uncaught Python exceptions, the exception type): - CPython 3.14.4: 15,957 fuzzed runs (error-biased and valid-biased), all identical. - CPython 3.13: 10,984 of the same runs, all identical. - CPython 3.12: 5,984 runs, 5,953 identical; the other 31 are model cards with a trailing comma, where 3.12's JSON error wording differs (see below). 43 further runs deliberately listed a slide path that does not exist; the Python reports "cannot access input file" and the page, which cannot see files, does not (difference 1). Shipped pathkit.js sha256 d5e575a7ae898fe6... (first 16 hex digits). Stated differences ------------------ 1. Files. A browser cannot open the slide files. slide_manifest.py validate stats every path; the page checks each one as text only (URL, NUL byte, ~ expansion with a home folder you set, normalisation, escape from --root, duplicates, suffix) and assumes the file exists, is a regular, non-symlink file and is within --max-slide-gib. Where a file is really missing, the Python says "cannot access input file ..." and the page does not. Run the commands the page gives you. 2. JSON wording. Model-card JSON errors use CPython 3.13+ wording. Python 3.12 has no "Illegal trailing comma" message and reports those inputs differently; that is the only difference seen on 3.12. 3. Non-UTF-8 manifests are refused by the page with its own message. 4. argparse prefix abbreviations (--tile for --tile-size) are not modelled; the page always writes full --flag=value arguments. The usage line argparse prints before an error is not reproduced. The page's own work ------------------- The pass over every manifest row, the identifier and path heuristics, the per-slide tile plans, the cross-checks between the tiling plan and the model card, the numbered flags and the status (blocked / fix_first / pilot_ready) are the page's, not the skill's, and are labelled as such. Version facts checked on 2026-09-27 ----------------------------------- - PyPI pathml 3.0.5 was uploaded 2026-03-24 (the version the skill pins and the tools model). - PyPI's latest pathml is 3.0.8 (uploaded 2026-08-14). The page still models 3.0.5 because the skill's scripts do; check the arithmetic against the version you install. - arXiv:2609.00065, "Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents", Kassis, Agarwal, He, Patel and Brueckner (v1 2026-08-30, v2 2026-09-02). Research use only. PathML is not a medical device and nothing on this page supports a diagnosis.