Skip to content

Commands

Scheduled

commanddoessuggested
storyfeed:tricklesnapshots uncached activities (newest first) and prunes orphans. --limit=every minute
storyfeed:close-batchescloses batches whose quiet window elapsed, fires BatchClosed, mints composites. --quiet-minutes=every 5 minutes
storyfeed:prunepermanently deletes activities past the retention window. --days=daily, if prune.after_days is set
php
// routes/console.php
Schedule::command('storyfeed:trickle')->everyMinute();
Schedule::command('storyfeed:close-batches')->everyFiveMinutes();
Schedule::command('storyfeed:prune')->daily();

Diagnostics

commanddoes
storyfeed:doctoraudits grammar/icon/mapping coverage and feed health. --json, --stubs, --only=
storyfeed:verbslists registered verbs, AS2 types, grammar/icon coverage. --used compares against recorded verbs
storyfeed:storiesinventories what publishes to the feed, and what could but doesn't

See Doctor for the checks.

Maintenance

commanddoes
storyfeed:rebuildrebuilds every entity snapshot and backfills cached links
storyfeed:curateselects the winning grouping axis for activities (backfill/repair)
storyfeed:bundlebundles Collectable runs in closed batches into composites (backfill). --window=

bundle and curate rewrite settled history — run them when readers aren't mid-scroll, and expect a sync_token change afterward.

Manifest

commanddoes
storyfeed:cachecompiles registered stories into a cached manifest — also runs on php artisan optimize
storyfeed:clearremoves the cached manifest

WARNING

optimize before a test run caches config over phpunit.xml and can drop a seeded database. Run optimize:clear first — see Testing.

Generators

commanddoes
make:storycreates a story class. --from-doctor generates a stub per gap doctor found

Released under the MIT License. Everything MIT today stays MIT.