Under the Hood does not carry label-source provenance into the report, contrary to README:411
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 33.3k
- Forks
- 5.4k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 1
Description
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:263retainsevent.labelType.originalName. The event body is read at:266and:269forcreatedAtMsecandexpiresAtMseconly.under-the-hood/thrift/uth_serving.thrift:53-61:UthPostLabelAggregateandUthAccountLabelAggregatehold a label name and day counts. There is no source field to populate.under-the-hood/strato/columns/underTheHoodReport.User.strato:194-199and:210-215emit label, about, effect, and counts.under-the-hood/strato/graphql/under_the_hood.thrift:9-13: the response isgeneratedAt,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:
- Carry a coarse category derived from the variant, for example automated, manual, or LLM, without exposing
rule_idoractor_ldap. - 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.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with visibility-filtering-client/tweet_safety_label.rs:197-209, then trace the Under the Hood path through UthDailyPostsJob.scala:263-269, uth_serving.thrift:53-61, and the report Strato files. Decide whether the report should expose a coarse source category or README should be corrected. Done means the chosen contract is consistently reflected in the aggregate, report, and documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, scala
- Domain
- api, backend, data
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100