Skip to content

Plan integration 5: Add MCP progression and deletion #12

Closed

Description

@NetDevAutomate

Parent

What to build

Let an MCP agent progress milestones, preview or record evidence checkpoints, and explicitly delete a plan without unsafe retry or partial-success behavior.

Acceptance criteria

  • Register set_study_plan_milestone, evaluate_study_plan, and delete_study_plan.
  • Milestone changes accept an explicit done value and remain idempotent under retries.
  • Evaluation distinguishes preview from record and accepts an optional study identifier.
  • Partial checkpoint writes return explicit warnings and never claim complete recording.
  • Deletion requires explicit confirmation and retains checkpoint history.

Blocked by

Definition of Done

  • All nine Study Plan lifecycle tools appear in the real stdio tool list.
  • Integration tests exercise milestone, evaluation, partial recording, and confirmed deletion journeys.
  • Tool errors are mapped from shared domain outcomes.
  • MCP lifecycle documentation is complete and examples use retry-safe operations.
  • Existing MCP and plan suites 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, with one disclosed limit. 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 set_study_plan_milestone, evaluate_study_plan, delete_study_plan yes C: b1e11e78; the stdio smoke asserts exactly 32 tools with the nine
    Milestone changes accept an explicit done value and remain idempotent under retries yes test_mcp_plan_tools.py retry-idempotent pins; UAT mcp_lifecycle sets milestone 0 done over stdio and the document reads - [x] **OVER clause**
    Evaluation distinguishes preview from record and accepts an optional study identifier yes test_mcp_plan_tools.py: preview writes nothing / record reports both sinks; T: test_plan_journey_combined.py step 4 (preview: both sinks not_requested, document bytes unchanged); UAT mcp_lifecycle (record: both saved, recording_complete). Since 2026-09-18 the same preview path (assess(phase="end", record=False)) is what the now engine's closing review reads (follow-on item 4)
    Partial checkpoint writes return explicit warnings and never claim complete recording yes, in-process test_mcp_plan_tools.py failed-sink responses (recording_complete: false + warning) — a successful evaluation with incomplete recording, not a refusal. Not exercised over the real stdio transport: the failing sink is a monkeypatched writer the subprocess cannot receive; a wire-level test would need a product-side fault hook, which nobody has authorised. The wire shape is the same to_json_dict() the in-process test pins
    Deletion requires explicit confirmation and retains checkpoint history yes test_mcp_plan_tools.py; T: test_plan_journey_combined.py (refused without confirmed=True, document present; confirmed delete → Web 404)

    DoD. record_plan_learning folded onto _plan_tool_error (not_ready: prefix — an intentional, reported wording change); docs/agent-install.md examples use the retry-safe operations.

    Landed via #20 (2026-09-17). Closing with the stdio limit recorded above.

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