Skip to content

Under the Hood does not carry label-source provenance into the report, contrary to README:411 #39

Description

@repowazdogz-droid

README:411 lists as a benefit of Under the Hood:

one can see whether labels have been manually applied outside of automated systems

I could not find a path in the released code that carries per-event label source into the report.

Source is structured where the label is read. visibility-filtering-client/tweet_safety_label.rs:197-209 maps safety_label_source into three distinct variants: BotmakerAction (carrying rule_id), ToolAction (carrying agent_tool and actor_ldap), and GrokAnnotationAction (carrying source). xai_x_thrift is not published, so I am not claiming what each variant denotes. The point is only that a per-event source discriminator exists and is structurally distinct at this layer.

It is not carried through the Under the Hood path.

  • under-the-hood/scalding/UthDailyPostsJob.scala:263 retains event.labelType.originalName. The event body is read at :266 and :269 for createdAtMsec and expiresAtMsec only.
  • under-the-hood/thrift/uth_serving.thrift:53-61: UthPostLabelAggregate and UthAccountLabelAggregate hold a label name and day counts. There is no source field to populate.
  • under-the-hood/strato/columns/underTheHoodReport.User.strato:194-199 and :210-215 emit label, about, effect, and counts.
  • under-the-hood/strato/graphql/under_the_hood.thrift:9-13: the response is generatedAt, reportJson, reportInfo.

The static about text does not stand in for it. Those strings are per-label-type constants, and seven of them state the disjunction rather than resolving it. underTheHoodLabels.strato:12 reads "Post detected by automated systems or in response to a user report", with the same construction at :30, :40, :61, :77, :95, and :120.

Two resolutions look legitimate to me:

  1. Carry a coarse category derived from the variant, for example automated, manual, or LLM, without exposing rule_id or actor_ldap.
  2. Amend README:411 to describe what the report contains.

I searched the tracker for manually applied, actor_ldap, ToolAction, BotmakerAction, GrokAnnotation, label source, and source provenance, with no matches. #11 edits two of these files and its description notes it avoids inventing source metadata absent from the aggregate. If you consider that the same target, say so and I will fold this in rather than track it separately.

Audited at a389166f6cf5da70a286b568c87695d4dcdce3a1. This is a static reading of the checked-in types and job code. under-the-hood/ and visibility-filtering-client/ ship no build target, so I have not executed anything.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions