Skip to content

Plan integration 4: Add MCP discovery and authoring #11

Closed

Description

@NetDevAutomate

Parent

What to build

Let an MCP agent discover planning evidence, inspect plans, create and revise plans, and manage lifecycle status through thin adapters over PlanApplication.

Acceptance criteria

  • Register list_study_plans, get_study_plan, get_planning_interview, create_study_plan, update_study_plan, and set_study_plan_status.
  • Every tool delegates to PlanApplication and returns its immutable views.
  • Readiness refusal and domain failures map to useful ToolError responses.
  • Structured revision is the normal agent mutation path; raw Markdown replacement is not required.
  • Tool schemas support deterministic discovery and do not expose storage paths or reindex administration.

Blocked by

Definition of Done

  • Tool contract and delegation tests pass without duplicating application-policy tests.
  • The real stdio handshake lists and calls the new tools successfully.
  • MCP capability documentation includes the discovery-to-activation journey.
  • Normative MCP requirements are updated in the same change.
  • Existing MCP tools and parity tests remain green.

Activity

  1. added
    ready-for-agentImplementation-ready specification with settled requirements and test seams
    on Sep 4, 2026
  2. NetDevAutomate commented on Sep 18, 2026

    @NetDevAutomate
    OwnerAuthor

    Status: met on the evidence below. Source: docs/architecture/plan-integration/receipts/issue-closeout-draft-2026-09-16.md, re-verified against main at a5b9f903 (2026-09-18). Legend as on #8.

    Acceptance criterion Met Evidence
    Register the six tools yes C: 5a03b094; T: test_mcp_stdio_smoke.py::test_full_handshake_list_tools_and_call (real transport, exactly 32 names, the nine plan tools present)
    Every tool delegates to PlanApplication and returns its immutable views yes T: test_mcp_plan_tools.py (122 today) with forbid_store under every delegation test
    Readiness refusal and domain failures map to useful ToolError responses yes T: test_mcp_plan_tools.py (not_ready: with blockers + pause-or-repair hint; conflict:, invalid:, not_found:, invalid_id:, invalid_milestone:, plan_error:); T: test_plan_journey_combined.py::TestCombinedJourney::test_mcp_refusal_after_a_web_start_is_a_structured_tool_error
    Structured revision is the normal agent mutation path; raw Markdown replacement is not required yes update_study_plan → RevisePlan over title, topics, target date, energy floor, cadence, notes, milestones, status and, since 2026-09-17, the mission (why, success, constraints, out_of_scope; follow-on item 3b, C: 653e825b); overwrite and raw Markdown are not exposed (D-4, D-9 pins). The draft's row said the mission was Markdown-only; that was true on 2026-09-16 and is not now — docs/agent-install.md lists the mission among what MCP revises (T: test_docs_plan_integration_contract.py::test_agent_install_doc_promises_exactly_what_update_study_plan_revises)
    Tool schemas support deterministic discovery and do not expose storage paths or reindex administration yes schema pins in test_mcp_plan_tools.py; inventory is exactly the nine + record_plan_learning among 32 (T: test_docs_plan_integration_contract.py::test_plan_tool_constant_is_exactly_the_registry_plan_tools)

    DoD. The real stdio handshake lists the tools and calls them — list_courses in the smoke test, the plan tools themselves in the UAT mcp_lifecycle cell (create → activate → evaluate record → milestone → history over real stdio; R: receipts/uat-plan-journeys-a69867bf.redacted.json). Docs: docs/agent-install.md "Study-plan tools over MCP"; agents/mcp/README.md lists all 32, pinned to the registry; S: mcp-server "The studyloop-mcp inventory is published where the harness registration is".

    Landed via #20 (2026-09-17). Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentImplementation-ready specification with settled requirements and test seams

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions