Context
The TopicBriefing three-tier generation pipeline (issue #64) was implemented in commits a591132..828acbe. Tier 1 (headline_only) and Tier 3 (full) triggers are wired, but Tier 2 (interim) is not.
What exists
Topics::UpdateTopicBriefingJob supports tier: "interim" and the code path works
Ai::OpenAiService#generate_briefing_interim exists and uses gpt-5-mini (no temperature)
- The interim tier updates the headline and appends an upcoming note to editorial_content
What's missing
No pipeline event calls UpdateTopicBriefingJob with tier: "interim". Per the architecture design (docs/plans/2026-02-21-topic-briefing-architecture-design.md), this should fire when:
Document extraction completes, meeting has no minutes yet
This likely means adding a trigger after ExtractTopicsJob or document text extraction completes, checking that the meeting doesn't yet have minutes, and enqueuing:
Topics::UpdateTopicBriefingJob.perform_later(
topic_id: topic.id,
meeting_id: meeting.id,
tier: "interim"
)
Files
app/jobs/topics/update_topic_briefing_job.rb — the job (ready)
app/services/ai/open_ai_service.rb — generate_briefing_interim method (ready)
- Trigger location TBD (likely
ExtractTopicsJob or a document processing job)
Context
The TopicBriefing three-tier generation pipeline (issue #64) was implemented in commits
a591132..828acbe. Tier 1 (headline_only) and Tier 3 (full) triggers are wired, but Tier 2 (interim) is not.What exists
Topics::UpdateTopicBriefingJobsupportstier: "interim"and the code path worksAi::OpenAiService#generate_briefing_interimexists and uses gpt-5-mini (no temperature)What's missing
No pipeline event calls
UpdateTopicBriefingJobwithtier: "interim". Per the architecture design (docs/plans/2026-02-21-topic-briefing-architecture-design.md), this should fire when:This likely means adding a trigger after
ExtractTopicsJobor document text extraction completes, checking that the meeting doesn't yet have minutes, and enqueuing:Files
app/jobs/topics/update_topic_briefing_job.rb— the job (ready)app/services/ai/open_ai_service.rb—generate_briefing_interimmethod (ready)ExtractTopicsJobor a document processing job)