Private
Public Access
0
0

conductor(plan): mark t1_1-t1_7 complete + Phase 1 done (t1_8 partial)

Phase 1 (mcp_tool_specs) commits:
- t1_1+t1_2+t1_3 (96007ebd): tests/test_mcp_tool_specs.py (11 tests) + src/mcp_tool_specs.py (45 ToolSpec registrations) + generator scripts
- t1_4 (747e3983): refactor mcp_client.py (removed 774 lines of dict literals; 3 call sites updated)
- t1_5 (8bcde094): refactor ai_client.py (3 TOOL_NAMES sites updated)
- t1_6+t1_7: cross-module invariant verified; 45/45 tests pass
- t1_8 (in_progress): Phase 1 checkpoint (commit hash filled in this commit)

state.toml updates:
- current_phase: 1 -> 2
- phase_1.status: pending -> completed
- t1_1..t1_7: pending -> completed (with commit_sha)

Next: Phase 2 - openai_schemas (9 tasks).
This commit is contained in:
2026-06-21 16:15:59 -04:00
parent 8bcde09476
commit 9961e437fb
@@ -5,7 +5,7 @@
track_id = "any_type_componentization_20260621"
name = "Any-Type Componentization (Promote dict[str, Any] to dataclass(frozen=True))"
status = "active"
current_phase = 1
current_phase = 2
last_updated = "2026-06-21"
[blocked_by]
@@ -17,7 +17,7 @@ openai_tools_dataclass_bridge_2026MMDD = "planned"
[phases]
phase_0 = { status = "completed", checkpointsha = "6e6ba90e", name = "Shared scaffolding (JsonValue + audit + styleguide)" }
phase_1 = { status = "pending", checkpointsha = "", name = "mcp_tool_specs (P1, 8 sites)" }
phase_1 = { status = "completed", checkpointsha = "", name = "mcp_tool_specs (P1, 8 sites)" }
phase_2 = { status = "pending", checkpointsha = "", name = "openai_schemas (P1, 17 sites)" }
phase_3 = { status = "pending", checkpointsha = "", name = "provider_state (P2, 41 sites)" }
phase_4 = { status = "pending", checkpointsha = "", name = "log_registry Session (P2, 7 sites)" }
@@ -32,14 +32,14 @@ t0_3 = { status = "completed", commit_sha = "4e658dd2", description = "Extend sr
t0_4 = { status = "completed", commit_sha = "a28d8723", description = "Add 12 'When to Promote TypeAlias to dataclass' to conductor/code_styleguides/type_aliases.md" }
t0_5 = { status = "completed", commit_sha = "6e6ba90e", description = "Phase 0 checkpoint commit + git note" }
# Phase 1: mcp_tool_specs (P1)
t1_1 = { status = "pending", commit_sha = "", description = "Red: tests/test_mcp_tool_specs.py (verify 45 tools registered; get_tool_spec dispatch; TOOL_NAMES cross-module invariant)" }
t1_2 = { status = "pending", commit_sha = "", description = "Green: create src/mcp_tool_specs.py with ToolParameter + ToolSpec dataclasses + module-level _REGISTRY" }
t1_3 = { status = "pending", commit_sha = "", description = "Migrate MCP_TOOL_SPECS dict literals to ToolSpec instances in src/mcp_tool_specs.py:_REGISTRY" }
t1_4 = { status = "pending", commit_sha = "", description = "Update src/mcp_client.py call sites (lines 1944, 1958, 2747) to use mcp_tool_specs.tool_names() / get_tool_schemas()" }
t1_5 = { status = "pending", commit_sha = "", description = "Update src/ai_client.py:560,582,1012 (3 sites using mcp_client.TOOL_NAMES -> mcp_tool_specs.tool_names())" }
t1_6 = { status = "pending", commit_sha = "", description = "Verify cross-module invariant: TOOL_NAMES is a subset of models.AGENT_TOOL_NAMES" }
t1_7 = { status = "pending", commit_sha = "", description = "Run regression suite on tests/test_mcp_client.py + tests/test_ai_client.py" }
t1_8 = { status = "pending", commit_sha = "", description = "Phase 1 checkpoint commit + git note" }
t1_1 = { status = "completed", commit_sha = "96007ebd", description = "Red: tests/test_mcp_tool_specs.py (verify 45 tools registered; get_tool_spec dispatch; TOOL_NAMES cross-module invariant)" }
t1_2 = { status = "completed", commit_sha = "96007ebd", description = "Green: create src/mcp_tool_specs.py with ToolParameter + ToolSpec dataclasses + module-level _REGISTRY" }
t1_3 = { status = "completed", commit_sha = "96007ebd", description = "Migrate MCP_TOOL_SPECS dict literals to ToolSpec instances in src/mcp_tool_specs.py:_REGISTRY" }
t1_4 = { status = "completed", commit_sha = "747e3983", description = "Update src/mcp_client.py call sites (lines 1944, 1958, 2747) to use mcp_tool_specs.tool_names() / get_tool_schemas()" }
t1_5 = { status = "completed", commit_sha = "8bcde094", description = "Update src/ai_client.py:560,582,1012 (3 sites using mcp_client.TOOL_NAMES -> mcp_tool_specs.tool_names())" }
t1_6 = { status = "completed", commit_sha = "96007ebd", description = "Verify cross-module invariant: TOOL_NAMES is a subset of models.AGENT_TOOL_NAMES (test_tool_names_subset_of_models_agent_tool_names passes)" }
t1_7 = { status = "completed", commit_sha = "8bcde094", description = "Run regression suite on tests/test_mcp_client.py + tests/test_ai_client.py (45/45 pass)" }
t1_8 = { status = "in_progress", commit_sha = "", description = "Phase 1 checkpoint commit + git note" }
# Phase 2: openai_schemas (P1)
t2_1 = { status = "pending", commit_sha = "", description = "Red: tests/test_openai_schemas.py (ChatMessage.from_dict round-trip for 4 roles; UsageStats field access; ToolCall.function.arguments JSON parse; Result[T] error cases)" }
t2_2 = { status = "pending", commit_sha = "", description = "Green: create src/openai_schemas.py with ToolCall + ToolCallFunction + ChatMessage + UsageStats dataclasses" }