Skip to content

Demote a republication whose facts predate the issue, and bar it from the subject #1148

Description

@kevinhermawan

Summary

The 2026-08-11 MORA issue leads Deals & Movements, and takes its subject line, from "Telkom Transfers More Than Half of Fiber Assets, Infranexia Ready to Manage Rp90 Trillion". Those are the phase one facts: Rp35.8 trillion, signed 18 December 2025. Phase two, the actual news that week at Rp49.9 trillion, is a separate item in the same issue. A reader gets December's transaction as the headline of an August newsletter.

What the investigation found

The obvious guard does not work here. The article's published_at is 2026-08-04, which is recent. The article is fresh; its facts are eight months old. section-freshness.ts has nothing to catch.

published_at is also too sparse to build on: it is set on 50 of the 161 rows accepted across all tickers in the 2026-08-10 batch.

So this needs a content signal, not a date signal.

Proposed signal

A candidate whose distinctive figures all appear in an older story already covered for this ticker is a republication, not news. sharedFigureCount already exists and is already used by cross-run-dedup.ts against recent shipped bullets, so the primitive is in place. What is missing is applying it as a demotion rather than a drop, and specifically barring such an item from supplying the subject.

Scope

  • In scope: demote a candidate whose distinctive figures are contained by an older covered story, and never let one supply the subject line.
  • Out of scope: improving published_at extraction in data-collection, and changing the cross-run dedup thresholds.

Acceptance criteria

  • A candidate whose distinctive figures are all covered by an older story for the same ticker is demoted below fresh candidates in its section
  • Such a candidate never supplies the subject line
  • A genuinely new story that happens to repeat one figure from an older one is unaffected
  • Replaying MORA 2026-08-11 moves the subject off the phase-one item

Notes

Found during the 2026-08-11 newsletter review. Evidence in reviews/2026-08-11/MORA.md and reviews/2026-08-11/IMPROVEMENTS.md item 8.

Related but distinct from #1144, which stops several outlets' retellings of one story from all shipping. This one is about a single retelling whose facts predate the issue. #1144 does not catch it: phase one (Rp35.8tn) and phase two (Rp49.9tn) carry different figures, so they are correctly two events.

The MORA pool also holds Rp49.85tn and Rp85.7tn for the same phase-two transaction, with nothing reconciling the three. That conflict is filed under #1146.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Priority P1bugSomething isn't workingmp-content-generation-agentMP Content Generation Agent initiative

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions