# Exemples / DO-DON'T — Chapitre 38 — Resolver et lockfile > Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre. ## Exemples actuellement présents dans le chapitre ### Exemple 1 ```text identity vendor/package selector vendor/package@requirement resolved instance vendor/package@MAJOR.MINOR.PATCH ``` ### Exemple 2 ```text A -> foo/bar@^2.0 B -> foo/bar@^2.5 ``` ### Exemple 3 ```text A -> foo/bar@^2.0 B -> foo/bar@^3.0 ``` ### Exemple 4 ```text 1. conservation des versions déjà verrouillées lorsqu'elles restent valides ; 2. minimisation du nombre d'instances distinctes ; 3. versions SemVer compatibles les plus élevées lorsqu'une nouvelle résolution est nécessaire. ``` ### Exemple 5 ```text vendor/package@1.2.3 ``` ### Exemple 6 ```text saselang.lock ``` ### Exemple 7 ```text project.manifest.toml saselang.lock ``` ### Exemple 8 ```text workspace.manifest.toml saselang.lock projects/.../project.manifest.toml ``` ### Exemple 9 ```text identité vendor/package selector/requirement d'origine version exacte résolue kind source exacte locator stable lorsque pertinent checksum/intégrité lorsque pertinent commit exact pour Git features résolues instances multi-version graphe de dépendances conditions target/features pertinentes ``` ### Exemple 10 ```text normal utilise le lock ; le complète/corrige si nécessaire ; n'upgrade pas gratuitement locked interdit toute modification du lock ; échoue si le graphe demandé n'est pas reproductible update recherche volontairement de nouvelles versions compatibles ``` ### Exemple 11 ```text resolved-package-instance + namespace + symbol ``` ### Exemple 12 ```text acme/foo@1.0.0 :: data.Node acme/foo@2.0.0 :: data.Node ``` ## DO / DON'T / WHY / compiler error / edge cases La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration `0.2.12` conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.