Skip to content

RFC-038: Domain of Concern Registry — AIGP Dialects as First-Class Artifacts — 14. Compatibility and Migration

AIGP SpecificationRFC-038: Domain of Concern Registry — AIGP Dialects as First-Class Artifacts › 14. Compatibility and Migration

← 13. Dialect Lifecycle · Section index · 15. Second-Order Dialect Evolution →

14. Compatibility and Migration

14.1 Compatibility Matrix

Two dialect versions are compatible when a Mediation Vector populated for one version is structurally valid for the other:

Condition Compatibility
Same variables, same types, same scales Fully compatible
Subset of variables (target has more) Forward compatible (old vector valid for new dialect, missing variables are gaps)
Superset of variables (target has fewer) NOT compatible (old vector has orphan variables)
Same variables, different thresholds Structurally compatible (different verdicts possible)
Same variables, different types/scales NOT compatible (measurement semantics diverge)

14.2 Migration Path

When a MAJOR version is published, the dialect MUST include a migration guide:

{
"migration": {
"from": "1.x",
"to": "2.0.0",
"variable_mapping": {
"old_variable_a": "new_variable_a",
"old_variable_b": null,
"new_variable_c": { "source": "new", "rationale": "..." }
},
"threshold_changes": [ ... ],
"breaking_rationale": "Ordinal aggregation in 1.x violated Stevens constraint. 2.x introduces rank_distance gap operator and prohibits direct ordinal summation.",
"recommended_migration_steps": [ ... ]
}
}

14.3 Parallel Subscription During Migration

During migration, an application MAY subscribe to both old and new versions simultaneously:

{
"dialect_subscriptions": [
{ "dialect_id": "autonomous_systems", "version": "1.3.0", "role": "active" },
{ "dialect_id": "autonomous_systems", "version": "2.0.0", "role": "shadow" }
]
}

The shadow subscription evaluates artifacts against the new dialect without affecting governance decisions. This enables organizations to validate the new dialect’s behavior before cutting over.



← 13. Dialect Lifecycle · Section index · 15. Second-Order Dialect Evolution →