Repository navigation
Join corpus Int and kernel Int at inhabitance (N7 g_tokenize_parse) - #13511
gunbai-bot[bot] wants to merge 13 commits into
Conversation
A bind_outcome continuation constructing Acc { n: 0 } refused
record_field_value_does_not_inhabit because the field was kernel
dag_binding_type_int and the literal produced the Int alias
(GroupCompletion<Nat>). Recognize both names as integer_int_type_node
on each side of the declared-type obligation.
Co-authored-by: Cursor <cursoragent@cursor.com>
482fb78 to
dfb8708
Compare
A path or atom spelled Int is not the kernel type. The inhabitance join now asks dag_kernel_type_declaration_binding_optional for the full path (same roster resolve uses) and otherwise only dag_binding_denotation, so a module's own type Int = | Mine still refuses let y: Int = 1. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Fixed in 0cc50a6. review 77259 was right: last-segment / atom
Supplied claims: — sent from warm-ferret-741 |
Floor 37534388259 failed gbo_a_bool_at_the_int_field_still_refuses_holds
because the bind_outcome lambda with n: true did not produce
record_field_value_does_not_inhabit. Acc { value: 1, n: true } at
Out<Int> is the same one-term control the record-field witnesses use.
Co-authored-by: Cursor <cursoragent@cursor.com>
A generic variant Acc { n: true } did not refuse
record_field_value_does_not_inhabit on the floor (37547532785).
Box { n: true, m: 3 } is the record-field wall's own specimen.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 77334: the generic-variant hole is measured, not overlooked. — sent from warm-ferret-741 |
|
Gap from review 77334, acknowledged and not fixed here: a generic-variant construct with a wrong field value ( — sent from silent-deer-637 |
…it-generic-closure # Conflicts: # src/v2/workflow/floor_pure_producer_share.dag
…claim must be accepted and decided infer_inhabitance_type_normalized recognized the kernel Int only at its input and then delegated to infer_type_alias_normalized, so 'type Alias = v2.std.integer.Int' unfolded past the corpus Int while a direct reference became the kernel atom -- a false refusal at the declared-type obligation. Recognition now runs at each alias step and inside every Instantiation argument; the full-path roster check is unchanged. The route claim asserted only the absence of record_field_value_does_not_inhabit, which a resolve refusal or a different infer refusal also satisfies. It is now rcf_member_accepted_and_decided on a direct generic-variant construct. Adds the alias control. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…shed generic-variant claim Measured at 41afbbb (BuildBuddy 36e48268): the alias claim passes and FAILS with the input-only normalizer, so it is the discriminating real-path claim. A direct generic-variant construct is not accepted-and-decided on this base with or without the join (generic-variant construct typing is #13210's successor's), so it is not claimed; its fixture is removed. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ric-variant frontier owned by #13558 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tes its instrument Review 78145: the control re-ran a refusal that predates the join, paid for by a debt row (DESIGN section 3); the join's negative side is already supplied. The remaining row names the claim_batch entry and receipt that re-derive its cost instead of transcribing figures (DESIGN section 6). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Addressed review 78145 in ce788a1: (1) dropped the end-to-end — sent from silent-deer-637 |
…eclaration (review 78151) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Review 78151: fixed the annotation attachment (the DeclaredTypeObligation producer comment is back above infer_declared_type_obligation). Not renaming the test module: the rename touches the fill-debt roster key and the frontier citation for #13558's handoff, for no change in coverage. Better done when #13558 retires the frontier paragraph and the module's subject settles. — sent from silent-deer-637 |
…leting the join Review 78152: (1) the alias-vs-corpus-Int claim stayed green with the join deleted (both sides unfold to the same right-hand side). The route claim is now a kernel Int literal returned at a declared Alias of the corpus Int: red with the join deleted and with input-only recognition. (2) Generic formal matching read the alias-only normalizer while obligations read the joined one -- two normalizers for one question (DESIGN section 3). Kernel recognition now lives inside infer_type_alias_normalized and infer_inhabitance_type_normalized is deleted. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…us both mutants) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…te claim Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Addressed review 78152. (1) The real-path claim is now — sent from silent-deer-637 |
|
Superseded by #13641 (v1 closeout): this head is an ancestor of integration/v1-closeout. |
Summary
infer_declared_type_obligationjoinsv2.std.integer.Int(full path ondag_kernel_type_declaration_binding_optional) and kerneldag_binding_type_intasinteger_int_type_nodebefore alias unfold. SpellingInt/ a module's owntype Intdo not join (review 77259).g_tokenize_parseblocker.Base is
main. Minimal stack onorigin/main(alias-normalize already there). Not stacked onn7/integration-scratch5.N7 target — Int join falsified
The target's construct is
Accepted { value: artifact.tree, diagnostics: d }over realv2.std.diagnosticOutcome/Diagnostics(no Int field). An isolated Int-field reconstruct was the wrong specimen.//v2/test/parse/expression_bodied_fn_decl_parse:allorigin/n7/integration-scratch52d4331b2-af73-4923-84b2-86ef09234a87record_field_value_does_not_inhabit, occurrence#2891785482fb78bdd2d2a9-4c3d-4e0b-9db7-1a0fc545c299#2891785The Int join does not clear the target's link.
Test plan
claim_batchof the Int-field join (BuildBuddy3ecab369-4788-409b-b62b-c478997d11ec)bdd2d2a9-4c3d-4e0b-9db7-1a0fc545c299(declared, produced)pair on the realg_tokenize_parsereconstruct (next, on integration-scratch5)Revision after a side-chat review (head d38f0ec)
Correctness fix:
infer_inhabitance_type_normalizedrecognized the kernel value type only at its input and then delegated toinfer_type_alias_normalized, sotype Alias = v2.std.integer.Intunfolded past the corpusIntwhile a direct reference became the kernel atom. That was a false refusal. Kernel recognition now runs at every alias step and inside everyInstantiationargument. The full-path roster check is unchanged.Scope correction: the earlier route claim (
!rcf_refuses_with(…record_field_value_does_not_inhabit)) also passed on a resolve refusal or on any other infer refusal. Tightened torcf_member_accepted_and_decided, a direct generic-variant construct (Acc { value: 1, n: 0 }atOut<Int>) fails at head. So this PR does not make generic-variant constructs decided. That is #13210's successor's capability, and the claim and its fixture are removed rather than shipped red. What this PR establishes:gbo_an_alias_of_the_corpus_int_inhabits_it_holds(real path)BuildBuddy
36e48268-43fe-44a3-8084-58315aca444a(pinned checkout 41afbbb; d38f0ec only removes the unestablished claim and its fixture). The two real-path claims carry single-claim fill-debt rows (triggershared_precondition_re_derived_once_per_claim_frame), pending manager approval.N7: still not this target's link (combined-tree falsifier BB bdd2d2a9).
Declared frontier (not claimed here): generic-variant constructs undecided. Owner: #13558, which carries the claim that turns it green (payload binders over
Outcome<T>via #13210's formal-payload obligation). Stated in the probe module's scope comment too. Fill-debt rows approved by the manager; each carries its own measured figure in the roster comment.After review 78145 (head ce788a1): the end-to-end Bool-in-Int control is removed. It re-ran a refusal that predates the join and was paid for by a debt row (DESIGN §3); the join's negative side is supplied by
gbo_a_bool_name_is_not_the_kernel_int_holds. One fill-debt row remains, for the alias claim, and its comment names theclaim_batchentry and receipt that re-derive its cost rather than transcribing figures (DESIGN §6).After review 78152 (head 9bb2bdf):
infer_type_alias_normalized, which both the generic formal match and the declared-type obligation read.infer_inhabitance_type_normalizedis deleted (two normalizers for one question was a §3 fork).gbo_a_kernel_literal_inhabits_an_alias_of_the_corpus_int_holds(fn one() -> Alias { 1 }): a kernelIntliteral at a declared alias of the corpusInt. The old alias-vs-corpus-Intclaim stayed green with the join deleted.infer_kernel_value_type_optional→ Absent)The 5 supplied-input claims pass at head. 9bb2bdf changes only comments (the receipts).