v0.1 draft · standard ouvert · un projet personnel de antferr

Agio Fit
le profil de bien-aller que vous emportez avec vous

En couture, l’agio est l’aisance ménagée entre le corps et le vêtement. Ici, c’est un standard ouvert : trois documents JSON, un algorithme de référence et une règle — le profil reste à vous ; par défaut, une boutique reçoit une taille et son degré de certitude, jamais vos mesures.

le vêtement l'agio — aisance trop serré trop large le corps
Le logo est le concept : le vide entre le corps et le vêtement, c'est l'agio.

01 · Le vocabulaire

Trois documents, un contrat

Tout le standard tient en trois schémas JSON. Le premier vous appartient, le second est publié par le vendeur, et le troisième est la seule chose qui circule entre les deux. Ouvrez les exemples pour voir la forme réelle des données.

Fit Profile

fit-profile.schema.json

Votre profil : mensurations (chacune avec source et observed_at obligatoires, tolerance fortement recommandée), préférences de coupe et — le signal le plus fort — l’historique de la façon dont les vêtements passés vous sont réellement allés.

Cut Profile

cut-profile.schema.json

Comment le vêtement est coupé, et non comment la marque nomme la taille : mesures par taille, aisance prévue (intended_ease), élasticité. Le champ measurement_method est obligatoire, sans valeur par défaut.

Match Report

match-report.schema.json

La réponse. Sa forme est la partie normative du standard : confiance exposée, explication par zone, avertissements explicites. Le niveau de divulgation décide du détail qu’elle contient.

Où passe le mètre ruban

Un nom n’entre dans la liste standard que si la spécification sait dire où placer le mètre ruban, assez précisément pour que deux personnes qui mesurent le même vêtement arrivent au même chiffre. La spécification en définit seize ; une chemise en utilise cinq. Choisissez-en un pour le voir sur le vêtement.

Une chemise posée à plat avec cinq points de mesure : 1 tour de col, 42 cm ; 2 largeur d’épaules, 46,5 cm ; 3 largeur de poitrine, 58 cm ; 4 largeur de taille, 54 cm ; 5 longueur de manche, 65 cm.

1 42cm 2 46.5cm 3 58cm 4 54cm 5 65cm
La chemise d’exemple, taille 41. À plat, boutonnée, sans la tendre ; le col ouvert.

La fin de chaque nom dit ce que l’on fait avec le mètre ruban, et si le chiffre est la moitié d’une circonférence :

_width
mesurée à plat et en largeur : la moitié de la circonférence
_circumference
le tour complet
_length
suit la longueur du vêtement

Les définitions sont traduites : seul le texte anglais de la spécification fait foi.

Ces définitions ne sont pas encore éprouvées. Elles ont été écrites à partir de la façon dont le métier publie ses propres mesures et de leur cohérence interne, pas d’une table avec un mètre ruban posé dessus. Elles n’ont pas été vérifiées par la pratique de la couture ni du patronage. Si deux personnes mesurent le même vêtement et obtiennent des chiffres différents, c’est cet échec qui compte, et le signaler est la contribution la plus utile que cette version puisse recevoir.

02 · Essayez-le

Le matching, en direct

Ci-dessous, les réponses réelles de l’implémentation de référence (python -m agiofit.cli), générées pour les deux profils d’exemple à chaque niveau de divulgation. Choisissez un profil et un niveau, et regardez ce qui sort, et surtout ce qui ne sort pas. Le vêtement et les profils sont les exemples réels du dépôt : la Classic Oxford de Sartoria Esempio (marque fictive), tailles 39–42.

Profil

Niveau de divulgation

Le simulateur nécessite JavaScript.

Ce qui circule · le rapport exact


      

03 · La confidentialité comme design

Quatre niveaux, une soustraction à empêcher

L’appelant ne décide pas de ce qu’il voit : c’est le niveau de divulgation qui décide, et les chiffres sont supprimés à la sérialisation, pas par bonne volonté. Un test le vérifie.

moins plus sort du coffre-fort

result_only

Taille, confiance et les avertissements sur la réponse. Tout ce qu’il faut à une boutique pour vous vendre une chemise.

explained

Ajoute le jugement par zone (bon, attention…) mais sans centimètres. Avec lui viennent les alternatives, ce sur quoi repose la réponse et ce qui l’améliorerait.

scoped

Ajoute l’aisance de chaque zone en centimètres, d’où se déduisent vos mesures pour ce vêtement. Pour les services de plus grande confiance.

full

Ajoute l’aisance prévue de chaque zone, que vos préférences et votre historique ont pu déplacer. Il devrait être rare, et qui le demande devrait le justifier.

Pourquoi « explained » cache les chiffres : la fuite arithmétique

Les mesures du vêtement sont publiques (elles vivent dans le Cut Profile). Si la recommandation publiait aussi l’aisance en centimètres, n’importe qui pourrait faire :

116 cm de vêtement moins 16 cm d’aisance font un tour de poitrine de 100 cm.

Une soustraction reconstruit la mensuration. C’est pourquoi, aux niveaux bas, l’aisance existe dans le calcul mais ne survit pas à la sérialisation — essayez-le dans le simulateur en passant de scoped à explained.

04 · Sur votre machine

Utilisation depuis le terminal

L’implémentation de référence est du Python pur, sans dépendances. Après avoir cloné github.com/agiofit/agiofit :

# installation et vérification (101 tests, tous doivent passer)
$ cd agiofit/reference
$ pip install -e ".[dev]"
$ pytest
101 passed

# profil mature : sans niveau, c’est celui de la personne qui s’applique (result_only), ici on demande explained
$ python -m agiofit.cli ../examples/profile-mature.json ../examples/cut-shirt.json explained
{ "recommended_size": "41", "confidence": 0.84, ... }

# cold start, résultat seul
$ python -m agiofit.cli ../examples/profile-cold-start.json ../examples/cut-shirt.json result_only
{ "recommended_size": "41", "confidence": 0.25, ... }

05 · À défendre en public

Les décisions qui ne sont pas un guide des tailles

kept_despite

Le seul champ qui enregistre un compromis accepté. Sans lui, le système apprend que vous refusez les épaules serrées ; avec lui, il apprend que vous acceptez une taille ample pour avoir les épaules justes. Dans l’implémentation de référence, un défaut déjà accepté compte pour moitié quand on choisit la taille, et le jugement sur la zone reste ce qu’il est.

measurement_method obligatoire, sans défaut

Les mesures à plat sont des demi-circonférences. C’est l’erreur la plus répandue du secteur, et elle produit des recommandations fausses d’un facteur deux, en silence. Ici, si vous ne le déclarez pas, le document ne valide pas.

offset_scale par zone

Une marque qui « taille petit » taille petit au buste. Appliquer le même décalage en centimètres au col — où 1 cm est une taille entière — transforme une correction utile en une réponse fausse. L’historique s’applique par zone : 1.0 sur la poitrine, 0.2 sur le col. Et la correction ne va qu’aux zones que l’historique désigne comme fausses : un retour pour des épaules serrées n’élargit pas la poitrine.

Cold start avec confiance déclarée

Zéro mensuration, un seul vêtement gardé de la même marque : le système répond quand même, avec une confiance plafonnée à 0.40, refuse l’inférence entre marques et vous dit quoi ajouter pour progresser. L’historique vaut plus que les centimètres.