Support a standalone master (judge) separate from worker slots · Entire
Support a standalone master (judge) separate from worker slots
6f9da77→main· dipree·1mo ago·4 files·+104 added/-24 removed
Foundation for the scout multi-agent flow: the master can now be its own agent + model that synthesizes the workers' reports without being one of the worker slots.
- settings: add ReviewProfileConfig.MasterAgent (standalone master); legacy worker
Masterstill honored when MasterAgent is empty. - profile: add profileMasterIdentity (MasterAgent wins, else legacy worker), masterDisplayLabel; resolveProfileMaster now delegates.
- cmd: multi-agent validation accepts a standalone master (validated for text generation) instead of requiring master ∈ workers; run path and scripted config updated accordingly.
- tests for master resolution precedence.
Sessions
38a797061770View transcript
Changes
4
cmd/entire/cli
review
Mcmd.go+20/-14
Mconfigure_test.go+42/-3
Mprofile.go+30/-3
settings
Msettings.go+12/-4
543 unmodified lines
... (continued) ...
272 unmodified lines
// ReviewProfileConfig is intentionally small: the review package owns built-in
// default task text for conventional profile names like "general".
type ReviewProfileConfig struct {
Task string json:"task,omitempty"
Agents map[string]ReviewConfig json:"agents,omitempty"
Master string json:"master,omitempty"
MasterModel string json:"master_model,omitempty"
// Master is the legacy master selector: a worker key in Agents that also
// writes the final report. Superseded by MasterAgent; still honored when
// MasterAgent is empty.
Master string json:"master,omitempty"
// MasterAgent, when set, is a standalone master (judge): it synthesizes the
// workers' reports and is NOT required to be one of the worker slots. Takes
// precedence over Master.
MasterAgent string json:"master_agent,omitempty"
// MasterModel is the model for the master (applies to either form).
MasterModel string json:"master_model,omitempty"
}
// IsZero reports whether the profile is effectively unset.