S-Chain WF1: Multi-Source PR Detection Required

Resolved 💬 3 comments Opened Dec 8, 2025 by mark-bfd Closed Feb 9, 2026

Feature Request: Multi-Source PR Detection in WF1

Current Behavior

WF1 currently only checks the email body text for PR content. If no PR is detected in the body, the email may be incorrectly classified as non-PR.

Required Behavior

WF1 MUST check all three potential PR sources before concluding no PR is available:

  1. Email Body - Check the email body text for embedded PR content (current behavior)
  1. Attachments - Check for attached files that may contain the PR:
  • PDF attachments
  • Word documents (.doc, .docx)
  • Text files (.txt)
  • Extract and parse content from attachments
  1. URL Links - Check for URLs in the email body that link to the full PR:
  • Detect URLs pointing to press release pages
  • Fetch the URL content
  • Extract PR text from the linked page

Detection Flow

Email arrives → WF1
    ├─ Step 1: Check email body for PR content
    │   └─ Found? → Process as PR
    │
    ├─ Step 2: Check attachments for PR files
    │   └─ Found? → Extract content → Process as PR
    │
    └─ Step 3: Check URLs in email for PR links
        └─ Found? → Fetch URL → Extract PR → Process as PR
        
    └─ All three empty? → Mark as non-PR

Priority

HIGH - This was previously specified but is not implemented properly or is missing entirely.

Impact

  • Missing PRs that are sent as attachments (common with PDF press releases)
  • Missing PRs that are sent as links (common with newsletter-style notifications like FeedBlitz)
  • Example: AT&T FeedBlitz notification contains only a link to the actual PR, not the PR content

Acceptance Criteria

  • [ ] WF1 extracts and parses PDF attachments
  • [ ] WF1 extracts and parses Word document attachments
  • [ ] WF1 detects PR URLs in email body
  • [ ] WF1 fetches and extracts content from PR URLs
  • [ ] PR detection only fails if ALL THREE sources are empty
  • [ ] Logging indicates which source the PR was found in

Related

  • S-Chain: WF1-Production workflow
  • Schema: pipeline_gpt5.wf1_email_ingestion

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗