Add SearchableFieldConfig and SearchableTableConfig classes that let host apps declare searchable tables via configuration objects instead of requiring @QSearchable* annotations on entity classes.
Both annotation-based and config-based table declarations merge during produce(), with within-source duplicate detection and clear validation errors.
Includes record label override support, null-safe field formatting, and updated indexing steps (BasepullIndexStep, FullReindexStep, IndexingUtils, SynchronousIndexEventPublisher).
Test plan
SearchableFieldConfigTest -- unit tests for field config builder, defaults, and edge cases
SearchableTableConfigTest -- unit tests for table config builder and validation
ConfigDrivenIndexingIntegrationTest -- integration test exercising full produce/index flow via config
## Summary
- Add `SearchableFieldConfig` and `SearchableTableConfig` classes that let host apps declare searchable tables via configuration objects instead of requiring `@QSearchable*` annotations on entity classes.
- Both annotation-based and config-based table declarations merge during `produce()`, with within-source duplicate detection and clear validation errors.
- Includes record label override support, null-safe field formatting, and updated indexing steps (`BasepullIndexStep`, `FullReindexStep`, `IndexingUtils`, `SynchronousIndexEventPublisher`).
## Test plan
- [x] `SearchableFieldConfigTest` -- unit tests for field config builder, defaults, and edge cases
- [x] `SearchableTableConfigTest` -- unit tests for table config builder and validation
- [x] `ConfigDrivenIndexingIntegrationTest` -- integration test exercising full produce/index flow via config
- [x] Updated `QuickSearchQBitConfigTest`, `QuickSearchQBitProducerTest`, `QuickSearchableTableConfigTest`, `IndexingUtilsTest`, `SynchronousIndexEventPublisherTest`
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
SearchableFieldConfigandSearchableTableConfigclasses that let host apps declare searchable tables via configuration objects instead of requiring@QSearchable*annotations on entity classes.produce(), with within-source duplicate detection and clear validation errors.BasepullIndexStep,FullReindexStep,IndexingUtils,SynchronousIndexEventPublisher).Test plan
SearchableFieldConfigTest-- unit tests for field config builder, defaults, and edge casesSearchableTableConfigTest-- unit tests for table config builder and validationConfigDrivenIndexingIntegrationTest-- integration test exercising full produce/index flow via configQuickSearchQBitConfigTest,QuickSearchQBitProducerTest,QuickSearchableTableConfigTest,IndexingUtilsTest,SynchronousIndexEventPublisherTest