Wideband autonomous SDR analysis engine forked from sdr-visual-suite
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

6.1KB

SDR Wideband Suite - Current State

This file is the practical handoff / resume state for future work. Use it together with ROADMAP.md.

  • ROADMAP.md = long-term architecture and phase roadmap
  • STATE.md = current repo state, working conventions, and next recommended entry point

Current Milestone State

  • Phase 1 complete
  • Phase 2 complete
  • Phase 3 complete
  • Phase 4 complete

Current project state should be treated as:

  • Phase 1 = architecture foundation landed
  • Phase 2 = multi-resolution surveillance semantics landed
  • Phase 3 = conservative runtime prioritization/admission/rebalance landed
  • Phase 4 = monitor-window operating model landed

Do not reopen these phases unless there is a concrete bug, mismatch, or regression.


Most Recent Relevant Commits

These are the most important recent milestone commits that define the current state:

Phase 4 monitor-window operating model

  • efe137b Add monitor window goals for multi-span gating
  • ac64d6b Add monitor window matches and stats
  • d7e457d Expose monitor window summaries in runtime debug
  • c520423 Add monitor window priority bias
  • 838c941 Add window-based record/decode actions
  • 962cf06 Add window zone biases for record/decode actions
  • 402a772 Consolidate monitor window summary in debug outputs
  • 8545b62 Add per-window outcome summaries for admission pressure
  • 65b9845 test: cover overlapping monitor windows
  • efe3215 docs: capture Phase-4 monitor-window status

Phase 3 runtime intelligence milestone

  • 4ebd51d Add priority tiers and admission classes to pipeline
  • 18b179b Expose admission metadata in debug output and tests
  • ba9adca Add budget preference and pressure modeling
  • 7a75367 Expose arbitration pressure summary
  • 592fa03 pipeline: deepen hold/displacement semantics
  • 30a5d11 pipeline: apply intent holds and family tier floors
  • 1f5d4ab pipeline: add intent and family priority tests
  • 822829c Add conservative budget rebalance layer
  • da5fa22 Update Phase-3 Wave 3E status

Documentation / stable defaults

  • fd718d5 docs: finalize phase milestones and ukf test config

If resuming after a long pause, inspect the current git log around these commits first.


Current Important Files / Subsystems

Long-term guidance

  • ROADMAP.md - durable roadmap across phases
  • STATE.md - practical resume/handoff state
  • PLAN.md - project plan / narrative (may be less pristine than ROADMAP.md)
  • README.md - user-facing/current feature status

Config / runtime surface

  • config.yaml - current committed default config
  • config.autosave.yaml - local autosave; intentionally not tracked in git
  • internal/config/config.go
  • internal/runtime/runtime.go

Phase 3 core runtime intelligence

  • internal/pipeline/arbiter.go
  • internal/pipeline/arbitration.go
  • internal/pipeline/arbitration_state.go
  • internal/pipeline/priority.go
  • internal/pipeline/budget.go
  • internal/pipeline/pressure.go
  • internal/pipeline/rebalance.go
  • internal/pipeline/decision_queue.go

Phase 2 surveillance/evidence model

  • internal/pipeline/types.go
  • internal/pipeline/evidence.go
  • internal/pipeline/candidate_fusion.go
  • internal/pipeline/scheduler.go
  • cmd/sdrd/pipeline_runtime.go

Phase 4 monitor-window model

  • internal/pipeline/monitor_rules.go
  • cmd/sdrd/window_summary.go
  • cmd/sdrd/level_summary.go
  • cmd/sdrd/http_handlers.go
  • cmd/sdrd/decision_compact.go
  • cmd/sdrd/dsp_loop.go

Current Default Operator / Test Posture

The repo was intentionally switched to an FM/UKW-friendly default test posture.

Current committed config defaults

  • band: 87.5-108.0 MHz
  • center: 99.5 MHz
  • sample rate: 2.048 MHz
  • FFT: 4096
  • profile: wideband-balanced
  • intent: broadcast-monitoring
  • priorities include wfm, rds, broadcast, digital

Important config note

  • config.yaml is committed and intended as the stable default reference
  • config.autosave.yaml is not git-tracked and may diverge locally
  • if behavior seems odd, compare the active runtime config against config.yaml

Working Conventions That Matter

Codex invocation on Windows

Preferred stable flow:

  1. write prompt to codex_prompt.txt
  2. create/use run_codex.ps1 containing:
    • read prompt file
    • pipe to codex exec --yolo
  3. run with PTY/background from the repo root
  4. remove codex_prompt.txt and run_codex.ps1 after the run

This was adopted specifically to avoid PowerShell quoting failures.

Expectations for coding runs

  • before every commit: go test ./... and go build ./cmd/sdrd
  • commit in coherent blocks with clear messages
  • push after successful validation
  • avoid reopening already-closed phase work without a concrete reason

Known Practical Caveats

  • PLAN.md has had encoding/character issues in some reads; treat ROADMAP.md + STATE.md as the cleaner authoritative continuity docs.
  • README is generally useful, but ROADMAP.md/STATE.md are better for architectural continuity.
  • config.autosave.yaml can become misleading because it is local/autosaved and not tracked.

Recommended Next Entry Point

If resuming technical work after this checkpoint:

Start with Phase 5

Do not reopen Phase 1-4 unless there is a concrete bug or regression.

Move from monitor windows inside a single capture span toward richer span / operating orchestration:

  • span / zone groups
  • span-aware resource allocation
  • stronger profile-driven operating modes
  • retune / scan / dwell semantics where needed

Avoid jumping ahead prematurely to

  • full adaptive QoS engine (Phase 6)
  • major GPU/performance re-architecture (Phase 7)
  • heavy UX/product polish (Phase 8)

Those should build on Phase 5, not bypass it.


Resume Checklist For A Future Agent

  1. Read ROADMAP.md
  2. Read STATE.md
  3. Check current git log near the commits listed above
  4. Inspect config.yaml
  5. Confirm current repo state with:
    • go test ./...
    • go build ./cmd/sdrd
  6. Then start Phase 5 planning from the actual repo state

If these steps still match the repo, continuation should be seamless enough even after a hard context reset.