¿Cuál es entonces el propósito de bloquear publicaciones? No hay ninguno. O no he encontrado uno, por lo que la función está obsoleta, es disfuncional o, al menos, confusa.

El texto dice claramente: “un miembro del personal ha bloqueado esta publicación para que no sea editada”. Si el bloqueo tiene un propósito completamente diferente al de proteger al autor original (OP) de la publicación o tema de ser editado, este texto debería cambiarse.
Las publicaciones bloqueadas NO deben ser editables por usuarios que no sean del personal, a pesar de la configuración que permite a los usuarios con nivel de confianza alto editar publicaciones (lo cual nos gusta en general, pero no para publicaciones bloqueadas, por supuesto).
Parece que, según el código siguiente, “bloquear” una publicación actualmente significa que SOLO el OP de la publicación ya no puede editarla. Los usuarios TL3, TL4 (y el personal) aún pueden editar una publicación bloqueada (si está habilitado en la configuración).
Esto limita mucho la función de bloqueo a un caso de uso extremadamente limitado.
¿Cómo puedo proteger un anuncio oficial muy importante de un administrador de que un usuario TL3 malintencionado lo cambie a “Esto es una publicación de Mickey Mouse”, lo etiquete incorrectamente y lo mueva a una categoría no relevante, pero al mismo tiempo quiera que los usuarios TL3/TL4 tengan la capacidad de editar publicaciones en general?
Bloqueado debería significar bloqueado (es decir, no editable) para todos, excepto el personal.
def can_edit_topic?(topic)
return false if Discourse.static_doc_topic_ids.include?(topic.id) && !is_admin?
return false unless can_see?(topic)
return true if is_admin?
return true if is_moderator? && can_create_post?(topic)
# no se pueden editar temas en categorías seguras donde no tienes permiso para crear temas
# excepto en un caso muy específico donde el tema no tiene categoría y estás intentando
# arreglarlo, pero las categorías sin asignar están deshabilitadas
if (
SiteSetting.allow_uncategorized_topics ||
topic.category_id != SiteSetting.uncategorized_category_id
)
return false if !can_create_topic_on_category?(topic.category)
end
# Los usuarios TL4 pueden editar temas archivados, pero no mensajes privados
return true if (
SiteSetting.trusted_users_can_edit_others? &&
topic.archived &&
!topic.private_message? &&
user.has_trust_level?(TrustLevel[4]) &&
can_create_post?(topic)
)
# Los usuarios TL3 no pueden editar temas archivados ni mensajes privados
return true if (
SiteSetting.trusted_users_can_edit_others? &&
!topic.archived &&
!topic.private_message? &&
user.has_trust_level?(TrustLevel[3]) &&
can_create_post?(topic)
)
return false if topic.archived
is_my_own?(topic) &&
!topic.edit_time_limit_expired?(user) &&
**!Post.where(topic_id: topic.id, post_number: 1).where.not(locked_by_id: nil).exists?**
end