Add milestone_type field to milestone queries that indicates whether
a milestone is a start milestone ('start') or finish milestone ('finish').
Changes:
- Add milestone_type column to activities table schema
- Parse milestone_type from XER TASK table (MS_Start/MS_Finish)
- Include milestone_type in list_milestones response
- Update contract tests for milestone_type field
- Update specs, contracts, and documentation
The milestone_type is determined by:
1. Explicit milestone_type field in XER (MS_Start -> 'start', MS_Finish -> 'finish')
2. Derived from task_type (TT_Mile -> 'start', TT_FinMile -> 'finish')
1019 B
xer-mcp Development Guidelines
Auto-generated from all feature plans. Last updated: 2026-01-06
Active Technologies
-
SQLite in-memory database (001-schedule-tools)
-
Python 3.14 + mcp>=1.0.0 (MCP SDK), sqlite3 (stdlib) (001-schedule-tools)
-
In-memory SQLite database (populated from XER files at runtime) (001-schedule-tools)
-
Python 3.14 + mcp (MCP SDK), sqlite3 (stdlib) (001-schedule-tools)
Project Structure
src/
tests/
Commands
cd src [ONLY COMMANDS FOR ACTIVE TECHNOLOGIES][ONLY COMMANDS FOR ACTIVE TECHNOLOGIES] pytest [ONLY COMMANDS FOR ACTIVE TECHNOLOGIES][ONLY COMMANDS FOR ACTIVE TECHNOLOGIES] ruff check .
Code Style
Python 3.14: Follow standard conventions
Recent Changes
-
001-schedule-tools: Added Python 3.14 + mcp>=1.0.0 (MCP SDK), sqlite3 (stdlib)
-
001-schedule-tools: Added Python 3.14 + mcp (MCP SDK), sqlite3 (stdlib)
-
001-schedule-tools: Added Python 3.14 + mcp (MCP SDK), sqlite3 (stdlib)