Collector orchestration shared by every run_* management command.
| Module | Role |
|---|---|
base_collector.py |
AbstractCollector (validate_config, collect() -> TrackerResult), CollectorRunnable protocol, lifecycle mixin (load_incremental_state, sync_pinecone, handle_error). |
command_base.py |
BaseCollectorCommand — Django template: get_collector → run (logs TrackerResult) → sync_pinecone. |
../tracker_result.py |
GenericTrackerResult — default frozen TrackerResult DTO. |
../incremental_state.py |
GenericIncrementalState — default frozen IncrementalState DTO. |
New collectors should subclass AbstractCollector and wire a management command through BaseCollectorCommand. See Tutorial: building a collector (walkthrough), How to add a collector (checklist), and the parent core README.