213. Long-Term Ecosystem Maintenance
Objective: make Vitte maintainable over multiple years with explicit lifecycle rules.
Date: 2026-05-24 Scope: compiler, stdlib, backends, package manager, IDE tooling, docs contracts.
1) Deprecation Workflow
Lifecycle states:
active: fully supported, default path.soft-deprecated: warning only, migration path available.hard-deprecated: warning by default, error in strict mode.removed: no longer available.
Minimum timeline:
- First deprecation notice in release
N. - Removal not before
N+2minor releases, or 6 months minimum, whichever is longer. - LTS-covered surfaces remain available until end of their support window.
Required artifacts per deprecation:
- changelog entry (
CHANGELOG.md), - migration note with before/after examples,
- diagnostics code and stable message,
- tracking issue labeled
deprecation.
2) Compatibility Policy
Compatibility classes:
C0 Internal: no stability promised, may change anytime.C1 Experimental: public but unstable; requires explicit opt-in.C2 Stable: semver-governed compatibility across minor releases.C3 Contract-critical: bootstrap, schema diagnostics, deterministic build contracts; changes require RFC + staged rollout.
Rules:
- Stable CLI flags, diagnostic codes, and documented stdlib APIs are
C2unless explicitly marked otherwise. - Bootstrap contracts and reproducibility surfaces are
C3. - Breaking change to
C2/C3must include migration path and compatibility note.
3) Migration Policy
Migration levels:
M1 docs-only: no code rewrite needed.M2 assisted: mechanical rewrite script available.M3 manual: semantic change requiring manual edits.
Requirements:
- each breaking or hard-deprecation change must declare
M1/M2/M3, M2must ship with script/tool and fixture coverage,- release notes must list all active migrations and their deadline.
4) Release Cadence
Target cadence:
- patch releases: as needed for regressions/security.
- minor releases: every 8 weeks.
- major releases: only for explicit platform boundary changes (expected low frequency).
Freeze model per minor release:
- week 1-5: feature and refactor window,
- week 6: feature freeze, only fixes/docs/tests,
- week 7: release candidate and compatibility validation,
- week 8: release + communication migration.
5) Windows Support
Third Party Support:
Current: latest minor release, full support.Previous: previous minor release, bug/security fixes only.LTS: optional designated line, critical/security only until published end date.
Default window:
- Current + Previous are supported.
- An LTS line, when designated, is supported for 12 months.
6) Issue Triage Process
Severity:
S0: crash, corruption, security, deterministic build break.S1: major regression, incorrect diagnostics with unsafe guidance, backend miscompile risk.S2: non-critical correctness/perf/docs/tooling regression.S3: enhancement or low-risk maintenance.
SLO targets:
S0: acknowledge within 24 hours, mitigation plan within 72 hours.S1: acknowledge within 3 days, decision within 7 days.S2/S3: sorted in weekly batch.
Triage loop:
- reproduce (or request reproducer),
- classify severity + compatibility class impact,
- assign owner + target milestone,
- link tests/docs/contracts affected,
- close only with evidence (test, snapshot, or gate report).
7) Operational Gates
Maintenance policy is considered enforced when:
- deprecations include migration artifacts and deadlines,
- compatibility class is declared for new public surfaces,
- issue labels and severity are present on all open defects,
- release notes include migration + support window section,
- deterministic/reproducibility checks remain green in release gates.