v0.3.2
Scolta Laravel 0.3.2
Coordinated release across scolta-core, scolta-php, scolta-wp, scolta-drupal, scolta-laravel.
Ports the streaming gather and CLI wiring pattern from scolta-wp to Laravel.
Fixed
- Peak RAM on large deployments:
BuildCommand::streamContentItems()replacesModel::all()withModel::cursor()(PDO cursor, one row hydrated at a time) so the full model dataset is never resident in RAM. The sync PHP indexer path passes this generator toContentExporter::filterItems()and then toIndexBuildOrchestrator::build(). (#6) reporter:named argument crash:buildWithPhpIndexer()called$orchestrator->build($intent, $items, reporter: $reporter)but the parameter is named$progress, not$reporter. PHP 8.1+ raisesTypeError: Unknown named argument $reporter. Fixed to use positional arguments. (#6)- Silent CLI during large builds:
buildWithPhpIndexer()was passing the progress reporter but not a PSR-3 logger tobuild(). Now also passes Laravel's PSR-3 logger so memory telemetry and phase markers are visible inphp artisan scolta:buildoutput. (#6) - Lint: Fixed
concat_space,unary_operator_spaces,not_operator_with_successor_space,blank_line_before_statement, unused import, and import ordering violations inMemoryBudgetCommand.phpandScoltaServiceProvider.php. (#5)
Added
- Flexible memory budget and chunk size:
artisan scolta:buildnow accepts--memory-budget=<budget>with profile names or raw byte values (256M,1G), and a new--chunk-size=<n>flag for pages-per-chunk independent of the memory profile. Both are also configurable viascolta.memory_budget.chunk_sizeinconfig/scolta.phpand theSCOLTA_CHUNK_SIZEenv var.ProcessIndexChunkqueue job accepts the$chunkSizeparameter and passes it toMemoryBudget::fromOptions(). BuildCommand::gatherItemCount(): int: UsesModel::count()(oneSELECT COUNTper model class) to get the total without loading any model fields. (#6)BuildCommand::streamContentItems(): \Generator: UsesModel::cursor()(PDO cursor, one row hydrated at a time) instead ofModel::all()so the full model dataset is never resident in RAM. (#6)
Changed
- CI now pulls scolta-php at
@dev.
Installation
composer require tag1/scolta-laravel ^0.3.2
Verification
After updating, confirm:
- Search result titles link to real URLs, not
# php artisan scolta:buildprints chunk-cadence progress throughout the run- Peak RAM on large corpora is substantially reduced vs 0.3.1
Feedback
Issues: https://github.com/tag1consulting/scolta-laravel/issues
Acknowledgements
Thanks to Hank VanZile for surfacing the 0.3.1 regressions via real-world 44k-page testing.
Full changelog
See CHANGELOG.md at tag v0.3.2.