Skip to content

Give project owners a user-facing interface for class masking #1406

Description

@mihow

Summary

Class masking (#999) has been running in production since 2026-07-03, but the only way to
use it is the Django admin, restricted to superusers. A project owner cannot see whether
masking is active on their project, cannot see which taxa list it uses, cannot see which
predictions it changed, and cannot turn it on or adjust it themselves. #997 asked for exactly
this design and was closed with an empty template body before any design happened; this
issue replaces it now that the feature it would sit in front of actually exists.

What a project owner needs to be able to do

  • See whether class masking is enabled for their project, and which taxa list and algorithm
    it applies to.
  • Turn it on, choose a taxa list, and turn it off, without going through the admin.
  • See, for a given occurrence, whether its current classification is the result of masking,
    and what it would have been without it — the applied_to chain (Let admins mask classifier predictions to a species list #999) already carries
    this provenance; it needs a surface.
  • See a summary of what a masking run changed before or after enabling it — count of
    classifications affected, count of occurrences whose determination changed — rather than
    discovering the effect one occurrence at a time.

What already exists to build on

Open questions

  • Does this belong in project settings, or as a control near the occurrence list (closer to
    where its effect is visible)?
  • Should enabling masking run automatically on future results only, or offer a one-time pass
    over existing predictions?
  • How much of the admin-only surface (choosing reweight, choosing a specific algorithm)
    should be exposed to a project owner versus fixed to sane defaults?

Related

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds designpost-processingPost-processing task framework and tasks: size filter, class masking, rank rollup, tracking

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions