Skip to content

Record reasoning and private_notes separately in Content Decisions #23419

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
May 13, 2025

Conversation

diox
Copy link
Member

@diox diox commented May 5, 2025

With this change:

  • reasoning is the comment sent to the content owner (or reporter for a reporter appeal).
  • private_notes are, as the name implies, private notes entered by the moderator, and not shared externally.

That clear separation makes it possible for us to keep notes entered by moderators in Cinder private instead of exposing them as the reasoning.

For consistency and to keep existing data, since we had already shared existing notes externally, the notes field has been renamed to reasoning and a new private_notes field has been introduced.

Fixes mozilla/addons#15554

@diox diox force-pushed the keep-cinder-decision-notes-private branch from a095724 to 2490333 Compare May 6, 2025 16:06
- `reasoning` is the comment sent to the content owner (or reporter for
  a reporter appeal).
- `private_notes` are, as the name implies, private notes entered by
  the moderator, and not shared externally.

For consistency and to keep existing data, since we had already shared
existing `notes` externally, the `notes` field has been renamed to
`reasoning` and a new `private_notes` field has been introduced.

When private notes are entered for a decision that goes through
ContentAction.log_action(), record a separate activity for it,
mimic what we do in reviewer tools in that case.
@diox diox force-pushed the keep-cinder-decision-notes-private branch from 66f163b to 1408ff7 Compare May 7, 2025 16:03
@diox diox marked this pull request as ready for review May 12, 2025 09:21
@diox diox requested a review from eviljeff May 12, 2025 09:22
Copy link
Member

@eviljeff eviljeff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there any occasions where we have both private_notes and reasoning 🤔

@@ -218,7 +218,9 @@ def handle_escalate_action(*, job_pk, from_2nd_level=False):
old_job.target, resolved_in_reviewer_tools=True
)
job_id = entity_helper.workflow_recreate(
notes=old_job.final_decision.notes, job=old_job, from_2nd_level=from_2nd_level
reasoning=old_job.final_decision.reasoning,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe not worth addressing, because #23338 removes this function, but the reasoning here would be from private_notes because it's via Cinder from taskus moderators.

@diox
Copy link
Member Author

diox commented May 13, 2025

Are there any occasions where we have both private_notes and reasoning 🤔

I don't think it's possible at the moment, but in case that ever happens the code should handle it.

@diox diox merged commit e65e1a4 into mozilla:master May 13, 2025
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task]: Exclude Cinder notes from user-facing emails
2 participants