Skip to content

qualifiedName is a registration helper, not part of the emitter - #4703

Merged
alex merged 1 commit into
mainfrom
claude/vg-qualified-name
Nov 8, 2026
Merged

alex merged 1 commit into
mainfrom
claude/vg-qualified-name

Conversation

@alex

@alex alex commented Nov 8, 2026

Copy link
Copy Markdown
Member

Part of #4548. This is stacked on #4696. There are no trust changes here; the follow-up PR deletes the trusted copy.

Emit.qualifiedName names a generic caller's instances: the function's name, then a tag and the suffix of each interface whose variant is not the baseline. It lived in the trusted base because the emitter used to parse those names back to rank the instances. Since #4685 it no longer does: dispatchers try implementations in the order their registration file lists them.

What changes

  • The helper is now defined in Proof/Framework/QualifiedName.lean as VG.qualifiedName.
  • Its golden tests move to VerifiedGarbageTest/QualifiedName.lean.
  • The 15 registration files and the one proof (DSA's parameter-search names) that call it now use the new copy.

Naming is not trusted: the emitter checks that every name is unique (Rust.checkUnique). The generated crates are unchanged.

Checks

  • lake build passes.
  • Emit.lean --check passes.
  • Every step of the Static checks job passes.
  • check_lean_public_imports.py passes.

Generated by Claude Code

@alex
alex force-pushed the claude/vg-sha-compress-lists branch from 7dfa4ee to c74fcdc Compare November 8, 2026 20:43
@alex
alex force-pushed the claude/vg-qualified-name branch from ba3b8f6 to f5872b5 Compare November 8, 2026 20:43
@alex
alex force-pushed the claude/vg-sha-compress-lists branch from c74fcdc to bdbaba0 Compare November 8, 2026 21:22
@alex
alex force-pushed the claude/vg-qualified-name branch from f5872b5 to 94a83d7 Compare November 8, 2026 21:22
@alex
alex force-pushed the claude/vg-sha-compress-lists branch from bdbaba0 to f54c962 Compare November 8, 2026 21:46
@alex
alex force-pushed the claude/vg-qualified-name branch from 94a83d7 to 1f5bcc6 Compare November 8, 2026 21:46
Base automatically changed from claude/vg-sha-compress-lists to main November 8, 2026 22:01
The names of a generic caller's instances (`qualifiedName`: the function's
name, then a tag and the suffix of each interface whose variant is not the
baseline) were defined in the trusted base, for the emitter, which parsed
them back to rank the instances. It no longer does: the dispatchers try
them in the order their registration file lists them. Define the helper in
`Proof/Framework/QualifiedName.lean`, with its tests, and use that (the
trusted definition goes in a change of its own). Naming is not trusted:
the emitter checks that every name is unique.

The generated crates are unchanged. Part of #4548.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TKUFHFjAR7Byf513R4zuFy
@alex
alex force-pushed the claude/vg-qualified-name branch from 1f5bcc6 to 1e8487f Compare November 8, 2026 22:01
@alex
alex enabled auto-merge November 8, 2026 22:03
@alex
alex added this pull request to the merge queue Nov 8, 2026
Merged via the queue into main with commit 9bd878b Nov 8, 2026
20 checks passed
@alex
alex deleted the claude/vg-qualified-name branch November 8, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants