Skip to content

fix(INT-OBJECT-01H): refuse deferred advertised class lookup - #258

Merged
ellainng merged 8 commits into
mainfrom
fix/INT-OBJECT-01H-class-identity-boundary
Oct 27, 2026
Merged

ellainng merged 8 commits into
mainfrom
fix/INT-OBJECT-01H-class-identity-boundary

Conversation

@ellainng

Copy link
Copy Markdown
Member

Classes advertising a custom class could silently return incorrect attribute/isinstance results or an ordinary super TypeError, despite advertised identities remaining outside the finite construction contract. These required lookups now refuse before descriptor effects. Real type(value), successful actual-type checks and actual-subtype super binding remain valid.

Validation: five pinned reference cases distinguish four Future refusals and one adopted actual-type check; all 118 cases pass in Node/Chromium drain/step (472 observations, 456 zero teardowns). All 387 Node tests and 13 focused Python tests pass, including eight unchanged resource baselines. Offline acceptance passes 488 programs and 45 groups with 98 Stop/Restart cycles and explicit no-hook-effect checks. One concurrent Chromium worker startup failed; the isolated rerun passes. Refreshed source/receipt hashes and all 38 console files verify (593,610 bytes).

Depends on #256. Closes #257.

@ellainng
ellainng changed the base branch from test/INT-OBJECT-01G-construction-acceptance to main October 27, 2026 02:35
@ellainng
ellainng merged commit 2c50f24 into main Oct 27, 2026
5 checks passed
@ellainng
ellainng deleted the fix/INT-OBJECT-01H-class-identity-boundary branch October 27, 2026 02:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

INT-OBJECT-01H: Refuse deferred advertised class identities

1 participant