INNER CODE UNIT · Go

runSubagent

voocel/ainovel-cli · internal/agents/agentcore_contract_test.go:91

func runSubagent(t *testing.T, cfg subagent.Config) error {
	t.Helper()
	_, err := subagent.NewRunner(cfg).Run(context.Background(), cfg.Name, "contract")
	return err
}

// 契约 1:终态工具退出经过 StopGuard;guard 否决(InjectMessage)后 run 继续。
// 依赖方:EditorStopGuard —— save_review 等终态工具命中后,任务感知 guard 必须
// 有机会把"产物未落盘"的提前退出拉回来。
func TestContract_TerminalToolExitConsultsStopGuard(t *testing.T) {
	var guardCalls atomic.Int32
	var trigger atomic.Value

	model := &contractModel{fn: func(i int, _ []agentcore.Message) (*agentcore.LLMResponse, error) {
		switch i {
		case 0:
			return &agentcore.LLMResponse{Message: assistantToolCall("finish", `{}`)}, nil
		default:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…