Wersjonowanie polityk
Jak utrzymywać polityki jak oprogramowanie: SemVer, changelog, testy, rollout, deprecjacja i jawne wyjątki z terminem wygaśnięcia.
Wersjonowanie jako mechanizm kontroli ryzyka
Polityka językowa, polityka narzędzi, polityka źródeł i polityka bezpieczeństwa nie mogą być „zmieniane z ręki”. Wersjonowanie zapewnia powtarzalność, umożliwia rollback i pozwala wiązać wynik z konkretną wersją reguł.
Jakie wersjonowanie ma sens
- SemVer dla kontraktów (narzędzia, schematy odpowiedzi): MAJOR/MINOR/PATCH.
- Date-based dla polityk redakcyjnych i operacyjnych (np. 2026.01.1).
- Hash jako identyfikator techniczny (do audytu i deterministycznego cache).
Kompatybilność wsteczna i „okna migracji”
Największy błąd to publikacja „breaking change” bez okna migracji. Klasyczny standard:
- Publish wersję n+1 jako kompatybilną (obsługuje n i n+1).
- Shadow uruchom testy regresji na ruchu (lub golden set).
- Cutover przełącz domyślną wersję.
- Deprecate poprzednią wersję z datą wycofania.
Artefakty, które powinny istnieć
- Changelog (co zmieniono i dlaczego).
- Migration notes (co trzeba poprawić w narzędziach, promptach, dokumentach).
- Owner (RACI) i ścieżka zatwierdzania.
- Test evidence: wyniki regresji i checklista ryzyk.
Proponowany format metadanych
policy_meta:
id: "language.standard"
version: "2.1.0"
effective_from: "2026-01-05"
owner: "Head of CX"
approvals: ["Legal", "Security"]
change_type: "MINOR"
notes: "doprecyzowanie SLA + zamienniki terminów"
- Polityka jest artefaktem: ma wersję, ownera, changelog i testy.
- SemVer działa: patch = doprecyzowanie, major = zmiana kontraktu.
- Deprecjacja wymaga okresu przejściowego i planu migracji.
- Wyjątki są jawne i czasowe — w rejestrze wyjątków.