stumason.dev
TypeScript
Pull Request Merged
PR #87 merged: feat: AI summaries for feed items (cheap LLM pass over automated activity)
Recreation of #86 (auto-closed when its stacked base branch was deleted). Same content, now based on main.
SummarizeFeedItemaction via existingopenai-php/laravel—gpt-5-minidefault,OPENAI_FEED_SUMMARY_MODELto override. Storesmetadata.ai_summary; DTOexcerptprefers it.- Queued
SummarizeFeedItemJobat ingest (webhook + sync), no-ops withoutOPENAI_API_KEY. php artisan feed:summarizebackfill (--limit,--force,--queue).- Preserve
ai_summaryacross 30-min re-syncs (metadata was rebuilt from scratch). - Homepage stream card now renders
excerpt(homepage usesStreamItem, notFeedItemCard). - phpunit blanks
OPENAI_API_KEYso tests never hit the live API.
After merge: set OPENAI_API_KEY in prod, run php artisan feed:summarize --limit=100.
+307
additions
-6
deletions
10
files changed