Contexte
Commande envisagée : gplay team users view <email> — lire UN membre du
Developer account, pour compléter la surface team users (aujourd'hui
list/add/set/remove, pas de lecture d'une ressource adressée).
Idée née d'une session de grill (/grill-with-docs, 2026-06-03).
Pourquoi c'est parké — bloqué par #98
Aucune commande view n'existe encore dans le CLI : apps info = info,
auth/tracks status = status. La règle de lecture (« N ressources →
list, 1 ressource adressée → view, santé/session → status ») a été
discutée mais n'est ni gravée dans un ADR ni appliquée. Introduire le tout
premier view avant la finalisation de l'audit verbes (#98) recréerait le
smell que #98 veut supprimer (deux verbes pour le même geste : info vs
view). On attend donc #98.
Déclencheur de reprise
Quand #98 tranche le verbe de lecture-d'une-ressource :
- si c'est
view → reprendre le grill ; ce travail devient une slice de
l'application de la règle et s'aligne avec (ou porte) le rename
apps info → apps view (alias DEPRECATED: pendant preview→1.0), pour ne
jamais shipper la surface à moitié-règle.
Contrainte API (vérifiée dans le code)
Pas de users.get natif — la seule lecture est users.list (paginé).
FindUser (internal/play/team/team.go) fait déjà le list-to-completion +
filtre case-insensitive → implémentation client-side bon marché. Précédent
déjà posé : team grants list --user --package réduit déjà la liste complète
à un seul grant.
Questions de grill à reprendre (non résolues)
- Coût :
view liste toute l'org pour filtrer un membre — acceptable ?
le documenter (même coût que grants list, déjà en place).
- Sortie : afficher les Grants du membre (carte terse vs record complet) ?
--output json : pass-through du sous-objet User verbatim vs envelope
(cf. exception apps info, ADR-0003).
- Exit code : 30 synthétique si membre absent (
FindUser → not found),
malgré le 200 de users.list ?
- Symétrie : faut-il aussi
team grants view <email> --package ?
Réfs
Contexte
Commande envisagée :
gplay team users view <email>— lire UN membre duDeveloper account, pour compléter la surface
team users(aujourd'huilist/add/set/remove, pas de lecture d'une ressource adressée).Idée née d'une session de grill (
/grill-with-docs, 2026-06-03).Pourquoi c'est parké — bloqué par #98
Aucune commande
viewn'existe encore dans le CLI :apps info=info,auth/tracks status=status. La règle de lecture (« N ressources →list, 1 ressource adressée →view, santé/session →status») a étédiscutée mais n'est ni gravée dans un ADR ni appliquée. Introduire le tout
premier
viewavant la finalisation de l'audit verbes (#98) recréerait lesmell que #98 veut supprimer (deux verbes pour le même geste :
infovsview). On attend donc #98.Déclencheur de reprise
Quand #98 tranche le verbe de lecture-d'une-ressource :
view→ reprendre le grill ; ce travail devient une slice del'application de la règle et s'aligne avec (ou porte) le rename
apps info → apps view(aliasDEPRECATED:pendant preview→1.0), pour nejamais shipper la surface à moitié-règle.
Contrainte API (vérifiée dans le code)
Pas de
users.getnatif — la seule lecture estusers.list(paginé).FindUser(internal/play/team/team.go) fait déjà le list-to-completion +filtre case-insensitive → implémentation client-side bon marché. Précédent
déjà posé :
team grants list --user --packageréduit déjà la liste complèteà un seul grant.
Questions de grill à reprendre (non résolues)
viewliste toute l'org pour filtrer un membre — acceptable ?le documenter (même coût que
grants list, déjà en place).--output json: pass-through du sous-objet User verbatim vs envelope(cf. exception
apps info, ADR-0003).FindUser→ not found),malgré le 200 de
users.list?team grants view <email> --package?Réfs
ADR-0017 (write-safety)
internal/play/team/team.go(FindUser, ListUsers),commands/team/users/list/list.go