Skip to content

Reject a subject whose leading clause has no actor when the lead item is a peer's #1149

Description

@kevinhermawan

Summary

The 2026-08-11 ANTM subject reads ANTM Pulse: Performance Collapses, Is BRMS Stock Still. The collapse is BRMS's — a 44% H1 profit fall at a peer. An executive scanning an inbox reads it as ANTM's.

What the investigation found

The existing guard does not cover this shape, and the reason is specific.

subjectRejection in write-subject.ts rejects issuer-not-in-issue: the subject names the issuer while no shipped title does. ANTM's subject does not name ANTM, so the check passes correctly. The misattribution comes from the rendered <SYMBOL> Pulse: prefix landing in front of a leading clause that has no actor — "Performance Collapses" — so the prefix supplies the missing subject noun.

That makes this a different rule from the one already shipped, not a bug in it. The August 10 write-up filed this as the same defect as SOHO's SOHO Profit Up 111.3% as KAEF Boosts Health Effo, and it is not: that one named the issuer and is what the existing check catches.

Proposed rule

Reject a subject whose leading clause states a result or action with no named actor, when the item it summarises is about a company other than the issuer. The subject should name the company the story is about, as it already does later in the string ("Is BRMS Stock…").

Scope

  • In scope: an actor-presence check on the subject's leading clause, and a fallback that names the item's actual subject company.
  • Out of scope: the issuer-not-in-issue check, the 48-character budget, and truncateOnWordBoundary (which behaved correctly here — "Still" is a whole word).

Acceptance criteria

  • A subject whose leading clause has no named actor is rejected when the lead item is about a non-issuer company
  • A subject naming the issuer is unaffected, and the existing issuer-not-in-issue rejection still fires
  • A subject whose leading clause names the peer ("BRMS Performance Collapses") is accepted
  • Replaying ANTM 2026-08-11 produces a subject naming BRMS

Notes

Found during the 2026-08-11 newsletter review. Evidence in reviews/2026-08-11/ANTM.md and reviews/2026-08-11/IMPROVEMENTS.md item 7, which described the defect as a recurrence of the August 10 subject fix. It is not; the correction is above.

Worth deciding as product before coding: whether a peer-only issue should carry the peer's name in the subject at all, given the <SYMBOL> Pulse: prefix is fixed. ANTM's issue had no issuer-owned item to lead with, which is the deeper problem and is tracked as coverage under #1147.

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