- Geometry tools:
create_bar_building,create_new_building,import_floorspacejsfor model creation from DOE prototypes and FloorSpaceJS JSON - Generic object access:
get_object_fields,set_object_property, dynamiclist_model_objectsfor any OpenStudio type - Measure authoring skill:
create_measure,edit_measure,test_measurewith ReportingMeasure support - Tool routing:
search_api(OpenStudio SDK search),recommend_tools,search_wiring_patterns(24 HVAC wiring recipes) - HVAC components: FourPipeBeam and CooledBeam air terminals,
set_zone_equipment_priority - LLM test suite: 170+ tests across 5 tiers with progressive difficulty (L1 vague / L2 moderate / L3 explicit), cross-model benchmark sweeps (sonnet/opus/haiku), CodeMode A/B comparison
- Concurrent tool regression test: validates MCP responses under concurrent tool calls
- Stdout purity test: validates no C-level pollution on complex 44-zone models
- Response-size guardrails:
max_results+ filters on all list tools, brief mode for large responses - Agent guardrails: anti-loop instructions in MCP server, tool-bypass prevention
- Tags on all 142 tools for ToolSearch discovery
- Enriched tool descriptions for better LLM tool selection
list_weather_filestool,validate_modeltool,extract_simulation_errorstoolcompare_runstool for two-simulation comparison- CI expanded to 5 shards, ~450+ integration tests
- Concurrent tool timeout (issue #42): permanent fd redirect replaces racy global middleware — C stdout goes to stderr once at startup, Python sys.stdout gets private fd to MCP client
- Polyhedron stdout leak: OpenStudio geometry engine C++ diagnostics no longer corrupt JSON-RPC stream
- SWIG memory leak warnings fully suppressed across all callsites
- Measure XML stale checksums causing OS App rejection
- Choice-type measure argument validation in wrappers
- JSON-string list params across 9 affected tools (
parse_str_list()) conditioned_floor_areacomputed from model instead of hardcoded- EUI units now report MJ/m2 + kBtu/ft2 alongside GJ/m2
list_fileshardened to/inputs+/runsonlychange_building_locationpreferred overset_weather_file(sets EPW+DDY+CZ in one call)- Consolidated 4 HVAC validation test files into single
test_hvac_validation.py - Consolidated integration tests: -8 files, -57 Docker sessions
- Tool description enrichment for all 142 tools
- CodeMode toggle (default off) with LLM harness support
- Measure authoring skill with test framework
- SWIG stdout suppression middleware (replaced in 0.9.0)
- Phase 10 results tools:
extract_simulation_errors,list_output_variables,compare_runs
- LLM agent test suite (170+ tests, local-only)
- Geometry workflows (FloorSpaceJS import, bar building)
- Response-size guardrails on all list tools
- Generic object access (Phase C)
- Agent guardrails (anti-loop, tool-bypass prevention)
- Weather file improvements
- Common measures integration (20 measures, 11 wrapper tools)
- Context reduction (auto-load, brief mode, batch removal)
- Initial skills architecture (22 skills, 126 tools)
- 5-shard CI pipeline
- OpenStudio SDK 3.11.0 integration