• trigger_org_node(org_node, prompt, target_folder_path): shells out
    `claude --agent <org_node> -p ... --permission-mode auto` with cwd=target
    project, parses the JSON result, raises OrgNodeTriggerError on nonzero exit
    or is_error. Skeleton only, per development-plan.md ("不含完整状态机") --
    TASK_NOT_READY/CONCURRENCY_LIMIT_REACHED/USAGE_LIMIT_REACHED handling is
    U-010's job.
    
    Also refactors test_agent_e2e.py (U-004) to call this real function instead
    of its own ad-hoc subprocess invocation, so the gated real-agent test now
    exercises U-005's actual production code path -- confirmed still passing
    against a real `claude --agent planner` call.
    
    5 new mocked stdlib unittest cases (CLAUDE.md Testing constraint: mock the
    subprocess boundary in normal tests). 46 total across U-001-005, all
    passing; the 1 gated real-agent test re-verified manually.
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    bboonnee authored
     
    Browse File »