3.4 KiB
PBS Compatibility and Evolution Policy
Status: Draft v0 (Quality-Gate Baseline)
Applies to: practical support states and compatibility publication policy tied to executable quality gates
1. Purpose
This document defines how PBS support is published at the current project stage.
The policy is intentionally minimal:
- publish only support claims that are backed by tests,
- use a small support-state model that a solo project can maintain,
- and avoid over-specifying compatibility promises before backend/runtime contracts settle.
2. Scope
This document defines:
- support-state vocabulary for language lines,
- minimum published support table fields,
- and how support-state changes must be recorded.
This document does not define:
- full deprecation-window math per domain,
- one binary/PBX compatibility model,
- one release process implementation.
3. Authority and Precedence
Normative precedence:
1. Language Charter.md2. Governance and Versioning.md13. Conformance Test Specification.md- This document
If a rule here conflicts with higher-precedence authorities, it is invalid.
4. Normative Inputs
This document depends on:
2. Governance and Versioning.md13. Conformance Test Specification.md
5. Support States
PBS currently uses three support states:
unsupportedexperimentalsupported
Meaning:
unsupported: no compatibility promise.experimental: active development; behavior may change; tests may exist but are not yet a stable support promise.supported: active compatibility promise for declared scope, backed by required quality gates.
6. Gate-Backed Support Rule
Support states must map to quality-gate evidence:
frontend-readyevidence requires Gate U from13.integration-readyevidence requires Gate U plus Gate I when Gate I applies to the language/backend.supportedstate requires maintained evidence for the scope being promised.
No published supported claim may exist without mapped test evidence.
7. Minimum Published Support Table
A published support table must include, at minimum:
- language identifier,
- language line/version scope,
- runtime line (or
N/Awhen Gate I is not applicable yet), - Gate U status,
- Gate I status (
pass,fail, ordeferred), - support state (
unsupported,experimental,supported), - optional notes.
No additional matrix dimensions are mandatory at this stage.
8. Support-State Changes
When support changes, the project must update together:
- support table state,
- gate evidence status,
- and a short rationale note when users could be affected.
This document requires visibility of change, not a specific changelog format.
9. Explicit Deferrals
The following remain intentionally open:
- domain-specific promise strength beyond the current gate-backed model,
- exact deprecation/removal windows,
- PBX/binary compatibility policy details,
- mandatory migration tooling triggers.
10. Non-Goals
- Simulating large-organization compatibility governance.
- Freezing domains that are still not implemented.
- Requiring one matrix tooling format.
11. Exit Criteria
This document is in a healthy state when:
- every active language line has an explicit support state,
- every
supportedstate has mapped gate evidence, - support changes are reflected in table + evidence + note,
- and no compatibility promise depends on undocumented assumptions.