Skip to content

Plan integration 6: Launch planning-purpose agent sessions #13

Closed

Description

@NetDevAutomate

Parent

What to build

Allow the backend to launch the Study Plan Architect through the existing session claim, agent adapter, PTY/ACP transport, reconnect, and cleanup machinery.

Acceptance criteria

  • Session launch accepts planning purpose while normal study remains the default.
  • Planning purpose selects the architect persona, shared protocol, and evidence-grounded planning brief.
  • PTY and ACP launch paths use one purpose/persona resolver.
  • Starting an architect conversation creates no plan and stores no live-session plan identifier.
  • Existing one-session conflict, reconnect, error, and cleanup behavior is preserved.
  • The architect can use MCP authoring tools with the CLI retained as a harness fallback.

Blocked by

Definition of Done

  • Fake-agent tests cover successful planning launch without paid model calls.
  • Session-authority and PTY/ACP transport suites remain green.
  • Planning-purpose reconnect state is externally observable and documented.
  • No second session authority, transport stack, or console implementation is introduced.
  • Agent-adapter and live-session capability specs are updated.

Activity

  1. added
    ready-for-agentImplementation-ready specification with settled requirements and test seams
    on Sep 4, 2026
  2. added 3 commits that reference this issue on Sep 17, 2026
  3. NetDevAutomate commented on Sep 18, 2026

    @NetDevAutomate
    OwnerAuthor

    Status: met. The draft of 2026-09-16 scored the last row partly; follow-on item 1 (owner decision D-A, 2026-09-16) resolved it on 2026-09-17. 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
    Session launch accepts planning purpose while normal study remains the default yes T: test_session_start_purpose.py (35 today): ::test_default_purpose_is_focus_and_unchanged, ::test_unknown_purpose_is_rejected_structurally; C: 4fc51250
    Planning purpose selects the architect persona, shared protocol, and evidence-grounded planning brief yes, on the Web door ::test_planning_purpose_selects_plan_architect_persona_with_brief_section; brief budget (review-4 F1, C: 8f9b6011); T: test_plan_journey_combined.py (the MCP interview's prompts verbatim in the Web brief — one seed). A CLI/harness-started architect gathers the same material itself (get_planning_interview / studyloop plan interview) — the docs say exactly that (review-5 F3)
    PTY and ACP launch paths use one purpose/persona resolver yes ::test_pty_and_acp_use_one_resolver; verify rg-no-focus-literal-under-session-routes (0 hits)
    Starting an architect conversation creates no plan and stores no live-session plan identifier yes ::test_planning_launch_creates_no_plan_and_no_plan_id; T: test_web_plan_architect_journey.py::test_starting_the_architect_creates_no_plan; UAT architect_launch (plan documents unchanged by the click)
    Existing one-session conflict, reconnect, error, and cleanup behavior is preserved yes ::test_purpose_persisted_for_reconnect_label, ::test_brief_failure_releases_session_claim (both transports); T: test_web_plan_architect_journey.py::test_conflict_returns_structured_error_and_offers_reattach; protected transport suites byte-identical to their base (verify protected-files-*)
    The architect can use MCP authoring tools with the CLI retained as a harness fallback yes (was "partly") Persona: T: test_plan_architect_persona.py (21 today) — the nine named, MCP before CLI, lifecycle guards stated. The boundary the draft disclosed as interim — the Kiro and Claude harness-launched architects did not attach the studyloop server — was the owner's decision D-A and is closed: agents/kiro/study-plan-architect.json carries @studyloop in tools and exactly the nine plan tools + record_plan_learning in allowedTools; agents/claude/study-plan-architect.md allow-lists exactly the ten as mcp__studyloop__<tool> (T: test_install_agent_contracts.py::test_kiro_architect_carries_the_studyloop_server_and_exactly_the_plan_tools, ::test_claude_architect_allowlists_exactly_the_plan_tools; verify check architect-grants, in-process, inventory-derived). The grant spelling was probed on the installed kiro-cli 2.21.4 and 2.22.0 (R: receipts/kiro-agent-tools-probe-2026-09-16.md). Codex, Grok Build and pi have no named-agent feature and reach the same persona through StudyLoop's own harness-neutral launch chain (studyloop study --mode plan-architect --agent <harness>, the Web door, `plan architect

    DoD. Fake-agent tests, no paid calls; reconnect state externally observable (GET /api/session/state.purpose, also for a CLI-started architect via the persisted persona mode — ::TestReconnectLabelFromPersistedMode); S: live-session-orchestration "Session purpose"; S: agent-adapters "Persona resolution by purpose" / "Architect persona prefers the MCP plan tools".

    Stated limit (unchanged): the architect's one-question-at-a-time protocol is verified as persona text, not under a live model — accepted as the CI level by owner decision D-B. Still owner-side, not blocking this issue: a per-harness reachability receipt on a real install (which tools the harness-launched architect can call and which prompt), one row per harness.

    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