24 Slice News Intelligence
Pipeline Slice: News and Intelligence
Section titled “Pipeline Slice: News and Intelligence”Status: SHARP. Newswire capture, deterministic event/mention/deal extraction, conservative resolution, canonical event publication, provenance, query contracts, and the organisation-intelligence handoff are implemented. Provider breadth and richer evaluated extraction remain bounded expansion work. Denoising state: sharp (noise -> rough -> sharp -> converged) Updated: 2026-07-23
Purpose
Section titled “Purpose”Model how press releases, newswire articles, and company announcements become source-grounded intelligence events. This slice owns article identity, source event extraction, mention resolution, and announcement-vs-confirmed semantics. It does not own durable deal identity, legal-entity relationships, or asset rights.
Legacy Data Gov collected Business Wire, Cision/PR Newswire, GlobeNewswire, and financial news; classified articles into categories; extracted drug/disease/org/trial mentions; produced FDA submission records, trial mentions, and organisation histories for deals/name changes (../bioloupe-data-gov/docs/news-and-intel.md, ../bioloupe-data-gov/app/workflows/news_llm_workflow.rb, ../bioloupe-data-gov/app/workflows/news_disease_workflow.rb, ../bioloupe-data-gov/lib/tasks/classify_news.thor).
Current Decided Shape
Section titled “Current Decided Shape”News produces event and mention evidence, not canonical truth directly. A press release can be a strong source for “company announced X,” but weaker evidence for clinical/regulatory truth until confirmed by authoritative sources/verifier policy or reviewed curation override.
flowchart LR Wire[Newswire / press releases] Filing[SEC / filings / financial sources] Article[Raw articles] Chunks[Chunks and embeddings] Evidence[Event and mention claims] Resolution[Drug, disease, org, trial, approval resolution] Verify[Verifier / accepted basis] Curation[Reviewed curation overlay] Canonical[Canonical source events] Deal["Business-deal identity / rights"] Query["q_news_events family"] Wire --> Article Filing --> Article Article --> Chunks --> Evidence --> Resolution --> Verify --> Canonical --> Query Canonical --> Deal Curation -. optional override .-> Canonical
Source Inventory
Section titled “Source Inventory”| Source | Greenfield role | Source identifiers | Legacy evidence | Web/reference evidence |
|---|---|---|---|---|
| Business Wire | press release source | source release id / URL | BusinessWireService, daily collection (../bioloupe-data-gov/docs/news-and-intel.md) | Source site: https://www.businesswire.com/ |
| Cision / PR Newswire | press release/newswire source | source release id / URL | CisionApiService, PR/Cision categories | PR Newswire/Cision distribution source: https://www.prnewswire.com/ |
| GlobeNewswire | press release/newswire source | source release id / URL | GlobalnewsWireService | Source site: https://www.globenewswire.com/ |
| Financial/news APIs | financial/corporate news source | provider id / URL | FinancialApiService, org financial sync | Provider-specific; preserve source contract and URL. |
| SEC EDGAR | organisation/commercial-owned filing source; accepted filing events may be consumed without recapture | CIK, accession number, form type | legacy SEC filing sync in news/intel context | SEC provides EDGAR data APIs and bulk submissions JSON: https://www.sec.gov/edgar/searchedgar/accessing-edgar-data.htm |
| Existing canonical assets | resolution targets for events | drug/trial/approval/org keys | news links to drugs, diseases, trials, organisations | Target identity owned by relevant slices. |
Source Decision
Section titled “Source Decision”Newswire articles are valid evidence for what the source announced, not automatic regulatory, clinical, transaction, or ownership truth. SEC capture has one owner in organisation/commercial intelligence; news may consume accepted filing events but does not maintain a second EDGAR snapshot path. Every news event retains source family, release id/URL, publication timestamp, event date, artifact key, and evidence span.
Representative Completed-Acquisition Vertical
Section titled “Representative Completed-Acquisition Vertical”The deterministic fixture includes Bristol Myers Squibb’s official 2024-01-23 release stating that its acquisition of Mirati Therapeutics had completed and that KRAZATI (adagrasib) joined its oncology portfolio: https://news.bms.com/news/corporate-financial/2024/Bristol-Myers-Squibb-Completes-Acquisition-of-Mirati-Therapeutics-Strengthening-and-Diversifying-Oncology-Portfolio/default.aspx. The corresponding Mirati Form 8-K is an independent official lifecycle reference: https://www.sec.gov/Archives/edgar/data/1576263/000114036124003287/n70019397x1_8k.htm.
The fixture deliberately preserves both observed asset terms, KRAZATI and adagrasib, and exact
participant roles (acquirer, target). News publishes one completed source event. Organisation
intelligence resolves both asset aliases to drug:adagrasib, clusters the event into one durable
deal, and derives the relationship and ownership interval only from the completed/effective event.
An announced fixture would remain visible but derive no ownership. P08 exercises this whole path
without an LLM call.
Asset Graph for This Slice
Section titled “Asset Graph for This Slice”flowchart TD Sources[[Newswire / filing / financial sources]] Raw[sources.news.article_snapshots] Chunks[normalized.news_chunks] ArticleNorm[normalized.news_articles] MentionClaims[evidence.news_entity_mention_claims] EventClaims[evidence.news_event_claims] DealClaims[evidence.news_deal_claims] Resolution[resolution.news_entities] Curation[[curation.effective_overrides]] Canonical[canonical.intelligence_events] DealEvents[canonical.news_deal_events] DealIdentity["canonical.business_deals (owner: 26)"] Query["q_news_events family"] Sources --> Raw --> ArticleNorm --> MentionClaims --> Resolution ArticleNorm --> Chunks --> EventClaims --> Resolution ArticleNorm --> DealClaims --> Resolution --> DealEvents --> DealIdentity Resolution --> Canonical --> Query Curation -. reviewed overrides .-> Canonical
Slice-Local Domain Model
Section titled “Slice-Local Domain Model”News stresses event temporality, announcement-vs-fact distinction, multi-entity linking, and source credibility.
| Entity | Grain | Canonical key recommendation | Notes |
|---|---|---|---|
| News article | one source release/article | news:{source}:{release_id_or_url_hash} | Deduplicate by source id first, title/date fallback second. |
| Article snapshot | one retrieved article version | news_snapshot:{source}:{release_id}:{seen_at}:{content_hash} | Press releases can be corrected/updated, including byte-different captures at the same observed time. |
| News chunk | one text chunk with context | news_chunk:{article_key}:{chunk_index} | Supports semantic search and local evidence spans. |
| Entity mention | one extracted mention span | news_mention:{article_key}:{span_hash}:{entity_type} | Mention is not a resolved link until accepted by resolution/verifier policy or reviewed curation override. |
| Intelligence event | one event claim from an article | event:{event_type}:{article_key}:{event_hash} | Event time may differ from publication time. |
| Deal lifecycle event | one source observation about a transaction/change | org_event:{article_key}:{deal_or_change_hash} | News-owned; may later link to a durable Business Deal owned by slice 26. |
| FDA/regulatory submission event | one announced filing/submission/milestone | reg_event:{article_key}:{application_or_drug_hash} | Confirmation may come later from regulatory slice. |
| Trial readout mention | one trial result/readout event | trial_event:{article_key}:{trial_or_title_hash} | Publication/clinical-trials slices own deeper evidence. |
Event taxonomy seed
Section titled “Event taxonomy seed”| Event family | Examples | Canonical destination |
|---|---|---|
| Regulatory milestone | FDA accepts sBLA, PDUFA date, CHMP opinion, approval announcement, rejection/CRL | canonical intelligence event; may link to regulatory approval/submission |
| Trial development update | initiation, enrollment, completion, phase transition, endpoint met/missed | canonical intelligence event; may link to trial |
| Trial result readout | topline ORR/PFS/OS, safety readout, subgroup result | event claim + optional trial/publication evidence handoff |
| Publication / presentation | abstract accepted/published, congress presentation | publication slice handoff |
| Business development / deal | acquisition, license, collaboration, option, milestone, royalty, territory | organisation intelligence handoff |
| Corporate/financial | financing, quarterly result, leadership, rebrand/name change | organisation intelligence / finance handoff |
Invariants
Section titled “Invariants”- Article publication time and event effective/announced time are separate fields.
- An event claim must preserve article source locator and evidence span.
- Re-capturing the same source id, seen time, and exact bytes is a no-op. Different bytes, including a correction observed at the same time, produce a distinct full-hash snapshot key.
- News can assert “announced by source” even when the underlying clinical/regulatory fact is pending confirmation.
- Low-confidence entity links do not publish as canonical links; they remain mention/resolution candidates.
- Deal/name-change events must preserve participant roles and temporal validity.
- Article publication time, source-reported event date, and projected completion date are different concepts; a projection never becomes an effective event.
- Source events never mint durable Business Deal identity or Asset Rights Intervals.
Slice-Local Entity Resolution
Section titled “Slice-Local Entity Resolution”| Subject kind | Source term examples | Candidate target types | Publishable basis | High-impact? |
|---|---|---|---|---|
news_drug_mention_link | brand/drug/company pipeline names | drug spine resolved_drug_key / brand product / NCIt concept | exact synonym, context-verified, verifier or reviewed curation override | medium/high |
news_disease_mention_link | disease areas, indications | Disease / NCIt | exact/NCIt, semantic+verifier, reviewed curation override | medium |
news_org_mention_link | company names, subsidiaries, new names | Organisation | exact legal/alias, ticker/CIK, reviewed curation override | high for deals/name changes |
news_trial_mention_link | NCT id, acronym, trial name | Trial | exact registry id, verifier or reviewed curation override | high for readouts; trial mentions are evidence feeding endpoints/outcomes/AEs, not canonical trial truth (../bioloupe-data-gov/app/models/news_trial_mention.rb) |
news_regulatory_event_link | NDA/sBLA/PDUFA/approval terms | Approval/submission/drug/indication | source cross-reference, verifier or reviewed curation override | high (legacy NewsFdaSubmission: application type, PDUFA date, indication match, approval/pending/overdue state — ../bioloupe-data-gov/app/models/news_fda_submission.rb) |
news_deal_participant_link | acquirer, target, licensor, licensee, asset owner | Organisation / Drug / asset | exact/legal/ticker/CIK, reviewed curation override | high |
Evidence Claim Schemas
Section titled “Evidence Claim Schemas”news_entity_mention_claim
Section titled “news_entity_mention_claim”| Field | Meaning |
|---|---|
article_key | source-scoped article id |
mention_text | raw entity span |
mention_type | drug, disease, organisation, trial, approval, biomarker, asset |
span_locator | paragraph/chunk/offset locator |
surrounding_text | evidence context |
candidate_subject_key | resolution subject |
news_event_claim
Section titled “news_event_claim”| Field | Meaning |
|---|---|
event_type | taxonomy family + specific subtype |
article_key | article source id |
published_at | article release timestamp |
event_date | explicit date/PDUFA/effective date if present |
headline | source title |
event_payload | structured fields: application type, PDUFA date, outcome, phase, result summary, etc. |
entity_subject_keys | linked mention/resolution subjects |
confidence_basis | explicit source phrase, inferred, weak mention, etc. |
source_locator | URL/chunk/span |
news_deal_claim
Section titled “news_deal_claim”| Field | Meaning |
|---|---|
deal_type | top-level transaction/corporate-event type |
deal_subtype | optional normalized detail such as asset acquisition or restricted licence |
participants | raw roles and names |
assets | raw drug/platform/disease/geography assets |
financial_terms | upfront, milestones, royalties, equity, undisclosed |
territory | geographic scope |
announcement_state | source-reported lifecycle observation such as announced/effective/terminated |
effective_or_announced_date | source event date; publication date is the explicit fallback |
evidence_text | source span |
Curation Override Subjects
Section titled “Curation Override Subjects”| Subject kind | Why overrideable | Example curation decision |
|---|---|---|
news_event_assertion | Event extraction is broad and can overstate facts. | Article announces FDA acceptance; not approval. |
news_org_mention_link | Company aliases/subsidiaries/name changes are high-risk. | “Seagen” links to acquired entity with temporal validity. |
news_deal_assertion | Deal terms and participant roles must be precise. | Pfizer is acquirer; target owns asset X; upfront amount Y (legacy deal extraction modelled participants, roles, assets, geography, and financial terms — ../bioloupe-data-gov/app/tasks/news_llm_classification/deal_extraction/). |
news_regulatory_submission_event | Regulatory terms are easily confused. | sBLA acceptance with PDUFA date, not approval. |
news_trial_readout_event | Readout summaries may omit context. | Topline PFS met in trial X; ORR not extractable. |
news_name_change_event | Name changes affect organisation identity continuity. | OldCo renamed NewCo effective date D. |
Durable clustering is not a news override. Slice 26 owns the high-impact
business_deal_cluster_decision, whose reviewed value assigns one source event to an explicit
stable business_deal_key (ADR-0009).
Canonical Assets
Section titled “Canonical Assets”| Canonical asset | Grain | Built from |
|---|---|---|
canonical.news_articles | one article identity | source snapshots + dedupe |
canonical.news_entity_mentions | one accepted mention/link | mention claims + resolution/verifier receipts; curation overlay when present |
canonical.intelligence_events | one accepted event | event claims + verifier/check receipts; curation overlay when present |
canonical.news_regulatory_events | one regulatory event | regulatory event claims + links |
canonical.news_trial_events | one trial event/readout mention | trial event claims + trial resolution/verifier receipts; curation overlay when present |
canonical.news_deal_events | one source deal/corporate lifecycle event | deal claims + organisation/asset resolution receipts; durable deal identity remains in slice 26 |
canonical.news_chunks | one searchable chunk | normalized chunks + embedding metadata |
q_news_events Family
Section titled “q_news_events Family”| Query model | Grain | Purpose |
|---|---|---|
q_news_articles | one article | article/source search and freshness |
q_news_entity_mentions | one mention/link | entity-centric news discovery |
q_news_events | one accepted event | timeline of regulatory/trial/business/financial events |
q_intelligence_events | one accepted cross-source intelligence event | union-style event surface for news-derived events that may later be confirmed by regulatory/trial/publication sources |
q_news_regulatory_events | one regulatory milestone | PDUFA/submission/approval-announcement tracking |
q_news_trial_events | one trial event/readout | trial development/readout timelines |
q_news_deal_events | one source deal/name-change event | what one article asserted, before durable deal clustering or rights derivation |
q_news_search_chunks | one searchable chunk | SQL-native full-text/vector retrieval affordance |
q_news_events contract seed
Section titled “q_news_events contract seed”q_news_events is the announcement/event side of the intelligence model. It must preserve announcement-vs-confirmed semantics so a press release does not silently become regulatory or clinical truth.
| Contract field | Required meaning |
|---|---|
| Purpose | Answer: “What happened, who/what was involved, when was it announced/effective, and what source said it?” |
| Grain | One event claim accepted for publication from one article/source artifact + event subtype + subject bundle. |
| Stable row key | news_event:{article_key}:{event_type}:{event_hash}. |
| Required columns | news_event_key, article_key, source_family, source_url, published_at, event_type, event_subtype, announcement_state, event_date, resolved_org_keys, resolved_drug_keys, resolved_trial_keys, resolved_approval_keys, headline, evidence_text, source_artifact_key, source_locator, source_authority_tier, assertion_state, provenance_key. |
| Search affordances | btree filters on event type/date/source; GIN trigram/full-text on headline/evidence text; array/facet filters on resolved entities; optional chunk/vector search via q_news_search_chunks. |
| Provenance rule | provenance_grain=bundle for every event row; field receipts for announcement_state, event_date, and high-impact entity links. |
| Blocking checks | schema_contract, provenance_coverage, source_artifact_immutability, source_locator, announcement_semantics, resolution_basis, llm_verifier_required, curation_review_state when override applies. |
General intelligence events use the documented announcement states. Deal lifecycle events additionally
support signed, amended, partially_terminated, and terminated as extraction coverage grows.
These are source observations, not a mutable current-deal state.
Checks and Quality Gates
Section titled “Checks and Quality Gates”Blocking:
- every event row has article provenance and evidence span;
- every high-impact event has event type, published timestamp, source family, and source URL/id;
- no resolved drug/org/trial/approval link publishes without accepted basis;
- every
resolved_org_keys,resolved_drug_keys,resolved_trial_keys, andresolved_approval_keysvalue resolves to an active row in its ownerq_*model (referential_integritygate in08-contracts-and-quality.md); - deal events require participant roles before publication;
- regulatory event subtype must distinguish submission/acceptance/PDUFA/approval/rejection;
q_news_*schemas match generatedq_catalogand provenance-required rows/facts resolve throughq_provenance.
Warning:
- duplicate article suspicion by title/date/source;
- article parsing/chunking failure;
- high unresolved mention rate;
- low-confidence event extraction;
- source feed freshness drift;
- event taxonomy unknown/other overuse.
Bounded Expansion
Section titled “Bounded Expansion”- Provider breadth remains explicit adapter work; licensed feeds use import mode until a concrete provider contract exists.
- Deterministic extraction is the free baseline. Any LLM extraction task must pass the inference
lifecycle/evaluation contract in
06and cannot weaken source locators or acceptance gates. - SEC capture has one owner: organisation/commercial intelligence. News does not maintain a duplicate filing snapshot table. A future cross-source intelligence projection may consume accepted organisation filing/deal events without recapturing EDGAR.
- News chunks are canonical searchable records with a SQL query projection; embeddings remain optional enrichment.