Skip to content

Commit 85f1b28

Browse files
committed
Merge worktree-warn-envelope-finalize-2026-05-27 — drop legacy expected-warnings.json (envelope-only cross-port)
2 parents 0947122 + 8046259 commit 85f1b28

2 files changed

Lines changed: 1 addition & 6 deletions

File tree

fixtures/conformance/warning-duplicate-declaration/expected-warnings.json

Lines changed: 0 additions & 5 deletions
This file was deleted.

spec/conformance-tests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ Finalized 2026-05-27 across all four ports (TS / C# / Java / Python). When a fix
123123

124124
Last-writer-wins still governs non-conflicting attr overlays (one side unset, or both sides set to the same value). When both contributors set the same `@attr` to *different* non-empty values, the loader raises `ERR_MERGE_CONFLICT` with a `format: "merged"` envelope listing both contributors. When two files declare a node and the second contributes no semantic change (per the FR5a `semantic_diff`), the loader emits `WARN_DUPLICATE_DECLARATION` and the merged node's `source` is **not** upgraded to `format: "merged"`.
125125

126-
**WARN envelope-shape assertion** (TS reference; cross-port follow-up): the conformance runner asserts envelope shape on `warnings[]` (code + source.format + source.files + source.jsonPath) when the fixture's `expected-errors.json` declares warning entries with `source`. Algorithm mirrors errors: per-warning code first, then per-element source-field comparison in declaration order. The `warning-duplicate-declaration` fixture is the reference (migrated from `expected-warnings.json` string list to `expected-errors.json#warnings[]` envelope). Ports that have not yet surfaced `warningEnvelopes` on their `LoadOutcome` get the warnings count check only; per-element source assertions activate as each port's adapter populates the field.
126+
**WARN envelope-shape assertion** (finalized 2026-05-27, all four ports): every port's conformance runner asserts envelope shape on `warnings[]` (code + source.format + source.files + source.jsonPath) when the fixture's `expected-errors.json` declares warning entries with `source`. Algorithm mirrors errors: per-warning code first, then per-element source-field comparison in declaration order. The `warning-duplicate-declaration` fixture is the reference — declared in `expected-errors.json#warnings[]` only (the legacy `expected-warnings.json` string-list path is retired). Cross-port byte-identical: TS / C# / Java / Python all emit the same three-warning envelope (Subscriber + id + email, each `source.format=merged` listing both contributing files).
127127

128128
## TS conformance runner
129129

0 commit comments

Comments
 (0)