You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: record SA-8, SA-9 and SA-10, unblocking 25 tickets
SA-8 -- public representation: where this port publishes a mutable or public
representation and .NET's is private, readonly or absent, match .NET and migrate
the first-party sites. Granted AGAINST the recommendation to split the family by
hazard, and knowing the price: t.Item1 becomes t.getItem1Property() permanently
under rule 5, in a CNA-facing API. Nine tickets.
SA-9 -- a type that exists only because .NET has one, and whose content is
permanently out of scope, wears .NET's public shape with bodies that throw. This
resolves a third state that is worse than either: a surface that is neither
.NET's nor internal, i.e. project-owned API wearing a .NET name. Priced and
accepted: LocalDataStoreSlot reaches that shape only behind a new Thread
data-slot API, and that new public surface is authorised. Seven tickets.
SA-10 -- a public signature change (return type, noexcept, nullability,
[[deprecated]]) is a public source break and lands under SA-2's five conditions.
A clarification, not a new grant: nine tickets had treated SA-3's narrower
object-layout wording as the only relevant approval. Vtable and base-class
changes still ask per action; #1888, #1889 and #1896 stay declined.
Copy file name to clipboardExpand all lines: CLAUDE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,7 +53,7 @@
53
53
full-consumer-rebuild requirement, and the full gate runs — a vtable or base-class change
54
54
still asks, and #1888, #1889 and #1896 stay declined; **SA-4** Unicode tables are derived
55
55
from .NET's own generated data in `/rv` at **UCD 16.0**, cross-checked against Perl 15.0.0
56
-
and Python 15.1.0, version pinned until an explicit bump ticket. That document also records
56
+
and Python 15.1.0, version pinned until an explicit bump ticket. On 2026-08-18 the user granted three more: **SA-8** where this port publishes a mutable or public representation and .NET's is private, readonly or absent, **match .NET and migrate the first-party sites** — granted *against* the recommendation to split the family by hazard, and knowing that `t.Item1` becomes `t.getItem1Property()` permanently under rule 5; **SA-9** a type that exists only because .NET has one, and whose content is permanently out of scope, wears **.NET's public shape with bodies that throw** — which authorises the new `Thread` data-slot API that `LocalDataStoreSlot` needs; **SA-10** a public **signature** change (return type, `noexcept`, nullability, `[[deprecated]]`) is a public source break and lands under SA-2's five conditions, which nine tickets had wrongly treated as covered only by SA-3. That document also records
57
57
the environment facts those approvals rest on: `/rv/tmp/runtime`**is present** in this
58
58
container (a .NET **11** preview snapshot, so a behaviour read from it must be reported as
59
59
.NET 11's, not as timeless parity), and so are both downstream consumers. A ticket whose only
0 commit comments