Repository navigation
Siftpath 2.1.1
Siftpath 2.1.1 release notes
Maintenance update from 2.1.0. Publication is confirmed by the npm registry and Git release, not this source version. Releases require final candidate CI, package artifact/hash checks, npm authentication and explicit maintainer confirmation.
Fixes and diagnostics
- Classify observable tool-level upstream 401/403 statuses as
AUTH_FAILED/UPSTREAM_FORBIDDENinstead of a genericUPSTREAM_ERROR. Raw provider errors and credentials remain private; a 403 does not establish whether the cause is a plan, permission or suspended access. No anonymous credential-error recovery is added. - Give actionable provider-specific messages for explicit Reader failures and a sole
FOCUS_UNSUPPORTEDcause. Default-route failures may still returnNO_PROVIDER_SUCCEEDEDwith underlying diagnostics. - Show whether a saved read binding maps
$focusin offline CLI/Pi status. This checks the binding, not whether an upstream extraction will be complete or correctly focused. - Distinguish historical test results made stale by a package upgrade, a configuration change or an unknown cause. Upgrading no longer falsely tells users their configuration changed.
Dependencies and release checks
- Update the locked dependency tree for the body-parser advisory. Production High/Critical audit findings block release; full-tree findings, including development tooling, are reported separately. An unavailable audit is a failed check.
- Verify the actual tarball both against the repository lockfile and as a clean consumer install without that lockfile. Check production-only dependency isolation, CLI, SDK exports, MCP tool schemas and real Pi 1.4.0 registration without inference. These checks do not call providers or models; consumer installation and auditing can access the npm registry.
- Update TypeScript, esbuild and GitHub Actions tooling. Functional CI covers Linux/Windows × Node 22/24/26, with separate npm 11/12 compatibility checks. Node.js 22 remains the minimum runtime and Node 22 types remain the development baseline.
- Keep MCP SDK v1; no SDK v2 migration, new runtime dependency or new research layer is included. See dependency assessment.
Compatibility and upgrade
The web_search / web_read inputs, default routes, explicit Reader selection and fallback rules are unchanged. Saved Keys, custom bindings, routes and legacy configuration compatibility remain; no configuration rewrite or setup rerun is required. Upgrade the package, then restart Pi or /reload.
Status adds focus and optional lastTestStaleReason. Existing diagnostic history stays readable; records without the new configuration fingerprint are conservatively marked stale with an unknown cause. Consumers matching error codes should handle AUTH_FAILED / UPSTREAM_FORBIDDEN where observable upstream tool errors previously produced UPSTREAM_ERROR. Do not parse human-readable error messages as an API. See diagnostics and migration.
Known limits and acceptance
- The default serialized JSON budget remains 16,000 characters, not tokens. Long bodies can lose decisive evidence;
truncateddescribes local clipping only, not upstream completeness. - A supported focus binding, an untruncated response or a successful call does not guarantee complete evidence or an accurate model answer. Source indexes can contain unfetched outgoing links.
- This maintenance preparation reuses historical live evidence and does not run paid model/provider acceptance. Current candidate checks and historical evidence are recorded separately in testing.