Então eu consegui. Acho que essas partes podem ser úteis para outra pessoa, então aqui está o que estava faltando no componente:
Isso está longe de ser uma documentação útil em geral, mas talvez ajude alguém se precisar (ou talvez eu a encontre na próxima vez que precisar!).
import { tracked } from '@glimmer/tracking';
...
@tracked myRating
constructor() {
super(...arguments);
this.userRatings = this.args.topic.user_ratings; // Inicializa a propriedade rastreada
if (!this.args.topic.user_ratings) {
return [];
}
const ratingId = this.args.id;
const rating = this.args.topic.user_ratings.find((rating) => Number(rating.rating_id) === Number(ratingId));
this.myRating = rating?.rating_value;
}
....
// e então na ação que muda o valor:
this.myRating = Number(newStatus);