Repository navigation
RFM row: an unsolved inference placeholder reads back as the type Unit (fabricated type in a refusal) - #13354
Conversation
…t (fabricated type in a diagnostic, measured at main ed68b55) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
briansrls
left a comment
There was a problem hiding this comment.
LAND. This is a distinct residual from the earlier empty-list fabrication repair: the empty literal now carries the honest empty_list_element TypeVariable, but one downstream path later reports that still-unsolved placeholder as concrete Unit at field access. The row does not guess which candidate performs that substitution; it records the contrasting list_snoc_item refusal, names the unread candidates, and states the experiment that would locate the producer.
The standing is honest. The program is refused rather than accepted, so this is a loud but materially misattributed diagnostic; mitigatable is appropriate. A modeled TypeVariable can be refused as unresolved without inventing a concrete type, so the stated ceiling and trigger are reachable. The accepted control is also the right boundary: the same fold with a declared element/return type must continue to work. Exact-head witnesses are green.
Files one row under
dag/gunbc/recurring_failure_mode/:unsolved_placeholder_reads_back_as_unit. No code changes. Filed on the program owner's ruling.Specimen. Executed 2026-10-05 with
gunbc run, usinggunbcbuilt at mained68b5573b. This code refuses withno field 'module' on type 'Unit':The element's type is the unsolved
empty_list_elementplaceholder, and it was never Unit. The same read overlist_snoc_item(xs: [], ..)refuses with the true cause: the scrutinee's type is unresolved, give it a declared type.Harm. No wrong program is accepted, but the refusal names a type the program never had. That cost two falsified repair rounds on #13330.
Producer: not located. The row says so, lists the unread candidates, and names the run that would decide it. It does not assert a cause.
Standing. Rung: mitigatable. Ceiling: 3. Next trigger: an unsolved placeholder at field access refuses with the unresolved-type cause.
Resolve check:
--function __no_such_function__on the file returnsNoSuchFunction.🤖 Generated with Claude Code