Skip to content

Latest commit

 

History

History
76 lines (56 loc) · 3.62 KB

File metadata and controls

76 lines (56 loc) · 3.62 KB

v0.2 Backlog — status snapshot

Sections A–D landed in commits 4bba5ac → de5a5c6 (2026-05-20). Section E remains open.

✅ Section A — v0.1 cleanup (commit 4bba5ac)

Item Status
A1. Fix TDXError.rateLimited wording
A2. Document window_min limitation in CLAUDE.md
A3. Parallelise 8-system fetch in rail_search_stations (with stable sort)
A4. Cache LRU size cap (default 1000 entries, eviction tests)

✅ Section B — Plan 2 (commit d365b86)

Item Status
ToolRegistry actor + Server.swift refactor
bus_search_routes / bus_search_stops / bus_find_routes / bus_status_arrivals / bus_status_positions ✅ (5 tools)
bike_search_stations / bike_stations_nearby / bike_status_station ✅ (3 tools)

Decision recap: Bus + Parking tools require city (not optional) because 22-way parallel fan-out would breach TDX 50/min, and ambiguous queries like "中山路" exist in multiple cities anyway. bike_stations_nearby uses haversine + radius clamp [50, 3000] m.

✅ Section C — Plans 3-4 (commit 2cc2f0b)

Mode Tools Status
Air air_list_airports / air_find_flights / air_status_flights
Maritime maritime_list_routes / maritime_status_schedule
Traffic traffic_freeway_live / traffic_incidents / traffic_cctv
Parking parking_list_lots / parking_status

Note on maritime_status_schedule: per-operator schedule schemas vary too much for a single Codable model, so the tool returns raw TDX JSON wrapped in {route_id, raw}. The LLM gets the data; downstream consumers can post-process.

✅ Section D — Release pipeline scaffold (commit de5a5c6)

Item Status
mcpb/manifest.json with all 23 tools
scripts/build-mcpb.sh (ad-hoc OR Developer ID + notarize + pack)
Makefile targets release, release-signed, verify-release-ready, install
.gitignore covers build artefacts
AppVersion.version = "0.2.0" (forward-looking)

Remaining maintainer steps (interactive, user-only):

  1. Move CHANGELOG [Unreleased] content under [0.2.0] — 2026-MM-DD
  2. git tag v0.2.0 && git push --tags
  3. export DEVELOPER_ID=... NOTARY_PROFILE=che-mcps-notary && make release-signed
  4. Upload mcpb/che-transport-mcp-0.2.0.mcpb + .sha256 to GitHub release
  5. (Optional) sync psychquant-claude-plugins marketplace via /plugin-tools:plugin-update

🚧 Section E — Nice-to-haves (open, no specific plan)

Lower-priority items that don't block any release.

  • MCP tools/call argument validation — centralise schema validation before each executor
  • Telemetry hook — log tool invocations (tool name, success/fail, latency) for debugging
  • Schema drift detection — periodic contract test against live TDX to catch breaking changes
  • Per-endpoint rate limit awareness — TDX may enforce per-endpoint limits, not just global 50/min
  • Negative test cases for rail_find_trains — invalid station IDs, past dates, system=TRTC (rejected guard)
  • Format docs for rail_status_train train_no — TRA numeric strings vs THSR distinct format

Pick on demand. No external dependency.

How to continue

cd /Users/che/Developer/che-mcps/che-transport-mcp
swift test    # confirm 50 unit + 1 integration local PASS, 2 integration SKIP

# Then either:
# (a) cut v0.2.0 release per Section D maintainer steps above
# (b) pick a Section E item
# (c) start v0.3 brainstorm (?) — design spec doesn't define v0.3 explicitly