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
Surfaced + fixed a latent Python super-resolution divergence: a cross-package
fully-qualified `extends` (e.g. `acme::catalog::Product extends
acme::common::BaseEntity`) failed to resolve over the MERGED tree because the
FQN index keyed only on bare `fqn()` and the referrer's effective package was
derived from the threaded walk context (objects carry no own package
post-merge). Now each node captures `file_default_package` at parse time; the
super-resolve index also keys on `<file_default_package>::<name>` and the
referrer uses it as the effective package — mirroring the TS `findInTree`
matcher (own `fqn()` OR `resolutionKey()`). This eliminated four false-positive
"no primary identity" warnings (the inherited `identity.primary` from
BaseEntity was invisible) and made `expected.json` byte-match.
Wired `expected-effective.json` gating: fixture discovery detects the file,
the adapter exposes `canonical_serialize_effective` (children()/attrs() —
inherited members inlined, extends still emitted), and the runner byte-compares
(newline-normalized) when present. New serializer threads an `effective` flag.
Kitchen-sink byte-matches BOTH expected.json + expected-effective.json.
Conformance 234 passed; full Python suite 1108 passed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments