diff --git a/config.yaml b/config.yaml index 7915e24..08c89df 100644 --- a/config.yaml +++ b/config.yaml @@ -34,6 +34,37 @@ refinement: min_span_hz: 0 max_span_hz: 0 auto_span: true +profiles: + - name: legacy + description: Current single-band pipeline behavior + pipeline: + mode: legacy + goals: + intent: general-monitoring + - name: wideband-balanced + description: Prepared baseline for scalable wideband surveillance + refinement: + min_span_hz: 4000 + max_span_hz: 200000 + pipeline: + mode: wideband-balanced + goals: + intent: wideband-surveillance + - name: wideband-aggressive + description: Higher surveillance/refinement budgets for future broad-span monitoring + refinement: + min_span_hz: 6000 + max_span_hz: 250000 + pipeline: + mode: wideband-aggressive + goals: + intent: high-density-wideband-surveillance + - name: archive + description: Record-first monitoring profile + pipeline: + mode: archive + goals: + intent: archive-and-triage resources: prefer_gpu: true max_refinement_jobs: 8 diff --git a/internal/pipeline/policy.go b/internal/pipeline/policy.go index d9a1fd4..b708b3a 100644 --- a/internal/pipeline/policy.go +++ b/internal/pipeline/policy.go @@ -81,6 +81,12 @@ func ApplyNamedProfile(cfg *config.Config, name string) { if cfg.Resources.MaxRefinementJobs < 16 { cfg.Resources.MaxRefinementJobs = 16 } + if cfg.Refinement.MinSpanHz <= 0 { + cfg.Refinement.MinSpanHz = 4000 + } + if cfg.Refinement.MaxSpanHz <= 0 { + cfg.Refinement.MaxSpanHz = 200000 + } cfg.Resources.PreferGPU = true case "wideband-aggressive": cfg.Pipeline.Mode = "wideband-aggressive" @@ -102,6 +108,12 @@ func ApplyNamedProfile(cfg *config.Config, name string) { if cfg.Resources.MaxRefinementJobs < 32 { cfg.Resources.MaxRefinementJobs = 32 } + if cfg.Refinement.MinSpanHz <= 0 { + cfg.Refinement.MinSpanHz = 6000 + } + if cfg.Refinement.MaxSpanHz <= 0 { + cfg.Refinement.MaxSpanHz = 250000 + } cfg.Resources.PreferGPU = true case "archive": cfg.Pipeline.Mode = "archive"