Repository navigation
Releases: toneron2/RWS
Releases · toneron2/RWS
Release list
1.1.0
Specification, four MCP servers and a scripted demonstration, December 2025.
| Servers | psychrometrics, component-db, simulation, estimation; TypeScript, 1,519 lines, loaded from .mcp.json |
| Tests | 32, passing on Node 22 (npm test); npm run typecheck reports 0 errors |
| Checked against | PsychroLib 2.5.0 (ASHRAE 2017): at 24 °C / 50 %, humidity ratio within 0.01 %, wet bulb within 0.003 K, enthalpy within 0.06 % |
Changes since 1.0.0
From an independent code review (#1 to #6):
- Servers load (#1): the four servers are declared in
.mcp.json, where Claude Code reads them; none had started before. - Typed tools (#2): every tool takes a zod schema, so the servers typecheck and bad input returns an error naming the field.
- Thermal loads (#3): the simulation server shares the psychrometrics server's ASHRAE relations. Its loads had been about 12 times too high (12,142 MBH against 979 MBH for the hospital example).
- Psychrometrics (#4): the wet-bulb solver converges, heating is sensible-only, altitude reaches mixing and processes, dew point uses the full ASHRAE equation, and mixing is mass-weighted.
- No silent drops (#5): unknown component types are refused instead of pricing at zero; the HEPA stage, filters and dampers are counted and priced.
- Fan selection (#6): only fans rated for the full requested airflow are selected.
From the release (#7):
- Dry coil. Without a leaving wet bulb, 95 % RH was assumed even when the entering air was drier, so a coil could report negative latent load. The leaving humidity ratio is now capped at the entering one. 10,000 CFM from 75 °F / 40 % to 55 °F reads 218.1 MBH (hand calculation: 216.0); it had read an SHR of 1.62.
- Motor sizing. When no motor option covered the brake horsepower, the largest was used (a 50 HP motor for 52.0 BHP). The next fan whose motor covers it is selected, otherwise the request is refused.
- Coil face area. Requests above 48 sq ft returned 48 sq ft. They are refused, with a request to split the coil.
- Dew point. The C18 constant is ASHRAE's IP value, 1.2063; the largest error falls from 0.24 °F to 0.06 °F.
- Lockfile. It carries the esbuild binaries for 26 platforms, so
npm ciworks on macOS and Windows.
Behaviour change: requests the catalog cannot meet (a coil above 48 sq ft, a duty no fan and motor covers) are refused instead of answered with an undersized selection.