spec(v4): R4-P0-4 — politique de dépréciation V4 formelle (docs-only)#41
Merged
Conversation
…rmative (docs-only) Inscrit `docs/spec/DEPRECATION_POLICY_V4.md` comme contrat normatif (RFC 2119) du cycle de vie des champs v4+ : `active` → `deprecated` → `removed`, gate combiné Vx+2 AND <10 % d'usage sur le corpus de référence, préservation verbatim inconditionnelle sur round-trip, bloc envelope OPTIONNEL `deprecated_fields[]` purement documentaire, exception champs locked / safety (ethics.locked_actions, decisions_locked, kdf/cipher, data_integrity.integrity_warning), règles semver v4+, processus de proposition de changement, lifecycle des identifiants registry (registry-first sur A4), gardes opératoires A4 (inflation schéma). Pointeur ajouté en SPEC §33.13 et ligne `Statut:` sous R4-P0-4 dans ROAD-TO-V4-GA. Aucun nouveau champ requis, aucun changement de schéma strict, aucun changement SDK, aucun vector, aucun tag, aucun release npm/PyPI/Zenodo/DOI. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Résumé
Inscrit R4-P0-4 (ROAD-TO-V4-GA §R4-P0-4) : politique de dépréciation V4 formelle sous
docs/spec/DEPRECATION_POLICY_V4.md, aux côtés des contrats normatifs déjà inscrits par R4-P0-1 (user.klickdwizard) et R4-P0-2 (KLICKD_E_*i18n).Le document est normatif (RFC 2119 / RFC 8174), docs-only, et couvre exactement les exigences DoD du backlog plus les garde-fous opératoires associés.
Couverture normative
active→deprecated→removedtests/vectors_v40*,examples/v4/**,registry/) — refinement normatif explicite de la disjonction du backlogdeprecated → removed(≥ 2 minor de dwell, migrateur shippé, corpus nettoyé, release notes) ; interdiction stricte du sautactive → removeddeprecated, préservation verbatim inconditionnelle, log dev jamaisKLICKD_E_*utilisateur, strict mode OPTIONNEL non-defaultdeprecateddans un fichier neuf, préservation byte-equal sur round-trip, alignement RFC-004 pour les migrationsdeprecated_fields[]purement documentaire, jamais utilisé pour rejeter, jamais authoritative (le SPEC et le registre §8 le sont)replacement/information_preserving/information_lossy; alignementmigration_report(RFC-004) ; anti-pattern A2ethics.locked_actions,decisions_locked[],kdf/cipher,data_integrity.integrity_warning, set AAD — RFC dédiée OBLIGATOIRE pour toute retraiteactive → deprecated,deprecated → removed, retraite d'urgence, retrait de dépréciation)Périmètre
Docs-only. Ce PR :
deprecated_fields[]§6 est OPTIONNEL, additif, informationnel) ;@klickd/core) ;latestnpm/PyPI, pas de DOI Zenodo, pas de bump de version SDK ;Fichiers modifiés
docs/spec/DEPRECATION_POLICY_V4.md(nouveau, 814 lignes)SPEC.md(ajout §33.13 — pointeur normatif vers le document)docs/roadmap/ROAD-TO-V4-GA.md(ajout d'une ligneStatut:sous R4-P0-4)Conformité DoD R4-P0-4
deprecatedd'au moins une version mineureactive → removed)deprecated_fields[]purement documentaire, jamais utilisé pour rejeterdeprecated(encore lu) deremoved(plus interprété, toujours préservé verbatim)deprecatedpar les readers v4Garde-fous anti-pattern
migration_report(RFC-004) ; §7.3 impose un avis utilisateur en cas de perte d'information.KLICKD_E_*utilisateur pour un champ deprecated/removed.Test plan
DEPRECATION_POLICY_V4.mdrésolvent (script Python ad-hoc —All relative links OK).@klickd/coreintegrity) doivent rester vertes (aucun vector ni SDK ni schéma modifié).Prochaine étape
Après merge de ce PR, les trois contrats normatifs P0 docs-only sont inscrits :
KLICKD_E_*i18n) ✅Les tracks restantes pour fermer la phase P0 sont non-docs-only (P0-2 schéma strict, P0-3 SDK Python, P0-4 SDK JS, P0-5 migrateur, P0-6 vectors stricts) et requièrent une décision explicite de Vince avant ouverture, conformément à la gouvernance §3 du backlog (aucun publish sans Vince).
🤖 Generated with Claude Code