package domain // QueryPlan is the reviewed search intent compiled from a DemandMap. It is // persisted with both versions so a sweep can prove which product truth it // searched, and can safely discard a stale plan after an edit. type QueryPlan struct { DemandInputVersion string `json:"demand_input_version"` MapVersion int64 `json:"map_version"` Groups []QueryPlanGroup `json:"groups"` } type QueryPlanGroup struct { Query string `json:"query"` Include []string `json:"include"` Exclude []string `json:"exclude"` BasisKinds []string `json:"basis_kinds"` BasisTexts []string `json:"basis_texts"` }