You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Plan integration 6: Launch planning-purpose agent sessions #13
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.
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
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
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.
Activity
docs(archify): plan-integration diagram shows the final structure — n…
docs(closeout): draft the #7–#15 close-out — every criterion mapped t…
docs(closeout): refresh the #7–#15 close-out DRAFT after review 5, th…
NetDevAutomate commentedon Sep 18, 2026
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 againstmainata5b9f903(2026-09-18). Legend as on #8.T: test_session_start_purpose.py(35 today):::test_default_purpose_is_focus_and_unchanged,::test_unknown_purpose_is_rejected_structurally;C: 4fc51250::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)::test_pty_and_acp_use_one_resolver; verifyrg-no-focus-literal-under-session-routes(0 hits)::test_planning_launch_creates_no_plan_and_no_plan_id;T: test_web_plan_architect_journey.py::test_starting_the_architect_creates_no_plan; UATarchitect_launch(plan documents unchanged by the click)::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 (verifyprotected-files-*)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 thestudyloopserver — was the owner's decision D-A and is closed:agents/kiro/study-plan-architect.jsoncarries@studyloopintoolsand exactly the nine plan tools +record_plan_learninginallowedTools;agents/claude/study-plan-architect.mdallow-lists exactly the ten asmcp__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 checkarchitect-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 architectDoD. 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.