69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
# Diagnostics and Conformance Governance
|
|
|
|
## Original Problem
|
|
|
|
PBS accumulated several governance decisions around:
|
|
|
|
- diagnostic identity,
|
|
- artifact-facing conformance,
|
|
- claim publication,
|
|
- compatibility matrices,
|
|
- runtime-backed gates,
|
|
- optimization-stage obligations,
|
|
- and late closure of diagnostics and conformance evidence.
|
|
|
|
Much of that work later moved into general compiler specs, which made the local PBS decisions useful as history but redundant as active workflow artifacts.
|
|
|
|
## Consolidated Decision
|
|
|
|
The durable PBS lesson is:
|
|
|
|
1. Diagnostics must be stable by identity, not by prose wording.
|
|
2. Evidence must be executable, not rhetorical.
|
|
3. Published support claims require maintained proof.
|
|
4. Artifact-level obligations matter only where the selected claim level requires them.
|
|
5. Once a cross-language general spec becomes the normative owner, local PBS decision records should stop acting as the live policy surface.
|
|
|
|
## Final Model
|
|
|
|
Today the normative owner for most of this policy is outside `docs/compiler/pbs/`:
|
|
|
|
- conformance baselines,
|
|
- compatibility publication,
|
|
- verification and safety checks,
|
|
- and broad backend claim policy
|
|
|
|
now live in general compiler specs.
|
|
|
|
PBS still keeps domain-specific learnings:
|
|
|
|
- diagnostics identity must remain deterministic,
|
|
- evidence must track the actual claim scope,
|
|
- and claim rescoping must be explicit rather than silently drifting.
|
|
|
|
That is especially important for `SPAWN` and `YIELD`: the honest policy was to rescope them out of `core-v1`, not to leave ambiguous “deferred” support language hanging around.
|
|
|
|
## Practical Consequences
|
|
|
|
1. Prefer the general compiler specs when updating policy.
|
|
2. Use PBS-local docs only for PBS-specific deltas or examples.
|
|
3. Keep conformance rows, tests, and published claims aligned.
|
|
4. Treat superseded local decisions as historical input, not as live normative authority.
|
|
|
|
## Common Pitfalls
|
|
|
|
- Keeping superseded local policy docs as if they still owned the contract.
|
|
- Publishing claims without executable evidence.
|
|
- Letting matrix/support language drift away from what the backend actually implements.
|
|
- Leaving rescope decisions implicit instead of explicit.
|
|
|
|
## Source Decisions
|
|
|
|
- `Diagnostics Contract Decision.md`
|
|
- `Diagnostics, Manifest Propagation, and Conformance Coverage Decision.md`
|
|
- `IRVM Optimization Stage Placement Decision.md`
|
|
- `SPAWN-YIELD v1 Claim Rescope Decision.md`
|
|
- `Artifact-Level Conformance and Fixture Model Decision.md` (superseded)
|
|
- `Compatibility Matrix and Published Claims Decision.md` (superseded)
|
|
- `Conformance Claim Levels Decision.md` (superseded)
|